首页 > 其他分享 >Rocky8.6软raid

Rocky8.6软raid

时间:2023-03-03 15:13:24浏览次数:62  
标签:parted RAID -- Rocky8.6 dev 磁盘 raid mdadm

 

欢迎阅读本指南,了解如何在 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 个磁盘 vdbvdc、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

相关文章