测试环境
模拟我的4盘位硬盘盒,现有两块做 raid1 并且已经有数据。
在新加入两块盘后组成 raid10 并不损失数据。
在 VMware Workstation 创建虚拟机配置如下
创建Raid1阵列
模拟我现在的磁盘状态。
1 | # 已有数据需要 -f 参数强制覆盖 |
写入数据,用于辨别操作后是否损坏数据。
1 | mount /dev/sdb /mnt |
查看当前使用情况
将新加入磁盘加入阵列
将磁盘加入阵列
单纯的将磁盘加入阵列只是以reid1模式加入。
1 | # btrfs device add -f device[ device ...] path -f参数强制覆盖会损失盘上所有数据 |
均衡磁盘
btrfs将设备加入阵列后数据是不会变动的。需要重新分配。
重新分配时加入转换参数将 reid1 转为 reid10.
经确认数据完整。不过实际设备往往数据量大需要时间长,在转换过程中突发断电数据难保。
1 | btrfs balance start -dconvert=raid10 -mconvert=raid10 -sconvert=raid10 -f /mnt |