我有一个内核2.6.32-431.11.2.el6.x86_64 Linux下的ZFS zpool,它有一个单独的vdev。 vdev是SAN设备。 我扩大了SAN的大小,即使重新启动机器,导出/导入池以及使用zpool online -e ,尽pipezpool autoexpand设置为on ,但我无法获取池扩展。 我相信vdev更大,因为fdisk显示它已经从215GiB增加到250 GiB。 以下是我所做的一个示例:
[root@timestandstill ~]# zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT dfbackup 214G 207G 7.49G 96% 1.00x ONLINE - [root@timestandstill ~]# zpool import -d /dev/disk/by-id/ pool: dfbackup id: 12129781223864362535 state: ONLINE action: The pool can be imported using its name or numeric identifier. config: dfbackup ONLINE virtio-sbs-XLPH83 ONLINE [root@timestandstill ~]# zpool import -d /dev/disk/by-id/ dfbackup [root@timestandstill ~]# zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT dfbackup 214G 207G 7.49G 96% 1.00x ONLINE - venuebackup 248G 244G 3.87G 98% 1.00x ONLINE - [root@timestandstill ~]# zpool get autoexpand dfbackup NAME PROPERTY VALUE SOURCE dfbackup autoexpand on local [root@timestandstill ~]# zpool set autoexpand=off dfbackup [root@timestandstill ~]# zpool set autoexpand=on dfbackup [root@timestandstill ~]# zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT dfbackup 214G 207G 7.49G 96% 1.00x ONLINE - venuebackup 248G 244G 3.87G 98% 1.00x ONLINE - [root@timestandstill ~]# zpool status -v dfbackup pool: dfbackup state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM dfbackup ONLINE 0 0 0 virtio-sbs-XLPH83 ONLINE 0 0 0 errors: No known data errors [root@timestandstill ~]# fdisk /dev/disk/by-id/virtio-sbs-XLPH83 WARNING: GPT (GUID Partition Table) detected on '/dev/disk/by-id/virtio-sbs-XLPH83'! The util fdisk doesn't support GPT. Use GNU Parted. WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): p Disk /dev/disk/by-id/virtio-sbs-XLPH83: 268.4 GB, 268435456000 bytes 256 heads, 63 sectors/track, 32507 cylinders Units = cylinders of 16128 * 512 = 8257536 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/disk/by-id/virtio-sbs-XLPH83-part1 1 27957 225443839+ ee GPT Command (m for help): q [root@timestandstill ~]# zpool online -e dfbackup /dev/disk/by-id/virtio-sbs-XLPH83 [root@timestandstill ~]# zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT dfbackup 214G 207G 7.49G 96% 1.00x ONLINE - venuebackup 248G 244G 3.87G 98% 1.00x ONLINE - [root@timestandstill ~]# zpool status -v dfbackup pool: dfbackup state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM dfbackup ONLINE 0 0 0 virtio-sbs-XLPH83 ONLINE 0 0 0 errors: No known data errors
我怎样才能扩展这个zpool?
我在Ubuntu 16.04上运行ZFS,并经过多次试验和错误,这是什么扩大磁盘和池大小,而无需重新启动。 我的系统托pipe在Profitbricks的云中,使用libvirt(不是SCSI)驱动器。
获取游泳池和设备详情:
# 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 -
激活自动展开:
# zpool set autoexpand=on pool
现在login到Profitbricks控制面板并将磁盘大小从40GB增加到50GB。
通知磁盘大小更改系统并扩展池:
# 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 -
我不知道为什么,但有时需要两次运行partprobe和/或zpool online -e pool vdb以使更改生效。
我在freebsd论坛上阅读了一篇文章,build议使用zpool online -e <pool> <vdev> (无需首先使vdev脱机)
这最终是解决scheme,但它需要先禁用ZFS自动展开 :
[root@timestandstill ~]# zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT dfbackup 214G 207G 7.49G 96% 1.00x ONLINE - [root@timestandstill ~]# zpool get autoexpand NAME PROPERTY VALUE SOURCE dfbackup autoexpand on local [root@timestandstill ~]# zpool set autoexpand=off dfbackup [root@timestandstill ~]# zpool online -e dfbackup /dev/disk/by-id/virtio-sbs-XLPH83 [root@timestandstill ~]# zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT dfbackup 249G 207G 42.5G 82% 1.00x ONLINE -
使用zpool set autoexpand=off后跟zpool online -e需要获取zpool以扩展我,在Linux上使用ZFS(在内核中,不使用FUSE)