RAID 磁盘阵列介绍
是 Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列
RAID 将一组硬盘连结起来,组成一个阵列,以避免单个硬盘损坏而带来的数据损失,同时亦提供了比单个硬盘高的可用性及容错性。
常见的组合方式有 :
- RAIDO、RAID1、RAID5、RAID6、RAID01、RAID10
RAID 0
RAIDO 俗称“条带",它将两个或多个硬盘组成一个逻辑硬盘,容量是所有硬盘之和,因为是多个硬盘组合成一个,故可并行写操作,写入速度提高,但此方式硬盘数据没有余,没有容错,一旦一个物理硬盘损坏,则所有数据均丢失。因而,RAID0适合于对数据量大,但安全性要求不高的场景,比如音像、视频文件的存储等
RAID 1
RAID1 俗称“镜像”,它最少由两个硬盘组成,且两个硬盘上存储的数据均相同,以实现数据冗余。
RAID1读操作速度有所提高,写操作理论上与单硬盘速度一样,但由于数据需要同时写入所有硬盘,实际上稍为下降。容错性是所有组合方式里最好的,只要有一块硬盘正常,则能保持正常工作。但它对硬盘容量的利用率则是最低,只有50%,因而成本也是最高。RAID1适合对数据安全性要求非常高的场景,比如存储数据库数据文件之类
RAID 5
RAID5最少由三个硬盘组成,它将数据分散存储于阵列中的每个硬盘,并且还伴有一个数据校验位,数据位与校验位通过算法能相互验证,当丢失其中的一位时,RAID控制器能通过算法,利用其它两位数据将丢失的数据进行计算还原。因而RAID5最多能允许一个硬盘损坏,有容错性。
RAID5 相对于其它的组合方式,在容错与成本方面有一个平衡,因而受到大多数使用者的欢迎。一般的磁盘阵列,最常使用的就是 RAID5 这种方式
RAID 6
RAID6 是在 RAID5 的基础上改良而成的,RAID6 再将数据校验位增加一位,所以允许损坏的硬盘数量也由 RAID5的一个增加到二个。由于同一阵列中两个硬盘同时损坏的概率非常少,所以,
RAID6 用增加一块硬盘的代价,换来了比 RAID5 更高的数据安全性
RAID 1+0
RAID1+0是先将数据进行镜像操作,然后再对数据进行分组,RAID1在这里就是一个冗余的备份阵列,而RAID0则负责数据的读写阵列。至少要四块盘,两块做raid0,另两块做 raid1,RAID 10 对存储容量的利用率和 RAID 1 一样低,只有 50%.
Raid1+0 方案造成了 50%的磁盘浪费,但是它提供了 200%的速度和单磁盘损坏的数据安全性,并且当同时损坏的磁盘不在同一Raid1 中,就能保证数据安全性、RAID 10 能提供比 RAID5更好的性能。这种新结构的可扩充性不好,使用此方案比较昂贵
以上是当前主流的RAID 组合方式,至于如何选择,则是结合到使用者对数据安全性、数据冗余、数据可用性、投入成本等各方面的综合衡量。
软RAID
也被成为软件磁盘阵列 (Software RAID)
- 定义
- 是指通过操作系统和CPU来实现所有的RAID功能,而不需要独立的RAID控制卡
- 资源占用
- 由于软RAID是由操作系统和CPU处理的,因此它会占用一定的CPU资源
- 性能与成本
- 与硬RAID相比,软RAID性能较差,但成本较低。因为硬RAID配备了专门的RAID控制芯片和IO处理芯片以及阵列缓冲中不占用CPU资源,但成本较高
创建RAID 5实验步骤
- 添加4块硬盘以确保能够做RAID 0、1、5、6的实验
- 进入CentOS系统后,将每块硬盘创建一个主分区并将全部空间分配
- 通过磁盘视图内的 t 命令,输入 fd 将分区id修改为fd,代表该分区
- 使用 yum -y install mdadm 安装管理RAID的软件包
- 使用RAID创建命令来新建一个RAID 5的阵列
- 查看/proc/mdstat文件,已查看构建进度
- 格式化刚才创建的阵列设备文件
- 创建挂载点,mkdir /raid5
- 挂载该RAID设备,mount /dev/md0 /raid5/
在创建完一个新的RAID阵列后,此时/dev/下的md0是一个设备文件,但是 md0与sdb、sdc、sdd 这些磁盘设备不同,md0表示是一个 由多个物理设备组成的逻辑RAID阵列
命令 | 说明 |
mdadm-Cv/dev/md0 -a yes -n4 -5 指定磁盘分区 | 使用 mdadm工具来创建一个新的RAID 5阵列 -V : 详细模式,输出更多信息 -a yes : 自动添加已经在阵列中的设备 -n4 : 指定阵列中磁盘数量 |
cat /proc/mdstat | 查看MD设备状态 包括RAID阵列构建进度、状态以及配置信息 |
mdadm -vDs | 查看每个RAID设备的详细信息 -v:详细模式,输出更多信息 -D:输出每个 RAID 设备的详细信息 -s:扫描系统以查找所有已知的 RAID 设备,并输出它们的配置 |
mdadm -vD 设备文件路径 | 输出指定RAID设备的详细信息 |
mdadm -vDs > /etc/mdadm.conf | 在指定路径下生成mdadm配置文件 |
mdadm -A 设备文件路径 | 开启该设备 |
mdadm -S 设备文件路径 | 停止该设备 |
mdadm 设备文件路径 -f 磁盘路径 | 指定该阵列设备的指定磁盘失效 |
mdadm 设备路径文件 -r 盘路径 | 在指定阵列设备上移除指定磁盘 |
mdadm 设备路径文件 -a 磁盘路径 | 在指定阵列设备中添加指定磁盘 |