.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. listview自定义适配器

    class FruitAdapter(activity: Activity ,val id:Int,data:List<Fruit>):ArrayAdapter<Fruit>( ...

  2. ConvFormer: Closing the Gap Between CNN and Vision Transformers概述

    0.前言 相关资料: arxiv github 论文解读 论文基本信息: 发表时间:arxiv2022(2022.9.16) 1.针对的问题 CNN虽然效率更高,能够建模局部关系,易于训练,收敛速度快 ...

  3. js类型以及存储方式

    一.js内置类型 基础类型:String, number, null, undefine, boolean, symbol, bigint 引用类型:Object(包含普通对象Object,数组对象A ...

  4. Notepad++来比较文件

    使用Notepad++来比较文件_sanqima的专栏-CSDN博客_notepad比较文件https://blog.csdn.net/sanqima/article/details/50467154

  5. 肖sir ___性能测试____多线程

    一.理论 (一) (1)多线程是Python程序中实现多任务的一种方式(2)线程是程序执行的最小单位. (3)同属一个进程的多个线程共享进程所拥有的全部资源. (二)进程和线程对比 (1)关系对比: ...

  6. ns 状态为Terminating

    kubectl delete ns harbor --force --grace-period=0harbor状态为Terminatingkubectl proxy --port=6880kubect ...

  7. 两个jsp界面之间使用window.location.href使用?传递参数以及接受参数

    这篇文章如果能给你带来帮助,不胜荣幸,如果有不对的地方也欢迎批评指正. 网上有很多方法是讲怎么截取字符串啊等等的方法来获取参数,说实话,看着我就觉得费劲,咱们可以换一种思路来思考.一般跳转界面多为前段 ...

  8. SpringBoot中常见问题

    Invalid bound statement(not found): 异常原因:编译之后的mapper文件中的.xml文件未编译, 解决方法:在pom.xml文件中添加如下配置,添加位置为build ...

  9. java.lang.UnsatisfiedLinkError:【Linux运行JAVA调用JNA重新,so,SO报错】

    困扰了好半天,我自己新建的项目,包名什么的不一样,太TM坑了,必须要包名一样文件名一样

  10. 关于ie浏览器query ajax提交单个操作无效

    第一次写博客 大家不要喷我!!!! 需求需要开发一个无刷新的用户注销和恢复注销功能 遇到的实际问题直接贴图----> 这是开始页面 当点击红xx时提示修改成功 这里似乎是对的哈 但是等点击刷新的 ...