ZFS Pool dengan Berbagai Ukuran Drive

9

Saya berencana menyiapkan kolam FreeNAS ZFS menggunakan dua drive 2 tb dan dua drive 1tb. Saya ingin memiliki redundansi data. Saya membaca posting ini yang tampaknya menyarankan dua opsi saya adalah kehilangan 1tb per drive 2tb menggunakan RAIDZ atau menggunakan perintah ini (yang menggandakan ruang yang diperlukan untuk redundansi data):

zfs set copies=2 poolname

Apakah ada cara yang lebih baik untuk menangani hal ini dan mendapatkan sesuatu yang lebih seperti Drobo's Beyond RAID atau Netgear's XRAID? Sebagai alternatif, dapatkah saya mempartisi setiap drive 2tb menjadi 1 tb partisi dan meletakkan kedua partisi di pool?

Timothy R. Butler
sumber

Jawaban:

13

Ada cara yang lebih baik, buat kumpulan 3 TB tunggal yang terdiri dari dua cermin.

zpool create test mirror disk1 disk2 mirror disk3 disk4

dengan disk1 dan disk2 menjadi disk 1TB dan disk3 dan disk4 menjadi 2 TB.

Edit:

Jika Anda ingin memaksimalkan ukuran dan tidak terlalu peduli dengan kinerja atau praktik terbaik, Anda dapat mempartisi semua drive dengan partisi ukuran yang sama (atau irisan) dan membuat kumpulan hybrid 4 TB dengan RAIDZ 4 vdev dan mirror 2 vdev.

zpool create -f test raidz d0p1 d1p1 d2p1 d3p1 mirror d0p2 d1p2

Perhatikan opsi "-f" yang diperlukan untuk memaksa perintah untuk menerima ketidakcocokan tingkat replikasi.

Jlliagre
sumber
1
Terima kasih untuk informasi. Jadi itu akan seperti mirroring biasa di mana redundansi "biaya" 100% ekstra, tampaknya? Apakah ada cara untuk mencapai "biaya" 50% seperti RAID5 seperti? Bagaimana kinerja konfigurasi ini versus kinerja pengaturan ZRAID / RAID5 dengan 4 drive berukuran sama?
Timothy R. Butler
@ TimothyR.Butler Anda tidak dapat membuat cermin 1TB dan menerapkan RAIDZ di atas 2TB dan cermin 2TB, itu tidak berfungsi seperti itu. Untuk menggunakan RAIDZ, Anda harus memiliki drive dengan ukuran yang sama (atau Anda akan memberikan ruang ekstra pada drive yang lebih besar, atau Anda harus mulai masuk ke konfigurasi yang tidak direkomendasikan). Dua konfigurasi mirror yang direkomendasikan oleh jawaban ini adalah konfigurasi terbaik yang direkomendasikan.
Chris S
Terima kasih jilliagre dan @chriss atas komentarnya. Saya pikir saya mungkin hanya membeli dua drive lagi dan menyebutnya sehari. Jilliagre perintah kedua yang baru saja ditambahkan menarik meskipun ... Apakah saya benar dalam mengasumsikan kinerja akan sama baiknya atau lebih baik daripada apa pun yang disebutkan di atas jika saya melakukan 4xZT RAIDZ?
Timothy R. Butler
@ TimothyR.Butler A 4x2TB RAIDZ akan memiliki kinerja sedikit hit dibandingkan dengan cermin 2x2TB ganda (pada dasarnya RAID10). Keduanya akan memiliki kinerja terbaik dari apa pun yang kita bahas di sini.
Chris S
4

Ini tergantung pada berapa banyak penyimpanan data yang Anda butuhkan. Anda dapat membuat dua kelompok masing-masing 1TB dan 2TB, menggunakan RAID 1. Jika tidak, lihat apakah Anda dapat memperoleh disk berukuran sama dan coba RAID 1 + 0 atau RAIDZ.

putih
sumber
Terima kasih. Apakah dua kolam lebih baik dari satu kolam dengan dua RAIDZ di dalamnya?
Timothy R. Butler
@ TimothyR.Butler Setiap mirror disk adalah vdev di ZFS. Anda tidak dapat menghapus vdevs dari kumpulan zfs; jadi sekali kolam memiliki dua mirror di dalamnya, itu harus selalu memiliki setidaknya dua (Anda dapat menambahkan lebih banyak, hanya saja tidak menghapus). Jika Anda ingin beralih ke sesuatu dengan vdev yang lebih sedikit, Anda harus menghancurkan kolam dan mulai dari awal. Jadi dengan memulai dengan dua zpool, Anda memiliki fleksibilitas untuk memisahkannya nanti jika Anda mau, tetapi Anda kehilangan fleksibilitas untuk berbagi ruang penyimpanan secara otomatis (Anda harus meletakkan file pada satu kumpulan atau yang lainnya saat diisi).
Chris S
@ewwhite, saya tahu apa yang Anda maksud dengan "RAID 1 + 0" tetapi tidak ada cara untuk secara eksplisit melakukan ini di ZFS ... beberapa mungkin bingung oleh perbedaannya.
Chris S
2

Dari panduan admin ZFS:

"Perangkat dapat berupa irisan individual pada disk yang sudah diformat, atau mereka dapat seluruh disk yang format ZFS sebagai irisan besar tunggal."

Jadi ya, Anda bisa membuat dua partisi 1-TB pada drive 2TB itu, menggunakannya untuk RAID-Z vdev dan ruang yang tersisa untuk penyimpanan yang tidak berlebihan.

Namun, menurut Panduan Praktik Terbaik ZFS, Anda mungkin mengalami kinerja yang menurun:

Untuk sistem produksi, gunakan seluruh disk daripada irisan untuk kumpulan penyimpanan karena alasan berikut:

  • Mengizinkan ZFS mengaktifkan cache tulis disk untuk disk yang memiliki cache tulis. Jika Anda menggunakan array RAID dengan cache tulis yang tidak mudah menguap, maka ini bukan masalah dan slice karena vdevs masih harus mendapatkan manfaat dari cache tulis array.

  • Untuk penyimpanan yang terhubung dengan JBOD, yang memiliki cache disk yang diaktifkan, memungkinkan beberapa penulisan sinkron dikeluarkan sebagai beberapa penulisan disk diikuti oleh flush cache tunggal memungkinkan pengontrol disk untuk mengoptimalkan penjadwalan I / O. Secara terpisah, untuk sistem yang tidak memiliki dukungan yang tepat untuk SATA NCQ atau SCSI TCQ, memiliki cache tulis yang diaktifkan memungkinkan host untuk mengeluarkan operasi I / O tunggal secara sinkron dari I / O fisik.

  • Proses pemulihan mengganti disk yang gagal lebih kompleks ketika disk berisi sistem file ZFS dan UFS pada irisan.

Terlisimo
sumber
Pekerjaan cut-n-paste yang bagus, tapi semua itu sudah dibahas dalam dua jawaban lainnya.
Chris S