RAID0配置
1.添加磁盘
2.fdisk -l
3.fdisk /dev/sdb(分2个或2个以上的fd类型分区)
t(更改分区类型,你可以输入字母l获取类型列表,这里我们选择fd,即linuxraid auto类型)
4.partprobe 不重启系统添加新的磁盘分区
5.mdadm -C -a yes /dev/md0 -l 0 -n 2 /dev/sdb[12]
软Ra创建时出现以下错误信息
mdadm: Cannot open /dev/sdb: Device or resource busy
mdadm: super1.x cannot open /dev/sdb: Device or resource busy
mdadm: failed container membership check mdadm: device /dev/sdb not suitable for any style of array用一下命令可以解决:
#ls /dev/md*
/dev/md0
然后停止对应的md设备:
#mdadm --stop /dev/md0 // 是停止先前创建的Raid
#mdadm -C -a yes /dev/md0 -l 0 -n 2 /dev/sdb[12] 在生成RAID的设备/dev/md0
出现Continue creating array? y //array?后输入y,问你是否创建所以是yes.
解析参数:-l代表指定RAID级别,-n指定几块盘
6.mdadm -D /dev/md0 查看指定RAID设备
7.mkfs.ext3 /dev/md0 格式化RAID设备
8.mdadm -Ds >/etc/mdadm.conf 让RAID设备在每次重启都生效
9.ls /etc/ | grep mdadm查看文件是否创建成功
10.mkdir /md0 创建挂载点
11.mount /dev/md0 /md0 挂载RAID设备
12.cd /md0 下touch w
13.格式化挂载,在挂载了/dev/md0的情况下执行换盘操作,以下操作都不会成功,操作后直接会崩盘,代表RAID0不支持容错
# mdadm /dev/md0 -f /dev/sdb2 (设置sdb2失效) // 模拟其中一个分区损坏 # mdadm /dev/md0 -r /dev/sdb2 (移除sdb2) # mdadm /dev/md0 -a /dev/sdb3 (添加sdb3) # cat /proc/mdstat如果上面报错:mdadm: set device faulty failed for /dev/sdb5: Device or resource busy
这种是正常,因为raid0不提供容错,不提供冗余
14.ls /md0
警告:一定记住,创建RAID设备后,必须按以下流程操作,否则会崩盘
15.umount /dev/md0卸载RAID设备
16.mdadm -S /dev/md0 停止RAID设备
17.mdadm --misc --zero-superblock /dev/sdb1从RAID设备中移除磁盘
RAID1配置
1.添加磁盘
2.fdisk -l
3.fdisk /dev/sdb(分3个fd类型分区)
4.partprobe 不重启系统添加新的磁盘分区
5.mdadm -C -a yes /dev/md1 -l1 -n3 /dev/sdb[123]
或
mdadm -C -a yes /dev/md1 -l1 -n3 /dev/sdb1 /dev/sdb2 /dev/sdb3
报错:如果分区数10以上,使用[ ]中括号会报错
mdadm -C -a yes /dev/md0 -l1 -n 3 /dev/sdb[10..12]
mdadm: You haven't given enough devices (real or missing) to create this array
解决:使用{ } 大括号
mdadm -C -a yes /dev/md0 -l1 -n 3 /dev/sdb{10..12}
6.mdadm -D /dev/md1 查看指定RAID设备
7.mkfs.ext4 /dev/md1 格式化RAID设备
8.mdadm -Ds >/etc/mdadm.conf 让RAID设备在每次重启都生效
9.ls /etc/ | grep mdadm查看文件是否创建成功
10.mkdir /md1 创建挂载点
11.mount /dev/md1 /md1 挂载RAID设备
12.cd /md1 下touch w
13.mdadm /dev/md1 -f /dev/sdb1模拟其中一块磁盘损坏
14.mdadm -D /dev/md1 查看RAID设备信息
Active Devices : 1
Working Devices : 1 只有一磁盘在工作
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 2 1 active sync /dev/sdb2 只有sdb2在工作
2 8 1 - faulty spare /dev/sdb1 而/sdb1已损坏
15.ls /md1 查看到w文件仍然存在
16.mdadm /dev/md1 -a /dev/sdb3 添加一个新硬盘
17.mdadm -D /dev/md1 查看RAID设备信息
Active Devices : 2
Working Devices : 2 两个工作磁盘
Failed Devices : 1 一个损坏磁盘
Number Major Minor RaidDevice State
0 0 0 0 removed
0 8 3 0 active sync /dev/sdb3 添加新的磁盘已工作
1 8 2 1 active sync /dev/sdb2
2 8 1 - faulty spare /dev/sdb1 而/sdb1已损坏
1.mdadm /dev/md1 -r /dev/sdb1 移除损坏磁盘,因为/sdb1已损坏才可移除,否则是移除不了的。
2.mdadm -D /dev/md1
Active Devices : 2
Working Devices : 2 两个工作磁盘
Failed Devices : 0 没有损坏磁盘
Number Major Minor RaidDevice State
0 0 0 0 removed
0 8 3 0 active sync /dev/sdb3
1 8 2 1 active sync /dev/sdb2
警告:一定记住,创建RAID设备后,必须按以下流程操作,否则会崩盘
3.umount /dev/md1卸载RAID设备
4.mdadm -S /dev/md1停止RAID设备
5.mdadm --misc --zero-superblock /dev/sdb[12] 从RAID设备中移除磁盘
6.mdadm -D /dev/md1 已经查看不到RAID设备了。
mdadm: cannot open /dev/md1: No such file or directory
7.df -h 会发现没有了/dev/md1设备。
/dev/sda3 9.6G 2.5G 6.6G 28% /
tmpfs 122M 0 122M 0% /dev/shm
/dev/sda1 97M 27M 66M 29% /boot
RAID5
# mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sdc{5,6,7,8}
//-n指定盘数时,不能包括备用盘,-x指定备用盘,后面/dev/sdc{5,6,7,8} 是-n与-x之和
-C 创建RAID设备名
-l 指定RAID级别
-n 指定几块分区
-x 指定冗余磁盘
# partprobe 不重启系统添加新的磁盘分区
# mkfs.ext4 /dev/md0
# mkdir /md0
# mount /dev/md0 /md0
# vim /etc/fstab
/dev/md0 /md0 ext4 defaults 0 0
# mount -a
# ls /md0
# mdadm -Ds > /etc/mdadm.conf //必须写此配置文件,要不不会产生配置信息
-D 创建RAID设备文件
-s 扫描
# mdadm -Ds //查看RAID配置信息
# mdadm -D /dev/md0 //查看RAID设备信息
# mdadm -f /dev/md0 /dev/sdc5 //模拟磁盘坏掉 faulty 代表坏掉
mdadm: set /dev/sdc5 faulty in /dev/md0
# mdadm -D /dev/md0
# mdadm -r /dev/md0 /dev/sdc5 //删掉坏掉磁盘
mdadm: hot removed /dev/sdc5 from /dev/md0
# mdadm -D /dev/md0
# mdadm -a /dev/md0 /dev/sdc5 //添加新磁盘
mdadm: added /dev/sdc5
# mdadm -D /dev/md0
警告:一定记住,创建RAID设备后,必须按以下流程操作,否则会崩盘
# umount /dev/md0
# mdadm -S /dev/md0 //停止RAID设备
# mdadm --misc --zero-superblock /dev/sdc[56]
# mdadm -D /dev/md0 //已经查看不到RAID设备了。
mdadm: cannot open /dev/md1: No such file or directory
# mdadm -Ds > /etc/mdadm.conf //必须写此配置文件,要不不会产生配置信息
# mdadm -A /dev/md0 //启动RAID设备
Raid10 (Raid1 + Raid0)配置
1. fdisk /dev/sdb(分区5、6、7、8、9都为fd)
2. partprobe 不重启系统添加新的磁盘分区
3. mdadm -C -a yes /dev/md0 -l0 -n2 /dev/sdb{56}
如出现此信息:mdadm: cannot open /dev/sdb5: Device or resource busy
进行此操作:1.# ls /dev/md*
/dev/md5
2.# mdadm --stop /dev/md5
mdadm: stopped /dev/md5
4. mdadm -C -a yes /dev/md0 -l0 -n2 /dev/sdb[56] 在次重得操作,做RAID0
Continue creating array? y 在array?后输入y,表示同意创建
5. mdadm -C -a yes /dev/md1 -l1 -n2 /dev/sdb[78] 做RAID1
Continue creating array? y 在array?后输入y,表示同意创建
6. mdadm -C -a yes /dev/md10 -l10 -n2 /dev/md[01] 把RAID0与RAID1组成RAID10.
Continue creating array? y 在array?后输入y,表示同意创建
7. mdadm -D /dev/md10或cat /proc/mdstat
8. mkfs.ext4 /dev/md10
9. mkdir /md10
10. mount /dev/md10 /md10 临时挂载
或vim /etc/fstab 永久挂载(添写以下内容)
/dev/md10 /md10 ext4 defaults 0 0
保存退出后执行mount -a
11. df -h 确认是否挂载上
12. mdadm -Ds > /etc/mdadm.conf建立RAID配置文件
13. ls /etc/ | grep mdadm* 查看配置文件是否创建成功
14. touch /md10/wml.txt 在/md10创建个文件看是否成功
15. mdadm /dev/md10 -f /dev/sdb5 模拟其中一个损坏
mdadm: set device faulty failed for /dev/sdb5: No such device //不能这么玩的,要玩分别对md0,md1玩
16. mdadm /dev/md0 -f /dev/sdb5 模拟其中一个损坏,md0是raid0的设备
mdadm: set device faulty failed for /dev/sdb5: Device or resource busy
这种是正常,因为raid0不提错容错,不提供冗余
17. mdadm /dev/md1 -f /dev/sdb7 模拟其中一个损坏,md1是raid1的设备,可以提供冗余和容错
mdadm: set /dev/sdb7 faulty in /dev/md1 //这样的提示表示正常
18. mdadm -D /dev/md10 查看RAID设备信息
19. mdadm /dev/md1 -r /dev/sdb7 -a /dev/sdb9 移除损坏磁盘,同时在加入一块磁盘
mdadm: hot removed /dev/sdb7 from /dev/md1 //下面两行都是提示
mdadm: added /dev/sdb9
20. mdadm -G -n9 /dev/md10 --force 让增加的设备进入工作状态
21. mdadm -D /dev/md10 查看RAID设备信息
22. mdadm --monitor --mail=root@localhost --delay=10 /dev/md10 [&] 监控RAID设备,[]代表可选项
警告:一定记住,创建RAID设备后,必须按以下流程操作,否则会崩盘
停止,启动,移除RAID设备
1. umount /md10 卸载挂载点
2. mdadm -S /dev/md10 停止RAID设备
或mdadm -As /dev/md10 启动RAID设备
3. mdadm --misc --zero-superblock /dev/sdb[5..9] 从RAID设备中移除磁盘
mdadm --misc --zero-superblock /dev/sdb5... 如果上面不行,可以逐个移除