没有 RAID 卡也能做 RAID 阵列,只需一条命令!

作者:互联网

2026-03-24

AI模型库

今天聊聊如何在没有RAID卡时也能做RAID阵列,这也是很常见的运维场景。只需要一个命令就搞定:mdadm。

1. 软 RAID 和硬 RAID区别

硬 RAID就是服务器配备了RAID卡,通过RAID卡将各个分散的磁盘组成在一起,形成一个大的磁盘。RAID 逻辑由 RAID 卡完成,操作系统只会看到一块“虚拟磁盘”,性能较好也稳定。

软RAID运行于操作系统底层,将SCSI或者IDE控制器提交上来的物理磁盘,虚拟成虚拟磁盘,再提交给管理程序来进行管理。主要是在没有RAID卡时,又想让数据有冗余才会做软RAID。

两者简单对比一下:

对比项

硬 RAID

软 RAID

谁来算 RAID

RAID 卡

操作系统

是否依赖硬件

可迁移性

很强

运维灵活度

没有谁绝对更好,只是场景不同。

2. RAID 到底有多少种?

主要有以下种类:

RAID 级别

最少磁盘

特点

适合场景

RAID0

2

性能最高,无冗余

临时数据、缓存

RAID1

2

1:1 镜像

系统盘

RAID5

3

性能 + 容错平衡

业务数据盘

RAID6

4

双校验,更安全

大容量存储

RAID10

4

性能 + 高可靠

核心业务

生产环境最常用组合:RAID1做系统盘, RAID5 / RAID10做数据盘,有些数据要求较高的可以做RAID6。

3. 实战做软RAID

下面以做一个RAID5为例,生产环境也比较常用。我准备了3块硬盘。

/dev/sdb
/dev/sdc
/dev/sdd
  • 1.
  • 2.
  • 3.

(1) 创建 RAID

安装mdadm命令,不过很多发行版都预安装了,没有就安装一下:

yum install mdadm -y
  • 1.

创建RAID5阵列:

mdadm --create /dev/md0 
--level=5 
--raid-devices=3 
/dev/sdb /dev/sdc /dev/sdd
  • 1.
  • 2.
  • 3.
  • 4.

参数说明:

  • mdadm:RAID 管理工具
  • --create: 创建一个新的 RAID 阵列,会清空磁盘原有数据
  • /dev/md0:创建后的阵列名字,md0 就是第一个 RAID,后面可以用md1,md2。
  • --level:指定 RAID 级别
  • --raid-devices=3:指定磁盘数量,必须和你后面写的磁盘数量一致,不一致会直接报错

执行后查看:

lsblk
  • 1.

这时,对系统来说,它就是一块新磁盘,你也可以计算一下新盘的容量对不对,我用三块8G的盘做RAID后,形成一块16G的盘,符合RAID原理。

(2) 格式化并挂载

需要格式化和挂载后才能使用:

mkfs.xfs /dev/md0
mkdir /data && mount /dev/md0 /data
  • 1.
  • 2.

配置持久化:

mdadm --detail --scan >> /etc/mdadm.conf
  • 1.

这一步千万别漏掉,很多线上事故,都是重启后 RAID 不见了。

做完上面RAID阵列就做完了。

4. 软 RAID日常运维操作

RAID 做完只是开始,运维才是重点。

(1) 查看 RAID 状态

cat /proc/mdstat
  • 1.

(2) 查看详细信息

mdadm --detail /dev/md0
  • 1.

可以看到:

  • RAID 级别
  • 成员磁盘
  • 是否有降级

(3) 磁盘坏了怎么办?

如果有盘坏了,先可以标记一下故障盘,

mdadm /dev/md0 --fail /dev/sdb
  • 1.

然后移除故障盘:

mdadm /dev/md0 --remove /dev/sdb
  • 1.

一般不影响业务,但有重要生产业务还是需要在维护窗口处理。

如果想加入新盘,就可以执行下面操作加入新磁盘并重建:

mdadm /dev/md0 --add /dev/sde
  • 1.

重建过程中,业务通常不需要停。

RAID 不是 RAID 卡的专利,mdadm一条命令就能搞定。

相关标签:

AI 大模型 资讯

相关推荐