介绍
该mdadm
实用程序可用于使用Linux的软件RAID功能创建和管理存储阵列。管理员可以非常灵活地协调各自的存储设备,并创建具有更高性能或冗余特性的逻辑存储设备。
在本指南中,我们将介绍可以使用Debian 9服务器设置的多种不同RAID配置。
先决条件
要完成本指南中的步骤,您应该:
- 在Debian 9服务器上具有sudo权限的非root用户:本指南中的步骤将由
sudo
用户完成。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。要了解如何使用这些权限设置帐户,请按照我们的Debian 9初始服务器设置指南进行操作。 - 对RAID术语和概念的基本了解:虽然本指南将逐步介绍一些RAID术语,但更完整的理解非常有用。
- 您的服务器上有多个原始存储设备:我们将演示如何在服务器上配置各种类型的阵列。因此,您需要一些驱动器进行配置。如果您使用的是DigitalOcean,则可以使用“ 块存储”卷来填充此角色。根据阵列类型,您至少需要两到四个存储设备。在遵循本指南之前,不需要格式化这些驱动器。
安装RAID管理工具
在开始之前,我们需要安装mdadm
,这个工具允许我们在Linux中设置和管理软件RAID阵列。这在Debian的默认存储库中可用。
更新本地程序包高速缓存以检索可用程序包的最新列表,然后下载并安装该程序包:
代码语言:javascript复制sudo apt update
sudo apt install mdadm
这将安装mdadm
及其所有依赖项。键入以下内容验证是否已安装该实用程序
sudo mdadm -V
mdadm - v3.4 - 28th January 2016
应显示应用程序版本,表明mdadm
已安装并可以使用。
重置现有RAID设备
在本指南中,我们将介绍创建许多不同RAID级别的步骤。如果您希望继续操作,则可能需要在每个部分后重复使用存储设备。可以参考本节以了解如何在测试新RAID级别之前快速重置组件存储设备。如果尚未设置任何数组,请暂时跳过此部分。
警告:此过程将完全销毁数组以及写入其中的任何数据。确保您正在使用正确的阵列,并且在销毁阵列之前复制了需要保留的所有数据。
键入以下内容在/proc/mdstat
文件中查找活动数组:
cat /proc/mdstat
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid0 sdc[1] sdd[0]
209584128 blocks super 1.2 512k chunks
unused devices: <none>
从文件系统中卸载数组:
代码语言:javascript复制sudo umount /dev/md0
然后,键入以下命令停止并删除数组:
代码语言:javascript复制sudo mdadm --stop /dev/md0
使用以下命令查找用于构建阵列的设备:
警告:请记住,重新启动时/dev/sd*
名称可能会发生变化!每次检查它们以确保您使用正确的设备。
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk
sdb 100G disk
sdc 100G linux_raid_member disk
sdd 100G linux_raid_member disk
vda 25G disk
├─vda1 24.9G ext4 part /
├─vda14 4M part
└─vda15 106M vfat part /boot/efi
在发现用于创建阵列的设备后,将其超级块清零以删除RAID元数据并将其重置为正常:
代码语言:javascript复制sudo mdadm --zero-superblock /dev/sdc
sudo mdadm --zero-superblock /dev/sdd
您应该删除对该数组的任何持久引用。编辑/etc/fstab
文件并注释掉或删除对数组的引用:
sudo nano /etc/fstab
代码语言:javascript复制. . .
# /dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0
另外,注释掉或从/etc/mdadm/mdadm.conf
文件中删除数组定义:
sudo nano /etc/mdadm/mdadm.conf
代码语言:javascript复制. . .
# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=7261fb9c:976d0d97:30bc63ce:85e76e91
最后,再次更新initramfs
,以便早期启动过程不会尝试将不可用的阵列联机。
sudo update-initramfs -u
此时,您应该准备单独重用存储设备,或者作为不同阵列的组件。
创建RAID 0阵列
RAID 0阵列的工作原理是将数据分解为块并在可用磁盘上对其进行条带化。这意味着每个磁盘包含一部分数据,并且在检索信息时将引用多个磁盘。
- 要求:至少2个存储设备
- 主要好处:表现
- 要记住的事项:确保您有功能备份。单个设备故障将破坏阵列中的所有数据。
识别组件设备
要开始使用,请找到您将使用的原始磁盘的标识符:
代码语言:javascript复制lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk
sdb 100G disk
vda 25G disk
├─vda1 24.9G ext4 part /
├─vda14 4M part
└─vda15 106M vfat part /boot/efi
如上所示,我们有两个没有文件系统的磁盘,每个磁盘大小为100G。在此示例中,已为这些设备提供了此会话的标识符/dev/sda
和/dev/sdb
标识符。这些将是我们用于构建阵列的原始组件。
创建数组
要使用这些组件创建RAID 0阵列,请将它们传递给mdadm --create
命令。您必须指定要创建的设备名称(在我们的示例中是/dev/md0
),RAID级别和设备数量:
sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb
您可以通过检查/proc/mdstat
文件来确保成功创建RAID :
cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdb[1] sda[0]
209584128 blocks super 1.2 512k chunks
unused devices: <none>
正如您在突出显示的行中所看到的,已使用/dev/sda
和/dev/sdb
设备在RAID 0配置中创建了/dev/md0
设备。
创建和挂载文件系统
接下来,在数组上创建一个文件系统:
代码语言:javascript复制sudo mkfs.ext4 -F /dev/md0
创建挂载点以附加新文件系统:
代码语言:javascript复制sudo mkdir -p /mnt/md0
您可以键入以下命令来挂载文件系统:
代码语言:javascript复制sudo mount /dev/md0 /mnt/md0
键入以下命令检查新空间是否可用:
代码语言:javascript复制df -h -x devtmpfs -x tmpfs
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 1003M 23G 5% /
/dev/md0 196G 61M 186G 1% /mnt/md0
新文件系统已安装并可访问。
保存数组布局
为了确保在引导时自动重新组装阵列,我们将不得不调整/etc/mdadm/mdadm.conf
文件。您可以通过键入以下内容自动扫描活动数组并附加文件:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
之后,您可以更新initramfs或初始RAM文件系统,以便在早期启动过程中阵列可用:
代码语言:javascript复制sudo update-initramfs -u
将新的文件系统挂载选项添加到/etc/fstab
文件中以便在引导时自动挂载:
echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
现在,您的RAID 0阵列应自动组装并在每次启动时安装。
创建RAID 1阵列
RAID 1阵列类型通过在所有可用磁盘上镜像数据来实现。RAID 1阵列中的每个磁盘都可获得数据的完整副本,从而在设备发生故障时提供冗余。
- 要求:至少2个存储设备
- 主要好处:冗余
- 需要注意的事项:由于维护了两个数据副本,因此只有一半的磁盘空间可用
识别组件设备
要开始使用,请找到您将使用的原始磁盘的标识符:
代码语言:javascript复制lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk
sdb 100G disk
vda 25G disk
├─vda1 24.9G ext4 part /
├─vda14 4M part
└─vda15 106M vfat part /boot/efi
如上所示,我们有两个没有文件系统的磁盘,每个磁盘大小为100G。在此示例中,已为这些设备提供了此会话的标识符/dev/sda
和/dev/sdb
标识符。这些将是我们用于构建阵列的原始组件。
创建数组
要使用这些组件创建RAID 1阵列,请将它们传递给mdadm --create
命令。您必须指定要创建的设备名称(在我们的示例中是/dev/md0
),RAID级别和设备数量:
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb
如果您使用的组件设备不是启用了boot
标志的分区,您可能会看到以下警告。键入y继续是安全的:
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
mdadm: size set to 104792064K
Continue creating array? y
该mdadm
工具将开始镜像驱动器。这可能需要一些时间才能完成,但在此期间可以使用该阵列。您可以通过检查/proc/mdstat
文件来监视镜像的进度:
cat /proc/mdstat
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb[1] sda[0]
104792064 blocks super 1.2 [2/2] [UU]
[>....................] resync = 1.5% (1629632/104792064) finish=8.4min speed=203704K/sec
unused devices: <none>
正如您在第一个突出显示的行中所看到的,已使用/dev/sda
和/dev/sdb
设备在RAID 1配置中创建了/dev/md0
设备。第二个突出显示的行显示镜像的进度。您可以在此过程完成时继续指南。
创建和挂载文件系统
接下来,在数组上创建一个文件系统:
代码语言:javascript复制sudo mkfs.ext4 -F /dev/md0
创建挂载点以附加新文件系统:
代码语言:javascript复制sudo mkdir -p /mnt/md0
您可以键入以下命令来挂载文件系统:
代码语言:javascript复制sudo mount /dev/md0 /mnt/md0
键入以下命令检查新空间是否可用:
代码语言:javascript复制df -h -x devtmpfs -x tmpfs
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 1003M 23G 5% /
/dev/md0 98G 61M 93G 1% /mnt/md0
新文件系统已安装并可访问。
保存数组布局
为了确保在引导时自动重新组装阵列,我们将不得不调整/etc/mdadm/mdadm.conf
文件。您可以通过键入以下内容自动扫描活动数组并附加文件:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
之后,您可以更新initramfs或初始RAM文件系统,以便在早期启动过程中阵列可用:
代码语言:javascript复制sudo update-initramfs -u
将新的文件系统挂载选项添加到/etc/fstab
文件中以便在引导时自动挂载:
echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
现在,您的RAID 1阵列应自动组装并在每次启动时安装。
创建RAID 5阵列
RAID 5阵列类型通过在可用设备上条带化数据来实现。每个条带的一个分量是计算的奇偶校验块。如果设备发生故障,则可以使用奇偶校验块和其余块来计算丢失的数据。接收奇偶校验块的设备被旋转,使得每个设备具有平衡量的奇偶校验信息。
- 要求:至少3个存储设备
- 主要好处:具有更多可用容量的冗余。
- 需要注意的事项:在分配奇偶校验信息时,一个磁盘的容量将用于奇偶校验。在处于降级状态时,RAID 5可能会遭受非常差的性能。
识别组件设备
要开始使用,请找到您将使用的原始磁盘的标识符:
代码语言:javascript复制lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk
sdb 100G disk
sdc 100G disk
vda 25G disk
├─vda1 24.9G ext4 part /
├─vda14 4M part
└─vda15 106M vfat part /boot/efi
如上所示,我们有三个没有文件系统的磁盘,每个磁盘大小为100G。在这个例子中,这些设备被赋予了/dev/sda
,/dev/sdb
和/dev/sdc
这3个会话标识符。这些将是我们用于构建阵列的原始组件。
创建数组
要使用这些组件创建RAID 5阵列,请将它们传递给mdadm --create
命令。您必须指定要创建的设备名称(在我们的示例中为/dev/md0
),RAID级别和设备数量:
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc
该mdadm
工具将开始配置阵列(出于性能原因,它实际上使用恢复过程来构建阵列)。这可能需要一些时间才能完成,但在此期间可以使用该阵列。您可以通过检查/proc/mdstat
文件来监视镜像的进度:
cat /proc/mdstat
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdc[3] sdb[1] sda[0]
209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[>....................] recovery = 0.9% (1031612/104792064) finish=10.0min speed=171935K/sec
unused devices: <none>
正如可以在第一突出显示的行看到,我们已经使用/dev/sda
,/dev/sdb
以及/dev/sdc
设备在RAID 5配置中创建了/dev/md0
设备。第二个突出显示的行显示了构建的进度。
警告:由于mdadm
构建RAID 5阵列的方式,在阵列仍在构建时,阵列中的备件数量将报告不准确。这意味着在更新/etc/mdadm/mdadm.conf
文件之前必须等待阵列完成组装。如果在阵列仍在构建时更新配置文件,则系统将具有有关阵列状态的错误信息,并且无法在引导时使用正确的名称自动组装它。
您可以在此过程完成时继续指南。
创建和挂载文件系统
接下来,在数组上创建一个文件系统:
代码语言:javascript复制sudo mkfs.ext4 -F /dev/md0
创建挂载点以附加新文件系统:
代码语言:javascript复制sudo mkdir -p /mnt/md0
您可以键入以下命令来挂载文件系统:
代码语言:javascript复制sudo mount /dev/md0 /mnt/md0
键入以下命令检查新空间是否可用:
代码语言:javascript复制df -h -x devtmpfs -x tmpfs
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 1003M 23G 5% /
/dev/md0 196G 61M 186G 1% /mnt/md0
新文件系统已安装并可访问。
保存数组布局
为了确保在引导时自动重新组装阵列,我们将不得不调整/etc/mdadm/mdadm.conf
文件。
如上所述,在调整配置之前,请再次检查以确保阵列已完成组装。 在构建阵列之前完成此步骤将阻止系统在重新引导时正确组装阵列:
代码语言:javascript复制cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdc[3] sdb[1] sda[0]
209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
上面的输出显示重建已完成。现在,我们可以自动扫描活动数组并通过键入以下内容来附加文件:
代码语言:javascript复制sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
之后,您可以更新initramfs或初始RAM文件系统,以便在早期启动过程中阵列可用:
代码语言:javascript复制sudo update-initramfs -u
将新的文件系统挂载选项添加到/etc/fstab
文件中以便在引导时自动挂载:
echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
现在,您的RAID 5阵列应自动组装并在每次启动时安装。
创建RAID 6阵列
RAID 6阵列类型通过在可用设备上条带化数据来实现。每个条带的两个分量是计算的奇偶校验块。如果一个或两个设备发生故障,则可以使用奇偶校验块和其余块来计算丢失的数据。接收奇偶校验块的设备被旋转,使得每个设备具有平衡量的奇偶校验信息。这类似于RAID 5阵列,但允许两个驱动器发生故障。
- 要求:至少4个存储设备
- 主要优点:双冗余,可用容量更大。
- 需要注意的事项:在分配奇偶校验信息时,两个磁盘的容量将用于奇偶校验。RAID 6在处于降级状态时可能会遭受非常差的性能。
识别组件设备
要开始使用,请找到您将使用的原始磁盘的标识符:
代码语言:javascript复制lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk
sdb 100G disk
sdc 100G disk
sdd 100G disk
vda 25G disk
├─vda1 24.9G ext4 part /
├─vda14 4M part
└─vda15 106M vfat part /boot/efi
如您所见,我们有四个没有文件系统的磁盘,每个磁盘大小为100G。在这个例子中,这些设备被赋予了/dev/sda
,/dev/sdb
,/dev/sdc
,和/dev/sdd
这4个会话标识符。这些将是我们用于构建阵列的原始组件。
创建数组
要使用这些组件创建RAID 6阵列,请将它们传递给mdadm --create
命令。您必须指定要创建的设备名称(在我们的示例中为/dev/md0
),RAID级别和设备数量:
sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
该mdadm
工具将开始配置阵列(出于性能原因,它实际上使用恢复过程来构建阵列)。这可能需要一些时间才能完成,但在此期间可以使用该阵列。您可以通过检查/proc/mdstat
文件来监视镜像的进度:
cat /proc/mdstat
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid6 sdd[3] sdc[2] sdb[1] sda[0]
209584128 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
[>....................] resync = 0.3% (353056/104792064) finish=14.7min speed=117685K/sec
unused devices: <none>
正如可以在第一突出显示的行看到,我们已在RAID 6配置中使用/dev/sda
,/dev/sdb
,/dev/sdc
和/dev/sdd
设备创建了/dev/md0
设备。第二个突出显示的行显示了构建的进度。您可以在此过程完成时继续指南。
创建和挂载文件系统
接下来,在数组上创建一个文件系统:
代码语言:javascript复制sudo mkfs.ext4 -F /dev/md0
创建挂载点以附加新文件系统:
代码语言:javascript复制sudo mkdir -p /mnt/md0
您可以键入以下命令来挂载文件系统:
代码语言:javascript复制sudo mount /dev/md0 /mnt/md0
键入以下命令检查新空间是否可用:
代码语言:javascript复制df -h -x devtmpfs -x tmpfs
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 1003M 23G 5% /
/dev/md0 196G 61M 186G 1% /mnt/md0
新文件系统已安装并可访问。
保存数组布局
为了确保在引导时自动重新组装阵列,我们将不得不调整/etc/mdadm/mdadm.conf
文件。我们可以通过输入以下内容自动扫描活动数组并附加文件:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
之后,您可以更新initramfs或初始RAM文件系统,以便在早期启动过程中阵列可用:
代码语言:javascript复制sudo update-initramfs -u
将新的文件系统挂载选项添加到/etc/fstab
文件中以便在引导时自动挂载:
echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
现在,您的RAID 6阵列应自动组装并在每次启动时安装。
创建复杂的RAID 10阵列
传统上,RAID 10阵列类型通过创建由多组RAID 1阵列组成的条带化RAID 0阵列来实现。这种嵌套数组类型提供冗余和高性能,但代价是大量磁盘空间。该mdadm
实用程序具有自己的RAID 10类型,可提供相同类型的优势并提高灵活性。它不是由嵌套数组创建的,而是具有许多相同的特性和保证。我们将在这里使用mdadm
RAID 10。
- 要求:至少3个存储设备
- 主要好处:性能和冗余
- 需要注意的事项:阵列的容量减少量由您选择保留的数据副本数量来定义。使用
mdadm
样式RAID 10 存储的副本数是可配置的。
默认情况下,每个数据块的两个副本将存储在所谓的“近”布局中。决定每个数据块如何存储的可能布局是:
- 附近:默认安排。当条带化时,每个块的副本被连续写入,这意味着数据块的副本将被写在多个磁盘的相同部分周围。
- far:第一个和后续副本被写入阵列中存储设备的不同部分。例如,第一个块可能写在磁盘的开头附近,而第二个块则写在另一个磁盘的中间。这可以为传统旋转磁盘提供一些读取性能增益,但代价是写入性能。
- offset:复制每个条带,由一个驱动器偏移。这意味着副本彼此偏移,但仍然在磁盘上靠近。这有助于在某些工作负载期间最大限度地减
您可以通过查看man
本页的“RAID10”部分找到有关这些布局的更多信息:
man 4 md
您也可以在这里找到此man
页面。
识别组件设备
要开始使用,请找到您将使用的原始磁盘的标识符:
代码语言:javascript复制lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk
sdb 100G disk
sdc 100G disk
sdd 100G disk
vda 25G disk
├─vda1 24.9G ext4 part /
├─vda14 4M part
└─vda15 106M vfat part /boot/efi
如您所见,我们有四个没有文件系统的磁盘,每个磁盘大小为100G。在这个例子中,这些设备被赋予了/dev/sda
,/dev/sdb
,/dev/sdc
,和/dev/sdd
这些会话标识符。这些将是我们用于构建阵列的原始组件。
创建数组
要使用这些组件创建RAID 10阵列,请将它们传递给mdadm --create
命令。您必须指定要创建的设备名称(在我们的示例中为/dev/md0
),RAID级别和设备数量。
您可以使用near布局设置两个副本,方法是不指定布局和副本编号:
代码语言:javascript复制sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
如果要使用其他布局或更改副本数,则必须使用--layout=
选项,该选项采用布局和副本标识符。布局为n表示近,f表示远,o表示偏移。之后会附加要存储的副本数。
例如,要创建一个在偏移布局中具有3个副本的数组,该命令将如下所示:
代码语言:javascript复制sudo mdadm --create --verbose /dev/md0 --level=10 --layout=o3 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
该mdadm
工具将开始配置阵列(出于性能原因,它实际上使用恢复过程来构建阵列)。这可能需要一些时间才能完成,但在此期间可以使用该阵列。您可以通过检查/proc/mdstat
文件来监视镜像的进度:
cat /proc/mdstat
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid10 sdd[3] sdc[2] sdb[1] sda[0]
209584128 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
[>....................] resync = 1.3% (2832768/209584128) finish=15.8min speed=217905K/sec
unused devices: <none>
正如可以在第一突出显示的行看到,我们已在RAID 10配置使用/dev/sda
,/dev/sdb
,/dev/sdc
和/dev/sdd
设备创建了/dev/md0
设备。第二个突出显示的区域显示了此示例使用的布局(近配置中的2个副本)。第三个突出显示的区域显示了构建的进度。您可以在此过程完成时继续指南。
创建和挂载文件系统
接下来,在数组上创建一个文件系统:
代码语言:javascript复制sudo mkfs.ext4 -F /dev/md0
创建挂载点以附加新文件系统:
代码语言:javascript复制sudo mkdir -p /mnt/md0
您可以键入以下命令来挂载文件系统:
代码语言:javascript复制sudo mount /dev/md0 /mnt/md0
键入以下命令检查新空间是否可用:
代码语言:javascript复制df -h -x devtmpfs -x tmpfs
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 1003M 23G 5% /
/dev/md0 196G 61M 186G 1% /mnt/md0
新文件系统已安装并可访问。
保存数组布局
为了确保在引导时自动重新组装阵列,我们将不得不调整/etc/mdadm/mdadm.conf
文件。我们可以通过输入以下内容自动扫描活动数组并附加文件:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
之后,您可以更新initramfs或初始RAM文件系统,以便在早期启动过程中阵列可用:
代码语言:javascript复制sudo update-initramfs -u
将新的文件系统挂载选项添加到/etc/fstab
文件中以便在引导时自动挂载:
echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
现在,您的RAID 10阵列应自动组装并在每次启动时安装。
结论
在本指南中,我们演示了如何使用Linux的mdadm
软件RAID实用程序创建各种类型的阵列。与单独使用多个磁盘相比,RAID阵列提供了一些引人注目的冗余和性能增强。
一旦确定了环境所需的阵列类型并创建了设备,您就需要学习如何使用mdadm
来执行日常管理。
更多Debian教程请前往腾讯云 社区学习更多知识。
参考文献:《How To Create RAID Arrays with mdadm on Debian 9》