使用 mdadm 构建并挂载 RAID 1 阵列
在此步骤中,你将把焦点从 LVM 转移到另一项强大的存储技术:RAID(Redundant Array of Independent Disks)。你将使用 mdadm
工具来创建一个 RAID 1 阵列,也称为镜像。在 RAID 1 配置中,数据会同时写入两个磁盘,从而提供冗余。如果一个磁盘发生故障,数据在另一个磁盘上仍然是安全的。
首先,我们需要为 RAID 阵列准备另外两个模拟磁盘。让我们在你的 ~/project
目录中创建两个新的 256MB 磁盘映像文件,disk3.img
和 disk4.img
。
truncate -s 256M disk3.img disk4.img
接下来,将这些新映像文件与未使用的 loop 设备 /dev/loop22
和 /dev/loop23
关联起来。
sudo losetup /dev/loop22 disk3.img
sudo losetup /dev/loop23 disk4.img
现在你已准备好构建 RAID 1 阵列。我们将使用 mdadm
命令,利用我们的两个 loop 设备创建一个名为 /dev/md0
的新 RAID 设备。
--create /dev/md0
: 创建一个名为 /dev/md0
的新 RAID 设备。
--level=1
: 指定 RAID 级别,在此情况下为 RAID 1(镜像)。
--raid-disks=2
: 指定阵列将包含两个磁盘。
/dev/loop22 /dev/loop23
: 阵列的组成设备。
执行以下命令:
sudo mdadm --create /dev/md0 --level=1 --raid-disks=2 /dev/loop22 /dev/loop23
系统会要求确认后再继续。键入 y
并按 Enter 继续。
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
你可以通过查看 /proc/mdstat
文件来检查新 RAID 阵列的状态。
cat /proc/mdstat
输出显示 /dev/md0
正在运行,并使用了 /dev/loop23
和 /dev/loop22
。你可能还会看到阵列正在同步(resync
),这是正常的。即使此过程完成,阵列也是可用的。
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 loop13[1] loop12[0]
261120 blocks super 1.2 [2/2] [UU]
[>....................] resync = 0.4% (1088/261120) finish=0.1min speed=21760K/sec
unused devices: <none>
就像 LVM 卷一样,新的 RAID 设备 /dev/md0
也需要一个文件系统。让我们用 ext4
来格式化它。
sudo mkfs.ext4 /dev/md0
接下来,为 RAID 阵列创建一个挂载点。
sudo mkdir /labraid
最后,将 RAID 设备挂载到新目录。
sudo mount /dev/md0 /labraid
使用 df -h
验证 RAID 阵列是否已正确挂载。
df -h /labraid
输出确认 /dev/md0
设备(总大小约为 256MB,因为它是镜像)已挂载并准备好使用。
Filesystem Size Used Avail Use% Mounted on
/dev/md0 249M 2.6M 234M 2% /labraid
你已成功创建并挂载了一个 RAID 1 阵列,为 /labraid
挂载点提供了数据冗余。