Linux 软硬磁盘阵列

Posted by Xavier Blog on December 20, 2023

“Yeah It’s on. ”

服务器软硬磁盘阵列

RAID 廉价磁盘冗余阵列。是将多个便宜的小磁盘组合到一起,组合为大的磁盘组,使其性能达到或超过一个容量巨大、价格昂贵、读写速度快的磁盘。

RAID技术主要分为两种:基于硬件的RAID技术和基于软件的RAID技术,在linux系统中通过自带的软件就能模拟实现RAID功能,从而达到性能改进和数据冗余的目的。

RAID级别介绍

RAID2-4基本上不用

RAID 0

把连续的数据分散到多个磁盘上存取。当系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用磁盘总线的带宽,显著提高磁盘整体存取性能。因为读取和写入是在设备上并行完成的,读取和写入性能将会增加,这通常是运行 RAID 0 的主要原因。但RAID 0 没有数据冗余,如果其中一个硬盘出现故障,那么将无法恢复任何数据。

image-20231220145411508

RAID1

RAID 1 又称为镜像 ,一个具有全冗余的模式。 RAID 1 可以用于两个或2xN 个磁盘,并使用 0 块或更多的备用磁盘,每次写数据时会同时写入镜像盘。这种阵列可靠性很高,但其有效容量会减小到总容量的一半, 同时这些磁盘的大小应该相等,否则总容量只具有最小磁盘的大小。

image-20231220145916583

RAID4

创建 RAID 4 需要三块或更多的磁盘,它在一个磁盘上保存校验信息,并以 RAID 0 方式将数据写入其它磁盘。因为一块磁盘是为校验信息保留的,所以阵列的空间大小是( -1) *S,其中S 是阵列中最小磁盘的大小。就像在 RAID 1 那样,磁盘的大小应该相等。

image-20231220150118592

RAID5(最常用)

在希望结合大量物理磁盘并且仍然保留一些冗余时, RAID 5 可能是最有用的 RAID 模式,RAID5 可以用在三块或更多的磁盘上,并使用0 块或更多的备用磁盘。就像 RAID 4 一样,RAID5 设备的大小是 (N-1) *S。 RAID5 与 RAID4 之间最大的区别就是校验信息均匀分布在各个驱动器上,这样就避免了 RAID 4 中出现的瓶颈问题。如果其中一块磁盘出现故障,那么由于有校验信息,所以所有数据仍然可以保持不变。如果可以使用备用磁盘,那么在设备出现故障之后,将立即开始往备用磁盘上同步数据。如果两块磁盘同时出现故障,那么所有数据都会丢失。

image-20231220150512037

RAID1+0

image-20231220151203591

N(偶数,N>=4) 块盘两两镜像后,再组合成一个 RAID 0。容量为 N/2,N/2 块盘同时写入,写速度一般,N块盘同时读取,读速度较快。性能高,可靠性高。

特点 RAID0 RAID1 RAID5 RAID6 RAID10 RAID50
抗硬盘故障能力 无抗硬盘故障能力 数据完全冗余 读写速度均衡,有抗硬盘故障能力 读写速度均衡,不只一块硬盘故障 读写速度均衡,有抗硬盘故障能力 读写速度均衡,有抗硬盘故障能力
成本效益 数据无冗余 数据完全冗余 数据有部分冗余 数据有部分冗余 磁盘效益大大降低 磁盘效益大大降低
磁盘利用效率 1 1/2 (N-1) * $S (N-2) * $S 1/2 (N-2) * $S
容错磁盘数量 0 1 1 2 2 2
场景 大空间测试 系统 常规服务   数据库  
磁盘数 1 2 3 4 4 6

创建软RAID

在Linux服务器中通过mdadm工具来创建和维护RAID

mdadm常用参数:

  • -C –create :创建一个软 RAID,后面需要标识 RAID 设备的名称。例如,/dev/mdo,C/dev/md1
  • -A –assemble: 加载一个已存在的 RAID,后面跟 RAID 以及设备的名称。
  • -D –detail: 输出指定 RAID 设备的详细信息。
  • -S –stop: 停止指定的 RAID 设备。
  • -l –level: 指定 RAID 配置级别,例如,设置“–level=5”则表示创建阵列的级别是 RAID 5。
  • -n –raid-devices: 指定 RAID 中活动磁盘的数目。
  • -r –remove: 删除 RAID 中的某个磁盘

操作实验:

image-20231220160216440

image-20231220160455319

创建RAID的配置文件

RAID 的配置文件名为“mdadm.conf”,默认是不存在的,所以需要手工创建,该配置文件存在的主要作用是系统启动的时候能够自动加载软 RAID,同时也方便日后管理。mdadm.conf”文件内容包括: 由 DEVICE 选项指定用于软 RAID 的所有设备,和 ARRAY 选项所指定阵列的设备名、RAID 级别、阵列中活动设备的数目以及设备的 UUID 号。生成RAID 配置文件操做如下:

1
 mdadm -D -s > /etc/mdadm.conf

需要去到文件内 添加auto=yes

接下来只需要RAID设备上创建文件系统就可以使用了