|
写在前面的话,因为实现 RAID是对系统进行的一项重要的变动(包括创建新分区和其它一些潜在的冒险操作),所以在开始这一过程之前备份整个系统 不失为 一个好主意。如果您不想进行备份,我希望您能使用一台没有什么重要数据的测试机器做必要的测试,包括后期的数据完整性做%/%的校验,平时多细心哪怕辛苦一点总比到时候数据不完整或者丢失,到处抱着磁盘阵列到处回恢复数据要好吧!呵呵!
创建一个大小为10G的RAID0 一、新建所需RAID0的两个分区 使用/dev/sde1/和dev/sdf1进行创建,分区容量大小为各5G,并转换分区为fd
[Shell] 纯文本查看 复制代码
#fdisk /dev/sde
#fdisk /dev/sdf
# fdisk -l /dev/sd{e,f}
图1、2 注:保存退出后不要对其格式化,因为我们不能去格式化一个software raid 底层的块设备,而是要格式化software raid本身。
二、让内核重新读取分区表
[Shell] 纯文本查看 复制代码
# partx -a /dev/sde1 /dev/sde
# partx -a /dev/sdf1 /dev/sdf
# cat /proc/partitions
图3 三、把/dev/sde1和/dev/sdf1两个分区创建为RAID0 创建之前先确认/proc/mdstat下面是否有相关文件
[Shell] 纯文本查看 复制代码 1
# cat /proc/mdstat
图4
[Shell] 纯文本查看 复制代码 1
# ls -l /dev/md*
图5 既然md0还没有使用,那就让我们从0开始吧!
[Shell] 纯文本查看 复制代码 1
#mdadm -C -a yes -n 2 -l 0 /dev/sd{e,f}1
四、创建md设备
[Shell] 纯文本查看 复制代码 1
# mdadm -C /dev/md00 -a yes -l 0 -n 2 /dev/sd{e,f}1
图6 md相关文件的解释说明------〉版本号、设备文件、ID号----------->ASCII码文件,保存了当前主机上所有md设备的映射关系,通过将哪些磁盘分区做成了md设备
[backcolor=white !important][Shell] 纯文本查看 复制代码 1
#ls -l /dev/md*
图7
1
2
#cd /dev/md
#file md-device-map
1
#cat md-device-ma
图8
五、格式化md设备 注:md设备创建完成之后就可以格式化md设备,md是一个独立的设备 #mke2fs -t ext4 /dev/md0
[Shell] 纯文本查看 复制代码 1
#mke2fs -t ext4 /dev/md0
图9 六、挂载
[Shell] 纯文本查看 复制代码
#mkdir /raid0
#mount /dev/md0 /raid0
#cd /raid0/
#ls
#mount
七、监控md0设备、了解md相关信息
[Shell] 纯文本查看 复制代码 1
#mdadm -D /dev/md0——————》显示md0的详细信息
图11
创建一个大小为20G的RAID1
一、分别在系统中创建两个为20的分区
图1 二、
[Shell] 纯文本查看 复制代码 1
/#fdisk -l /dev/sd{b,c} 让内核重新读取识别分区/
图2 三、创建md设备
[Shell] 纯文本查看 复制代码 1
# mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sd{b,c}1
图3
查看是否创建成功
[Shell] 纯文本查看 复制代码 1
# cat /proc/mdstat
图4
四、格式化md设备
[Shell] 纯文本查看 复制代码 1
# mke2fs -t ext4 /dev/md1 -L RAID_1
图5 六、
图6
图7 测试RAID1的冗余能力
[Shell] 纯文本查看 复制代码
#cd /mnt
#ls;pwd
#cp /etc/issue ./
#mount
图8 二、假如,RAID1种的某块硬盘坏掉了,那么/mnt挂载点还可以使用吗? 对于RAID1来说,坏掉一块硬盘的话真的不影响数据访问吗?
三、开始破坏
[Shell] 纯文本查看 复制代码 1
2
# mdadm /dev/md1 -f /dev/sdb1
# mdadm -D /dev/md1
图9
[Shell] 纯文本查看 复制代码 1
# cat issue
图10 复制文件进来试试看,测试写操作
图11 测试读操作
图12
OK,没问题! 三、移除坏掉的磁盘
[Shell] 纯文本查看 复制代码 1
# mdadm /dev/md1 -r /dev/sdb1
图13 四、假如/dev/sd这块磁盘修好了,我们怎样添加到它的RAID组中呢?
[Shell] 纯文本查看 复制代码 1
2
# mdadm /dev/md1 -a /dev/sdb1
# mdadm -D /dev/md1
图14
[Shell] 纯文本查看 复制代码 1
# mdadm -D /dev/md1
数据重建成功
模拟RAID1中的第二块磁盘损坏 一、
[Shell] 纯文本查看 复制代码 1
2
# mdadm /dev/md1 -f /dev/sdc1
# mdadm -D /dev/md1
图16 二、对/mnt目录进行读写操作
[Shell] 纯文本查看 复制代码
# ls /mnt/
# cat /mnt/issue -n
# echo "i love linux so much " >> /mnt/love.txt
# cat /mnt/love.txt -n
图17
图18
图19
RAID1 中三块磁盘 一块做备用盘
[Shell] 纯文本查看 复制代码 1
# mdadm -C /dev/md2 -a yes -l 1 -n 2 -x 1 /dev/sd{b,c,d}2
图20
# fdisk -l /dev/sd{b,c,d}
图21
格式化md设备
[Shell] 纯文本查看 复制代码 1
# mke2fs -t ext4 /dev/md2
图22 [backcolor=white !important][Shell] 纯文本查看 复制代码 1
挂载#mount /dev/md2 /mnt/
1
2
# cp /etc/fstab /mnt/
# cat /mnt/fstab
图23
模拟一块磁盘损坏
图24
[Shell] 纯文本查看 复制代码 1
2
# mdadm /dev/md2 -r /dev/sdb2
# mdadm -D /dev/md2
图25
查看文件完好无损哦
图26
创建一个大小为10G的RAID5
[Shell] 纯文本查看 复制代码 1
# ls /dev/md*
[Shell] 纯文本查看 复制代码 1
# mdadm -C /dev/md3 -a yes -l 5 -n 3 /dev/sd{b,c,d}3
图27
图 28
[Shell] 纯文本查看 复制代码 1
# cat /proc/mdstat
图29
创建md设备
[Shell] 纯文本查看 复制代码 1
# mdadm -D /dev/md3
图30 格式化md设备
[Shell] 纯文本查看 复制代码 1
# mke2fs -t ext4 /dev/md3
图31
[Shell] 纯文本查看 复制代码
# mount /dev/md3 /mnt/
# cp /etc/issue /mnt/issue
# cat /mnt/issue
图32
模拟/dev/sd磁盘损坏
[Shell] 纯文本查看 复制代码 1
2
# mdadm /dev/md3 -f /dev/sdb3
# mdadm -D /dev/md3
图33 数据可以正常访问哦
图34
[Shell] 纯文本查看 复制代码 1
# mdadm -D /dev/md3
图35
再坏掉一块的话会怎么样呢?试试不就知道了啊,呵呵,要敢于尝试吗!!!!
[Shell] 纯文本查看 复制代码 1
2
# mdadm /dev/md3 -f /dev/sdc3
# cat -n /mnt/issue
图36
图37[Shell] 纯文本查看 复制代码 1
# mdadm -D /dev/md3
|