在MDRaid上扩展ZFS?

我用zfsonlinuxZFS有一个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没有什么意义,除非您有其他限制。