抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

测试环境

模拟我的4盘位硬盘盒,现有两块做 raid1 并且已经有数据。
在新加入两块盘后组成 raid10 并不损失数据
在 VMware Workstation 创建虚拟机配置如下
配置

创建Raid1阵列

模拟我现在的磁盘状态。

1
2
# 已有数据需要 -f 参数强制覆盖
mkfs.btrfs -m raid1 -d raid1 /dev/sd{b,c}

命令返回结果
写入数据,用于辨别操作后是否损坏数据。

1
2
3
mount /dev/sdb /mnt
echo "abcde">/mnt/test.txt
dd if=/dev/random of=/mnt/testfile bs=1M count=256

查看当前使用情况
加入设备前使用情况

将新加入磁盘加入阵列

将磁盘加入阵列

单纯的将磁盘加入阵列只是以reid1模式加入。

1
2
# btrfs device add -f device[ device ...] path -f参数强制覆盖会损失盘上所有数据
btrfs d a /dev/sd{d,e} /mnt

加入设备后使用情况

均衡磁盘

btrfs将设备加入阵列后数据是不会变动的。需要重新分配。
重新分配时加入转换参数将 reid1 转为 reid10.
经确认数据完整。不过实际设备往往数据量大需要时间长,在转换过程中突发断电数据难保。

1
btrfs balance start -dconvert=raid10 -mconvert=raid10 -sconvert=raid10 -f /mnt

开始平衡数据
平衡数据后
平衡数据后1

评论




本站使用 Volantis 作为主题