Saya memiliki server Linux dengan banyak disk 2 TB, semua saat ini dalam LVM menghasilkan sekitar 10 TB ruang. Saya menggunakan semua ruang ini pada partisi ext4, dan saat ini memiliki sekitar 8,8 TB data.
Masalahnya adalah, saya sering mendapatkan kesalahan pada disk saya, dan bahkan jika saya mengganti (artinya, saya menyalin disk lama ke yang baru dengan dd maka saya menempatkan yang baru di server) mereka segera setelah kesalahan muncul, Saya sering mendapatkan sekitar 100 MB data rusak di dalamnya. Itu membuat e2fsck menjadi gila setiap kali, dan seringkali membutuhkan waktu seminggu untuk mendapatkan sistem file ext4 dalam keadaan waras lagi.
Jadi pertanyaannya adalah: Apa yang akan Anda rekomendasikan untuk saya gunakan sebagai sistem file pada LVM saya? Atau apa yang akan Anda rekomendasikan untuk saya lakukan sebagai gantinya (saya tidak benar-benar membutuhkan LVM)?
Profil sistem file saya:
- banyak folder dengan ukuran total yang berbeda (beberapa berjumlah 2 TB, beberapa berjumlah 100 MB)
- hampir 200.000 file dengan ukuran berbeda (3/4 di antaranya sekitar 10 MB, 1/4 antara 100 MB dan 4 GB; Saat ini saya tidak bisa mendapatkan lebih banyak statistik pada file karena partisi ext4 saya benar-benar rusak selama beberapa hari)
- banyak yang membaca tetapi sedikit yang menulis
- dan saya perlu toleransi kesalahan (saya berhenti menggunakan mdadm RAID karena tidak suka memiliki SATU kesalahan pada seluruh disk, dan saya kadang-kadang gagal disk, yang saya ganti sesegera mungkin, tetapi itu berarti saya bisa mendapatkan data yang rusak pada sistem file saya)
Masalah utama adalah disk gagal; Saya bisa kehilangan beberapa file, tetapi saya tidak bisa kehilangan semuanya pada saat yang bersamaan.
Jika saya terus menggunakan ext4, saya mendengar bahwa saya sebaiknya mencoba membuat sistem file yang lebih kecil dan "menggabungkan" mereka, tetapi saya tidak tahu caranya.
Saya mendengar btrf akan menyenangkan, tetapi saya tidak dapat menemukan petunjuk bagaimana mengelola kehilangan sebagian disk (atau seluruh disk), ketika data TIDAK direplikasi ( mkfs.btrfs -d single
?).
Setiap saran tentang pertanyaan akan diterima, terima kasih sebelumnya!
sumber
Jawaban:
Ini bukan masalah sistem file, ini keterbatasan fisik disk. Ini beberapa data:
Drive SATA biasanya ditentukan dengan dipulihkan tingkat kesalahan membaca (URE) dari 10 ^ 14. Itu berarti bahwa 1 byte per 12TB akan hilang bahkan jika disk bekerja dengan baik.
Ini berarti bahwa tanpa RAID Anda akan kehilangan data bahkan jika tidak ada drive gagal - RAID adalah satu-satunya pilihan Anda.
Jika Anda memilih RAID5 (total kapasitas n-1, dimana n = jumlah disk) itu masih belum cukup. Dengan 10TB RAID5 yang terdiri dari 6 x 2TB HDD, Anda akan memiliki peluang 20% satu kegagalan drive per tahun dan dengan satu disk gagal, karena URE Anda akan memiliki peluang 50% untuk berhasil membangun kembali RAID5 dan memulihkan 100% data Anda .
Pada dasarnya dengan kapasitas tinggi dari disk dan URE relatif tinggi Anda perlu RAID6 untuk menjadi aman bahkan kegagalan disk lagi tunggal.
Baca ini: http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162
sumber
Bantulah diri Anda sendiri dan gunakan RAID untuk disk Anda, bahkan bisa berupa perangkat lunak RAID dengan mdadm. Juga pikirkan tentang mengapa Anda "sering mendapatkan kesalahan pada disk Anda" - ini tidak normal kecuali ketika Anda menggunakan drive SATA kelas desktop murah alih-alih disk kelas RAID.
Setelah itu, filesystem tidak lagi penting - ext4, xfs adalah pilihan yang bagus.
sumber
Saya beruntung dengan ZFS, Anda dapat memeriksa untuk melihat apakah itu tersedia pada distro apa pun yang Anda gunakan. Peringatan yang adil, itu mungkin berarti membangun kembali seluruh sistem Anda, tetapi memberikan kinerja yang sangat bagus dan toleransi kesalahan.
sumber
Karena Anda tertarik menggunakan LVM, dan Anda ingin menangani banyak drive, jawaban sederhananya adalah dengan menggunakan fitur mirror yang merupakan bagian dari LVM. Cukup tambahkan semua volume fisik ke LVM Anda. Saat Anda membuat volume logis, lewati
--mirrors
opsi. Ini menggandakan data Anda.Pilihan lain mungkin hanya dengan memasang beberapa pasang RAID1. Kemudian tambahkan semua volume RAID1 sebagai PV ke VG Anda. Lalu kapan pun Anda ingin memperluas penyimpanan Anda, beli saja sepasang disk.
sumber
Anda harus benar-benar menggunakan RAID 5, 6, 10, 50, atau 60. Berikut ini beberapa sumber untuk memulai:
info latar belakang tentang RAID
howto & setup
Lihat tautan lezat saya untuk tautan RAID tambahan: http://delicious.com/slmingol/raid
sumber
Jika Anda benar-benar khawatir tentang korupsi data, saya akan merekomendasikan sistem file checksummed seperti zfs dan btrfs - meskipun perhatikan bahwa btrfs masih dianggap dalam pengembangan dan tidak siap-produksi.
Tidak ada jaminan bahwa data yang dibaca (bahkan berhasil dibaca) dari disk akan benar. Blok memiliki checksum, tetapi checksum sederhana yang tidak selalu menangkap kesalahan. Sistem file yang lebih baru seperti ZFS melampirkan checksum yang lebih mampu ke file dan dapat (dan dilaporkan melakukannya) menangkap dan memperbaiki kesalahan data yang tidak diperhatikan oleh hard disk atau pengontrol RAID.
sumber
Seperti yang dikatakan @ c2h5oh , Unrecoverable sangat penting - artinya disk telah mencoba dan gagal membaca kembali sektor ini.
Dalam pengalaman saya, setelah disk mulai menghasilkan kesalahan baca yang tidak dapat dipulihkan (URE), beberapa data hilang selamanya, dan satu-satunya harapan Anda adalah segera mencadangkan semua data menggunakan GNU ddrescue , yang dapat mencoba kembali sektor yang gagal serta melewati yang tidak dapat dipulihkan.
Dengan asumsi Anda memiliki cadangan, mereka mungkin telah gagal karena URE, dan tentu saja akan memiliki beberapa file yang rusak, sehingga Anda harus mengumpulkan set lengkap data dari berbagai cadangan dari sistem file yang sama.
Jawaban lain yang merekomendasikan ZFS layak dibaca, karena fitur penggosokan data dan RAID yang berkelanjutan akan membantu menjaga data Anda lebih aman di masa mendatang - meskipun masih bukan pengganti untuk cadangan, yang juga melindungi terhadap kesalahan pengguna dan admin.
Saya hanya akan menggunakan LVM jika Anda tidak memerlukan snapshot - itu tidak terintegrasi dengan baik dengan RAID, tidak termasuk data scrubbing / checksum data, dan Anda masih perlu cadangan, jadi sesuatu seperti ZFS mungkin merupakan pilihan yang lebih baik. Lihat jawaban ini tentang masalah dan risiko LVM untuk lebih lanjut.
sumber