RAID 0 添加新磁盘
1:查看当前可用挂载磁盘
lsblk
2:可见 sda 与 sdb 已被挂载,需要挂载 sdc 和 sdd
由于硬盘的默认分区格式是MBR,这种格式的硬盘支持的最大挂载容量为2T,为了满足我们的要求,需要将硬盘格式转化为 gpt,代码如下:
parted -s /dev/sdc mklabel gpt
parted -s /dev/sdd mklabel gpt
3:查看确定挂载已用的数据磁盘
df -h
如图可见,使用数据磁盘为 /dev/md2
4:对挂载磁盘进行分区和格式化
fdisk /dev/sdb
如果没其他需要 执行 n 命令后全部回车默认
接下来按照依次输入如下字母:
“p”:查看分区
“n”:增加一个分区
“1”:给分区命名为1
输入分区的起始扇区并按回车-默认
输入分区的终止扇区并按回车-默认值
"wq"保存
格式化分区
mkfs.ext4 /dev/sdc1
5:查看 RAID 0 的当前配置,并记下 Total Devices 值
mdadm --detail /dev/md2
6:向阵列添加新磁盘,由于使用 Raid 0 ,所以添加命令如下
注意, --raid-devices= 的值为指定磁盘的数量,可以在上面 Total Devices 的值 + 1
mdadm --grow /dev/md2 --raid-devices=3 --add /dev/sdc1
如果直接执行
mdadm --add /dev/md0 /dev/sdc1
会报错如下
mdadm: add new device failed for /dev/sdc1 as 2: Invalid argument
对报错的描述,这是由于使用了 RAID0。 上面的命令将新磁盘添加为“备用”,但 RAID0 中没有备用磁盘。 如果你想将一个设备添加到 RAID0 阵列,你必须在一个命令中“增长”和“添加”它:
再次执行 检查,发现新磁盘被标记 spare ,因为它还没有被添加到阵列中
mdadm --detail /dev/md2
7:此时后台已经开始将磁盘添加队列中 ,可以检查 RAID 重塑状态,根据磁盘大小,可能会需要数小时,退出服务器等待完成即可
watch cat /proc/mdstat
8:等待重塑状态完成,然后重置磁盘大小
resize2fs /dev/md2
等待完成
Filesystem at /dev/md2 is mounted on /; on-line resizing required
old_desc_blocks = 2327, new_desc_blocks = 3490
The filesystem on /dev/md2 is now 7317600768 (4k) blocks long.
至此完成 raid 0 磁盘扩容