目录:
一、RAID简介
二、RAID级别
三、RAID的实现方式
四、RAID的好处
五、软RAID的实现
六、示例说明
一、RAID简介
早些时间由于磁盘价格的原因,造成一些普通用户不能使用,买不起,为了解决这个问题,1988年由加利福尼亚大学伯克利分校(University ofCalifornia-Berkeley) 提出了“A Case for Redundant Arrays of Inexpensive Disks”。作用机理是多个磁盘合成一个“阵列”来提供更好的性能、冗余或者两者的结合,大大的降低了成本,并且性能也有进一步的提升。
二、RAID级别:
这里我们队常用的raid进行比较。
*注意:在制作RAID阵列时,必须每块磁盘或分区的大小的相同的。
三、RAID的实现方式
(1)外接式磁盘阵列:通过扩展卡提供适配能力
(2)内接式RAID:主板集成RAID控制器;(安装操作系统前在BIOS内配)
(3)软件RAID:通过操作系统实现
四、RAID的好处
(1)提高IO能力,磁盘并行读写;
(2)提高耐用性,通过磁盘冗余来实现;
五、软RAID的实现
管理命令的介绍
mdadm命令 manage MD devices aka Linux Software RAID
usage:mdadm [mode] <raiddevice> [options] <component-devices>
<raiddevice>:/dev/md#
<component-devices> :任意块设备;
选项:
创建模式:-C
-n#:使用#个块设备来创建此RAID
-l#:指明要创建的RAID的级别;
-a(yes|no):自动创建目标RAID设备的设备文件
-c CHUNK_SIZE:指明块大小;
-x#:指明空闲盘的个数;
显示RAID的详细信息:-D
-s,--scan 扫描
管理模式:
-f:标记指定磁盘为损坏
-a:添加磁盘
-r:移除磁盘
装配 -A
停止 -S
激活 -R --run
六、下面通过示例对选项进行说明
(1)创建RAID5磁盘阵列
1、添加加快硬盘做raid5阵列
[root@localhost~]#echo '- - -' >/sys/class/scsi_host/host2/scan
#识别磁盘(只适用于虚拟机中)
2、查看是否添加成功
[root@localhost~]#lsblk
3、创建raid分区
[root@localhost~]#fdisk /dev/sdb
....此处省略
Command (m for help): t #调整分区类型
Partition number (1-4): 2
Hex code (type L to list codes): fd
Changed system type of partition 2 to fd (Linux raid autodetect)
4、分别对其他几块硬盘创建分区
[root@localhost~]#dd if=/dev/sdb of=/dev/sdc bs=1 count=512
[root@localhost~]#dd if=/dev/sdb of=/dev/sdd bs=1 count=512
[root@localhost~]#dd if=/dev/sdb of=/dev/sde bs=1 count=512
5、同步分区
[root@localhost~]#partx -a /dev/sdb
[root@localhost~]#partx -a /dev/sdc
[root@localhost~]#partx -a /dev/sdd
[root@localhost~]#partx -a /dev/sde
6、创建raid磁盘阵列
[root@localhost~]#mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}1
7、格式化磁盘阵列
[root@localhost~]# mke2fs -t ext4 /dev/md0
8、创建挂载点并挂载
[root@localhost~]# mkdir /mnt/raid5
[root@localhost~]#mount /dev/md0 /mnt/raid5/
9、查看raid阵列的详细信息
[root@localhost~]#mdadm -D /dev/md0
[root@localhost~]#cat /proc/mdstat
10、备份raid5信息
[root@localhost~]#mdadm -Ds >/etc/mdadm.conf
11、测试
[root@localhost~]#cp /etc/* /mnt/raid5/ -r
[root@localhost~]#ls /mnt/raid5
(2)raid5如何硬盘更换
1、模拟磁盘损坏
[root@localhost~]#mdadm /dev/md0 -f /dev/sdd1
2、查看信息
[root@localhost~]#mdadm -D /dev/md0 最后几行显示
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
3 8 65 2 active sync /dev/sde1
4 8 49 - faulty /dev/sdd1
下面显示的是没有损坏之前的情况:
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1
3 8 65 - spare /dev/sde1
通过查看很明显,损坏的硬盘被备份的硬盘替换。实现冗余能力。但是重新启动操作胸痛损坏磁盘不能被挂载。
3、移除损坏的分区
[root@localhost~]#mdadm /dev/md0 -r /dev/sdd1
mdadm: hot removed /dev/sdd1 from /dev/md0
再次查看已经成功的移除坏的设备。
(3)如何添加硬盘到磁盘整列
1、创建磁盘分区并修改分区类型
[root@localhost~]#fdisk /dev/sdb
#分区fd类型
2、添加一个分区并查看
[root@localhost~]#mdadm /dev/md0 -a /dev/sdb2
[root@localhost~]#mdadm -D /dev/md0 #显示raid信息
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
3 8 65 2 active sync /dev/sde1
5 8 18 3 spare rebuilding /dev/sdb2
(4)删除磁盘阵列信息
1、取消挂载并查看
```[root@localhost~]#umount /mnt/raid5/
[root@localhost~]#df```
2、停止设备运行并查看是否还运行
[root@localhost~]#mdadm -S /dev/md0
[root@localhost~]#mdadm -D /dev/md/md-device-map
3、删除/etc/mdadm.conf文件
[root@localhost~]#rm -rf /etc/mdadm.conf
4、修改/etc/fstab
[root@localhost~]#vim /etc/fstab
删除添加的哪一行
5、查看设备
[root@localhost~]#blkid
注意此时并不能删除分区上的信息。需要使用专属命令进行。
6、删除分区上raid信息并且确认
[root@localhost~]#mdadm --zero-superblock /dev/sd{b,c,d,e}1
[root@localhost~]#blkid
注意:直接删除分区时删除不干净的,重新启动机器还会有raid信息。