介绍RAID的工作原理及一步步来实现RAID的创建
- 一、RAID(Redundant Arrays of Inexpensive Disk):独立冗余磁盘阵列
- RAID的作用是?
- RAID可以通过一些技术将一个或多个磁盘组合成一个较大的磁盘空间设备,并且还具有一定的数据保护功能。
- 1、RAID的等级?
- RAID-0(条带):以个两块磁盘来说明
- 例如:当有数据存储时,数据会先被分成符合区块的大小,然后将数据的总大小平分在这两块磁盘上。
- 优点:性能好:
- 缺点:如果RAID-0磁盘阵列中其中一块硬盘损坏,那么整个RAID-0磁盘阵列上的所有数据都将被损坏,而无法进行读取。
- RAID-1(镜像技术):以个两块磁盘来说明
- 例如:当有数据存储时,数据会先被分成符合区块的大小,然后将数据的总大小存储在这两块磁盘上。(每块磁盘都有完整的数据)
- 优点:数据的安全性提高了
- 缺点:数据空间减少了一半
- RAID 0+1:以四块硬盘进行说明
- 例如:将四块硬盘做成两个RAID-0,然后将两个RAID-0做成一个RAID1,这让的话,当有200MB的数据存储时,因为最上面是RAID-1,所以数据的大小平分在下面的两个RAID-0上,也就是说,每个RAID-0都要存储100M,但由于RAID-0的作用, 每块磁盘只分担50M的大小。
- 优点:结合了RAID-0和RAID-1
- 缺点:空间将少了一半,因为RAID-0需要进行备份
- RAID-5:性能与数据备份的均衡
- 条件:至少需要三个硬盘才能组成RAID-5
- 例如:当有数据存储时,会将数据大小平分到不同的磁盘上,其中有一块磁盘是用作数据存储时的效验码,也就是说,如果其中一块磁盘损坏,可以根据存储效验码来进行还原数据。
- 缺点:如果有两块硬盘损坏,那么数据将无法还原
- Spare Disk:(备份磁盘)
- 作用:当其中一块硬盘损坏时,备份磁盘会主动替换坏的磁盘,并且自动效验被替换的磁盘上的数据。
- 创建RAID 5(软RAID来实现配置RAID),但在企业中我们不建议使用软RAID。
- 由于实验环境,我们使用分区来进行实现软RAID
- 条件:
- 第一、内核必须支持md模块
- 第二、创建四个分区(大小各位100M):/dev/sda5、/dev/sda6、/dev/sda7、/dev/sda8
- 下面开始创建RAID 5
- 第一步:创建分区
- 同上操作步骤创建/dev/sa6、/dev/sda7、/dev/sda8
- 记得一定要通知内核读取/proc/partitions
- [[email protected] ~]# partprobe /dev/sda
- 我们用fdisk -l来查看我们分区是否成功:
- 第二步:创建RAID-5:
- 创建RAID的命令说明:
- [[email protected]~]#mdadm -C /dev/md5 -n 3 /dev/sda{5,6,7} -l 5-a yes
- -C:指定RAID名称
- -n:指定磁盘的个数,这里所指的是分区个数
- -l:指定RAID的级别
- -a:在创建的RAID的时候,自动生成配置文件
- 第三步:格式化并挂载
- 我们在这里创建个目录:/mnt/raid
- # mkdir /mnt/raid
- # mke2fs -j /dev/md5
# mount /dev/md5 /mnt/raid
- 使用mount命令可以查看当前系统所有挂载的设备信息,我们发现/dev/md5挂载成功
- 第四步:复制/etc/passwd /etc/inittab到/mnt/raid,并模仿其中一块磁盘损坏,并查看内容是否成功
- # cp /etc/passwd /etc/inittab /mnt/raid
下面我们来模仿其中一个硬盘损坏并查看磁盘状态信息
# mdadm /dev/md5 -f /dev/sda5
- 最后一行显示/dev/sda5发生错误,但我们知道MD5允许其中一块硬盘发生故障,但不允许同时出现两块硬盘发生故障,所以我们/mnt/raid下的文件可以查看
- 第五步:下面我们将/dev/sda8分区加入md5,并查看md5的详细信息
- # mdadm /dev/md5 -a /dev/sda8
- 从上图我们可以看到我们添加的/dev/sda8主动根据数据效验码完成效验,并成为活动分区
- 我们可以根据查看/proc/mdsat内容,来了解相应的信息,如下图显示sad5出现故障,所以我们将/dev/sda5从md5中移除
- # cat /proc/mdsat
- # mdadm /dev/md5 -r /dev/sda5
- 第六步:模拟两块硬盘损坏,并查看/mnt/raid目录下的文件是否 可以正常阅读
- # mdadm /dev/md5 -f /dev/sda6
- # mdadm /dev/md5 -f /dev/sda7
因上面的过程均在虚拟机实现,所以我们要重新启动下虚拟机,然后再/mnt/raid文件就不能
正常阅读
转载于:https://blog.51cto.com/guodayong/1153070