Solución 1:
Estoy ejecutando ZFS en Ubuntu 16.04 y después de muchas pruebas y errores, esto es lo que funcionó para expandir el tamaño del disco y el grupo sin reiniciar. Mi sistema está alojado en la nube en Profitbricks y utiliza unidades libvirt (no SCSI).
Obtenga detalles del grupo y del dispositivo:
# 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 -
Activar expansión automática:
# zpool set autoexpand=on pool
Ahora inicie sesión en el panel de control de Profitbricks y aumente el tamaño del disco de 40 GB a 50 GB.
Notificar al sistema sobre el cambio de tamaño del disco y expandir el grupo:
# 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 -
No estoy seguro de por qué, pero a veces es necesario ejecutar partprobe
y/o zpool online -e pool vdb
dos veces para que los cambios sean efectivos.
Solución 2:
Leí en los foros de freebsd una publicación que sugería usar zpool online -e <pool> <vdev>
(sin necesidad de desconectar el vdev primero)
Esta fue finalmente la solución, pero requería que primero se deshabilitara la expansión automática de ZFS :
[[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 -
Usando zpool set autoexpand=off
seguido de zpool online -e
fue necesario para que zpool se expandiera para mí, usando ZFS en Linux (en kernel, sin usar FUSE)