【Linux】磁盘管理 -- RAID存储
【Linux】磁盘管理
RAID 存储
RAID 概念
RAID,即廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks)。
大容量磁盘价格高昂,RAID的核心思路是将多块容量小、成本低的磁盘组合成大容量、高性能和可靠性的大容量磁盘。
随着磁盘成本大幅下降,“廉价”概念失去意义,RAID咨询委员会(RAID Advisory Board, RAB)将“廉价(Inexpensive)”替换为“独立(Independent)”,RAID自此定义为独立磁盘冗余阵列(Redundant Array of Independent Disks)。
RAID 实现方式
从技术实现维度,RAID主要分为三类,核心差异在于是否依赖专用硬件芯片:
- 软 RAID:无独立的RAID控制/处理芯片和I/O处理芯片,所有RAID功能由操作系统和CPU完成,实现成本低但效率最差。
- 硬 RAID:配备专用RAID控制/处理芯片、I/O处理芯片及阵列缓冲,不占用主机CPU资源,性能优异但硬件成本高。
- 软硬混合 RAID:具备RAID控制/处理芯片,但无独立I/O处理芯片,需CPU和驱动程序辅助完成功能,性能与成本介于软RAID和硬RAID之间。
操作系统识别到的设备是raid卡提供的设备,而不是直接管理底层硬盘。
RAID 级别
RAID通过数据条带、镜像、数据校验三类核心技术实现高性能、高可靠性、容错能力和扩展性。不同技术的组合策略形成不同RAID级别,以适配不同数据应用场景。
D. A. Patterson等的论文最初定义了RAID1RAID5,1988年后扩展出RAID0和RAID6;后续厂商推出的RAID7、RAID10/01、RAID50等无统一标准,业界公认的核心级别为RAID0RAID5,实际应用中以RAID0、RAID1、RAID4、RAID5、RAID6、RAID10为主。
各RAID级别无高低之分,需结合业务对可用性、性能、成本的需求选择适配的级别和实现方式。

RAID 实践
实验环境需在虚拟机中添加6块20G硬盘,设备名分别为sdb、sdc、sdd、sde、sdf、sdg,用于后续各类RAID阵列的创建与测试。
Linux系统中通过mdadm工具实现软RAID的创建、配置、监控与维护,以下为核心RAID级别的实操流程。
管理 RAID 0
1 创建 RAID 0
# 安装mdadm工具(CentOS系统)
[root@CentOS7 ~ 17:19:59]# yum install -y mdadm
# 创建RAID 0阵列:设备名/dev/md0,级别0,成员盘2块(sdb、sdc)
[root@CentOS7 ~ 17:26:15]# mdadm --create /dev/md0 --level 0 --raid-devices 2 /dev/sd{b,c}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
注释:--level指定RAID级别,--raid-devices指定成员盘数量,/dev/sd{b,c}为sdb和sdc的简写。
2 查看 RAID 0 状态
# 查看RAID概要信息(内核态RAID状态)
[root@CentOS7 ~ 17:27:38]# cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdc[1] sdb[0]
41908224 blocks super 1.2 512k chunks
unused devices: <none>
# 查看RAID设备详细信息
[root@CentOS7 ~ 17:28:05]# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Apr 9 17:27:38 2026
Raid Level : raid0
Array Size : 41908224 (39.97 GiB 42.91 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Thu Apr 9 17:27:38 2026
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 512K
Consistency Policy : none
Name : CentOS7.harvy.iCloud:0 (local to host CentOS7.harvy.iCloud)
UUID : 344bbbde:8d00149f:a3dcbf9d:a0fb8b4f
Events : 0
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
注释:核心关注Raid Level(级别)、State(状态,clean为正常)、Chunk Size(条带块大小)、成员盘状态。
# 查看RAID设备与物理盘的映射关系
[root@CentOS7 ~ 17:28:32]# lsblk /dev/md0
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
md0 9:0 0 40G 0 raid0
[root@CentOS7 ~ 17:29:21]# lsblk /dev/sdb /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 20G 0 disk
└─md0 9:0 0 40G 0 raid0
sdc 8:32 0 20G 0 disk
└─md0 9:0 0 40G 0 raid0
3 格式化与挂载 RAID 0
# 格式化RAID设备为XFS文件系统
[root@CentOS7 ~ 17:29:47]# mkfs.xfs /dev/md0
meta-data=/dev/md0 isize=512 agcount=16, agsize=654720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=10475520, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=5120, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# 创建挂载点
[root@CentOS7 ~ 17:30:27]# mkdir -p /raid/raid0
# 挂载RAID设备到挂载点
[root@CentOS7 ~ 17:32:13]# mount /dev/md0 /raid/raid0/
# 验证挂载结果
[root@CentOS7 ~ 17:32:30]# df -h /raid/raid0/
Filesystem Size Used Avail Use% Mounted on
/dev/md0 40G 33M 40G 1% /raid/raid0
# 测试数据写入
[root@CentOS7 ~ 17:32:39]# cp /etc/ho* /raid/raid0/
[root@CentOS7 ~ 18:20:49]# ll /raid/raid0/
total 20
-rw-r--r-- 1 root root 9 Apr 9 18:20 host.conf
-rw-r--r-- 1 root root 21 Apr 9 18:20 hostname
-rw-r--r-- 1 root root 158 Apr 9 18:20 hosts
-rw-r--r-- 1 root root 370 Apr 9 18:20 hosts.allow
-rw-r--r-- 1 root root 460 Apr 9 18:20 hosts.deny
4 删除 RAID 0
# 卸载挂载点
[root@CentOS7 ~ 18:20:57]# umount /dev/md0
# 停止RAID阵列(销毁阵列)
[root@CentOS7 ~ 18:21:42]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0
# 清除物理盘上的RAID超级块(恢复为普通磁盘)
[root@CentOS7 ~ 18:22:02]# mdadm --zero-superblock /dev/sd{b,c}
[root@CentOS7 ~ 18:23:17]# for device in /dev/sd{b,c}
> do
> dd if=/dev/zero of=$device bs=1M count=1024
> done
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 28.376 s, 37.8 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 2.97037 s, 361 MB/s
5 补充说明
- RAID 0不支持新增成员盘扩展容量:
bash [root@centos7 ~]# mdadm --add /dev/md0 /dev/sdd mdadm: add new device failed for /dev/sdd as 2: Invalid argument
- RAID 0不支持标记单盘故障(无冗余,单盘故障即阵列失效):
bash [root@centos7 ~]# mdadm --fail /dev/md0 /dev/sdc mdadm: Cannot remove /dev/sdc from /dev/md0, array will be failed.
管理 RAID 1
1 创建 RAID 1
# 创建RAID 1阵列:设备名/dev/md1,级别1,成员盘2块(sdb、sdc)
[root@CentOS7 ~ 18:27:02]# mdadm --create /dev/md1 --level 1 --raid-devices 2 /dev/sd{b,c}
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
注释:RAID 1元数据默认存储在磁盘开头,若用于/boot分区需指定--metadata=0.90兼容老旧引导程序。
2 查看 RAID 1 状态
[root@CentOS7 ~ 18:28:35]# mdadm --detail /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Thu Apr 9 18:28:34 2026
Raid Level : raid1
Array Size : 20954112 (19.98 GiB 21.46 GB)
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Thu Apr 9 18:30:50 2026
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : CentOS7.harvy.iCloud:1 (local to host CentOS7.harvy.iCloud)
UUID : ac3f8b20:dd04f957:00a429d2:e22ebadf
Events : 17
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
注释:resyncing表示镜像数据正在同步,需等待同步完成(100%)后再进行格式化操作。
# 查看RAID与物理盘映射
[root@CentOS7 ~ 18:31:12]# lsblk /dev/md1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
md1 9:1 0 20G 0 raid1
[root@CentOS7 ~ 18:31:50]# lsblk /dev/sd{b,c}
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 20G 0 disk
└─md1 9:1 0 20G 0 raid1
sdc 8:32 0 20G 0 disk
└─md1 9:1 0 20G 0 raid1
3 格式化与挂载 RAID 1
# 等待同步完成后,格式化RAID设备
[root@CentOS7 ~ 18:32:08]# mkfs.xfs /dev/md1
meta-data=/dev/md1 isize=512 agcount=4, agsize=1309632 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5238528, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# 创建挂载点
[root@CentOS7 ~ 18:32:47]# mkdir /raid/raid1
# 挂载设备
[root@CentOS7 ~ 18:33:01]# mount /dev/md1 /raid/raid1
# 验证挂载
[root@CentOS7 ~ 18:33:18]# df -h /raid/raid1
Filesystem Size Used Avail Use% Mounted on
/dev/md1 20G 33M 20G 1% /raid/raid1
# 测试数据写入
[root@CentOS7 ~ 18:33:31]# cp /etc/ho* /raid/raid1
[root@CentOS7 ~ 18:34:44]# ls /raid/raid1
host.conf hostname hosts hosts.allow hosts.deny
4 增加热备盘
# 为RAID 1添加热备盘sdd
[root@CentOS7 ~ 18:34:52]# mdadm --add /dev/md1 /dev/sdd
mdadm: added /dev/sdd
# 查看热备盘状态(spare为备用)
[root@CentOS7 ~ 18:35:39]# mdadm --detail /dev/md1 |tail -5
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
2 8 48 - spare /dev/sdd
5 模拟磁盘故障
# 手动标记sdc为故障盘
[root@CentOS7 ~ 18:36:56]# mdadm --fail /dev/md1 /dev/sdc
mdadm: set /dev/sdc faulty in /dev/md1
# 查看故障后状态(sdd自动顶替并同步)
[root@CentOS7 ~ 18:37:04]# mdadm --detail /dev/md1 |tail -5
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
2 8 48 1 spare rebuilding /dev/sdd
1 8 32 - faulty /dev/sdc
# 验证数据可正常访问
[root@CentOS7 ~ 18:37:14]# ls /raid/raid1
4host.conf hostname hosts hosts.allow hosts.deny
[root@CentOS7 ~ 18:37:37]# cat /raid/raid1/hostname
CentOS7.harvy.iCloud
6 删除故障磁盘
# 移除故障盘sdc
[root@CentOS7 ~ 18:37:52]# mdadm --remove /dev/md1 /dev/sdc
mdadm: hot removed /dev/sdc from /dev/md1
# 验证移除结果
[root@CentOS7 ~ 18:38:53]# mdadm --detail /dev/md1 |tail -5
Events : 38
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
2 8 48 1 spare rebuilding /dev/sdd
7 再次模拟故障
[root@CentOS7 ~ 18:39:03]# mdadm --fail /dev/md1 /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md1
[root@CentOS7 ~ 18:43:08]# mdadm --detail /dev/md1 |tail -5
Number Major Minor RaidDevice State
- 0 0 0 removed
2 8 48 1 active sync /dev/sdd
0 8 16 - faulty /dev/sdb
[root@CentOS7 ~ 18:43:12]# ls /raid/raid1
host.conf hostname hosts hosts.allow hosts.deny
[root@CentOS7 ~ 18:43:20]# echo this is raid1 > /raid/raid1/test.txt
[root@CentOS7 ~ 18:43:50]# cat /raid/raid1/test.txt
this is raid1
[root@CentOS7 ~ 18:43:59]# umount /raid/raid1
[root@CentOS7 ~ 18:44:52]# mount /dev/md1 /raid/raid1
[root@CentOS7 ~ 18:45:08]# ls /raid/raid1/test.txt
/raid/raid1/test.txt
总结:raid1阵列中任一成员故障,不影响数据的完整性。
8 删除 RAID 1
# 卸载挂载点
[root@CentOS7 ~ 18:45:20]# umount /dev/md1
# 停止RAID阵列
[root@CentOS7 ~ 18:45:59]# mdadm --stop /dev/md1
mdadm: stopped /dev/md1
# 清除物理盘超级块
[root@CentOS7 ~ 18:46:11]# mdadm --zero-superblock /dev/sd{b..d}
使用dd工具填充更彻底。
[root@CentOS7 ~ 18:46:53]# for device in /dev/sd{b..d}
> do
> dd if=/dev/zero of=$device bs=1M count=1024
> done
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 3.36571 s, 319 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 2.76397 s, 388 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 2.65793 s, 404 MB/s
作用:使用0填充/dev/sdb硬盘。
- if:Input File,/dev/zero 全为0
- of:Output File
- bs:Block Size,每次添加多大数据流
- count:一共填充多少个Block
9 补充说明
RAID 1核心价值是数据冗余,而非扩容:即使新增磁盘,阵列总容量仍等于单盘容量(镜像机制),无法通过加盘提升可用空间。
管理 RAID 5
1 创建 RAID 5
# 创建RAID 5阵列:设备名/dev/md5,级别5,成员盘4块(sdb、sdc、sdd、sde)
[root@CentOS7 ~ 18:47:52]# mdadm --create /dev/md5 --level 5 --raid-devices 4 /dev/sd{b..e}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
注释:RAID 5最少需3块盘,此处用4块盘(1块用于分布式校验)。
2 查看 RAID 5 状态
[root@CentOS7 ~ 18:49:28]# mdadm --detail /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Thu Apr 9 18:49:27 2026
Raid Level : raid5
Array Size : 62862336 (59.95 GiB 64.37 GB)
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Thu Apr 9 18:49:49 2026
State : clean, degraded, recovering
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Rebuild Status : 6% complete
Name : CentOS7.harvy.iCloud:5 (local to host CentOS7.harvy.iCloud)
UUID : 361a790e:66ef46be:32867556:3bbbeccf
Events : 2
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
4 8 64 3 spare rebuilding /dev/sde
注释:recovering表示阵列正在构建/同步,需等待同步完成后再格式化。
# 查看RAID与物理盘映射
[root@CentOS7 ~ 18:49:51]# lsblk /dev/md5
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
md5 9:5 0 60G 0 raid5
[root@CentOS7 ~ 18:50:23]# lsblk /dev/sd{b..e}
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 20G 0 disk
└─md5 9:5 0 60G 0 raid5
sdc 8:32 0 20G 0 disk
└─md5 9:5 0 60G 0 raid5
sdd 8:48 0 20G 0 disk
└─md5 9:5 0 60G 0 raid5
sde 8:64 0 20G 0 disk
└─md5 9:5 0 60G 0 raid5
3 格式化与挂载 RAID 5
# 等待阵列同步完成后,格式化设备
[root@CentOS7 ~ 18:50:35]# mkfs.xfs /dev/md5
meta-data=/dev/md5 isize=512 agcount=16, agsize=982144 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=15714304, imaxpct=25
= sunit=128 swidth=384 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=7680, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# 创建挂载点
[root@CentOS7 ~ 18:51:04]# mkdir -p /raid/raid5
# 挂载设备
[root@CentOS7 ~ 18:51:15]# mount /dev/md5 /raid/raid5
# 验证挂载
[root@CentOS7 ~ 18:51:29]# df -h /raid/raid5
Filesystem Size Used Avail Use% Mounted on
/dev/md5 60G 33M 60G 1% /raid/raid5
# 测试数据写入
[root@CentOS7 ~ 18:51:38]# cp /etc/ho* /raid/raid5
[root@CentOS7 ~ 18:51:56]# ls /raid/raid5
host.conf hostname hosts hosts.allow hosts.deny
4 增加热备盘
# 为RAID 5添加热备盘sdf
[root@CentOS7 ~ 18:52:03]# mdadm --add /dev/md5 /dev/sdf
mdadm: added /dev/sdf
# 查看热备盘状态
[root@CentOS7 ~ 18:53:45]# mdadm --detail /dev/md5 |tail -7
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
4 8 64 3 spare rebuilding /dev/sde
5 8 80 - spare /dev/sdf
5 模拟磁盘故障
# 标记sdb为故障盘
[root@CentOS7 ~ 18:53:54]# mdadm --fail /dev/md5 /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md5
# 查看故障后状态(sdf自动顶替并同步)
[root@centos7 ~ 18:53:58]# mdadm --detail /dev/md5 |tail -7
Number Major Minor RaidDevice State
5 8 80 0 spare rebuilding /dev/sdf
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
4 8 64 3 active sync /dev/sde
0 8 16 - faulty /dev/sdb
# 验证数据可正常访问
[root@CentOS7 ~ 18:56:48]# ls /raid/raid5
host.conf hostname hosts hosts.allow hosts.deny
[root@CentOS7 ~ 18:57:49]# cat /raid/raid5/hostname
CentOS7.harvy.iCloud
6 删除故障磁盘
# 移除故障盘sdb
[root@CentOS7 ~ 19:33:49]# mdadm --remove /dev/md5 /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md5
# 验证移除结果
[root@CentOS7 ~ 19:34:06]# mdadm --detail /dev/md5 |tail -7
Events : 25
Number Major Minor RaidDevice State
5 8 80 0 spare rebuilding /dev/sdf
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
4 8 64 3 active sync /dev/sde
7 扩容 RAID 5
注释:RAID 5仅支持扩容(增加成员盘),不支持减容;扩容仅在阵列“clean”正常状态下可执行,降级/重构时禁止。
# 新增2块盘(sdb、sdg)到RAID 5
[root@CentOS7 ~ 19:43:08]# mdadm --add /dev/md5 /dev/sd{b,g}
mdadm: added /dev/sdb
mdadm: added /dev/sdg
# 查看新增盘状态(spare为备用)
[root@CentOS7 ~ 19:43:37]# mdadm --detail /dev/md5 |tail -7
5 8 80 0 active sync /dev/sdf
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
4 8 64 3 active sync /dev/sde
6 8 16 - spare /dev/sdb
7 8 96 - spare /dev/sdg
# 扩展阵列成员数为5(--grow为扩容参数)
[root@CentOS7 ~ 19:43:49]# mdadm --grow /dev/md5 --raid-devices 5
# 等待阵列重构完成(查看进度)
[root@CentOS7 ~ 19:44:28]# mdadm --detail /dev/md5
......
Reshape Status : 16% complete
Delta Devices : 1, (4->5)
Name : centos7.laoma.cloud:5 (local to host centos7.laoma.cloud)
UUID : 1d4e3f21:1178a4fd:db214497:593e3353
Events : 79
Number Major Minor RaidDevice State
5 8 80 0 active sync /dev/sdf
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
4 8 64 3 active sync /dev/sde
7 8 96 4 active sync /dev/sdg
6 8 16 - spare /dev/sdb
# 验证RAID容量(从60G扩容至80G)
[root@CentOS7 ~ 19:51:02]# lsblk /dev/md5
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
md5 9:5 0 80G 0 raid5 /raid/raid5
# 扩展文件系统(XFS文件系统用xfs_growfs)
[root@CentOS7 ~ 19:51:12]# xfs_growfs /raid/raid5
meta-data=/dev/md5 isize=512 agcount=16, agsize=982144 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=15714304, imaxpct=25
= sunit=128 swidth=384 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=7680, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 15714304 to 20954112
[root@CentOS7 ~ 19:52:13]# df -h /raid/raid5
Filesystem Size Used Avail Use% Mounted on
/dev/md5 80G 34M 80G 1% /raid/raid5
8 再次模拟磁盘故障
[root@CentOS7 ~ 19:53:24]# mdadm --remove /dev/md5 /dev/sdb
[root@CentOS7 ~ 19:53:47]# mdadm --fail /dev/md5 /dev/sdg
mdadm: set /dev/sdg faulty in /dev/md5
[root@CentOS7 ~ 19:54:02]# mdadm --detail /dev/md5 | tail -8
Number Major Minor RaidDevice State
5 8 80 0 active sync /dev/sdf
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
4 8 64 3 active sync /dev/sde
- 0 0 4 removed
7 8 96 - faulty /dev/sdg
[root@centos7 ~]# ls /raid/raid5
host.conf hostname hosts hosts.allow hosts.deny
[root@centos7 ~]# echo hello raid5 > /raid/raid5/test.txt
[root@centos7 ~]# umount /raid/raid5
[root@centos7 ~]# mount /dev/md5 /raid/raid5
[root@centos7 ~]# ls /raid/raid5
host.conf hostname hosts hosts.allow hosts.deny test.txt
9 删除 RAID 5
# 卸载挂载点
[root@CentOS7 ~ 19:55:30]# umount /dev/md5
# 停止RAID阵列
[root@CentOS7 ~ 19:55:50]# mdadm --stop /dev/md5
mdadm: stopped /dev/md5
# 清除物理盘超级块
[root@centos7 ~ 19:57:52]# mdadm --zero-superblock /dev/sd{b..g}
也可以使用dd彻底擦除:
for device in /dev/sd{b..g}
do
dd if=/dev/zero of=$device bs=1M count=1024
done
10 重构 RAID 5
注释:若停止阵列后未清除超级块,可通过以下命令重构阵列,数据不丢失:
[root@centos7 ~]# mdadm --assemble /dev/md5 /dev/sd{b..g}
补充
raid阵列可以进一步使用分区技术分割成多个分区,然后再格式化使用。特别是raid5这种大容量的盘。
更多推荐


所有评论(0)