Saya sedang mencari cara membangun Pool ZFS yang besar (150TB +), dan saya ingin mendengar pengalaman orang-orang tentang skenario kehilangan data karena perangkat keras yang gagal, khususnya, membedakan antara contoh-contoh di mana hanya beberapa data yang hilang vs. seluruh sistem file ( jika ada perbedaan di ZFS).
Sebagai contoh: katakanlah vdev hilang karena kegagalan seperti drive drive eksternal kehilangan daya, atau kartu controller gagal. Dari apa yang saya baca kolam harus masuk ke mode rusak, tetapi jika vdev dikembalikan kolam harus pulih? atau tidak? atau jika vdev rusak sebagian, apakah ada yang kehilangan seluruh kumpulan, beberapa file, dll?
Apa yang terjadi jika perangkat ZIL gagal? Atau hanya satu dari beberapa ZIL?
Benar-benar semua dan semua anekdot atau skenario hipotetis yang didukung oleh pengetahuan teknis yang dalam dihargai!
Terima kasih!
Memperbarui:
Kami melakukan ini dengan harga murah karena kami adalah bisnis kecil (sekitar 9 orang) tetapi kami menghasilkan data pencitraan yang cukup banyak.
Data sebagian besar file bertubuh kecil, dengan hitungan saya sekitar 500k file per TB.
Data itu penting tetapi tidak terlalu kritis. Kami berencana untuk menggunakan kumpulan ZFS untuk mencerminkan array data "langsung" 48TB (digunakan selama 3 tahun atau lebih), dan menggunakan sisa penyimpanan untuk data yang 'diarsipkan'.
Kolam akan dibagikan menggunakan NFS.
Rak seharusnya berada pada jalur generator cadangan gedung, dan kami memiliki dua UPS APC yang mampu memberi daya pada rak dengan beban penuh selama 5 menit atau lebih.
sumber
Jawaban:
Rancang cara yang benar dan Anda akan meminimalkan kemungkinan hilangnya data ZFS. Anda belum menjelaskan apa yang Anda simpan di kolam renang. Dalam aplikasi saya, sebagian besar melayani VMWare VMDK dan mengekspor zvol melalui iSCSI. 150TB bukan jumlah yang sepele, jadi saya akan mengandalkan seorang profesional untuk penskalaan saran.
Saya tidak pernah kehilangan data dengan ZFS.
Saya telah mengalami segalanya:
Tetapi melalui semua itu, tidak pernah ada kehilangan data yang berarti. Hanya downtime. Untuk VMWare, VMDK berada di atas penyimpanan ini, fsck atau reboot sering diperlukan setelah suatu peristiwa, tetapi tidak lebih buruk dari server crash lainnya.
Adapun kehilangan perangkat ZIL, itu tergantung pada desain, apa yang Anda simpan dan pola I / O dan tulis Anda. Perangkat ZIL yang saya gunakan relatif kecil (4GB-8GB) dan berfungsi seperti cache tulis. Beberapa orang mencerminkan perangkat ZIL mereka. Menggunakan perangkat STEC SSD kelas atas membuat mirroring menjadi penghalang biaya. Saya menggunakan kartu PCIe DDRDrive tunggal sebagai gantinya. Rencanakan perlindungan baterai / UPS dan gunakan kartu SSD atau PCIe dengan cadangan super-kapasitor (mirip dengan pengontrol RAID, implementasi BBWC dan FBWC ).
Sebagian besar pengalaman saya ada di sisi Solaris / OpenSolaris dan NexentaStor . Saya tahu orang-orang menggunakan ZFS di FreeBSD, tapi saya tidak yakin seberapa jauh di belakang versi zpool dan fitur lainnya. Untuk penyebaran penyimpanan murni, saya akan merekomendasikan pergi rute Nexentastor (dan berbicara dengan mitra yang berpengalaman ), karena ini adalah OS yang dibangun khusus dan ada lebih banyak penyebaran kritis yang berjalan pada turunan Solaris daripada FreeBSD.
sumber
design the right way
link rusak sekarang.Saya tidak sengaja menimpa kedua ZIL pada versi terakhir OpenSolaris, yang menyebabkan seluruh kumpulan hilang secara permanen. (Kesalahan yang sangat buruk di pihak saya! Saya tidak mengerti bahwa kehilangan ZIL berarti kehilangan kolam. Untungnya pulih dari cadangan dengan downtime.)
Karena versi 151a (tidak tahu apa artinya versi ZPool), masalah ini telah diperbaiki. Dan, saya bisa bersaksi bahwa itu berhasil.
Selain itu, saya kehilangan data NOL pada server 20tb - termasuk karena beberapa kasus kesalahan pengguna lebih lanjut, banyak kegagalan daya, manajemen kesalahan disk, kesalahan konfigurasi, banyak disk gagal, dll. Meskipun manajemen dan antarmuka konfigurasi pada Solaris sering berubah dan menjengkelkan dari versi ke versi dan menyajikan target keterampilan yang selalu berubah, itu masih merupakan pilihan terbaik untuk ZFS.
Tidak hanya saya tidak kehilangan data pada ZFS (setelah kesalahan mengerikan saya), tetapi itu selalu melindungi saya. Saya tidak lagi mengalami kerusakan data - yang telah mengganggu saya selama 20 tahun terakhir di sejumlah server dan workstation, dengan apa yang saya lakukan. Diam (atau hanya "cukup tenang") korupsi data telah membunuh saya beberapa kali, ketika data bergulir dari rotasi cadangan, tetapi sebenarnya telah menjadi rusak pada disk. Atau skenario lain di mana cadangan mendukung versi yang korup. Ini telah menjadi masalah yang jauh lebih besar daripada hanya kehilangan data dengan cara besar sekaligus, yang hampir selalu didukung. Untuk alasan ini, saya suka ZFS dan tidak bisa memahami mengapa checksumming dan penyembuhan otomatis belum menjadi fitur standar dalam sistem file selama satu dekade. (Memang, sistem yang benar-benar hidup atau mati biasanya memiliki cara lain untuk memastikan integritas,
Kata bijak, jika Anda tidak ingin turun ke ACL-neraka, jangan gunakan server CIFS bawaan untuk ZFS. Gunakan Samba. (Kamu bilang kamu menggunakan NFS.)
Saya tidak setuju dengan argumen SAS vs SATA, setidaknya saran bahwa SAS selalu lebih disukai daripada SATA, untuk ZFS. Saya tidak tahu apakah komentar itu merujuk pada kecepatan putaran platter, dugaan keandalan, kecepatan antarmuka, atau atribut lainnya. (Atau mungkin hanya "harganya lebih mahal dan umumnya tidak digunakan oleh konsumen, oleh karena itu mereka lebih unggul". Sebuah survei industri yang baru-baru ini dirilis (masih dalam berita saya yakin), mengungkapkan bahwa SATA sebenarnya hidup lebih lama dari SAS rata-rata, setidaknya dengan ukuran sampel yang signifikan dari survei. (Terkejut saya itu pasti.) Saya tidak dapat mengingat apakah itu adalah versi "perusahaan" dari SATA, atau konsumen, atau kecepatan apa - tetapi dalam pengalaman saya yang besar, model perusahaan dan konsumen gagal pada saat yang sama tingkat signifikan secara statistik. (Ada masalah drive konsumen membutuhkan waktu terlalu lama untuk gagal, yang jelas penting di perusahaan - tetapi itu belum menggigit saya, dan saya pikir itu lebih relevan untuk pengontrol perangkat keras yang dapat mengambil keseluruhan volume off-line dalam kasus seperti itu. Tapi itu bukan masalah SAS vs SATA, dan ZFS tidak pernah mengecewakan saya. Sebagai hasil dari pengalaman itu, saya sekarang menggunakan campuran 1/3 perusahaan dan 2/3 drive SATA konsumen .) Terlebih lagi saya telah melihat tidak ada kinerja yang signifikan dengan campuran SATA ini, ketika dikonfigurasi dengan benar (misalnya strip tiga arah mirror), tapi sekali lagi saya memiliki permintaan IOPS yang rendah, jadi tergantung pada seberapa besar toko Anda dan kasus penggunaan yang khas, YMMV. Saya benar-benar memperhatikan bahwa ukuran cache bawaan per-disk lebih penting untuk masalah latensi daripada kecepatan rotasi platter, dalam kasus penggunaan saya.
Dengan kata lain, ini adalah amplop dengan beberapa parameter: biaya, throughput, IOPS, jenis data, jumlah pengguna, bandwidth administratif, dan kasus penggunaan umum. Mengatakan bahwa SAS selalu merupakan solusi yang tepat adalah dengan mengabaikan permutasi yang besar dari faktor-faktor tersebut.
Tapi bagaimanapun juga, ZFS benar-benar mengguncang.
sumber