欢迎阅读本指南,了解如何在 Rocky Linux 8 上配置软件 RAID |RHEL 8 使用 mdadm。RAID 也称为独立/廉价磁盘冗余阵列,用于将多个磁盘组合成一个阵列,其性能优于一个大磁盘。这些磁盘是首选磁盘,因为它们具有弹性、高性能,并有助于避免磁盘阵列中的单点故障。
在 Rocky Linux 8 上配置软件 RAID
在 RHEL 8 上配置软件 RAID
RAID 在至少两个或更多设备中工作,因此当写入数据时,它将分布在多个磁盘上,从而保证来自多个磁盘的高数据可用性。有两种类型的 RAID:
- 软件RAID - 它附带MD(多驱动程序),要创建和管理它,我们可以使用“”实用程序。
mdadm
- 硬件 RAID – 这是 PCI 或 PCI-E 卡或集成在主板上。它们有自己的内置BIOS内部,它们是在RAID上安装操作系统之前配置的
- 固件 RAID – 它也被称为 ATARAID。这基本上是一种软件 RAID,其中 RAID 集可以使用基于固件的菜单进行配置,通常挂接到 BIOS 中,允许您从其 RAID 集启动。
RAID 支持的配置包括运行级别 0、1、4、5、6、10 和线性。下表详细阐述了这些运行级别。
突袭级别 | 使用的方法 | 最小磁盘数 | 用 | 优点 | 缺点 |
0 | 条带化 | 2 | 繁重的读取操作 | 高性能 | 如果一个磁盘发生故障,数据将丢失 |
1 | 镜像 | 2 | 用于应用程序服务器 | 容错和高读取性能 | 写入 OPS 几乎没有延迟,存储减少了 1/2。 |
5 | 条纹和奇偶校验 | 3 | 可用于应用程序和普通文件存储 | 速度和容错能力 | 编写 OPS 几乎没有延迟,减少了 1/3 的存储空间。 |
6 | 条纹和双重奇偶校验 | 4 | 应用程序服务器和大文件存储 | 具有额外的冗余级别和高速性能 | 写入性能低,存储减少 |
10(1+0) | 条带化和镜像 | 4 | 用于高利用率的数据库服务器 | 写入性能和强大的容错能力 | 它减少了 1/2 的存储空间,提供的可扩展性有限。 |
Liner RAID 配置组驱动器以创建更大的虚拟磁盘,此处当任何成员驱动器发生故障时,无法使用整个阵列。成员的总容量构成磁盘的容量。
软件 RAID 具有以下功能:
- 使用空闲系统资源进行后台阵列重建
- 多线程设计
- 自动更正阵列中磁盘上的坏扇区
- 热插拔驱动器支持
- 无需重建即可在 Linux 机器之间移植阵列
- 接管支持RAID级别转换,例如RAID0到RAID6
- 重新同步检查点,以便在重新同步期间重新启动计算机时,在启动时,重新同步将从中断的位置继续,而不会重新开始
- 自动 CPU 检测,以利用某些 CPU 功能,例如流式处理单指令多数据 (SIMD) 支持
- 定期检查 RAID 数据的一致性,以确保阵列的运行状况
现在,我们将深入了解并享受与 Rocky Linux 8 上的软件 RAID 相关的惊人功能 |RHEL 8.
步骤 1 – 在磁盘上创建 RAID 分区
要设置任何运行级别,至少需要两个磁盘/分区。检查系统上的可用磁盘,如下所示。
lsblk
示例输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 9.2G 0 rom
vda 252:0 0 40G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 39G 0 part
├─rl-root 253:0 0 35G 0 lvm /
└─rl-swap 253:1 0 4G 0 lvm [SWAP]
vdb 252:16 0 10G 0 disk
vdc 252:32 0 10G 0 disk
vdd 252:48 0 10G 0 disk
vde 252:64 0 10G 0 disk
在本指南中,我们附加了 4 个磁盘 vdb、vdc、vdd 和 vde,每个磁盘的存储大小为 10GB。现在在所有磁盘上创建一个 RAID 分区。在这里,我们将使用 .parted
在您的系统上安装分部。
sudo dnf install parted
切换到根用户:
sudo su -
在每个磁盘上设置分区类型(gpt),如下所示。
parted --script /dev/vdb "mklabel gpt"
parted --script /dev/vdc "mklabel gpt"
parted --script /dev/vdd "mklabel gpt"
parted --script /dev/vde "mklabel gpt"
现在在磁盘上创建一个分区,并将文件类型设置为 EXT4。
parted --script /dev/vdb "mkpart primary ext4 0% 100%"
parted --script /dev/vdc "mkpart primary ext4 0% 100%"
parted --script /dev/vdd "mkpart primary ext4 0% 100%"
parted --script /dev/vde "mkpart primary ext4 0% 100%"
创建分区后,将其设置为 RAID 分区。
parted --script /dev/vdb "set 1 raid on"
parted --script /dev/vdc "set 1 raid on"
parted --script /dev/vdd "set 1 raid on"
parted --script /dev/vde "set 1 raid on"
检查创建的分区表。
parted --script /dev/vdb "print"
示例输出:
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 10.7GB 10.7GB ext4 primary raid
第 2 步 – 在 Rocky Linux 8 上安装软件 RAID |RHEL 8
创建分区后,我们将设置为设置软件RAID。在本指南中,我们将使用该工具创建和管理 RAID。mdadm
在 Rocky Linux 8 上安装 |RHEL 8.mdadm
dnf install mdadm -y
现在使用的基本语法mdadm
如下。
mdadm [mode] <raiddevice> [options] <component-devices>
在命令中:
- 模式 – 指定要执行的操作。这包括;
- 生成 (-B, –build) – 构建没有每个设备元数据(超级块)的数组。
- 组装 (-A, –assemble) – 用于将先前创建的数组的组件组装到活动数组中。
- Create (-C, –create) – 用于创建具有每个设备元数据(超级块)的新数组。
- Grow (-G, –grow) – 用于增大/缩小阵列或重塑它。
- 关注/监视 (-F, –关注, –监视) – 监视一个或多个 md 设备并处理任何状态更改
- 自动检测 (–自动检测) – 此模式不作用于阵列,而是请求 Linux 内核激活任何自动检测的阵列。
- 其他模式包括杂项、管理
要使用四个磁盘创建软件 RAID 级别 10,我们将使用以下命令:
mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/vd[bcde]
该命令也可以缩短如下。
mdadm -C /dev/md0 -l raid10 -n=4 /dev/vd[bcde]
在上面的命令中:
-l, –level
=指定可以是级别之一的 RAID 级别;线性, RAID 0, 0, 条带, RAID 1, 1, 镜像, raid4, 4, raid5, 5, raid6, 6, raid10, 10, multipath-n, –raid-devices
是阵列中活动设备的数量。
现在按如下方式创建 RAID。
mdadm: partition table exists on /dev/vdb
mdadm: partition table exists on /dev/vdb but will be lost or
meaningless after creating array
mdadm: partition table exists on /dev/vdc
mdadm: partition table exists on /dev/vdc but will be lost or
meaningless after creating array
mdadm: partition table exists on /dev/vdd
mdadm: partition table exists on /dev/vdd but will be lost or
meaningless after creating array
mdadm: partition table exists on /dev/vde
mdadm: partition table exists on /dev/vde but will be lost or
meaningless after creating array
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
现在检查 RAID 状态:
$ mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri Jan 28 03:33:16 2022
Raid Level : raid10
Array Size : 20953088 (19.98 GiB 21.46 GB)
Used Dev Size : 10476544 (9.99 GiB 10.73 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Fri Jan 28 03:35:00 2022
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : 089d8e15:403e261e:dbbee899:36a357b2
Events : 17
Number Major Minor RaidDevice State
0 252 16 0 active sync set-A /dev/vdb
1 252 32 1 active sync set-B /dev/vdc
2 252 48 2 active sync set-A /dev/vdd
3 252 64 3 active sync set-B /dev/vde
使用以下命令获取详细信息列表:
mdadm --examine /dev/vd[bcde]
或者,使用以下命令检查 RAID 的状态:
$ cat /proc/mdstat
Personalities : [raid10]
md0 : active raid10 vde[3] vdd[2] vdc[1] vdb[0]
20953088 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
unused devices: <none>
步骤 3 – 在 RAID 设备上创建文件系统
为了能够使用 RAID 设备,您需要在 Rocky Linux 8 |RHEL 8 系统。
要为 RAID 设备 /dev/md0 创建文件系统,请按以下步骤操作。
mkfs.ext4 /dev/md0
示例输出:
mke2fs 1.45.6 (20-Mar-2020)
Discarding device blocks: done
Creating filesystem with 5238272 4k blocks and 1310720 inodes
Filesystem UUID: e2570369-67d8-444c-9125-6afdb68dc7d5
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
步骤 4 – 在 Rocky Linux 8 上安装软件 RAID 设备|RHEL 8.
现在我们可以将创建的分区挂载到您的首选位置。
- 临时安装
使用这种类型的安装,您需要在每次重新启动系统时安装设备。按如下方式将其安装在 /mnt 处
mount /dev/md0 /mnt/
验证装载是否成功:
$ df -hT -P /mnt/
Filesystem Type Size Used Avail Use% Mounted on
/dev/md0 ext4 20G 45M 19G 1% /mnt
我们已经看到存储减少了 1/2 RAID 10 的缺点之一
- 永久安装
这可确保挂载的设备是永久性的。我们需要将挂载添加到 /etc/fstab 文件中,如下所示。
$ sudo vim /etc/fstab
/dev/md0 /mnt ext4 defaults 0 0
现在我们需要更新/etc/mdadm/mdadm.conf 。这是通过创建一个配置文件来描述当前活动的阵列来实现的。
$ mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 name=localhost.localdomain:0 UUID=089d8e15:403e261e:dbbee899:36a357b2
对 mdadm.conf 进行更改。
mdadm --detail --scan > /etc/mdadm/mdadm.conf重新启动系统以验证设备是否持久。
sudo reboot
成功重启后,检查设备
$ df -hT -P /mnt/
Filesystem Type Size Used Avail Use% Mounted on
/dev/md0 ext4 20G 45M 19G 1% /mnt
# 删除raid流程
停止运行RAID
mdadm -S /dev/md0
删除自动配置文件
将/etc/mdadm/mdadm.conf文件中关于该md0的配置信息删除即可,这个方式有很多种。由于我的配置信息中只有一个RAID,所以我选择将文件清空。
cat /dev/null > /etc/mdadm/mdadm.conf
删除元数据 以前我一直以为删除来配置文件就算彻底结束了,可是再重启的话还是可以在/dev下找到md设备,后来发现是没有将RAID分区中的元数据删除。 mdadm --zero-superblock /dev/sdb5 ,对于其他分区格式也一样。 标签:parted,RAID,--,Rocky8.6,dev,磁盘,raid,mdadm From: https://www.cnblogs.com/colin88/p/17175686.html