如何在 Ubuntu 16.04 上使用 ‘mdadm’ 创建 RAID 0 存储阵列
在本文中,我们将学习如何使用 ‘mdadm’ 实用程序创建 RAID 0 阵列配置。
‘mdadm’ 是一个用于在 Linux 上创建和管理具有 RAID 功能的存储阵列的实用程序,管理员可以灵活地管理各个存储设备并创建具有高性能和冗余的逻辑存储。
RAID 0 阵列的工作原理是将数据分成小的块,并将这些数据条带化到可用的存储磁盘上,这意味着每个存储磁盘都包含一部分数据,并且在检索数据时会引用多个磁盘。如果任何驱动器发生故障,则不会有任何冗余,因为所有数据都可能丢失。
- RAID 0 的主要优点是其高性能。
- 至少需要 2 个存储磁盘。
- RAID 0 没有奇偶校验。
先决条件
- 具有 Sudo 权限的非 root 用户的 Ubuntu 机器。
- 创建 RAID 0 存储所需的至少两个存储设备。
要查找机器中连接的存储,可以使用以下命令。
$ lsblk –o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT Output NAME SIZE FSTYPE TYPE MOUNTPOINT xda 20G disk xdb 20G disk vda 20G disk ├─vda1 20G ext4 part / └─vda15 1M part
正如我们在上面的输出中看到的,我们有两个没有文件系统的 20GB 磁盘,并且这些设备对于这台机器或会话来说分别命名为 /dev/xda 和 /dev/xdb。
创建阵列
要创建 RAID 0 阵列,我们将使用 ‘mdadm’ – create 命令,并指定我们要创建的设备名称、RAID 级别以及连接到 RAID 的设备数量。
$ sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/xda /dev/xdb
mdadm 工具将开始创建阵列,并且完成配置需要一些时间。我们可以使用以下命令监控进度 -
$ cat /proc/mdstat Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] md0 : active raid0 xdb[1] xda[0] 209584128 blocks super 1.2, 512k chunk, algorithm 2 [3/2] [UU_] … unused devices: <none>
在上面的输出中,我们可以看到正在使用 /dev/xda 和 /dev/xdb 存储设备创建 /dev/md0 设备,该设备使用 RAID 0,并且还会显示 RAID 设备上的进度。
创建和挂载文件系统
在挂载阵列磁盘之前,我们需要在使用上述步骤创建的阵列磁盘上创建一个文件系统。
我们将在阵列上创建一个文件系统。
$ sudo mkfs.ext4 –F /dev/md0
现在我们将创建一个挂载点,并将上面步骤中创建的新 RAID 磁盘连接到该挂载点。
$ sudo mkdir –p /mnt/raiddisk1 $ sudo mount /dev/md0 /mnt/raiddisk1
验证新的挂载点或 RAID 磁盘
$ df –h –x devtmpfs –x tmpfs Output Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 1.1G 18G 6% / /dev/md0 40G 120M 39G 3% /mnt/raiddisk1
正如我们看到的,新的文件系统已挂载并可访问。
现在我们可以扫描活动阵列并使用以下命令追加文件。
$ sudo mdadm –details –scan | sudo tee –a /etc/mdadm/mdadm.conf
我们需要更新 ‘initramfs’ 文件,以便在机器启动时 RAID 阵列可用。
$ sudo update-initramfs -u
在启动时自动挂载 RAID 阵列。
将以下行添加到 /etc/fstab 文件中。
/dev/md0 /mnt/raiddisk1 ext4 defaults,nofail,discard 0 0
在上述设置和配置中,我们已经使用两个磁盘配置了一个 RAID 0 级别阵列,我们可以将两个磁盘组合成一个具有组合容量的单个磁盘,并具有更高的性能,并在启动时挂载磁盘,以便每当我们重新启动服务器时,RAID 磁盘都会被加载。