【一】为什么要创建raid?
简单来讲,是为了扩容,RAID可以将多个磁盘组合成一个逻辑驱动器,提供更大的存储容量。另外,它还具有灵活性,冗余性,容错性等
【二】raid分为几种?
名称 | 特点 | 大小 | 原因 |
RAID 0 | 至少两块硬盘/分区,其中一块/分区如果坏了,则数据丢失;数据分散在不同硬盘上;无冗余;无数据保护 | 100% | 两块磁盘/分区都存有数据,但是并未将其一个磁盘/分区拿出来作其备份,两者数据不同, |
RAID 1 | 至少二块硬盘/分区,一块硬盘/分区是另一个的备份;有冗余性;存取速度低;未分散存放数据 | 50% | 两块磁盘,一块/分区是储存全部数据,一块/分区用来备份,所以利用率为50% |
RAID 5 | 至少三块硬盘/分区;将数据分散放;冗余性高;存取速度快 | 三分之二(以三块磁盘为例) | 三块中,两块用来存储数据,另一个块/分区用来计算校验码, 当其两者数据丢失,可将其找回,所以,利用利用率为三分之二 |
RAID 1+0 | 至少4块硬盘/分区;两两分组,在以组为单位,实现RAID 0 的功能;冗余性高;存取速度快 | 50% | 这个类型结合了RAID 0与RAID 1 的特点,4块/分区:1,2,3,4,。首先,1,2为A组,3,4为B组,AB两组分别实现RAID 1 的功能:如A组中1进行数据储存,2进行数据备份;其次,AB两组再实现RAID 0 的功能 |
RAID 6 |
* RAID 6 用的少,不作过多介绍
【三】创建思路
创建环境准备---------》 添加相应的磁盘个数 --------》 所用工具的下载安装 -------》创建,模拟损坏,扩容,删除,查看等 RAID (0,1,1+0,5,6)
【四】实验
1,创建环境:centos7 ,挂载光盘
2,添加相应的磁盘个数:(这里以安装RAID5 为例)2个(两个硬盘,一个做两个分区,共4个分区)
*这里推荐在添加磁盘时,使用SATA,可以不用重启虚拟机
3,所用工具的下载安装:
(1)配置yum源:
cd /etc/yum.repos.d
mkdir ml
mv -r ./* ml
ls
vi mda.repo
*这里是由于我先前配置好了
(2)下载mdadm
yum search mdadm
yum -y install mdadm.x86_64
4,创建,模拟损坏,扩容,删除,查看等 RAID 5
(1)创建
! 将其磁盘进行分区与改类型 (以/dev/sde 为例)
lsblk:
fdisk /dev/sde
* 将其sde 20G 的磁盘分成了两个等大的分区,并其类型为RAID(fd)
* 重复将其2块硬盘进行分区与改类型
!创建 /dev/md5
命令:mdadm -C /dev/md5 -l 5 -n 3 /dev/sdb1 /dev/sdb2 /dev/sdc1 -x 1 /dev/sdc2
-C | 创建:创建/dev/md5 |
-l | 级别:/dev/md5 级别为5 |
-n | 分区数量:/dev/md5 的有效分区数量为3,分别为/dev/sdb1 /dev/sdb2 /dev/sdc1 |
-x 1 | 空闲 个数为1 :/dev/md5 还有一块磁盘空闲/dev/sdc2 (作用是替补) |
! 将其查看内容,添加到/etc/mdadm.conf中,目的是为了防止重启后配置内容丢失
命令: mdadm -Ds /dev/md5 > /etc/mdadm.conf
(2)查看/dev/md5
命令: mdadm -D /dev/md5
mdadm -Ds /dev/md5 (查看具体信息)
(3)模拟损坏
! 现将其数据进行备份
cp -r /boot/* /media/11
! 模拟损坏
命令 : mdadm /dev/md5 -f /dev/sdb1
*注意观察两个分区的状态,再过一段时间,再次查看,/dev/sdc2的状态会与下面一样
(4)移除/dev/sdb1
命令:mdadm /dev/md5 -r /dev/sdb1
*此时,再次查看就没有了/dev/sdb1
(5)扩大/dev/md5(这里的扩大是将 -n 3 变成 -n 4 ,让其可用分区变大,即,空间大小变大)
命令: mkfs.ext4 /dev/md5 *将其/dev/md5格式化
resize2fs /dev/md5 * 将其格式化的文件系统进行扩容,才算真正的扩容
mdadm -G /dev/md5 -n 4 * 将其扩容
*当其实施上面第三条命令显示:(表示现在它需要至多一块分区,才可以完成此操作,因为,之前我们将/dev/sdb1 移除掉了,所以现在要添加上)
添加命令:mdadm /dev/md5 -a /dev/sdb1
-----这个是为加上/dev/sb1的情况
-----------加上后,需要重新进行 -G 的操作才可以成功
(6)删除
命令:umount /dev/sr0
mdadm -S /dev/md5
mdadm --misc --zero-superblock /dev/sdb /dev/sdc