硬盘扩容(raid0 踩坑版)

起始状态

$lsblk
···
nvme1n1     259:0    0   3.5T  0 disk 
nvme0n1     259:1    0   3.5T  0 disk 
└─nvme0n1p1 259:3    0   3.5T  0 part /home
nvme2n1     259:2    0   3.5T  0 disk

背景

原 Windows 中 nvme0n1、nvme1n1、nvme2n1 是以 RAID 0 方式组合在一起,现在安装 Ubuntu20.04,同样想将其组合成 RAID 0。

目标

将 nvme0n1、nvme1n1、nvme2n1 组合为 RAID 0 并挂载在 /home 下。

过程

由于 /home 无法直接 umount,故 nvme0n1 现在被占用。
所以我计划首先将 nvme1n1 和 nvme2n1 组成 RAID 0,然后将 /home目录迁移到 RAID 0 ,重启使目录完成迁移,然后格式化 nvme0n1,将其热添加到 RAID 0 中。

步骤 1:创建 RAID 0

首先安装 mdadm,然后将 nvme1n1 和 nvme2n1 创建为 RAID 0 阵列,设备名为 /dev/md127。

sudo apt install mdadm -y
sudo mdadm --create --verbose /dev/md/raid0 --level=0 --raid-devices=2 /dev/nvme1n1 /dev/nvme2n1

步骤 2:迁移 /home

运行以下命令确认设备挂载:

lsblk

在 RAID0 阵列上创建文件系统。假设你打算使用 ext4 文件系统:

sudo mkfs.ext4 /dev/md/raid0

创建一个挂载点并将 RAID0 阵列挂载到该目录:

sudo mkdir /mnt/raid0
sudo mount /dev/md/raid0 /mnt/raid0

将原 /home 目录中的数据迁移到新挂载的 RAID0 阵列。使用 rsync 来保留文件权限和符号链接等:

sudo rsync -aHAXxv /home/ /mnt/raid0/

为了确保每次启动时 RAID0 阵列自动挂载,需要编辑 /etc/fstab 文件。
首先,获取 RAID0 的 UUID:

sudo blkid /dev/md127

然后编辑 /etc/fstab 文件,添加如下内容(根据实际 UUID 替换):

UUID=abcd1234-56ef-7890-abcdef123456(修改此处) /home(找到它) ext4 defaults 0 2

重启!!!然后使用lsblk命令查看是否挂载成功,如果挂载成功如下所示:

nvme1n1 259:0    0   3.5T  0 disk  
└─md127   9:127  0     7T  0 raid0 /home
nvme0n1 259:1    0   3.5T  0 disk  
nvme2n1 259:2    0   3.5T  0 disk  
└─md127   9:127  0     7T  0 raid0 /home

步骤 3 :将 nvme0n1 添加到 md127

首先,检查现有 RAID 阵列的状态,确保它是健康的。或者使用 mdadm 查看 RAID 详细信息:

cat /proc/mdstat
sudo mdadm --detail /dev/md127

确保新添加的 NVMe 磁盘 /dev/nvme0n1 没有被挂载或被使用。使用 lsblk 或 fdisk 检查磁盘状态:

lsblk

如果 /dev/nvme0n1 已经有分区或文件系统,需要删除它们。

sudo fdisk /dev/nvme0n1

向阵列添加新磁盘,由于使用 Raid 0 ,所以添加命令如下

mdadm --grow /dev/md127 --raid-devices=3 --add /dev/nvme0n1

注意, --raid-devices= 的值为指定磁盘的数量,可以在上面 Total Devices 的值 + 1

再次执行 检查,发现新磁盘被标记 spare ,因为它还没有被添加到阵列中

sudo mdadm --detail /dev/md127

此时后台已经开始将磁盘添加队列中 ,可以检查 RAID 重塑状态,根据磁盘大小,可能会需要数小时,退出服务器等待完成即可

在这里插入图片描述

结束

一天没管,今天过来使用lsblk查看发现基本完成。
在这里插入图片描述
但是 df -h 查看:

/dev/md127      7.0T  1.2G  6.6T    1% /home

发现容量还没有更新,执行

$ sudo resize2fs /dev/md127
resize2fs 1.45.5 (07-Jan-2020)
/dev/md127 上的文件系统已被挂载于 /home;需要进行在线调整大小
old_desc_blocks = 895, new_desc_blocks = 1342
/dev/md127 上的文件系统大小已经调整为 2812954368 个块(每块 4k)。

再次df -h查看,发现显示正确!完成!

/dev/md127       11T  1.2G   10T    1% /home
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值