Bagaimana cara meningkatkan array ZFS RAID-Z ke disk yang lebih besar di OpenSolaris?

11

Saya berencana menginstal OpenSolaris di server rumah saya (sekarang ini memiliki Linux) dan saya ingin tahu bagaimana mempersiapkan upgrade server untuk memiliki hard drive yang lebih besar di masa depan. Sekarang server memiliki 4x 400GB SATA drive dan saya akan menginstal OpenSolaris dengan ZFS RAID-Z pada mereka. Beberapa waktu kemudian tahun ini atau tahun depan saya akan meng-upgrade drive ke drive SATA mungkin 4x 1TB.

Bagaimana saya bisa melakukan peningkatan dan peningkatan ukuran partisi dengan ZFS? Apakah ini operasi yang sederhana dan tidak menyakitkan (mis. Mengganti satu drive pada satu waktu dan ZFS akan secara otomatis mengubah ukurannya sendiri untuk menggunakan ruang penuh), atau apakah beberapa langkah khusus diperlukan? Bisakah itu dilakukan tanpa mematikan sistem?

Esko Luontola
sumber

Jawaban:

17
  1. Drive offline # 1.
  2. Ganti drive lama dengan drive berkapasitas tinggi yang lebih baru.
  3. zpool mengganti drive.
  4. Tunggu penggantian untuk dibangun kembali.
  5. Pergi langkah 1 dan ulangi untuk setiap drive berturut-turut dalam array

Anda mungkin perlu mengekspor dan mengimpor zpool setelah prosedur ini selesai; kolam kemudian akan menunjukkan peningkatan ukuran. Tidak ada downtime yang diperlukan, tetapi jika drive tidak pergi ke selatan saat Anda meningkatkan array Anda, Anda akan kehilangan segalanya, karena dengan empat total disk Anda mungkin memiliki setup 3 + 1. (Kemungkinannya tidak setinggi itu, tapi Murphy tidak pernah tidur.)

Sumber resmi: "Mengganti Perangkat di Kolam Penyimpanan" di Panduan Administrasi ZFS . The ZFS Panduan Praktik Terbaik juga berguna.

Brad Ackerman
sumber
+1 untuk "Anda mungkin perlu mengekspor dan mengimpor zpool setelah prosedur ini selesai" - prosedur penggantian tidak berfungsi untuk saya sampai saya mengambil tindakan ini.
Josh
Anda tidak perlu menginstalnya kembali jika autoexpandopsi disetel ke onkumpulan.
bahamat
15

Saya ingin menambahkan bahwa mengganti drive yang tidak rusak membuat serangan itu menjadi bukti kegagalan. Anda sebenarnya dapat mengisi drive pengganti terlebih dahulu dengan data sebelum mengeluarkan drive yang lebih kecil. Jadi pesanan akan menjadi.

  • Pasang drive yang lebih besar (bahkan bisa melalui usb)
  • zpool replace smallerdrive biggerdrive
  • Tunggu
  • ketika itu selesai mengambil drive yang lebih kecil, atau apa pun yang perlu Anda lakukan.
  • ulang
  • dan pada akhirnya Anda mungkin harus berlari zpool set autoexpand=on pool

Sekarang murphy tidak terlalu menjadi masalah

Josh
sumber
Untuk orang-orang yang melakukan ini di Linux: Saya mengganti setiap drive dengan sukses, tetapi tidak akan menambah ruang saat berjalan autoexpand=on. Saya perlu menjalankan zpool online -e poolname devicenameuntuk setiap perangkat, dan kemudian berfungsi. Impor / ekspor tidak melakukan apa pun.
Peterdk