1 RAID磁盘阵列

1.1 RAID磁盘阵列的含义

RAID 即独立磁盘冗余阵列,简称为[磁盘阵列],其实就是用多个独立的磁盘组成在一起形成一个大的磁盘系统,从而实现比单块磁盘更好的存储性能和更高的可靠性。

1.2 RAID常用级别

RAID 0(条带化储存) :其原理是把连续的数据分散到多个磁盘上存取,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_数据

 

优点:传输速度快、读写功能强大。

缺点:无容错能力、没有冗余功能。

最少磁盘数: 1+

RAID 1 (镜像储存) :RAID1是将一个两块硬盘所构成RAID磁盘阵列,其容量仅等于一块硬盘的容量,因为另一块只是当作数据“镜像”

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_运维_02

 

 优点:读性能提升,有冗余功能。

缺点:写性能降低,磁盘利用率降低(50%),成本高

最少磁盘数:2n

RAID 5 :数据以块为单位分布到各个硬盘上。RAID 5不对数据进行备份,而是把数据和与其相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_数据库_03

优点:有容错能力,可靠性高

缺点:写能力降低

最少磁盘数:3,3+

RAID 10 :Raid 10是一个Raid 1与Raid0的组合体,它是利用奇偶校验实现条带集镜像

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_运维_04

 优点:有数据冗余功能,可靠性高,性能好

缺点:成本高,磁盘利用率小

最少磁盘数:4,4+

2 创建软RAID磁盘阵列

2.1 先检查命令安装包

[root@localhost ~]# rpm -q mdadm

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_数据_05

 如果没有进行安装  [root@localhost ~]# rpm -q mdadm

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_数据库_06

2.2 fdisk管理磁盘

将新磁盘设备划分出主分区并且把分区类型的 ID 标记号改为“fd”    演示划分了四个盘

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_一台服务器可以安装多个redis吗_07

fdisk -l 查看

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_一台服务器可以安装多个redis吗_08

 2.2 创建raid5 

创建raid5 取名要注意以md开头

[root@localhost ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_一台服务器可以安装多个redis吗_09

-C:表示新建;
-v:显示创建过程中的详细信息。
/dev/md0:创建 RAID5 的名称。
-a yes:--auto,表示如果有什么设备文件没有存在的话就自动创建,可省略。
-l:指定 RAID 的级别,l5 表示创建 RAID5。
-n:指定使用几块硬盘创建 RAID,n3 表示使用 3 块硬盘创建 RAID。
/dev/sd[bcd]1:指定使用这四块磁盘分区去创建 RAID。
-x:指定使用几块硬盘做RAID的热备用盘,x1表示保留1块空闲的硬盘作备用
/dev/sde1:指定用作于备用的磁盘

查看是否创建成功

[root@localhost ~]# cat /proc/mdstat

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_数据_10

已成功。

查看磁盘是否已做RAID

 [root@localhost ~]# mdadm -E /dev/sd[b-e]1

 

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_服务器_11

 2.3 挂载使用

 先格式化md5

[root@localhost ~]# mkfs.xfs /dev/md5

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_数据_12


mkdir /md5  #创建挂载点

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_数据库_13


mount  /dev/md5 /md5/  #将创建的md5挂载到挂载点

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_数据库_14


df -Th   #查看是否挂载成功

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_服务器_15

 2.4 模拟故障

使用mdadm /dev/md5 -f /dev/sdb1让sdb1模拟故障点,mdadm -D /dev/md0查看详细信息,在下面的硬盘列表中可以看到sdb1报错,sde1替换了sdb1的位置。

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_数据库_16

可以看到sde1的替代了sdb1,状态也变成了动态同步。如果硬盘中有文件,也可以发现文件还在,数据没有丢失,这里就不再演示了。

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_数据_17

 删除RAID5,删除硬盘时,要都是好,sdb1在之前模拟故障时,为复原所以删除报错。mdadm /dev/md0 -f /dev/sdb1之后要恢复,需要mdadm /dev/md0 -r /dev/sdb1移除硬盘再mdadm /dev/md0 -a /dev/sdb1添加进来,再进行删除才可以。

一台服务器可以安装多个redis吗 一台服务器可以做几个raid_数据_18

过程

 mdadm /dev/md0 -f /dev/sdb1 #模拟/dev/sdb1 故障

mdadm -D /dev/md0 #查看发现sde1已顶替sdb1

mdadm命令其它常用选项 -r:移除设备 -a:添加设备 -S:停止RAID -A:启动RAID