一篇文章搞懂 Linux 软 RAID + NVMe RAID1实战部署
文章目录
背景
今天在配置服务器基础环境的时候发现。。。两块儿nvme盘无法做硬raid,具体看了一下因为两块儿nvme是直连主板的没有接raid卡。硬raid做不了,那只能做软raid了,顺便写这篇文章记录一下。
前言
在服务器运维过程中,磁盘可靠性是非常重要的一环。
如果只有单块磁盘,一旦硬盘损坏,数据将面临丢失风险。
因此在生产环境中,通常会通过 RAID(Redundant Array of Independent Disks)技术来提高磁盘可靠性。
一、RAID 是什么?
RAID(独立磁盘冗余阵列)是一种将多块硬盘组合成一个逻辑磁盘的技术,主要目的是:提高数据安全性、提高磁盘性能、提高存储容量
Linux 中 RAID 分为两种:
| 类型 | 说明 |
|---|---|
| 硬 RAID | 由 RAID 卡实现 |
| 软 RAID | 由 Linux 内核实现 |
Linux 软 RAID 通常使用 mdadm 工具
二、常见 RAID 类型
| RAID 类型 | 特点 |
|---|---|
| RAID0 | 提升性能,无数据冗余 |
| RAID1 | 数据镜像,安全性高 |
| RAID5 | 奇偶校验,容量利用率高 |
| RAID10 | RAID1+RAID0,性能与安全兼顾 |
本次部署使用:
RAID1(镜像)
特点:
- 两块盘互为备份
- 任意一块盘损坏不会丢数据
示意图:
磁盘A: 数据1 数据2 数据3
磁盘B: 数据1 数据2 数据3
三、实验环境
服务器磁盘信息:
lsblk
fdisk -l

| 磁盘 | 用途 | 路径 |
|---|---|---|
| sdb | 系统盘 | /dev/sdb |
| nvme0n1 | 数据盘 | /dev/nvme0n1 |
| nvme1n1 | 数据盘 | /dev/nvme1n1 |
四、安装 RAID 工具
Linux 软 RAID 依赖 mdadm
yum install -y mdadm
一般操作系统自带 mdadm 工具
五、清理磁盘签名
如果磁盘之前使用过,需要清理旧数据。
wipefs -a /dev/nvme0n1
wipefs -a /dev/nvme1n1

删除旧文件系统,旧RAID信息、旧分区表
六、创建 RAID
执行
mdadm --create /dev/md0 \
--level=1 \
--raid-devices=2 \
/dev/nvme0n1 \
/dev/nvme1n1
| 参数 | 含义 |
|---|---|
| –create | 创建一个新的 RAID 阵列 |
| /dev/md0 | 新建的RAID逻辑设备名 |
| –level=1 | RAID 级别设为1 |
| –raid-devices=2 | RAID 由 2 块成员盘组成 |
| –detail | 查看详情 |
| –assemble | 重新组装 |
| RAID | level | 最少磁盘 | 容量利用率 | 可坏盘 |
|---|---|---|---|---|
| RAID0 | 0 | 2 | 100% | 0 |
| RAID1 | 1 | 2 | 50% | 1 |
| RAID5 | 5 | 3 | (n-1)/n | 1 |
| RAID6 | 6 | 4 | (n-2)/n | 2 |
| RAID10 | 10 | 4 | 50% | ≥1 |
系统会提示:
Continue creating array? yes
输入:
yes
创建成功后查看状态:
cat /proc/mdstat

说明:
| 状态 | 含义 |
|---|---|
| UU | 两块磁盘正常 |
| resync | RAID 正在同步 |
七、创建文件系统
RAID 创建完成后需要格式化。
使用 XFS 文件系统:
mkfs.xfs /dev/md0
八、挂载 raid
创建挂载目录
mkdir /data
挂载 RAID
mount /dev/md0 /data

查看磁盘:
df -h

九、配置开机自动挂载
获取 UUID:
blkid /dev/md0
输出:
UUID="994adc42-893a-4ad3-8c59-c5c501bb30d4"
编辑:
vi /etc/fstab
添加:
UUID=994adc42-893a-4ad3-8c59-c5c501bb30d4 /data xfs defaults 0 0
测试配置:
mount -a
如果没有报错说明配置正确

十、保存 RAID 配置
为了防止系统重启后 RAID 丢失:
mdadm --detail --scan > /etc/mdadm.conf
查看配置:
cat /etc/mdadm.conf

十一、更新启动镜像
更新 initramfs:
dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)

作用:
- 确保系统启动时能够识别 RAID
- 防止 RAID 在启动阶段无法加载
十二、查看 RAID 详细状态
mdadm -D /dev/md0


十三、RAID 故障恢复示例
如果某块盘损坏,例如:nvme0n1
标记故障:
mdadm /dev/md0 --fail /dev/nvme0n1
移除:
mdadm /dev/md0 --remove /dev/nvme0n1
更换新盘后加入:
mdadm /dev/md0 --add /dev/nvme0n1
RAID 会自动重建
总结
RAID 技术是服务器存储管理中的基础技术之一,通过合理选择 RAID 类型可以在性能、容量和可靠性之间取得平衡。
在 Linux 环境下,通过 mdadm 软件 RAID 可以灵活地实现 RAID0、RAID1、RAID5、RAID6 和 RAID10 等多种阵列方案,满足不同业务场景需求。
更多推荐


所有评论(0)