RAID(Redundant Array of Inexpensive Disks)独立冗余磁盘阵列 硬盘设备需要进行持续、频繁、大量的IO操作,相较于其他设备,其损坏几率也大幅增加,导致重要数据丢 失的几率也随之增加,随着而来就产生了RAID的概念,RAID技术通过把多个硬盘设备组合成一个容量更大、 安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散 读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到 了非常好的数据冗余备份效果 。 即可以通过一些技术将多个较小的磁盘整合成为一个较大的磁盘设备,而这个较大的磁盘不仅可以存储数据,还具有数据保护的功能。由于选择不同的RAID级别,而使整合后的磁盘具有不同的功能。 1.Raid分类:软RAID和硬DAID 1)硬RAID:性能较高。他们采用 PCI Express 卡物理地提供有专用的 RAID 控制器。它不会使用主 机资源。他们有 NVRAM 用于缓存的读取和写入。缓存用于 RAID 重建时,即使出现电源故障,它会使用后备 的电池电源保持缓存 。 2)软RAID:性能较低,因为其使用主机的资源。 需要加载 RAID 软件以从软件 RAID 卷中读取数据。在加载 RAID 软件前,操作系统需要引导起来才能加载 RAID 软件。在软件 RAID 中无需物理硬件。零成本投资 。
2.常用RAID级别和概念 3.Spare Disk:预备磁盘的功能 当磁盘阵列的磁盘损毁时,就要将损坏的磁盘拔除,然后换一块新的磁盘。重新启动磁盘阵列后,磁盘阵列就会开始主动重建坏掉的那块磁盘数据到新的磁盘上,然后我们的数据就复原了。不过我们要拔插硬盘,需要关机操作。 Spare Disk 就是一块或多块没有包含在原本磁盘阵列等级中的磁盘,这块磁盘平时不会被磁盘阵列所使用,只有当磁盘阵列有任何磁盘损坏时,Spare Disk才会被主动拉近磁盘阵列中,并将原来那块损坏的硬盘移除磁盘阵列,然后重建数据系统。
4.软件磁盘阵列的设置:mdadm命令: 用于管理Linux系统中的软件RAID硬盘阵列。在Linux中支持将任何块设备做成RAID,在为同一块磁盘的不同分区做RAID没有任何意义。
5.RAID练习题 1)mdadm命令创建RAID10 名为md0,关闭虚拟机新添加4块硬盘,使用ext4文件系统进行测试。 (1)将四块硬盘加入加入md0,并指定类型为RAID10 mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde (2)将md0格式化成ext4文件系统类型:mkfs.ext4 /dev/md0 (3)创建挂载目录:mkdir /DAID (4)挂载md0:mount /dev/md0 /DAID(手动挂载或自动挂载皆可以) (5)查看md0的详细信息:mdadm -D/dev/md 2)损坏磁盘阵列及修复 #模拟一块硬盘损坏情况 (1)损坏sdb硬盘:mdadm /dev/md0 -f /dev/sdb (2)查看md0的信息 (3)取消md0的挂载,并将sdb硬盘移除 查看md0的信息 (4)将好的硬盘sdb加入md0中:mdadm /dev/md0 -a /dev/sdb 查看md0的信息 (5)将md0重新挂载:mount /dev/md0 /RAID (如果上面是自动挂载,则只需用mount -a 就行)
3)关闭软件RAID(重要!!!!!!) (1)先卸载并删除配置文件内与/dev/md0有关的设置 umount /dev/md0 vi /etc/fstab /dev/md0 /DAID ext4 defaults 0 0 此时RAID md0还存在
(2)接下来关闭 /dev/md0 mdadm --stop /dev/md0 此时查看磁盘可以发现 sdb sdc sdd sde就不属于md0这个磁盘阵列了。 然后查看/dev/md0:mdadm -D /dev/md0 就会有报错信息: 当然,朋友们也可以具体试一下RAID是否具有热插拔的功能,在未损坏磁盘前在/RAID目录下创建一个文件,检测换上一个新磁盘后该文件是否还存在?内容是否不变?答案当然是文件存在且内容不变。 补充一点很有趣的东西: 1)当你在挂载前创建一个在挂载目录下的文件,那么你在挂载后就看不见该文件,并且你也不能对其进行操作。
2)同理,在挂载后创建的文件,你在挂载前是看不见滴,也不能对其进行操作(lost+found是目录本来就有的)。
