You need to enable JavaScript to run this app.
文档中心
云服务器

云服务器

复制全文
下载 pdf
云盘
构建RAID阵列(Linux)
复制全文
下载 pdf
构建RAID阵列(Linux)
本文以构建RAID 10磁盘阵列为例,为您介绍Linux实例构建RAID阵列的操作步骤。
背景信息
RAID(独立磁盘冗余阵列,Redundant Array of Independent Disks)是一种将多块磁盘按照特定方式组合成磁盘阵列组的技术,这种技术使得整个系统能够提供更高的性能、更好的数据可靠性和可用性。RAID技术的工作原理基于不同的RAID级别,每个级别使用不同的数据分布和冗余策略。常见的RAID级别有RAID 0(提高读写性能)、RAID 1(镜像备份)、RAID 5(兼顾性能与数据冗余)和RAID 10(结合RAID 1和RAID 0的优点)等。
RAID级别
说明
所需的最小云盘数量
RAID 0
将数据条带化分布在多块磁盘上,例如,有两块磁盘组成RAID 0,数据会被分成若干小块,交替存储在这两块磁盘上
条带化是指将数据分成固定大小的块(条带),然后将这些块依次分配到不同的磁盘驱动器上。
  • 优点:读写性能高。
  • 缺点:不提供数据冗余,如果其中一块盘故障,所有数据都将丢失,可靠性较低。
  • 场景:对数据读写速度要求高,但对数据安全性要求不高的场景,如视频编辑、临时数据存储、缓存等。
2块
RAID 1
通过镜像的方式,将数据同时写入到两块或多块磁盘上,形成完全相同的副本。
  • 优点:数据安全性高,只要有一块磁盘正常工作,数据就不会丢失。同时,读操作可以在多个磁盘上并行进行,提高了读取性能。
  • 缺点:磁盘空间利用率低,只有 50%(两块磁盘时),成本较高。
  • 场景:对数据安全性要求极高的场景,如金融、医疗等行业的关键数据存储。
2块
RAID 5
将数据和校验信息条带化分布在多个磁盘上,校验信息用于在磁盘故障时恢复数据。
  • 优点:兼顾了性能和数据冗余。读性能较高,写性能相对RAID 0有所下降但仍可接受。同时,允许一块磁盘出现故障而不丢失数据。
  • 缺点:写入数据时需要计算并更新校验信息,会带来一定的性能开销。当有磁盘故障时,数据恢复过程相对复杂。
  • 场景:适用于大多数企业级应用,如数据库服务器、文件服务器等,对性能和数据安全性都有一定要求。
3块
RAID 6
类似于RAID 5,但使用了双重校验信息,允许两块磁盘同时出现故障而不丢失数据。
  • 优点:数据安全性更高,能容忍两块磁盘故障。
  • 缺点:写入性能比RAID 5更差,因为需要计算和更新两份校验信息。磁盘空间利用率相对较低,成本也较高。
  • 场景:对于数据安全性要求极高,且不允许因磁盘故障而导致数据丢失的关键业务系统,如大型数据中心、银行核心业务系统等。
4块
RAID 10
先将磁盘两两组成RAID 1镜像对,然后再将这些镜像对组成RAID 0阵列。
  • 优点:结合了RAID 0和RAID 1的优点,具有高读写性能和高数据安全性。
  • 缺点:磁盘空间利用率低,成本较高。
  • 场景:适用于对性能和可靠性要求都非常高的场景,如高端数据库应用、虚拟化服务器等。
4块
注意事项
  • 在构建RAID之前,请务必进行数据备份。构建过程可能会对磁盘进行初始化等操作,导致数据丢失。
  • 系统盘包含了操作系统和关键系统文件,对系统的启动和运行至关重要,因此不建议使用系统盘构建RAID。
  • 建议使用相同容量、相同型号的数据盘构建RAID,以确保最佳性能和兼容性。
前提条件
创建一台ECS实例,基本配置如下:
  • 镜像:本文以CentOS Stream9 64位为例。
  • 存储:挂载4块大小为20GiB的极速型数据盘。
  • 网络:已绑定公网IP
操作步骤
  1. 执行以下命令查看磁盘情况。
  • lsblk
  • 回显如下,表示该实例挂载了4块数据盘,设备名称分别是dev/vdb、dev/vdc、dev/vdd、dev/vde。
  1. 使用mdadm构建RAID阵列。
说明
mdadm(multiple devices admin的简称)是针对Linux系统的一款标准的软件RAID管理工具,是一个简单而强大的应用程序,几乎可以用于任何级别的RAID。
  1. 执行以下命令,安装mdadm工具。
  • sudo yum install mdadm
  1. 执行以下命令,构建RAID磁盘阵列(如/dev/md0)。
说明
阵列构建过程将花费较长的时间,具体时间跟磁盘的大小有关,整个构建过程无需手动操作,但是也不能关闭或重启实例,恢复阵列比首次构建阵列要复杂得多。
  • sudo mdadm --create /dev/md0 --level=10 --raid-devices=4 --chunk=512 /dev/vdb /dev/vdc /dev/vdd /dev/vde
  • --create /dev/md0RAID阵列设备名,本文/dev/md0为例。
  • --level=10:RAID级别,本文以构建RAID 10为例。
  • --raid-devices=4:RAID阵列的云盘数量,本文以4块云盘为例。
  • /dev/vd[bcde]:参与构建阵列的磁盘设备名称,不同设备名之间用空格隔开
  • --chunk=512:表示RAID阵列的条带大小为512KB。根据工作负载类型,推荐以下条带大小:
  • 通用用途的工作负载,推荐64KB或128KB,多数情况下可以提供均衡的读/写性能。
  • 顺序读取(如视频编辑、大文件传输等)的工作负载,推荐较大的条带大小如256KB或512KB,可能会提供更好的性能。
  • 随机读取(如数据库应用)的工作负载,推荐较小的条带大小如32KB,可能会提供更好的性能。
  • 输出如下信息,表示RAID 10阵列已成功启动。
  1. 执行以下命令,查看RAID状态。
  • sudo mdadm --detail /dev/md0
  • 回显如下所示。
  1. 挂载RAID阵列的文件系统。
  1. 执行以下命令,在RAID阵列上创建一个文件系统。本文以ext4文件系统为例,您也可以创建其他类型的文件系统。
  • md0
    sudo mkfs -t ext4 /dev/md0
  1. 执行以下命令,新建挂载目录(如/mnt/raid10)。
  • sudo mkdir /mnt/raid10
  1. 执行以下命令,挂载RAID阵列至/mnt/raid10目录
  • d10
    sudo mount /dev/md0 /mnt/raid10
  1. 查看RAID阵列的挂载结果。
  • df -h
  • 回显如上图,表示挂载成功
  1. 如果您需要设置开机自动挂载RAID阵列,请参考设置开机自动挂载磁盘分区
最近更新时间:2025.06.04 14:43:02
这个页面对您有帮助吗?
有用
有用
无用
无用