RAID 1 是一种硬盘配置,其中一个硬盘的内容被镜像到另一个硬盘上。
这为用户提供了一些冗余,以防磁盘出现故障。
在 Linux 系统上,两个硬盘驱动器表示为一个文件系统。
但在后台,对文件进行更改实际上是将更改同时写入两个磁盘。
我们还可以将两个以上的磁盘添加到配置中,只要我们保持数量均匀即可。
否则,像 RAID 5 这样的东西会更合适。
有多种方法可以配置 RAID 设置。
最简单和最容易访问的方法之一是通过 mdadm 软件包,该软件包可以在任何主要 Linux 发行版上安装和使用。
在本教程中,我们将逐步说明在 Linux 上安装和设置 mdadm,并为两个硬盘创建 RAID 1 配置。
我们的示例场景将包含两个大小为 10 GB 的空硬盘。
创建 RAID 设备
现在我们的硬盘驱动器已正确分区,我们可以使用 mdadm 使用以下命令创建 RAID 设备。
请记住,即使我们有两个硬盘驱动器,系统也会将它们视为单个设备,并且会在后台进行镜像。
- 使用此命令创建一个名为
/dev/md0
的 RAID 数组,根据需要替换我们自己的驱动器名称。
# mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[b-c]1
- 接下来,在设备上放置一个文件系统。我们将在本例中使用 ext4.
# mkfs.ext4 /dev/md0
- 现在,创建一个目录,我们可以其中安装新创建的 RAID 设备。然后在那里安装设备。
# mkdir -p /mnt/raid1 # mount /dev/md0 /mnt/raid1
- RAID 数组现在应该可以在我们定义的挂载点访问。
$cd /mnt/raid1
在主要的 Linux 发行版上安装 mdadm
如果 Linux 发行版默认尚未安装 mdadm,我们可以使用下面的相应命令通过系统的包管理器安装它。
在 Ubuntu、Debian 和 Linux Mint 上安装 mdadm:
$sudo apt install mdadm
在 CentOS、Fedora、AlmaLinux 和 Red Hat 上安装 mdadm:
$sudo dnf install mdadm
在 Arch Linux 和 Manjaro 上安装 mdadm:
$sudo pacman -S mdadm
安装后,我们应该重新启动系统,以便所有模块正确加载到内核中。
$reboot
对硬盘进行分区
配置硬盘我们需要做的第一件事是将它们分区为 Linux RAID auto。
- 我们可以使用
fdisk
命令查看我们的硬盘。这将向我们展示它们是如何命名的,我们将在以后的命令中使用它们。正如你在下面的截图中看到的,我们的磁盘被称为/dev/sdb
和/dev/sdc
。这些磁盘目前只是原始存储 - 它们没有分区表或者任何其他配置。
# fdisk -l
- 使用以下命令开始对第一个磁盘进行分区。这将打开 fdisk 菜单。如果磁盘名称不同,请替换我们自己的磁盘名称。
# fdisk /dev/sdb
- 我们将在 fdisk 提示中输入以下命令,以创建一个新分区并将其配置为 Linux RAID 自动检测。
- 输入
n
创建一个新分区。 - 输入
p
将其标记为主分区。 - 输入“1”作为分区号。
- 对于第一个和最后一个扇区(2个提示),只需按回车键即可默认响应。
- 输入
t
选择我们刚刚创建的分区。 - 输入
fd
在分区上配置Linux RAID自动检测。 - 输入
w
将所有这些更改写入磁盘。
- 我们现在需要对第二个磁盘执行完全相同的步骤。在我们的例子中,那将是磁盘
/dev/sdc
。对第二个磁盘重复步骤 2 和步骤 3. 之后,我们应该能够使用fdisk
命令查看新配置的 RAID 分区。
# fdisk -l
配置持久性 RAID 挂载
现在唯一的问题是重启后,RAID需要重新挂载。
为了避免每次都需要手动挂载,我们可以配置/etc/fstab
文件。
- 编辑 fstab 文件,并添加以下行。
/dev/md0 /mnt/raid1 ext4 defaults 0 0
- 接下来,使用以下命令保存我们当前的 mdadm 配置。
# mdadm --detail --scan --verbose >> /etc/mdadm.conf
我们现在有了一个工作的 RAID 1 数组,即使在系统重新启动后也能保持挂载状态。