Untuk L2ARC dan ZIL: apakah lebih baik memiliki satu SSD besar untuk keduanya, atau dua SSD lebih kecil?

22

Referensi utama

ZFS L2ARC (Brendan Gregg) (2008-07-22) dan ZFS dan Konsep Penyimpanan Hibrida (Anatol Studler's Blog) (2008-11-11) meliputi diagram berikut:

pandangan piramida ZFS dari ARC, L2ARC, ZIL dan kumpulan penyimpanan disk

Pertanyaan

Haruskah saya mengartikan garis putih vertikal - pada lapisan SSD - sebagai preferensi untuk menggunakan SSD terpisah -

  • preferensi untuk tidak mencampur L2ARC dan ZIL pada satu disk?

Latar belakang (respons terhadap komentar)

Secara pribadi, di rumah saya tidak mungkin menggunakan L2ARC atau ZIL dengan komputer apa pun yang tersedia untuk saya. (Komputer saya sehari-hari adalah MacBookPro5,2 dengan memori 8 GB dan hybrid Seagate ST750LX003-1AC154. Tidak ada rencana untuk mengganti drive optik dengan SSD.)

Di tempat lain: di tempat kerja akan ada beberapa repurposing kit, tapi saya tidak punya tanggal atau detail lengkap. (Xserve RAID x2 dalam campuran ... saat ini saya tidak membayangkan memberikannya kepada ZFS, tapi saya tetap berpikiran terbuka.)

Rasa ingin tahu saya tentang praktik terbaik SSD untuk L2ARC dan ZIL dimulai saat mengikuti diskusi terkait kinerja di area ZEVO - khususnya topik yang disebutkan di bawah ini, di mana pengguna memiliki L2ARC dan ZIL pada satu disk.

Referensi dan diskusi lainnya

Screenshot L2ARC (Brendan Gregg) (2009-01-30)

Screenshot SLOG (Brendan Gregg) (2009-06-26)

[zfs-mendiskusikan] ZFS root backup / pemulihan "bencana", dan memindahkan root pool (2011-01-10) merekomendasikan terhadap campuran tiga hal (pool root, ZIL dan L2ARC) pada satu disk -

… Tidak sebanding dengan sakit kepala yang dapat terjadi ketika mencoba mengelola semua 3 pada disk yang sama. Misalnya, jika Anda memutuskan untuk menginstal ulang dan secara tidak sengaja menghancurkan isi ZIL untuk kumpulan data Anda. Jangan berbagi disk untuk komponen kumpulan atau melintasi kumpulan untuk menjaga pengelolaan dan pemulihan tetap sederhana. ...

- Saya lebih tertarik pada apakah disarankan untuk tidak mencampur dua hal itu dalam satu disk.

/superuser//a/238744/84988 (2011-01-28) menyebutkan "cache (cache L2ARC) dan tulis log (ZIL) ke SSD" ( tunggal ). Namun karena ini terkait dengan FUSE dan Windows, saya tidak menganggap jawaban itu relevan dengan penggunaan ZFS yang lebih umum dan berorientasi kinerja.

@ChrisS menyebut ZIL dan L2ARC di The Comms Room pada 2011-08-16.

http://forums.macrumors.com/showpost.php?p=14248388 (2012-01-31) membahas beberapa SSD:

Sesuatu yang perlu Anda pahami tentang ZFS: Ini memiliki dua jenis cache, baca dan tulis (L2ARC dan ZIL) yang berbeda yang biasanya bertempat di SSD. ZIL adalah cache tulis. Dari situlah kesalahpahaman ini berasal. ZIL semakin dipalu (dengan asumsi sistem aktif) dengan setiap penulisan yang terjadi pada zpool. Masalahnya adalah bahwa menggunakan SSD berbasis mlc sebagai ZIL menyebabkan mereka cepat aus dan gagal. Anda memerlukan SSD berbasis slc (jauh lebih mahal) untuk digunakan sebagai drive ZIL.

Memiliki zpool yang seluruhnya terbuat dari SSD tidak hanya mungkin, tetapi bekerja dengan cukup baik. Ini juga pada dasarnya menghilangkan kebutuhan untuk drive yang terpisah untuk ZIL dan L2ARC. Ya, Anda tidak memiliki dukungan TRIM, tetapi berdasarkan sifat copy-on-write ZFS, itu mungkin hal yang baik.

Dengan itu, ZFS TIDAK bermain baik dengan zpool yang hampir penuh (katakanlah, 85% atau lebih tinggi). Performa mulai menurun secara signifikan - terlepas dari apakah Anda menggunakan media magnetik rotasi atau kondisi padat. Kurangnya dukungan TRIM mungkin akan memperburuk masalah itu, tetapi itu sudah menjadi masalah.

/server//a/397431/91969 (2012-06-11) merekomendasikan:

  • SSD tipe SLC (khusus bukan MLC) untuk ZIL
  • SSD tipe MLC untuk L2ARC.

/superuser//a/451145/84988 (2012-07-19) menyebutkan "SSD untuk ZIL dan L2ARC tunggal untuk mempercepat ZFS".

zevo.getgreenbytes.com • Lihat topik - Masalah kinerja dengan urutan koneksi FW800? (2012-09-24) berkaitan dengan urutan hal-hal pada bus FireWire dengan SSD tunggal untuk ZIL dan L2ARC

  • Selain pesanan bus, topik ZEVO itu membuat saya bertanya-tanya apakah SSD terpisah mungkin lebih disukai.

Lebih khusus: Saya bertanya-tanya tentang interpretasi dari garis putih pada diagram di atas ...

Graham Perrin
sumber
2
Sepertinya ini lebih merupakan pertanyaan Server Fault. Tetapi sesuatu yang harus Anda pertimbangkan adalah beban Baca vs. Tulis di kumpulan penyimpanan Anda. Ada beberapa penelitian yang menunjukkan bagaimana serangan SSD secara umum dapat memiliki kinerja penulisan yang jauh lebih rendah daripada konfigurasi drive tunggal. xbitlabs.com/articles/storage/display/…
2
Mereka yang paling mungkin akrab dengan ZFS lebih cenderung berada di Server Fault daripada SuperUser. Memilih untuk pindah, tetapi pertanyaan yang sangat bagus.
Afrazier
Saya melihat dua suara saat ini ditutup, alih-alih bisakah kita memindahkan pertanyaan? Terima kasih @afrazier
Graham Perrin
1
Selamat Datang di Kesalahan Server. Seperti yang dinyatakan dalam FAQ, kami lebih memilih pertanyaan praktis yang dapat dijawab berdasarkan masalah spesifik yang Anda hadapi . Yang mengatakan, Anda telah membahas banyak teori dan diskusi di sini, tetapi hal yang tampaknya hilang adalah masalah yang Anda coba selesaikan. Tambahkan perincian praktis, dan ini membuat pertanyaan besar.
Michael Hampton
1
Sekadar diketahui, VTC adalah cara untuk memindahkan jawaban. Jika mayoritas VTC ingin pindah ke situs, itu akan dipindahkan. Dan ya, detail praktis, tolong, ini terlihat sangat baik ditulis dan rinci, tetapi tanpa mengetahui situasi Anda, sulit untuk benar-benar mendapatkan jawaban yang spesifik. Anda jelas sedang membangun setup ZFS kickass, dan detail akan sangat membantu dalam mengerjakan jawabannya.
Journeyman Geek

Jawaban:

14

Jawaban singkat, karena saya tidak melihat masalah apa yang ingin Anda pecahkan ...

Jika Anda bisa, gunakan perangkat terpisah. Ini tergantung pada skala lingkungan Anda ... Jika itu hanya sistem rumah sederhana atau solusi ZFS tervirtualisasi atau all-in-one , Anda dapat menggunakan satu perangkat.

Dalam solusi ZFS yang lebih besar atau berkinerja tinggi, saya menggunakan perangkat yang cocok secara khusus untuk peran ZIL atau L2ARC mereka ... Misalnya STEC ZeusRAM atau DDRDrive untuk ZIL dan SSD SLC atau MLC SAS perusahaan untuk L2ARC.

  • Perangkat ZIL harus perangkat berkapasitas rendah, latensi rendah yang mampu menghasilkan IOPS tinggi. Mereka biasanya dicerminkan.
  • Perangkat L2ARC harus berkapasitas tinggi (dengan alasan: Anda perlu menambahkan RAM karena ukuran L2ARC meningkat). Mereka bersisik dengan striping.

Apa yang sedang kamu lakukan?

putih
sumber
Saya menambahkan beberapa latar belakang untuk pertanyaan itu. Jawaban ini tampaknya ideal - terima kasih - saya akan membiarkan beberapa hal terbuka selama beberapa hari sebelum menerimanya.
Graham Perrin
Untuk keperluan tautan: pertanyaan 2011 dari @ewwhite ZFS - bagaimana cara mempartisi SSD untuk penggunaan ZIL atau L2ARC? dan dalam jawaban yang diterima , "... Perangkat ZIL dan L2ARC khusus per kelompok adalah cara yang harus dilakukan".
Graham Perrin
6

Ada beberapa kesalahpahaman mendasar sejak awal tentang ZIL yang perlu diperbaiki sebelum melanjutkan.

Pahami ini: Dalam keadaan "normal", ZIL / SLOG tidak tersentuh.

Ini hanya ditulis ketika perintah sinkron diperintahkan atau jika sync = selalu diaktifkan pada kumpulan / dataset tertentu ("zfs get sync pool / dataset")

ZIL tidak pernah dibaca dari keadaan normal. Ini adalah fitur pemulihan bencana.

IE: ZIL hanya ada ketika daya dimatikan. Ini digunakan untuk memutar ulang data yang telah dikembalikan ke OS sebelum data tersebut dimasukkan ke dalam kumpulan. Semua ZFS yang menulis ke kumpulan (sinkronisasi atau async) berasal dari buffer memori.

Dalam keadaan normal setelah data menyentuh kolam, entri slog dibiarkan menguap - itu hanya buffer tulis bundar yang besar dan tidak perlu terlalu besar (bahkan 1GB berlebihan dalam sebagian besar keadaan)

Tulisan yang tidak sinkron buffered di ram, disusun dan ditulis ke disk pada saat yang tepat. jika daya padam, data itu hilang tetapi integritas FS dipertahankan (inilah sebabnya Anda mungkin ingin mengatur sinkronisasi = selalu)

Di sisi lain, L2ARC sangat dipalu pada tingkat baca dan tulis.

Ada yang namanya "terlalu banyak l2arc", karena metadata untuk apa yang ada di l2arc keluar dari ram ARC Anda (yaitu, jika Anda meningkatkan ukuran l2arc Anda harus meningkatkan ram sesuai. Kegagalan untuk melakukannya dapat mengakibatkan degradasi kinerja yang parah dan akhirnya penggunaan l2arc akan turun pada level di bawah "semua ruang yang tersedia")

Meskipun ada protes dari beberapa produsen, Anda tidak dapat membuat kekurangan memori dengan meningkatkan ukuran l2arc (Beberapa pembuat array serangan perangkat keras yang telah bercabang ke peralatan ZFS telah membuat asumsi ini)

tl; dr: Jika muatan IO Anda adalah aktivitas basis data, maka ZIL kemungkinan akan terbanting keras. Jika itu hal lain maka kemungkinan itu hanya akan disentuh ringan. Sangat mungkin bahwa dalam 99,9% aktivitas, fungsi ZIL tidak pernah berhasil.

Mengetahui hal itu akan memungkinkan Anda untuk memutuskan apakah Anda memerlukan partisi SLOG untuk ZIL, apakah ia dapat hidup bersama dengan partisi l2arc atau jika perlu drive yang berdiri sendiri (dan tingkat kinerja apa yang harus dimiliki oleh drive yang berdiri sendiri).

cerpelai
sumber