.tdi_3.td-a-rec { text-align: center }
.tdi_3 .td-element-style { z-index: -1 }
.tdi_3.td-a-rec-img { text-align: left }
.tdi_3.td-a-rec-img img { margin: 0 auto 0 0 }
@media (max-width: 767px) { .tdi_3.td-a-rec-img { text-align: center } }

 

欢迎阅读本指南,了解如何在 Rocky Linux 8 上配置软件 RAID |RHEL 8 使用 mdadm。RAID 也称为独立/廉价磁盘冗余阵列,用于将多个磁盘组合成一个阵列,其性能优于一个大磁盘。这些磁盘是首选磁盘,因为它们具有弹性、高性能,并有助于避免磁盘阵列中的单点故障。

在 Rocky Linux 8 上配置软件 RAID

在 RHEL 8 上配置软件 RAID

 

.tdi_2.td-a-rec { text-align: center }
.tdi_2 .td-element-style { z-index: -1 }
.tdi_2.td-a-rec-img { text-align: left }
.tdi_2.td-a-rec-img img { margin: 0 auto 0 0 }
@media (max-width: 767px) { .tdi_2.td-a-rec-img { text-align: center } }

 

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]1

该命令也可以缩短如下。

mdadm -C /dev/md0 -l raid10 -n=4 /dev/vd[bcde]1

在上面的命令中:

  • -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  ,对于其他分区格式也一样。

Δ

.mobile-leaderboard-1-multi-118 { border: none !important; display: block !important; float: none !important; line-height: 0; margin: 15px auto !important; max-width: 100% !important; min-height: 250px; min-width: 300px; padding: 0; text-align: center !important }
.tdi_4.td-a-rec { text-align: center }
.tdi_4 .td-element-style { z-index: -1 }
.tdi_4.td-a-rec-img { text-align: left }
.tdi_4.td-a-rec-img img { margin: 0 auto 0 0 }
@media (max-width: 767px) { .tdi_4.td-a-rec-img { text-align: center } }

Rocky8.6软raid的更多相关文章

  1. Raid 介绍以及软raid的实现

    RAID: old Redundant Arrays of Inexpensive Disks (廉价磁盘冗余阵列) new Redundant Arrays of Independent Disks ...

  2. CentOS 6.3下配置软RAID(Software RAID)

    一.RAID 简介 RAID 是英文Redundant Array of Independent Disks 的缩写,翻译成中文意思是“独立磁盘冗余阵列”,有时也简称磁盘阵列(Disk Array). ...

  3. 网易视频云技术分享:linux软raid的bitmap分析

    网易视频云是网易倾力打造的一款基于云计算的分布式多媒体处理集群和专业音视频技术,提供稳定流畅.低时延.高并发的视频直播.录制.存储.转码及点播等音视频的PAAS服务,在线教育.远程医疗.娱乐秀场.在线 ...

  4. RAID、软RAID和硬RAID

    RAID(redundant array of inexpensive disks):独立的硬盘冗余阵列,基本思想是把多个小硬盘组合在一起成为一个磁盘组,通过软件或硬件的管理达到性能提升或容量增大或增 ...

  5. ☆RHEL6创建软raid的使用☆——经典之作

    raid主要的种类 1.raid0  扩展卷   raid 0又称Stripee或Striping,中文译为集带工作方式, 有时也可以理解为拼凑. 它是将要存取的数据以条带状的形式尽量平均分配到多个硬 ...

  6. linux磁盘管理系列-软RAID的实现

    1 什么是RAID RAID全称是独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高. R ...

  7. linux磁盘管理系列二:软RAID的实现

    磁盘管理系列 linux磁盘管理系列一:磁盘配额管理   http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...

  8. linux服务器系统盘坏且系统盘为软raid的修复方法

    1 需要换新盘的情况 1.1 一块盘grub损坏修复 一块盘grub损坏修复(可通过另一块盘进入系统的情况).更换硬盘的方式,可以热插拔,也可以服务器断电后更换,但如果是热插拔,可能会导致盘符变更.坏 ...

  9. Liunx软Raid实现

    Liunx软Raid实现 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在配置软Raid之前,我们首先要了解一下什么是Raid,Raid又分哪几个系列?哪个又是最靠谱的组合?我们生 ...

  10. 软RAID管理命令mdadm详解

    软RAID管理命令mdadm详解 mdadm是linux下用于创建和管理软件RAID的命令,是一个模式化命令.但由于现在服务器一般都带有RAID阵列卡,并且RAID阵列卡也很廉价,且由于软件RAID的 ...

随机推荐

  1. mybatis中的土鸡杂鱼

    mybatis中的土鸡杂鱼 目录 mybatis中的土鸡杂鱼 1.mapper接口为什么要和mapper.xml在同一个路径下? 2.主键生成为什么配置一个字段就可以? 原理 3.为什么默认使用的是预 ...

  2. Matplotlib 网格线

    我们可以使用 pyplot 中的 grid() 方法来设置图表中的网格线. grid() 方法语法格式如下: matplotlib.pyplot.grid(b=None, which='major', ...

  3. 发现一个API接口自动化测试平台

    gitee地址:https://gitee.com/season-fan/autometer-api 记录一下: 1.API测试平台的5个需求: ①支持不同的项目,不同的角色,技术人员多人协作 ②支持 ...

  4. input 模糊搜索下拉框

    html <input type="text" class="layui-input blockInput" id="taskExpressio ...

  5. C++ 手动实现栈(stack) (课后作业版)

    栈,一种遵循先进先出原则的数据结构,可以用顺序表实现,也可以用链表进行实现. 这里我使用数组实现方法,包含了进栈,出栈,访问栈顶等功能,以及一些辅助功能. 栈Stack类定义如下: template ...

  6. win10安装双版本mysql的方法

    因为app作业缘故,之前装的mysql8.0版本无法兼容因此打算再装一个5.7版本的mysql,历经3,4天终于成功,现记录下这血一般的教训 首先官网下再mysql5.7.37的安装包 下载地址htt ...

  7. .NET CORE-通过内置IOC容器IServiceCollection进行服务注册

    第一种方式: 在Startup中的ConfigureServices方法中注册服务: services.AddTransient<ITestServiceA, TestServiceA>( ...

  8. ntp子母钟(gps子母钟系统)时钟系统在智能交通系统中的重要性

    ntp子母钟(gps子母钟系统)时钟系统在智能交通系统中的重要性 ntp子母钟(gps子母钟系统)时钟系统在智能交通系统中的重要性 技术交流:岳峰 15901092122 http://www.bjh ...

  9. 使用fopen,fscanf等函数报安全性问题的错误,unsafe...

    方法一:项目-属性-C/C++-预处理器定义,添加_CRT_SECURE_NO_WARNINGS. 方法二:使用fopen_s,fscanf_s等安全函数.

  10. boost asio 网络编程案例简单改写

    boost教程:http://zh.highscore.de/cpp/boost/ 改写7.4网络编程案例,服务器支持连接多个客户端 服务端: #include <iostream> #i ...