我创建了一个具有两个 1GB EBS 卷的 RAID0 配置,安装在/dev/md0
使用中mdadm
并使用XFS
Next 进行格式化,我复制了一些文件以填充该卷到其容量的 30% 左右(2GB)
然后我使用创建了卷的快照ec2-consistent-snapshot
,并创建了所述快照的卷,但指定卷大小为 2GB(有效地将每个磁盘的容量加倍)
/dev/md0
然后我启动了一个新实例,从上面提到的 2 个卷中组装 RAID0 配置,并将其安装到/vol
df -hT
显示 /vol 为 2GB(符合预期)
现在我运行了sudo xfs_growfs -d /vol
。命令正常完成,但报告blocks changed from 523776 to 524160
(仅!)并且df -hT
仍然显示 /vol 为 2GB(而不是预期的 4GB)
我重新启动、重新安装、重新组装了 RAID,但它仍然报告旧的大小。
mdadm --grow
编辑:尝试使用收益来扩大 RAIDmdadm: raid0 array /dev/md0 cannot be reshaped
还有其他方法可以扩大 RAID0 阵列吗?
答案1
一个解决方案是从头开始创建新的卷集(每个 2GB)并并行组装新的 RAID0 配置(例如 /dev/md1)。将文件从一个 raid 卷(/dev/md0)复制到另一个 raid 卷(/dev/md1)。
答案2
组装阵列时使用 --update=devicesize 选项。即:
mdadm --assemble --update=devicesize --scan
或者
mdadm --assemble --update=devicesize <device>
但是,这要求您至少使用 v1.1 元数据,该元数据将超级块放在设备的前面。如果您使用 v0.90 或 v1.0 元数据扩展卷,则必须重新创建阵列以将新的超级块放在设备的末尾。只要您在创建阵列时使用与最初相同的选项,这对文件系统就不会造成破坏。