1. 介绍
为什么在 Ubuntu 上构建 RAID 1?
Ubuntu 是一种 Linux 发行版,广泛用于个人用户到企业环境。由于其高可靠性和灵活性,常被用于服务器。通过在 Ubuntu 环境中构建 RAID 1(镜像),可以 确保数据冗余并将因磁盘故障导致的数据丢失风险降至最低。
RAID 1 通过 实时将相同的数据写入两个或多个磁盘 来工作。即使其中一个磁盘故障,系统仍可使用剩余磁盘继续运行。对于处理关键文件或服务的 Ubuntu 系统,RAID 1 是一种有效的保护策略。
软件 RAID 与硬件 RAID 的区别
有两种主要的 RAID 构建方式。一种是 硬件 RAID,使用专用的 RAID 控制器或主板自带的 RAID 功能。另一种是 软件 RAID,通过操作系统软件进行配置(在 Linux 上主要是 mdadm)。
在 Ubuntu 上,软件 RAID 是最常见的选择,因为它成本低且灵活。本文聚焦于在 Ubuntu 上构建 RAID 1,涵盖安装时的配置、运行管理以及故障恢复。
本文您将学到的内容
通过阅读本指南,您将获得以下知识和技能:
- RAID 1 基础及其在 Ubuntu 上的工作原理
- 使用软件 RAID(mdadm)构建 RAID 1 的逐步操作指南
- RAID 1 重建、状态检查与故障排除
- Ubuntu Server 与 Desktop 之间的差异与注意事项
- 实用 FAQ,包括 GRUB 与 fstab 配置
配置完成后,RAID 不需要频繁干预,但 了解初始设置至关重要。本文提供清晰实用的解释,即使是初学者也能轻松阅读。请阅读至文末。
2. RAID 1 基础
RAID 级别及 RAID 1 的特性
RAID(独立磁盘冗余阵列)是一项将多个硬盘组合以提升数据可靠性和性能的技术。RAID 有多个级别,每个级别都有不同的特性。
常见的 RAID 级别包括:
- RAID 0:通过条带化提升性能,但不提供冗余
- RAID 1:通过镜像提供冗余(本文重点)
- RAID 5:在三块或以上磁盘之间使用奇偶校验提供冗余
- RAID 6:RAID 5 的增强版,使用双奇偶校验以获得更高容错
- RAID 10(1+0):RAID 1 与 RAID 0 的组合
在这些级别中,RAID 1 采用 镜像方式,将相同的数据写入两块磁盘。如果一块磁盘故障,数据仍可从另一块磁盘访问,提供极佳的可用性。
镜像工作原理(概念示例)
RAID 1 的机制非常简单。例如,假设您有磁盘 A 和磁盘 B:
[Write Operation]
User saves File A → Data is written simultaneously to Disk A and Disk B
[Read Operation]
Data can be read from either disk, allowing performance optimization
因为 数据始终是复制的,RAID 1 对物理磁盘故障提供了强有力的保护。
软件 RAID 与硬件 RAID
构建 RAID 有两种主要方式:
- 软件 RAID(mdadm 等):这是 Ubuntu 上最常用的方法。RAID 在操作系统层面管理,提供灵活性和成本优势。它提供最高程度的控制,广泛用于通用服务器环境。
- 硬件 RAID(RAID 卡或基于 BIOS 的解决方案):RAID 由专用控制器处理,降低 CPU 负载。操作系统将阵列识别为单个磁盘。然而,如果控制器本身故障,恢复会变得困难。
什么是伪 RAID(BIOS RAID)?
某些主板在 BIOS 层面提供 RAID 功能,通常被称为 “伪 RAID”。
虽然看起来是硬件 RAID,实际上它是 由驱动程序控制且在结构上更接近软件 RAID。虽然 Ubuntu 提供了有限的支持,但基于 mdadm 的软件 RAID 通常更易于管理和恢复,因此不推荐使用假 RAID(Fake RAID)。
3. 使用软件 RAID(mdadm)构建 RAID 1
3.1 准备工作和要求
要构建 RAID 1,您需要 至少两个物理磁盘(或未使用的分区)。已经作为系统盘使用的磁盘不适合,因此请准备专用存储。
首先,识别目标磁盘:
lsblk
或查看更详细的信息:
sudo fdisk -l
假设磁盘为 /dev/sdb 和 /dev/sdc。
在继续之前,确保目标磁盘中没有重要数据。在创建 RAID 的过程中所有数据都会被擦除。
3.2 安装 mdadm
mdadm 已包含在 Ubuntu 默认软件源中,安装非常简便:
sudo apt update
sudo apt install mdadm
安装过程中可能会提示设置邮件通知,这些可以稍后调整,初始使用默认设置即可。
3.3 创建 RAID 1 阵列
确认磁盘后,使用以下命令创建 RAID 1 阵列:
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
命令说明:
/dev/md0: 新 RAID 设备的名称--level=1: 指定 RAID 级别 1(镜像)--raid-devices=2: 阵列中设备的数量/dev/sdb /dev/sdc: 实际使用的磁盘
创建完成后,检查状态:
cat /proc/mdstat
如果看到带有 /dev/md0 的同步信息,说明 RAID 1 阵列已成功创建。
3.4 持久化配置(mdadm.conf 和 fstab)
为了确保系统重启后仍能识别 RAID 阵列,需要进行持久化配置。
首先,保存当前的 RAID 配置:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
接下来,在 RAID 阵列上创建文件系统(示例:ext4):
sudo mkfs.ext4 /dev/md0
创建挂载点并挂载:
sudo mkdir -p /mnt/raid1
sudo mount /dev/md0 /mnt/raid1
验证运行正常后,使用 UUID 将其写入 /etc/fstab:
sudo blkid /dev/md0
添加如下条目:
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/raid1 ext4 defaults 0 0
这样即可在系统重启后自动挂载 RAID 1 阵列。
4. 在 Ubuntu 安装过程中配置 RAID 1
4.1 使用 Ubuntu Server 安装程序
Ubuntu Server 安装程序支持高级存储配置,如 RAID 和 LVM。
步骤 1:从安装介质启动
使用 Ubuntu Server ISO 制作可启动 USB,并启动目标机器。
步骤 2:完成基础设置
配置语言、键盘和网络。
步骤 3:进入存储配置
选择 自定义存储布局(Custom Storage Layout),而不是引导式(Guided)。
步骤 4:配置 RAID
- 选择两个空磁盘
- 创建分区(例如 /boot、swap、/)
- 选择 “创建软件 RAID”
- 选择 RAID 1 并分配设备
- 分配文件系统和挂载点
步骤 5:安装 GRUB
建议在两块磁盘上都安装 GRUB,这样即使其中一块磁盘故障,系统仍能启动。
4.2 在 Ubuntu Desktop 中使用 RAID
Ubuntu Desktop 在安装程序中不包含 RAID 配置。若要使用 RAID 1,可考虑以下方法:
方法 1:在 Live 环境手动构建 RAID → 安装 Desktop
- 从 Live USB 启动
- 使用
mdadm构建 RAID 1 - 在 RAID 设备(如 /dev/md0)上安装 Ubuntu Desktop
- 调整
grub和fstab设置
此方法需要更多操作,但提供 对基于 GUI 的 RAID 使用的高度灵活性。

方法 2:先安装带 RAID 的 Server → 后期添加 GUI
sudo apt update
sudo apt install ubuntu-desktop
这种方法稳定,并且推荐在您想为RAID配置的系统添加GUI时使用。
在桌面版和服务器版之间的选择
| Criteria | Server | Desktop |
|---|---|---|
| Ease of RAID Setup | ◎ Built-in installer support | △ Manual setup required |
| GUI | × (CLI-focused) | ◎ Included by default |
| Beginner Friendly | △ Requires experience | ◎ Easy installation |
| Flexibility | ◎ Server-oriented | ○ Customizable |
如果RAID是系统的核心,从Ubuntu Server开始是最顺畅的方式。
5. RAID 1 操作与故障排除
5.1 监控 RAID 状态
定期监控对于早期故障检测至关重要:
cat /proc/mdstat
[UU] 表示正常运行,而 [_U] 表示缺少一个磁盘。
更多细节请参见:
sudo mdadm --detail /dev/md0
5.2 处理磁盘故障与重建
即使有一个磁盘故障,RAID 1 仍然可以继续运行。
步骤 1:识别故障磁盘
检查是否有 “Removed” 或 “Faulty” 状态。
步骤 2:移除故障磁盘
sudo mdadm /dev/md0 --remove /dev/sdX
步骤 3:准备新磁盘
sudo fdisk /dev/sdX
步骤 4:添加磁盘并开始重建
sudo mdadm /dev/md0 --add /dev/sdX
5.3 为冗余安装 GRUB
在两个磁盘上安装 GRUB 以确保启动冗余:
sudo grub-install /dev/sdX
sudo update-grub
6. 使用硬件 RAID
6.1 什么是硬件 RAID?
硬件 RAID 使用专用控制器来管理 RAID 操作,提供高性能并降低 CPU 负载。
6.2 Ubuntu 上硬件 RAID 的优缺点
优势:
- 低 CPU 使用率
- 与操作系统无关的配置
- 快速恢复和热插拔支持
劣势:
- 如果 RAID 卡故障,恢复困难
- 灵活性较低
- 成本更高
6.3 检查硬件 RAID 状态
硬件 RAID 阵列表现为单个块设备。必须使用厂商工具检查状态。
7. 常见问题 (FAQ)
Q1. RAID 1 能替代备份吗?
不。 RAID 1 只能防止磁盘故障,不能防止因删除或损坏导致的数据丢失。
Q2. 如果一个磁盘故障会怎样?
系统会继续使用剩余的磁盘运行。
Q3. 可以在 Ubuntu Desktop 上使用 RAID 1 吗?
可以,但需要手动设置。
Q4. 如何检查 RAID 状态?
cat /proc/mdstat
sudo mdadm --detail /dev/md0
Q5. 更换磁盘后需要重新安装 GRUB 吗?
是的,GRUB 应该安装在更换的磁盘上。
8. 结论
RAID 1 关注冗余
RAID 1 提供实时数据复制,使系统在磁盘故障后仍能继续运行。
Ubuntu 上的 RAID 选项
基于 mdadm 的软件 RAID 是大多数 Ubuntu 用户最实用的选择。
维护决定可靠性
定期监控、正确的 GRUB 设置以及适当的备份是长期稳定性的关键。
使用 Ubuntu 和 mdadm,可以通过命令行工具轻松构建 RAID 1。请使用本指南创建一个强大且可靠的 Linux 环境。



