zf dan pengembangan masa depan

8

Saya ingin membangun server menggunakan freebsd 9 dan zfs. Saya memiliki beberapa perangkat keras lama (intel quad core dengan ram 8 gb) tergeletak di sekitar, dan saya bersedia membeli dua atau tiga disk 1 TB. Saya juga memiliki server RAID dlink dengan dua disk 1 tb di dalamnya yang mungkin saya akan berhenti gunakan, jadi 2 hard disk tersebut akan tersedia untuk digunakan di server zfs setelah saya memindahkan data pada mereka (sekitar 300 mb saat ini dalam serangan 1) ke server baru.

Jadi itu memberi saya 2 atau 3 disk di awal, dengan kemampuan untuk pindah ke 4 atau 5 disk setelah saya berhasil mensetup server zfs dan menyalin data.

Pertanyaan saya adalah bagaimana cara terbaik mengatur zfs pool sehingga saya memiliki redundansi dan ruang penyimpanan max, dengan kemampuan untuk pindah ke 2 atau 3 drive yang lebih besar di masa depan ketika tersedia. Jadi saya tidak terlalu peduli dengan kecepatan, saya kira ethernet saya (bahkan pada 1 gb / s) akan menjadi faktor penentu dalam kecepatan sistem ...?

Pikiran saya saat ini adalah untuk membeli 2 disk baru, mengaturnya menggunakan mode striping. Setelah saya menyalin semua data dari nas dlink saya, saya akan menghapus 1 dari drive tersebut, menambahkannya ke kolam dengan membuatnya menjadi cermin dari salah satu drive baru. Setelah array dibangun kembali, saya kemudian akan memindahkan drive lain ke kolam sehingga mencerminkan drive baru kedua ... setelah semua yang dilakukan, saya harus memiliki setara kasar dengan RAID 10, "cermin bergaris".

Apakah itu mungkin, atau apakah ada cara yang lebih baik untuk mengaturnya?

Sekali lagi, prioritas saya adalah redundansi maksimum, pemeliharaan (mengganti drive lama dengan drive baru / lebih besar dan meningkatkan ruang total pool saya), ruang penyimpanan yang tersedia, dan kecepatan; dalam urutan itu.

pengguna85116
sumber

Jawaban:

6

Untuk dapat menambah ruang penyimpanan dengan mengganti hanya beberapa disk, Anda harus menggunakan vdev yang telah di-mirror, bergaris bersama-sama (yang memang berarti RAID10).

Dalam kasus Anda, dengan 4 drive yang berarti bekerja untuk sesuatu seperti ini:

    zpool
      mirror
        disk1
        disk2
      mirror
        disk3
        disk4

Ini akan memberi Anda 2TB penyimpanan (mengingat semua disk adalah 1TB) dan redundansi yang baik (0% kegagalan array setelah 1 disk crash, hanya 33% kegagalan array dengan 2 crash disk simultan).

Sekarang untuk sampai di sana saya akan membeli 2 disk 1TB baru itu, dan meletakkannya di kolam:

zpool create zpool mirror disk1 disk2

Kemudian pindahkan barang-barang Anda dari DLINK ke kumpulan yang baru dibuat.

Setelah selesai, Anda dapat mengais disk DLINK dan menambahkannya ke kolam, untuk meningkatkan penyimpanan:

zpool add zpool mirror disk3 disk4

Jika nanti Anda ingin menambah penyimpanan lebih banyak lagi, Anda dapat melakukannya dengan menambahkan lebih banyak vdevs (lebih disukai juga mirror) ATAU dengan mengganti hanya 2 dari 4 disk. Mengganti berjalan sebagai berikut:

zpool offline zpool disk3
# remove physical disk3 at this point
# insert new, bigger disk in place of disk3
zpool online zpool disk3
# wait for resilver
# after resilver, do the same with disk4
# your vdev is now bigger, increasing the size of the pool

Sekarang, mari kita lihat opsi lainnya. Jika Anda telah membuat 1 raidz vdev seperti itu:

zpool
  raidz
    disk1
    disk2
    disk3
    disk4

Anda akan memiliki penyimpanan 3TB, tetapi, untuk meningkatkan penyimpanan dengan hanya mengganti disk (dan tidak menambahkan), Anda harus mengganti ALL 4 disk (satu per satu jalur) untuk menambah ukuran pool! Konfigurasi ini juga memiliki kegagalan array 100% jika 2 disk mengalami kerusakan secara bersamaan.

Konfigurasi raidz juga lebih lambat dari konfigurasi mirror bergaris. Karena raidz lebih intensif secara komputasi, sedangkan strip + mirror sebenarnya meningkatkan kinerja membaca dan menulis. Dengan harddisk 'normal' (non SSD) cermin bergaris kemungkinan akan mengisi koneksi gigabit Anda untuk membaca dan menulis berurutan, karena ZFS dapat menggabungkan bandwidth disk (ingat 1Gb / s hanya ~ 125 MegaBYTES / s, standar 'normal' harddisk akan memberi Anda sekitar 90 Megabytes / s). Saya tidak berpikir konfigurasi raidz di atas akan dapat melakukan itu pada perangkat keras konsumen.

Untuk menyimpulkan, skor untuk mirror bergaris / RAID 10 dengan jumlah disk Anda adalah:

+ max redundancy
+ maintenance
- available storage space
+ speed

Skor untuk raidz adalah:

- max redundancy
- maintenance
+ available storage space
- speed

Saya akan mengatakan cermin bergaris menang :)

Kiat terakhir: pasti baca selengkapnya tentang cara dan alasan sebelum memulai! Mungkin bahkan mensimulasikan seluruh prosedur dalam Mesin Virtual. Saya berpikir terutama pada langkah di mana Anda menambahkan mirror vdev kedua! Jika Anda melakukannya dengan salah, Anda mungkin mendapatkan konfigurasi berbeda yang Anda harapkan dan ZFS sangat tidak memaafkan dalam kasus-kasus itu, karena itu tidak memungkinkan Anda untuk menghapus vdevs dari pool atau disk dari raidz vdevs !! (namun menghapus disk dari bentuk vdevs cermin dibolehkan)

Juga, jadilah bukti dan label di masa depan dan luruskan disk Anda, sehingga Anda tidak mendapatkan masalah dengan drive Format Lanjutan! Untuk informasi lebih lanjut tentang seluk-beluk drive ZFS dan 4K, saya sarankan Anda membaca utas ini di forum FreeBSD .

hopla
sumber
3

Setiap grup disk yang Anda tambahkan pada saat yang sama memiliki kebijakan redundansi sendiri, terlepas dari menambah atau membuat kumpulan baru. 2 disk = mirror, 3 Anda dapat menggunakan RAIDZ (atau menjadi kreatif, tidak merekomendasikan). Performa sepertinya akan memperlambat 1Gb Ethernet dengan drive seperti itu. Juga, menukar drive untuk yang lebih besar nanti agak merepotkan, meskipun sepenuhnya mungkin.

Saya sangat merekomendasikan membaca Panduan Admin ZFS mulai selesai sebelum memulai.

Chris S
sumber