我用zfsonlinux的ZFS有一个4磁盘mdraid 8.12TB:
# zpool status pool: tank state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 md-name-ubuntu:md2 ONLINE 0 0 0
我添加了两个磁盘:
# mdadm --add /dev/md2 /dev/sde /dev/sdf # mdadm --grow /dev/md2 -n 6
这成功地完成了:
# mdadm --detail /dev/md2 /dev/md2: Version : 1.2 Creation Time : Thu Jan 16 01:53:23 2014 Raid Level : raid5 Array Size : 14597903360 (13921.65 GiB 14948.25 GB) Used Dev Size : 2919580672 (2784.33 GiB 2989.65 GB) Raid Devices : 6 Total Devices : 6 Persistence : Superblock is persistent
在resize的过程中,ZFS已卸载但未导出。 它仍然报告它的旧尺寸:
# zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT tank 8.12T 7.78T 349G 95% 1.04x ONLINE -
现在我尝试了这些步骤中的每一个来扩展它,所有这些在某个地方声称会有效的工作:
# zpool set autoexpand=on # zpool export tank # zpool import tank
什么也没做。
# zpool export tank # zpool import -o autoexpand=on tank
什么也没做。
# zpool export tank # zpool import -o expand=on tank
什么也没做。
# zpool online -e tank md-name-ubuntu:md2
什么也没做。 这个名字也不是问题,我也试过了
# zpool export tank # zpool import -d /dev/ tank # zpool online -e tank md2
除了几分钟后,我写这篇文章,分区表似乎已经更新(不知道我试过哪个命令造成这种情况)
# gdisk -l /dev/md2 Found valid GPT with protective MBR; using GPT. Disk /dev/md2: 29195806720 sectors, 13.6 TiB Number Start (sector) End (sector) Size Code Name 1 2048 29195788287 13.6 TiB BF01 zfs 9 29195788288 29195804671 8.0 MiB BF07
尽pipe这里仍然没有改变:
# zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT tank 8.12T 7.78T 349G 95% 1.04x ONLINE -
resize需要一段时间吗? 我看不到任何报道正在进行的操作。
相关的zfsonlinux问题已经在两年前解决了(注意到这个评论声称我在这里工作的两个方法失败了)。
使用zfsutils zfs-dkms Version: 0.6.2-1~saucy
您将需要卸载ZFS模块并重新插入或重新启动。
接下来,你可以zpool online -e devicename
运行zpool online -e devicename
并查看新的zpool大小。
但是,我应该补充一点,我经常在硬件RAID上使用ZFS …但是,在MD软件之上使用RAID没有什么意义,除非您有其他限制。