Linux软RAID配置与管理指南
Linux内核的md模块负责管理RAID设备,通过mdadm工具实现对MD设备的控制。
(1) mdadm核心参数说明
-C 创建新阵列
-r 移除设备(需处于非活动状态)
-A 激活阵列
-l 设置RAID级别
-D 显示详细信息
-n 指定成员设备数量
-s 扫描配置文件获取信息
-x 设置备用盘数量
-f 标记设备为故障
-c 自定义块大小(默认512K)
-a 添加设备到阵列
-G 调整阵列配置
-v 显示详细过程
-S 停止阵列并释放资源
(2) 实践操作
实验环境:CentOS 7
| RAID类型 | 使用设备 | 热备盘 |
|---|---|---|
| RAID0 | sdX,Y | - |
| RAID1 | sdA,B | sdC |
| RAID5 | sdD,E,F | sdG |
| RAID10 | sdH,I,J,K | - |
- 构建RAID0阵列
[root@server ~]# ls /dev/sd*
/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
[root@server ~]# mdadm -v -C /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc
mdadm: chunk size defaults to 512K
Continue creating array? y
mdadm: array /dev/md0 started.
[root@server ~]# mdadm -Ds
ARRAY /dev/md0 metadata=1.2 name=server:0 UUID=...
[root@server ~]# mdadm -Dsv > /etc/mdadm.conf
RAID设备挂载方式与常规磁盘相同:
[root@server ~]# mkfs.xfs /dev/md0
[root@server ~]# mkdir /raid0
[root@server ~]# mount /dev/md0 /raid0/
[root@server ~]# df -h /dev/md0
文件系统 容量 已用 可用 已用% 挂载点
/dev/md0 40G 33M 40G 1% /raid0
- 配置RAID1镜像
[root@server ~]# mdadm -v -C /dev/md1 -l 1 -n 2 -x 1 /dev/sd{d,e,f}
mdadm: size set to 20954112K
Continue creating array? y
mdadm: array /dev/md1 started.
[root@server ~]# mdadm -Dsv
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=1.2 spares=1 ...
[root@server ~]# mdadm -Dsv > /etc/mdadm.conf
模拟磁盘故障测试:
[root@server ~]# mdadm /dev/md1 -f /dev/sde
mdadm: set /dev/sde faulty in /dev/md1
[root@server ~]# mdadm -D /dev/md1
Rebuild Status : 71% complete
Number Major Minor RaidDevice State
0 8 48 0 active sync /dev/sdd
2 8 80 1 spare rebuilding /dev/sdf
1 8 64 - faulty /dev/sde
- 配置RAID5阵列
[root@server ~]# mdadm -v -C /dev/md5 -l 5 -n 3 -x 1 -c32 /dev/sd{g,h,i,j}
mdadm: layout defaults to left-symmetric
mdadm: array /dev/md5 started.
[root@server ~]# mdadm -G /dev/md5 -n 4 -c 32
mdadm: array /dev/md5 started.
[root@server ~]# mdadm -D /dev/md5
Raid Level : raid5
Array Size : 41908224 (39.97 GiB 42.91 GB)
Chunk Size : 32K
Reshape Status : 17% complete
- 配置RAID10阵列
[root@server ~]# fdisk /dev/sdk
Command (m for help): n
Partition type: p/e
Selected partition 1, size 1G
Command (m for help): n
Partition type: p/e
Selected partition 2, size 1G
Command (m for help): n
Partition type: p/e
Selected partition 3, size 1G
Command (m for help): n
Partition type: p/e
Selected partition 4, size 1G
Command (m for help): w
The partition table has been altered!
[root@server ~]# mdadm -v -C /dev/md10 -l 10 -n 4 /dev/sdk[1-4]
mdadm: array /dev/md10 started.
- RAID清理操作
[root@server ~]# umount /raid0/
[root@server ~]# mdadm -Ss
[root@server ~]# rm -rf /etc/mdadm.conf
[root@server ~]# mdadm --zero-superblock /dev/sdb
[root@server ~]# mdadm --zero-superblock /dev/sdc