Linux下使用RAID
本文介绍了在Linux中,使用mdadm工具来创建和管理RAID的方法,重点介绍了如何创建RAID 0、RAID 1、RAID 5和RAID 10。
目录
1. 创建RAID准备
在Linux中,使用mdadm工具来创建和管理RAID, mdadm是Multiple Devices Admin的缩写(简称MD),它是Linux下的一款标准的软件 RAID 管理工具。
首先,你需要确保Linux系统中已经安装了 mdadm。在大多数基于 Debian 的系统(如 Ubuntu)中,可以使用以下命令安装:
sudo apt-get install mdadm
利用VMWare Workstation或者VirtualBox中创建一个虚拟机,在该虚拟机中安装Ubuntu 64位操作系统,并创建7块虚拟硬盘:sba,sbb,sbc,sbd, sbe, sbf, sbg,挂载到该虚拟机中,其中,sba为系统盘,sbb,sbc, sbd, sbe, sbf, sbg作为创建RAID使用,如图1所示。
图1. 虚拟机的配置
2. 创建RAID 0
RAID 0 是一种简单的、无数据校验的数据条带化技术。一个RAID 0包含至少2个成员盘,RAID 0 将所在磁盘条带化后组成大容量的存储空间,数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问,如图2所示。
图2. RAID 0架构示意图
2.1. 创建磁盘阵列
(1)创建磁盘阵列
使用两个硬盘:/dev/sdb和/dev/sdc,创建一个名为/dev/md0的RAID 0磁盘阵列。
sudo mdadm - - create - -verbose /dev/md0 - -level=0 - -raid-devices=2 /dev/sdb /dev/sdc
或者
sudo mdadm -C /dev/md0 -ayes -l0 -n2 /dev/sd[b,c]
(2)查看磁盘阵列信息
- 查看机器上所有磁盘阵列的信息:
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid0 sdc[1] sdb[0] 20953088 blocks super 1.2 512k chunks unused devices: <none> |
输出显示只有一个RAID 0磁盘阵列。
- 查看磁盘阵列的详细信息:
sudo mdadm --detail /dev/md0
或者
sudo mdadm -D /dev/md0
/dev/md0: Update Time : Sat May 4 15:35:37 2024 Layout : -unknown- Consistency Policy : none Name : myvm1:0 (local to host myvm1) Number Major Minor RaidDevice State |
输出显示 RAID 级别、阵列大小、各个部分的运行状况、阵列的UUID等信息。
- 查看磁盘阵列的摘要:
sudo mdadm -Q /dev/md0
/dev/md0: 19.98GiB raid0 2 devices, 0 spares. Use mdadm --detail for more detail. |
- 查看磁盘阵列中单个设备详细信息:
sudo mdadm -E /dev/sdb
sudo mdadm -E /dev/sdc
或者
sudo mdadm --examine /dev/sdb
sudo mdadm --examine /dev/sdc
- 查看单个磁盘阵列中单个设备摘要:
sudo mdadm -Q /dev/sdb
sudo mdadm -Q /dev/sdc
(3)挂载文件系统
- 在磁盘阵列上创建文件系统
sudo mkfs -t ext4 /dev/md0
或者
sudo mkfs.ext4 -F /dev/md0
- 在文件系统上创建挂载点文件夹(/mnt/md0)
sudo mkdir -p /mnt /md0
- 将磁盘阵列(/dev/md0)挂载到所创建文件夹(/mnt/md0)上
sudo mount /dev/md0 /mnt/md0
- 检查是否有新的可用空间
df -h –x devtmpfs –x tmpfs
(4)保存RAID信息
必须更改 /etc/mdadm/mdadm.conf 文件以确保该列表在启动时自动重新组装。通过以下命令序列自动搜索当前阵列、连接文件并更新初始RAM文件系统:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo update-initramfs -u
(5)开机自动挂载RAID
为了在启动时自动挂载,请在可用的etc/fstab文件中添加新的文件系统挂载选项:
echo ‘/dev/md0 /mnt/md0 ext4 defaults, nofail, discard 0 0’ | sudo tee -a /etc/fstab
现在每次启动都可以自动添加所创建的RAID 0磁盘阵列并安装它。
2.2. 添加新设备到磁盘阵列
在磁盘阵列/dev/md0中增加一个硬盘/dev/sdd,磁盘阵列中的设备数量由2变为3。
sudo mdadm --grow /dev/md0 --raid-devices=3 --add /dev/sdd
参看机器上的磁盘阵列信息:
cat /proc/mdstat
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid0 sdd[3] sdc[1] sdb[0] 31429632 blocks super 1.2 512k chunks unused devices: <none> |
输出显示RAID 0磁盘阵列中的设备数量为3个:/dev/sdb, /dev/sdc和/dev/sdd。
调整文件系统的大小以使用额外的空间:
sudo resize2fs /dev/md0
resize2fs 1.45.5 (07-Jan-2020) /dev/md0 上的文件系统已被挂载于 /mnt/md0;需要进行在线调整大小 old_desc_blocks = 3, new_desc_blocks = 4 /dev/md0 上的文件系统现在为 7857408 个块(每块 4k)。 |
2.3. 删除磁盘阵列
(1)卸载挂载的目录
sudo umount /mnt/md0
其中,/mnt/md0为RAID 0磁盘阵列所挂载的目录。
(2)停止磁盘阵列的活动
sudo mdadm --stop /dev/md0
或者
sudo mdadm -S /dev/md0
mdadm: stopped /dev/md0 |
(3)清除超级块
- 查看磁盘阵列中是否存在超级块:
lsblk --fs
sda ├─sda1 │ vfat 0069-2021 511M 0% /boot/efi ├─sda2 │ └─sda5 ext4 a30b6613-548e-444e-858e-642c58dfc676 33G 27% / sdb linux_ myvm1:0 cf4a5e7e-aa7b-2778-fa93-383dfc23a0ac sdc linux_ myvm1:0 cf4a5e7e-aa7b-2778-fa93-383dfc23a0ac sdd linux_ myvm1:0 cf4a5e7e-aa7b-2778-fa93-383dfc23a0ac sde sdf sdg sr0 iso966 Ubuntu 20.04.1 LTS amd64 |
红色输出信息说明存在超级快。
- 清除磁盘阵列的超级块信息:
sudo mdadm - -zero-superblock /dev/sbb
sudo mdadm - -zero-superblock /dev/sbc
sudo mdadm - -zero-superblock /dev/sbd
或者
sudo mdadm --zero-superblock /dev/sdb /dev/sdc /dev/sdd
(4)清除对磁盘阵列的引用
- 删除或注释掉 /etc/fstab文件中对磁盘阵列的任何引用。
首先,打开/etc/fstab文件:
sudo nano /etc/fstab
然后,在/etc/fstab文件中注释或删除下面对对磁盘阵列的引用语句(“#”为注释):
... # /dev/md0 /mnt/md0 ext4 defaults, nofail,discard 0 0 |
最后,保存并关闭文件。
- 删除或注释掉/etc/mdadm/mdadm.conf文件对磁盘阵列的任何引用.
首先,打开/etc/mdadm/mdadm.conf文件:
sudo nano /etc/mdadm/mdadm.conf
然后,在/etc/mdadm/mdadm.conf文件注释或删除对磁盘阵列的引用语句(“#”为注释):
... # ARRAY /dev/md0 metadata=1.2 name=myvm1:0 UUID=cf4a5e7e:aa7b2778:fa93383d:fc23a0ac |
最后,保存并关闭文件。
(5)更新RAID信息
sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.15.0-105-generic |
3. 创建RAID 1
RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像磁盘,当数据写入到一个硬盘上时,数据的副本会同时存储在镜像硬盘上。一个RAID 1组存储的数据量只是单个硬盘的容量,另一硬盘保存的是数据的副本,相当于每一个字节的数据存储占用了两个字节的硬盘空间,所以说两个硬盘组成的RAID 1的空间利用率是50%,如图3所示。
图3. RAID 1架构示意图
3.1. 创建磁盘阵列
(1)创建磁盘阵列
使用两个硬盘:/dev/sdf和/dev/sdg,创建一个名为/dev/md1的RAID 1磁盘阵列。
sudo mdadm - - create - -verbose /dev/md1 - -level=1 - -raid-devices=2 /dev/sdf /dev/sdg
或者
sudo mdadm -C /dev/md1 -ayes -l1 -n2 /dev/sd[f,g]
(2)查看磁盘阵列信息
- 查看机器上所有磁盘阵列的信息:
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md1 : active raid1 sdg[1] sdf[0] 10476544 blocks super 1.2 [2/2] [UU] unused devices: <none> |
输出显示系统只有一个RAID 1磁盘阵列。
- 查看单个磁盘阵列的详细信息:
sudo mdadm --detail /dev/md1
或者
sudo mdadm -D /dev/md1
dev/md1: Update Time : Sun May 5 14:30:43 2024 Consistency Policy : resync Name : myvm1:1 (local to host myvm1) Number Major Minor RaidDevice State |
输出显示 RAID 级别、阵列大小、各个部分的运行状况、阵列的UUID等信息。
(3)挂载文件系统
- 在磁盘阵列上创建文件系统
sudo mkfs -t ext4 /dev/md1
或者
sudo mkfs.ext4 -F /dev/md1
mke2fs 1.45.5 (07-Jan-2020) 正在分配组表: 完成 |
- 在文件系统上创建挂载点目录(/mnt/md1)
sudo mkdir -p /mnt /md1
- 将磁盘阵列(/dev/md1)挂载到所创建目录(/mnt/md1)上
sudo mount /dev/md1 /mnt/md1
- 检查是否有新的可用空间
df -h –x devtmpfs –x tmpfs
文件系统 容量 已用 可用 已用% 挂载点 /dev/sda5 49G 14G 33G 29% / ...... /dev/sda1 511M 4.0K 511M 1% /boot/efi /dev/sr0 2.6G 2.6G 0 100% /media/myvm1/Ubuntu 20.04.1 LTS amd64 /dev/md1 9.8G 24K 9.3G 1% /mnt/md1 |
(4)保存RAID信息
必须更改 /etc/mdadm/mdadm.conf 文件以确保该列表在启动时自动重新组装。通过下面的命令自动搜索当前阵列、连接文件并更新初始RAM文件系统:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
ARRAY /dev/md1 metadata=1.2 name=myvm1:1 UUID=254b4b71:1ab318a1:54677370:c7e5f4a1 |
sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.15.0-105-generic |
(5)开机自动挂载RAID
为了在启动时自动挂载,请在可用的etc/fstab文件中添加新的文件系统挂载选项:
echo ‘/dev/md1 /mnt/md1 ext4 defaults, nofail, discard 0 0’ | sudo tee -a /etc/fstab
/dev/md1 /mnt/md1 ext4 defaults, nofail,discard 0 0 |
现在每次启动都可以自动添加所创建的RAID 1磁盘阵列并安装它。
3.2. 更换磁盘阵列中的硬盘
(1)移除故障硬盘
如果出现故障或需要更换硬盘,有时需要从磁盘阵列中移除硬盘。对于要删除的设备,必须首先将其标记为“失败”。可以使用mdadm --detail命令检查是否有失败的设备:
sudo mdadm --detail /dev/md1
如果要移除没有问题的硬盘,可以使用--fail选项手动将其标记为失败。下面的命令将硬盘/dev/sdf标记为失败:
sudo mdadm --manage /dev/md0 --fail /dev/sdf
mdadm: set /dev/sdf faulty in /dev/md1 |
如果查看mdadm --detail的输出,可以注意到硬盘/dev/sdf已被标记为故障。
sudo mdadm --detail /dev/md1
/dev/md1: Update Time : Sun May 5 15:51:02 2024 Consistency Policy : resync Name : myvm1:1 (local to host myvm1) Number Major Minor RaidDevice State 0 8 80 - faulty /dev/sdf |
将出现故障的硬盘从RAID 1磁盘阵列中移除:
sudo mdadm --manage /dev/md1 --remove /dev/sdf
mdadm: hot removed /dev/sdf from /dev/md1 |
(2)添加新硬盘
接下来,我们增加新的硬盘到RAID 1磁盘阵列:
sudo mdadm --manage /dev/md1 --add /dev/sde
mdadm: added /dev/sde |
查看RAID 1磁盘阵列的信息,
sudo mdadm --detail /dev/md1
/dev/md1: Update Time : Sun May 5 16:10:49 2024 Consistency Policy : resync Name : myvm1:1 (local to host myvm1) Number Major Minor RaidDevice State |
(3)更新磁盘阵列
重新将磁盘阵列(/dev/md1)挂载到目录(/mnt/md1)加上
sudo mount /dev/md1 /mnt/md1
更新initramfs:
sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.15.0-105-generic |
4. 创建RAID 5
RAID 5是一种旋转奇偶校验独立存取的阵列方式,它至少需要三块硬盘,其架构如图4所示。RAID 5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。
图4. RAID 5架构示意图
4.1. 创建磁盘阵列
(1)创建磁盘阵列
使用三个硬盘:/dev/sdb、/dev/sdc和/dev/sdd,创建一个名为/dev/md5的RAID 5磁盘阵列。 sudo mdadm - - create - -verbose /dev/md5 - -level=5 - -raid-devices=3 /dev/sdb /dev/sdc /dev/sdd
或者
sudo mdadm -C /dev/md5 -ayes -l5 -n3 /dev/sd[b,c, d]
(2)查看磁盘阵列信息
- 查看机器上所有磁盘阵列的信息:
cat /proc/mdstat
md5 : active raid5 sdd[3] sdc[1] sdb[0] 20953088 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] md1 : active raid1 sdg[1] sde[2] 10476544 blocks super 1.2 [2/2] [UU] unused devices: <none> |
输出显示系统有两个磁盘阵列,一个是刚刚创建的RAID 5磁盘阵列,另一个是上一节创建的RAID 1磁盘阵列。
- 查看RAID 5磁盘阵列信息:
sudo mdadm --detail /dev/md5
/dev/md5: Update Time : Sun May 5 18:39:22 2024 Layout : left-symmetric Consistency Policy : resync Name : myvm1:5 (local to host myvm1) Number Major Minor RaidDevice State |
(3)挂载文件系统
- 在磁盘阵列上创建文件系统
sudo mkfs -t ext4 /dev/md5
或者
sudo mkfs.ext4 -F /dev/md5
mke2fs 1.45.5 (07-Jan-2020) 正在分配组表: 完成 |
- 在文件系统上创建挂载点目录(/mnt/md5)
sudo mkdir -p /mnt /md5
- 将磁盘阵列(/dev/md5)挂载到所创建目录(/mnt/md5)上
sudo mount /dev/md5 /mnt/md5
- 检查是否有新的可用空间
df -h –x devtmpfs –x tmpfs
文件系统 容量 已用 可用 已用% 挂载点 |
(4)保存RAID信息
- 打开/etc/mdadm/mdadm.conf 文件:
sudo nano /etc/mdadm/mdadm.conf
- 在/etc/mdadm/mdadm.conf文件末尾添加如下信息:
ARRAY /dev/md5 metadata=1.2 name=myvm1:5 UUID=168f7d01:787aa7fc:74a95b58:3471d0a |
- 保存并关闭/etc/mdadm/mdadm.conf文件。
- 更新initramfs:
sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.15.0-105-generic |
(5)开机自动挂载RAID
为了在启动时自动挂载,请在可用的etc/fstab文件中添加新的文件系统挂载选项:
echo ‘/dev/md5 /mnt/md5 ext4 defaults, nofail, discard 0 0’ | sudo tee -a /etc/fstab
/dev/md5 /mnt/md5 ext4 defaults, nofail,discard 0 0 |
现在每次启动都可以自动添加所创建的RAID 5磁盘阵列并安装它。
4.2. 更换磁盘阵列中的硬盘
(1)移除故障硬盘
如果出现故障或需要更换硬盘,有时需要从磁盘阵列中移除硬盘。对于要移除的硬盘,必须首先将其标记为“失败”。可以使用mdadm --detail命令检查是否有失败的设备:
sudo mdadm --detail /dev/md5
如果要移除没有问题的硬盘,可以使用--fail选项手动将其标记为失败。下面的命令将RIAD 5磁盘阵列md5中的硬盘/dev/sdb标记为失败:
sudo mdadm --manage /dev/md5 --fail /dev/sdf
mdadm: set /dev/sdb faulty in /dev/md5 |
如果查看mdadm --detail的输出,可以注意到硬盘/dev/sdf已被标记为故障。
sudo mdadm --detail /dev/md5
/dev/md5: Update Time : Mon May 6 15:13:26 2024 Layout : left-symmetric Consistency Policy : resync Name : myvm1:5 (local to host myvm1) Number Major Minor RaidDevice State 0 8 16 - faulty /dev/sdb |
将出现故障的硬盘从RAID 5磁盘阵列中移除:
sudo mdadm --manage /dev/md5 --remove /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md5 |
(2)添加新硬盘
接下来,我们增加新的硬盘/dev/sdf到RAID 5磁盘阵列:
sudo mdadm --manage /dev/md5 --add /dev/sdf
mdadm: added /dev/sd |
查看RAID 5磁盘阵列的信息,
sudo mdadm --detail /dev/md5
/dev/md5: Update Time : Mon May 6 15:35:40 2024 Layout : left-symmetric Consistency Policy : resync Name : myvm1:5 (local to host myvm1) Number Major Minor RaidDevice State |
(3)更新磁盘阵列
sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.15.0-105-generi |
4.3. 删除磁盘阵列
(1)卸载挂载的目录
sudo umount /mnt/md5
其中,/mnt/md5为RAID 5磁盘阵列/dev/md5所挂载的目录。
(2)停止磁盘阵列的活动
sudo mdadm --stop /dev/md5
或者
sudo mdadm -S /dev/md5
mdadm: stopped /dev/md5 |
(3)清除超级块
查看磁盘阵列中是否存在超级块:
lsblk --fs
... sda |
红色输出信息说明存在超级快。
清除磁盘阵列的超级块信息:
sudo mdadm - -zero-superblock /dev/sbb
sudo mdadm - -zero-superblock /dev/sbc
sudo mdadm - -zero-superblock /dev/sbd
sudo mdadm - -zero-superblock /dev/sbf
或者
sudo mdadm --zero-superblock /dev/sdb /dev/sdc /dev/sdd /dev/sdf
(4)清除对磁盘阵列的引用
- 删除或注释掉 /etc/fstab文件中对磁盘阵列/dev/md5的任何引用。
首先,打开/etc/fstab文件:
sudo nano /etc/fstab
然后,在/etc/fstab文件中注释或删除下面对对磁盘阵列的引用语句(“#”为注释):
... # /dev/md5 /mnt/md5 ext4 defaults, nofail,discard 0 0 |
最后,保存并关闭文件。
- 删除或注释掉/etc/mdadm/mdadm.conf文件对磁盘阵列的任何引用.
首先,打开/etc/mdadm/mdadm.conf文件:
sudo nano /etc/mdadm/mdadm.conf
然后,在/etc/mdadm/mdadm.conf文件注释或删除对磁盘阵列的引用语句(“#”为注释):
... # RRAY /dev/md5 metadata=1.2 name=myvm1:5 UUID=168f7d01:787aa7fc:74a95b58:3471d0a7 |
最后,保存并关闭文件。
(5)更新RAID信息
sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.15.0-105-generic |
5. 创建RAID 10
RAID 10是将镜像和条带进行组合的RAID级别,先进行RAID 1镜像然后再做RAID 0,其价架构如图5所示。RAID 10组的硬盘数量总是偶数,最少需要4块硬盘(2个RAID1组成一个RAID0),一半硬盘进行用户数据写入,另一半保存用户数据的镜像副本,镜像基于分条执行。
图5. RAID 10架构示意图
5.1. 创建磁盘阵列
(1)创建磁盘阵列
使用4个硬盘:/dev/sdb、/dev/sdc,/dev/sdd、/dev/sdf,创建一个名为/dev/md10的RAID 10磁盘阵列,其中,/dev/sdb和/dev/sdc组成一个RAID 1,/dev/sdd和/dev/sdf组成一个RAID 1,两个RAID 1组成一个RAID 10。
sudo mdadm - - create - -verbose /dev/md10 - -level=10 - -raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sdf
或者
sudo mdadm -C /dev/md10 -ayes -l10 -n4 /dev/sd[b, c, d, f]
(2)查看磁盘阵列信息
- 查看机器上所有磁盘阵列的信息:
cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] |
输出显示目前系统有2个磁盘阵列,一个是刚刚建立的RAID 10磁盘阵列,另一个是RAID 1磁盘阵列。
- 查看磁盘阵列的详细信息:
sudo mdadm --detail /dev/md10
或者
sudo mdadm -D /dev/md10
/dev/md10: Update Time : Tue May 7 07:29:27 2024 Layout : near=2 Consistency Policy : resync Name : myvm1:10 (local to host myvm1) Number Major Minor RaidDevice State |
输出显示 RAID 级别、阵列大小、各个部分的运行状况、阵列的UUID等信息。
(3)挂载文件系统
- 在磁盘阵列上创建文件系统
sudo mkfs -t ext4 /dev/md10
或者
sudo mkfs.ext4 -F /dev/md10
创建含有 5238272 个块(每块 4k)和 1310720 个inode的文件系统 正在分配组表: 完成 |
- 在文件系统上创建挂载点文件夹(/mnt/md10)
sudo mkdir -p /mnt /md10
- 将磁盘阵列(/dev/md10)挂载到所创建文件夹(/mnt/md10)上
sudo mount /dev/md10 /mnt/md10
- 检查是否有新的可用空间
df -h –x devtmpfs –x tmpfs
文件系统 容量 已用 可用 已用% 挂载点 ... /dev/md1 9.8G 24K 9.3G 1% /mnt/md1 /dev/sda1 511M 4.0K 511M 1% /boot/efi tmpfs 791M 20K 791M 1% /run/user/1000 /dev/sr0 2.6G 2.6G 0 100% /media/myvm1/Ubuntu 20.04.1 LTS amd64 /dev/md10 20G 24K 19G 1% /mnt/md10 |
(4)保存RAID信息
- 打开/etc/mdadm/mdadm.conf 文件:
sudo nano /etc/mdadm/mdadm.conf
- 在/etc/mdadm/mdadm.conf文件末尾添加如下信息:
ARRAY /dev/md10 metadata=1.2 name=myvm1:10 UUID=a38b437b:b21aee49:7f8f5b38:989df011 |
- 保存并关闭/etc/mdadm/mdadm.conf文件。
- 更新initramfs:
sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.15.0-105-generic |
(5)开机自动挂载RAID
为了在启动时自动挂载,请在可用的etc/fstab文件中添加新的文件系统挂载选项:
- 打开etc/fstab文件:
sudo nano /etc/fstab
- 在etc/fstab文件末尾添加如下信息:
/dev/md10 /mnt/md10 ext4 defaults, nofail, discard 0 0
- 保存并关闭/etc/fstab文件。
现在每次启动都可以自动添加所创建的RAID 10磁盘阵列并安装它。
5.2. 更换磁盘阵列中的硬盘
(1)移除故障硬盘
如果出现故障或需要更换硬盘,有时需要从磁盘阵列中移除硬盘。对于要移除的硬盘,必须首先将其标记为“失败”。可以使用mdadm --detail命令检查是否有失败的设备:
sudo mdadm --detail /dev/md10
如果要移除没有问题的硬盘,可以使用--fail选项手动将其标记为失败。下面的命令将RIAD 10磁盘阵列md10中的硬盘/dev/sdf标记为失败:
sudo mdadm --manage /dev/md10 --fail /dev/sdf
mdadm: set /dev/sdf faulty in /dev/md10 |
如果查看mdadm --detail的输出,可以注意到硬盘/dev/sdf已被标记为故障。
sudo mdadm --detail /dev/md10
/dev/md10: Update Time : Tue May 7 08:20:05 2024 Layout : near=2 Consistency Policy : resync Name : myvm1:10 (local to host myvm1) Number Major Minor RaidDevice State 3 8 80 - faulty /dev/sdf |
将出现故障的硬盘/dev/sdf从RAID 10磁盘阵列中移除:
sudo mdadm --manage /dev/md10 --remove /dev/sdf
mdadm: hot removed /dev/sdf from /dev/md10 |
(2)添加新硬盘
接下来,我们增加新的硬盘/dev/sde到RAID 5磁盘阵列:
sudo mdadm --manage /dev/md10 --add /dev/sde
mdadm: added /dev/sde |
查看RAID 10磁盘阵列的信息,
sudo mdadm --detail /dev/md10
/dev/md10: Update Time : Tue May 7 08:24:24 2024 Layout : near=2 Consistency Policy : resync Rebuild Status : 26% complete Name : myvm1:10 (local to host myvm1) Number Major Minor RaidDevice State |
(3)更新磁盘阵列
sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.15.0-105-generi |
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)