目录

一、什么是RAID(独立冗余磁盘阵列)

二、RAID物理分类

2.1 硬RAID

2.2 软RAID

三、RAID逻辑分类

3.1 RAID0

3.2 RAID1

3.3 RAID5

3.4 RAID10

3.5 RAID01

四、构建软RAID5磁盘阵列

1.创建软RAID磁盘阵列步骤

2.需求描述

3.构建过程

五、总结


一、什么是RAID(独立冗余磁盘阵列)

硬盘设备组合成一个容量更大、安全性更好的磁盘阵列,并把数据切割成多个段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数据冗余备份效果和容错能力。

        简单来说,RAID把多个硬盘组合成为一个逻辑硬盘,因此,操作系统只会把它当作一个实体硬盘。RAID常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。由于硬盘价格的不断下降与RAID功能更加有效地与主板集成,它也成为普通用户的一个选择,特别是需要大容量存储空间的工作,例如视频与音频制作 ,如今有许多B站up主,使用RAID技术来备份、管理数据。

二、RAID物理分类

2.1 硬RAID

群晖容器已关闭使用但是无法删除_linux

 图:硬RAID实现方式

群晖容器已关闭使用但是无法删除_linux_02

 图:磁盘阵列柜

群晖容器已关闭使用但是无法删除_群晖容器已关闭使用但是无法删除_03

 图:磁盘阵列卡

        磁盘阵列柜一般是企业级使用;RAID阵列卡更快更稳定,因为大部分有缓存,可以提升读写速度,好一点的阵列卡会带电池,更稳定。主板自带的RAID不要轻易尝试,主板超频失败,电池没电等问题都会导致阵列信息丢失。

2.2 软RAID

        早期的软RAID不太稳定,速度也不及硬RAID,但随着技术的不断优化,软硬RAID的差距也不再那么明显。比如群晖的NAS,它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。可用于打造私有云、家庭影院等。

三、RAID逻辑分类

群晖容器已关闭使用但是无法删除_数据_04

图:硬盘比喻成水桶 

3.1 RAID0

RAID中速度是最快的,容量也是最大的,但最大的缺点就是没有冗余和容错能力,如果坏一块硬盘,所有数据就完蛋了。

群晖容器已关闭使用但是无法删除_群晖容器已关闭使用但是无法删除_05

 图:RAID0

3.2 RAID1

至少需要两块硬盘,所有硬盘互为镜像,每块硬盘上存储的数据都一模一样,阵列中只剩有一块硬盘没坏,数据都可以完整读出来,RAID1理论读取速度与RAID0相同,有几块硬盘速度就是单块的几倍,但写入速度等于一块硬盘,当RAID1有一块硬盘损坏时,拔出损坏的盘,换入新的硬盘,阵列会恢复数据到新插入的硬盘,也就是重建阵列,性价比很低,即使100块硬盘做RAID1,也只算一块硬盘的容量。如果两块盘大小不一样,木桶效应以最小的为准。

群晖容器已关闭使用但是无法删除_服务器_06

图: RAID1

群晖容器已关闭使用但是无法删除_运维_07

 图:RAID0和RAID1比较

3.3 RAID5

至少需要三块硬盘,其中三分之一进行冗余,存放校验数据,另外三分之二空间存放原始数据,RAID5读写速度和RAID0相近,写入速度不及RAID0,但三分之一是校验数据,允许阵列损坏一块盘的情况下,实现数据完全恢复,安全性比RAID0高出很多。

群晖容器已关闭使用但是无法删除_运维_08

 图:RAID5

3.4 RAID10

至少需要四块硬盘,其中先两两组成RAID1,然后把两组RAID1组成RAID0,RAID10是先RAID1然后RAID0。RAID10的优点是,RAID10阵列建成后,再添加一组RAID1,总容量就可以轻松扩大;如果坏了一块硬盘,RAID10重建只需要对坏盘进行重建;假设两块硬盘有问题,只要坏的盘不在同一RAID1,阵列就不会坏掉,坏第二块盘导致阵列坏掉的概率是三分之一。

群晖容器已关闭使用但是无法删除_linux_09

3.5 RAID01

坏第二块盘导致阵列坏掉的概率是三分之二,

群晖容器已关闭使用但是无法删除_群晖容器已关闭使用但是无法删除_10

四、构建软RAID5磁盘阵列

1.创建软RAID磁盘阵列步骤

1.检查是否安装mdadm软件包

rpm  -q mdadm

yum install -y mdadm

2.使用fdisk工具将新的磁盘设备划分出主分区并把分区类型的ID标记号改为“fd”

fdisk /dev/sdb

fdisk /dev/sdc

fdisk /dev/sdd

 fdisk /dev/sde

3.创建RAID设备

mdadm -C -v /dev/md0 -15 -n3 /dev/sd[bcd]1 -x1 /dev/sde1

-C

表示新建

-v

显示创建过程中的详细信息

/dev/md0

创建的RAID名称

-l

指定RAID的级别,l5表示创建RAID5

-n

指定使用几块硬盘创建RAID

/dev/sd[bcd]1

指定使用这3块盘创建RAID

-x

指定使用几块硬盘做RAID的热备用盘,x1表示保留一块空闲的硬盘作备用

/dev/sde1

指定用于作备用的磁盘

表:创建命令的各字段含义 

mdadm命令选项:

-r

移除设备

-a

添加设备

-S

停止RAID

-A

启东RAID

-f

模拟故障

-D

显示RAID详细信息

 表:mdadm命令选项

2.需求描述

为Linux服务器添加四块SCSI硬盘,使用mdadm软件包,构建软RAID5磁盘阵列,提高磁盘存储的性能和可靠性

3.构建过程

1.添加四块硬盘

群晖容器已关闭使用但是无法删除_数据_11

 2.重启后可以看到新加的硬盘,或者刷新端口

群晖容器已关闭使用但是无法删除_群晖容器已关闭使用但是无法删除_12

 3.创建分区,分区类型为fd

群晖容器已关闭使用但是无法删除_linux_13

 保存退出,其他三块盘一样的操作,最后使用fdisk -l查看

群晖容器已关闭使用但是无法删除_服务器_14

群晖容器已关闭使用但是无法删除_linux_15

群晖容器已关闭使用但是无法删除_群晖容器已关闭使用但是无法删除_16

群晖容器已关闭使用但是无法删除_运维_17

 4.创建

群晖容器已关闭使用但是无法删除_数据_18

群晖容器已关闭使用但是无法删除_数据_19

群晖容器已关闭使用但是无法删除_运维_20

5.格式化 

群晖容器已关闭使用但是无法删除_数据_21

 6.挂载

群晖容器已关闭使用但是无法删除_群晖容器已关闭使用但是无法删除_22

上面这些操作就已经创建好了RAID5,我们往里面写入文件

群晖容器已关闭使用但是无法删除_数据_23

7.模拟故障

群晖容器已关闭使用但是无法删除_运维_24

群晖容器已关闭使用但是无法删除_服务器_25

群晖容器已关闭使用但是无法删除_服务器_26

群晖容器已关闭使用但是无法删除_群晖容器已关闭使用但是无法删除_27

群晖容器已关闭使用但是无法删除_linux_28

群晖容器已关闭使用但是无法删除_运维_29

群晖容器已关闭使用但是无法删除_服务器_30

实验结束

五、总结

RAID级别

硬盘数量

磁盘利用率

是否有校验

允许损坏情况

写能力

RAID0

n>=1

全部



单个硬盘的n倍

RAID1

n是偶数

n/2


允许一块硬盘损坏

等于单块硬盘

RAID5

n>=3

(n-1)/2


允许一块硬盘损坏

不及RAID0

RAID10

n>=4的偶数

n/2


最多坏两块盘且不在同一组RAID1

n/2块盘同时写入