RAID 全称 Redundant Array of Inexpensive Disks,即廉价冗余磁盘阵列,通过将多块磁盘组合成某种模式来提高吞吐量和可靠性。今天杜老师就为大家讲一下 Linux 系统软件磁盘阵列的搭建。

磁盘阵列功能

  1. 提高磁盘读取效率;

  2. 提供容错功能。

磁盘阵列等级

等级列表如下:

等级描述
RAID0由两块或两块以上硬盘组成,数据分两份同时读写两块硬盘。优点是速度很快,缺点是数据安全性较差,一旦一块硬盘损坏,整个阵列的数据都会丢失;总容量为所有磁盘容量之和
RAID1由两块或两块以上硬盘组成,数据写入一块硬盘的同时也向另一块硬盘做同样操作,结果是同一份数据拥有两份副本,更安全。缺点是资源浪费、成本较高,总容量为一块硬盘的容量
RAID10由四块或以上硬盘组成,先由两块硬盘组建 RAID1,再由两组 RAID1 组建 RAID0。它兼具 RAID0 的高速与 RAID1 的安全,目前主流的 Web 服务器都采用这种阵列
RAID5由三块或以上硬盘组成,通过奇偶校验算法将数据分发到三块硬盘上;一块硬盘损坏时,可通过算法从另外两块硬盘上将数据还原。总容量为所有磁盘容量之和减去一块磁盘的容量

磁盘阵列命令

创建命令 mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sdb{1,2,3,5} 的解释如下:

选项作用
-C /dev/md5创建一个以 md5 为命名的磁盘阵列
-l 5磁盘阵列等级为 5
-n 3使用 3 块作为阵列磁盘
-x 1使用 1 块作为备用磁盘
/dev/sdb{1,2,3,5}分别调用 4 个分区组建磁盘阵列

查询命令列表如下:

命令作用
cat /proc/mdstat查询磁盘阵列运行状态
mdadm -D /dev/md5查询名为 md5 的磁盘阵列详细信息

模拟错误命令 mdadm /dev/md5 -f /dev/sdb1 的解释如下:

命令作用
-f /dev/sdb1将/dev/sdb1 标记为错误的状态

移除磁盘命令 mdadm /dev/md5 -r /dev/sdb1 的解释如下:

命令作用
-r /dev/sdb1从磁盘阵列移除/dev/sdb1

增加磁盘命令 mdadm /dev/md5 -a /dev/sdb1 的解释如下:

命令作用
-a /dev/sdb1将/dev/sdb1 添加到磁盘阵列中

停用磁盘阵列命令 mdadm -S /dev/md5 的解释如下:

命令作用
-S /dev/md5停用磁盘阵列

阵列搭建演示

点击播放:

asciicast