Solusi 1:
Saya menjalankan ZFS di Ubuntu 16.04 dan setelah banyak percobaan dan kesalahan, inilah yang berhasil untuk memperluas ukuran disk dan kumpulan tanpa me-reboot. Sistem saya dihosting di cloud di Profitbricks dan menggunakan drive libvirt (bukan SCSI).
Dapatkan detail kumpulan dan perangkat:
# zpool status -v
...
NAME STATE READ WRITE CKSUM
pool ONLINE 0 0 0
vdb ONLINE 0 0 0
# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
pool 39.8G 27.1G 12.7G - 49% 68% 1.00x ONLINE -
Aktifkan perluasan otomatis:
# zpool set autoexpand=on pool
Sekarang login ke panel kontrol Profitbricks dan tingkatkan ukuran disk dari 40GB menjadi 50GB.
Beri tahu sistem tentang perubahan ukuran disk dan perluas kumpulan:
# partprobe
Warning: Not all of the space available to /dev/vdb appears to be used,
you can fix the GPT to use all of the space (an extra 10485760 blocks) or
continue with the current setting?
# zpool online -e pool vdb
# partprobe
# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
pool 49.8G 27.1G 21.7G - 40% 55% 1.00x ONLINE -
Saya tidak yakin mengapa, tetapi terkadang perlu menjalankan partprobe
dan/atau zpool online -e pool vdb
dua kali untuk mengefektifkan perubahan.
Solusi 2:
Saya membaca di forum freebsd sebuah posting yang menyarankan untuk menggunakan zpool online -e <pool> <vdev>
(tanpa perlu offline vdev terlebih dahulu)
Ini pada akhirnya adalah solusinya, tetapi perluasan otomatis ZFS harus dinonaktifkan terlebih dahulu :
[[email protected] ~]# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
dfbackup 214G 207G 7.49G 96% 1.00x ONLINE -
[[email protected] ~]# zpool get autoexpand
NAME PROPERTY VALUE SOURCE
dfbackup autoexpand on local
[[email protected] ~]# zpool set autoexpand=off dfbackup
[[email protected] ~]# zpool online -e dfbackup /dev/disk/by-id/virtio-sbs-XLPH83
[[email protected] ~]# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
dfbackup 249G 207G 42.5G 82% 1.00x ONLINE -
Menggunakan zpool set autoexpand=off
diikuti oleh zpool online -e
diperlukan agar zpool dapat diperluas untuk saya, menggunakan ZFS di linux (di kernel, bukan menggunakan FUSE)