如何在Ubuntu 16.04上使用‘mdadm’创建RAID 5存储阵列


在本文中,我们将学习如何使用‘mdadm’实用程序创建RAID 5阵列配置。

‘mdadm’是一个用于在Linux上创建和管理具有RAID功能的存储阵列的实用程序,管理员可以灵活地管理单个存储设备并创建高性能和冗余的逻辑存储。

RAID 5阵列是一种通过跨所有可用设备条带化数据来实现的类型。每个条带的每个组件都由奇偶校验块计算。如果任何设备发生故障,奇偶校验块将使用剩余的块来计算来自设备的缺失数据。然后接收奇偶校验块的设备将旋转,以便每个设备都具有关于存储的平衡数量的奇偶校验信息。

  • RAID 5的主要优点是冗余性和更高的可用存储容量。
  • 在RAID 5中,奇偶校验信息是分布式的,一个磁盘容量将用于奇偶校验。

前提条件

  • 一台具有sudo权限的非root用户的Ubuntu机器。
  • 多个用于创建RAID存储的原始存储设备。
  • 为了完成此演示,我们需要至少3个存储设备。

要查找连接到机器的存储设备,可以使用以下命令。

使用‘mdadm’命令创建新的RAID 5阵列。

在开始任何操作之前,我们将检查连接到机器的现有磁盘。以下是列出可用磁盘的命令。

$ lsblk –o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME    SIZE FSTYPE              TYPE MOUNTPOINT
sda       20G                    disk
sdb       20G                    disk
sdc       20G linux_raid_member  disk
vda       20G                    disk
├─vda1    20G ext4               part /
└─vda15   1M                     part

正如我们在上面的输出中看到的,我们有3个没有文件系统的20GB磁盘,这些设备在本机或会话中分别命名为/dev/sda、/dev/sdb和/dev/sdc。

为了创建RAID 5阵列,我们将使用mdadm – 命令来创建设备名称、我们想要创建的RAID级别以及连接到RAID的设备数量。

$ sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc

mdadm工具将启动阵列的创建,完成配置需要一些时间,我们可以使用以下命令监控进度

$ cat /proc/mdstat
Output
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdc[3] sdb[1] sda[0]
   24792064 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
   [===>.................] recovery = 15.6% (16362536/24792064) finish=7.3min speed=200808K/sec
unused devices: <none>

在上面的输出中,我们可以看到/dev/md0设备正在使用/dev/sda、/dev/sdb和/dev/sdc存储设备创建RAID 5,这也会显示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    60M     39G       1%       /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 5级别阵列,并在启动时挂载了磁盘,以便每当我们重新启动服务器时,RAID磁盘都会加载。

更新于:2020年1月21日

3K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.