Perangkat ZFS dan cache

9

Saya akan menambahkan drive SSD ke penyimpanan ZFS saya sebagai cache. Adakah yang punya pengalaman dengan ini? Bagaimana jika perangkat cache mati, apakah data apa pun akan terpengaruh?

disserman
sumber

Jawaban:

13

Pada dasarnya ada tiga jenis cache ZFS, semua digunakan untuk data dan metadata.

  • ARC (Adaptive Replacement Cache) - Memori DRAM cache utama untuk membaca dan menulis.
  • L2ARC (Level 2 ARC) - cache baca aman: tidak ada kehilangan data / gangguan layanan dari kegagalan perangkat. Biasanya berbasis SSD.
  • ZIL (ZFS Intent Log) - menyimpan tulisan dengan aman di penyimpanan permanen yang juga menunggu di ARC untuk dibilas ke disk. Data harus jarang hidup dalam cache ini selama lebih dari 30detik dan data tidak pernah dibaca kecuali setelah crash untuk memutar ulang setiap penulisan yang tidak dikomit. Pada versi ZFS terbaru apa pun, kegagalan perangkat Zil tidak akan menyebabkan kehilangan data (semua data masih dalam ARC), tetapi kegagalan perangkat + kerusakan atau pemadaman listrik dapat menyebabkan beberapa penulisan hilang.

Tingkatkan ARC Anda terlebih dahulu, beli banyak sekali memori utama. Catatan L2ARC dan Zil keduanya memiliki overhead yang dialokasikan dari ARC juga.

L2Arc diisi oleh blok-blok yang telah di-cache saat mereka diusir dari ARC. ZFS secara default hanya cache IO acak (dibaca kecil) ke L2ARC dan tidak digunakan untuk streaming beban kerja ( kecuali diperintahkan untuk ). Anda pada dasarnya dapat menggunakan perangkat apa pun untuk ini (termasuk HD 15k cepat) tetapi bekerja paling baik dengan SSD yang menangani banyak IOPS membaca acak dengan mudah.

ZIL mempercepat beban kerja yang membutuhkan penulisan sinkron (proses menunggu konfirmasi bahwa penulisan telah benar-benar dilakukan ke disk sebelum melanjutkan eksekusi). Zil melakukan peran yang mirip dengan cache yang didukung baterai pada pengontrol RAID kelas atas. Meskipun menulis latensi dan streaming menulis IOPS adalah apa yang mendefinisikan SSD Zil yang baik, Zil di atas segalanya tidak boleh kehilangan data apa pun jika terjadi kehilangan daya. Banyak perangkat yang sesuai memiliki kapasitor super untuk menyelesaikan operasi yang tertunda tanpa daya sistem. SSD SLC dengan daya tahan tulis tinggi (Intel X25-E) dulu direkomendasikan, tetapi perangkat yang lebih baru menggunakan RAM dengan baterai / supercap untuk menulis kembali ke NAND jika terjadi kegagalan daya. ZIL tidak harus besar, tetapi dengan hanya menggunakan sebagian kecil dari perangkat besar (mis 8GB dari 300GB Intel 320 MLC SSD) Anda dapat menghasilkan daya tahan tulis yang jauh lebih tinggi dan efektif. Vendor 'Enterprise' selalu merekomendasikan mirror ZIL, beban kerja saya tidak pernah sepenting itu.

Sedangkan untuk produk tertentu, STEC membuat SSD pertama untuk proyek Sun's Fishworks (baik Logzilla & Readzilla) dan memiliki perangkat saat ini untuk ZIL ( ZeusRAM $ 2500 / 8GB) dan L2ARC ( Zeus IOPS $ 3k / 400GB) yang keduanya sangat direkomendasikan. SSD berbasis PCIe juga patut dipertimbangkan, seperti DDRdrive x1 khusus ZIL ($ 2k / 4GB) atau SSD PCIe besar untuk L2ARC. Perangkat lain yang kurang berkinerja (baca: lebih murah) perangkat SSD 2,5 inci juga dapat menawarkan peningkatan kinerja yang signifikan terutama bila digunakan secara agregat untuk L2ARC.

notpeter
sumber
Anda yakin OCZ Vertex2 berbasis ddr? Saya melihat itu berbasis nand-mlc
disserman
3
OCZ Vertex2Pro adalah MLC NAND, tetapi tidak seperti hampir setiap SSD lainnya, ia memiliki supercap yang memungkinkan penulisan sedang berlangsung untuk menyelesaikan ketika daya ditarik. DDRdrive X1 adalah 4GB DDR2, 4GB SLC dan supercap yang menyalin ram ke NAND dalam 60detik saat daya terputus. Logzilla adalah SLC NAND yang dioptimalkan dengan supercap (tanpa DDR)
notpeter
terima kasih, saya memiliki 2 kingston (berbasis intel) ssds yang akan saya gunakan sebagai perangkat cache sampai mereka mati atau garansi akan berakhir. kemudian lihat saran Anda.
disserman