实验:基于Red Hat Enterprise Linux系统建立RAID磁盘阵列

news2024/10/6 21:05:05

目录

一. 实验目的

二. 实验内容

三. 实验设计描述及实验结果

什么是磁盘阵列(RAID)

        1. 为虚拟机添加4块大小为20G的硬盘nvme0n【2-5】,将nvme0n【2、3、4】三块硬盘 建立为raid5并永久挂载,将RAID盘全部空间制作逻辑卷,永久挂载并使用

        添加4块大小为20G的硬盘:

        将nvme0n【2、3、4】三块硬盘 建立为raid5

RAID5

RAID各自的优缺点:

        创建物理卷:

方法一:

方法二:

        将RAID盘全部空间制作卷组、逻辑卷:

        创建挂载点,进行挂载:(/nmt/zhujingwen)

        2. 模拟sdd故障,并将nvme0n5加入阵列、3. 将整个阵列盘制作成逻辑卷测试使用

        将错误设备移除(移除nvme0n4):

        重新加一块新盘(nvme0n5):

        4. 停用磁盘阵列

        先进行挂载下线:

        下线后修改fstab文件内容:

        删除逻辑卷:

        删除卷组:

        删除RAID:

        停止磁盘阵列:

        尝试激活已存在的软件 RAID 设备,并开启:

        重启后确认这些对应设备是否都停用了:


一. 实验目的

  1. 了解如何在虚拟机中添加硬盘,并通过RAID5技术实现数据冗余和性能提升。
  2. 熟悉模拟硬盘故障的方法,并学习如何将新的硬盘加入到RAID阵列中。
  3. 掌握将整个RAID阵列制作成逻辑卷的步骤,以及如何进行挂载和使用。
  4. 理解停用磁盘阵列的操作步骤和注意事项,确保数据安全和系统稳定。

二. 实验内容

  1. 为虚拟机添加4块大小为20G的硬盘nvme0n【2-5】,将nvme0n【2、3、4】三块硬盘 建立为raid5并永久挂载,将RAID盘全部空间制作逻辑卷,永久挂载并使用
  2. 模拟sdd故障,并将nvme0n5加入阵列
  3. 将整个阵列盘制作成逻辑卷测试使用
  4. 停用磁盘阵列

三. 实验设计描述及实验结果

什么是磁盘阵列(RAID)

        磁盘阵列(Redundant Arrays ofInexpensive Disks, RAID)意思是:容错式廉价磁盘阵列。

        RAID 技术可以通过软件硬件实现,将多个磁盘整合成为一个较大的磁盘装置,该装置不仅有储存功能,还具有数据保护的功能。

        RAID具有多个不同等级(level),每个level对整合后的磁盘实现不同的功能,有0-6共7个级别,常用0、1、5、6、10;需要RAID控制器、Linux内核可以模拟RAID控制器,用来管理硬盘。

        软RAID:
        RAID系统的优点,不需要额外的硬件RAID控制器CPU时间和内存开销
        硬RAID:
        控制器是一套私有系统,有独立的CPU、内存以及存储数据的单元

        1. 为虚拟机添加4块大小为20G的硬盘nvme0n【2-5】,将nvme0n【2、3、4】三块硬盘 建立为raid5并永久挂载,将RAID盘全部空间制作逻辑卷,永久挂载并使用

        添加4块大小为20G的硬盘:

        查看添加结果:

        将nvme0n【2、3、4】三块硬盘 建立为raid5

RAID5

        RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。

        RAID 5可以理解为是RAID 0和RAID1的折中方案。

        RAID5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。

        RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID1高,存储成本相对较低是目前运用较多的一种解决方案。异或算法 奇偶校验
        至少需要三块硬盘
        每块硬盘必须提供相同的磁盘空间
        提供容错功能
        磁盘空间利用率n-1/n,n为磁盘数量

RAID各自的优缺点:

        RAID 0 存取速度最快 没有容错
        RAID 1 完全容错成本高
        RAID 2 带海明码校验,数据冗余多,速度慢
        RAID 3 写入性能最好 没有多任务功能
        RAID 4 具备多任务及容错功能 Parity 磁盘驱动器造成性能瓶颈
        RAID 5 具备多任务及容错功能 写入时有overhead
        RAID 0+1/RAID 10 速度快、完全容错 成本高

[root@Osborn ~]# mdadm -C /dev/md0 -n 3 -l 5 /dev/nvme0n[234]

mdadm

         -C, --create <device> --level=<level> --raid-devices=<num-devices> <devices>

        创建一个新的 RAID 设备。

                 <device>:指定要创建的 RAID 设备的名称。

                 <level>:指定 RAID 级别,如 0、1、4、5、6 或 10。

                 <num-devices>:指定 RAID 设备中的物理设备数量。

                 <devices>:指定要使用的物理设备。

        -D, --detail <device>

        显示指定 RAID 设备的详细信息,包括状态、健康状况和成员设备等。

         -E, --examine <device>

        显示指定 RAID 设备的更详细信息,包括设备元数据、UUID 和分区等。

        查看磁盘阵列分配结果:

[root@Osborn ~]# cat /proc/mdstat

        查看资源状态:

[root@Osborn ~]# mdadm -D /dev/md0

        手动写一个配置文件,将其进行组合应用:

[root@Osborn ~]# vim /etc/mdadm.conf

ARRAY /dev/md0 UUID=44743c4f:35307960:b09cf80f:8d2406f7

        还可以借助mdadm的选项,进行文件配置:

        (先别覆盖,进行追加>>)

[root@Osborn ~]# mdadm -E -s --brief >> /etc/mdadm.conf

-E        检测已扫描的磁盘阵列设备

-s        扫描可用的磁盘阵列

 --brief        以简短格式输出对应的磁盘阵列的信息

        删掉追加的(都是相同的,只需要一行内容)

        创建物理卷:

方法一:
[root@Osborn ~]# fdisk /dev/md0

        建立分区

        当想针对分区进行磁盘管理时:

Command (m for help): pvcreate /dev/md0p1

        物理卷既可以磁盘也可以针对分区

方法二:

        直接使用pvcreate:

[root@Osborn ~]# pvcreate /dev/md0

        将RAID盘全部空间制作卷组、逻辑卷:

        创建一个自己名字命名的卷组:

[root@Osborn ~]# vgcreate zhujingwen /dev/md0

        建立逻辑卷:

[root@Osborn ~]# lvcreate -n zhujingwen_lv -L 5G zhujingwen

        进行格式化,为xfs格式:

[root@Osborn ~]# mkfs.xfs /dev/zhujingwen/zhujingwen_lv

        使用blkid,复制逻辑卷的UUID:

[root@Osborn ~]# blkid

        编写fstab:

[root@Osborn ~]# vim /etc/fstab 

UUID="7e15dc51-f4bd-4323-b50e-7a52a4861559" /mnt/zhujingwen xfs defaults 0 0

        创建挂载点,进行挂载:(/nmt/zhujingwen)

        创建挂在点:

[root@Osborn ~]# mkdir /mnt/zhujingwen

        列出磁盘空间使用情况:

[root@Osborn ~]# df -Th | grep -v tmp

        2. 模拟sdd故障,并将nvme0n5加入阵列、3. 将整个阵列盘制作成逻辑卷测试使用

        针对一个设备进行管理,将出现错误的磁盘标识为失败,模拟nvme0n4,显示磁盘错误:

[root@Osborn ~]# mdadm --manage /dev/md0 --fail /dev/nvme0n4

        查看磁盘状态变化:

        内核查看:

[root@Osborn mnt]# cat /proc/mdstat 

        显示一块盘已经挂了

        用mdadm:

[root@Osborn ~]# mdadm -D /dev/md0 

        显示nvme0n4失败:

        将错误设备移除(移除nvme0n4):

[root@Osborn ~]# mdadm --manage /dev/md0 --remove /dev/nvme0n4

        查看状态变化:

        重新加一块新盘(nvme0n5):

[root@Osborn ~]# mdadm --manage /dev/md0 --add /dev/nvme0n5

        查看状态变化:

        查看设备状态:

        对比下,没有任何的数据丢失:

        4. 停用磁盘阵列

        先进行挂载下线:

[root@Osborn ~]# umount /mnt/zhujingwen 

        下线后修改fstab文件内容:

[root@Osborn ~]# vim /etc/fstab 

        删除逻辑卷:

[root@Osborn ~]# lvremove /dev/zhujingwen/zhujingwen_lv 

        删除卷组:

[root@Osborn ~]# vgremove /dev/zhujingwen

        删除RAID:

[root@Osborn ~]# pvremove /dev/md0 

        停止磁盘阵列:

[root@Osborn ~]# mdadm -S /dev/md0

-S 停止

        修改配置文件:

[root@Osborn ~]# vim /etc/mdadm.conf 

        可以将那一行注释掉,或者也可以直接删掉mdadm.conf文件

        此时查看状态:

[root@Osborn mnt]# cat /proc/mdstat 

        当前没有设备

        尝试激活已存在的软件 RAID 设备,并开启:

[root@Osborn mnt]# mdadm -As /dev/md0

        显示未标识

        只要当前的配置文件还在 可以通过进行重新启动:

[root@Osborn ~]# systemctl reboot

        重启后确认这些对应设备是否都停用了:

[root@Osborn ~]# cat /proc/mdstat 

        此时会出现两种情况,有、没有,没有万事大吉

        有的话,存在缓存信息,清除掉:

[root@Osborn ~]# mdadm --zero-superblock /dev/nvme0n2
[root@Osborn ~]# mdadm --zero-superblock /dev/nvme0n3
[root@Osborn ~]# mdadm --zero-superblock /dev/nvme0n4
[root@Osborn ~]# mdadm --zero-superblock /dev/nvme0n5

        操作完再重启

[root@Osborn ~]# systemctl reboot

        再查看:

[root@Osborn ~]# cat /proc/mdstat 

        则都空了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1583060.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件开发自媒体获客避坑:啥都能干=啥都抓不着=啥都干不了。

我就结合我的经验谈一下粗浅的看法&#xff0c;权当抛砖引玉了。 一、自媒体流量本质是一种泛流量 自媒体流量通常指的是通过自媒体平台&#xff08;如微信公众号、微博、知乎等&#xff09;获取的泛流量。泛流量是指广泛的、来自不同渠道的流量&#xff0c;包括通过搜索引擎…

面试官为什么喜欢考察Vue底层原理

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

C语言面试题之检查二叉树平衡性

检查二叉树平衡性 实例要求 1、实现一个函数&#xff0c;检查二叉树是否平衡&#xff1b;2、在这个问题中&#xff0c;平衡树的定义如下&#xff1a;任意一个节点&#xff0c;其两棵子树的高度差不超过 1&#xff1b; 示例 1: 给定二叉树 [3,9,20,null,null,15,7]3/ \9 20/…

OSPF数据报文格式

OSPF协议是跨层封装的协议&#xff0c;跨四层封装&#xff0c;直接将应用层的数据封装在网络层协议后面&#xff0c;IP协议包中协议号字段对应的数值为——89 OSPF的头部信息&#xff1a; ——所有数据包公有的信息 版本&#xff1a;OSPF版本 在IPV4中一般使用OSPFV2&#xf…

【3GPP】【核心网】核心网/蜂窝网络重点知识面试题二(超详细)

1. 欢迎大家订阅和关注&#xff0c;3GPP通信协议精讲&#xff08;2G/3G/4G/5G/IMS&#xff09;知识点&#xff0c;专栏会持续更新中.....敬请期待&#xff01; 目录 1. 对于主要的LTE核心网接口&#xff0c;给出运行在该接口上数据的协议栈&#xff0c;并给出协议特征 2. 通常…

ShardingSphere-ShardingSphere读写分离和数据脱敏

文章目录 一、读写分离1.1 读写分离1.2 读写分离应用方案1.3 分表+读写分离1.4 分库分表+读写分离二、ShardingSphere-JDBC读写分离2.1 创建SpringBoot并添加依赖2.2 创建实体类2.3 创建mapper2.4 配置读写分离2.5 测试测试插入数据测试读测试事务一致性测试负载均衡一、读写分…

BP实战之猫狗分类数据集

目录 补充知识 python类里面的魔法方法 transforms.Resize() python里面的OS库 BP实战之猫狗分类数据集 猫狗数据集 注意事项 使用类创建自己的猫狗分类数据集 代码 实例化对象尝试 代码 结果 利用DataLoader加载数据集 BP神经网络的搭建以及对象的使用 运行结果…

【PyQt5篇】使用QtDesigner添加控件和槽

文章目录 &#x1f354;使用QtDesigner进行设计&#x1f6f8;在代码中添加信号和槽 &#x1f354;使用QtDesigner进行设计 我们首先使用QtDesigner设计界面 得到代码login.ui <?xml version"1.0" encoding"UTF-8"?> <ui version"4.0&q…

【Qt】:窗口

窗口 一.概述二.菜单栏1.一个简单的菜单2.添加快捷键3.嵌套子菜单4.添加下划线5.添加图标 三.工具栏1.创建一个简单的工具栏2.设置工具栏的停靠位置 四.状态栏五.浮动窗口 一.概述 Qt窗口是通过QMainWindow类来实现的。 QMainWindow是一个为用户提供主窗口程序的类&#xff0c…

经典本地影音播放器纯净无广告版

MPC-BE&#xff08;Media Player Classic Black Edition&#xff09;是来自 MPC-HC&#xff08;Media Player Classic Home Cinema&#xff09;的俄罗斯开发者重新编译优化后的一款经免费的经典全能影音播放器&#xff0c;纯净无广告&#xff0c;启动速度快&#xff0c;占用消耗…

ES7-10:async和await、异步迭代..

1-ES7新特性 indexof如果没有就返回-1&#xff0c;有就返回索引 如果仅仅查找数据是否在数组中,建议使用includes,如果是查找数据的索引位置,建议使用indexOf更好一些 2-ES8-async和await 所有的需要异步处理的Promise对象都写在async中await等待结果 async、await 使异步操…

HEC-HMS水文模型

HEC-HMS是美国陆军工程兵团水文工程中心开发的一款水文模型。HMS能够模拟各种类型的降雨事件对流域水文&#xff0c;河道水动力以及水利设施的影响&#xff0c;在世界范围内得到了广泛的应用。它有着完善的前后处理软件&#xff0c;能有效减轻建模的负担&#xff1b;能够与HEC开…

数据挖掘实战-基于机器学习的垃圾邮件检测模型(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

30.WEB渗透测试-数据传输与加解密(4)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;29.WEB渗透测试-数据传输与加解密&#xff08;3&#xff09;-CSDN博客 加解密需要用到的源…

【linux】sudo 与 su/su -之间的区别

一、区别 二、其他 大概是因为使用 su 命令或直接以 root 用户身份登录有风险&#xff0c;所以&#xff0c;一些 Linux 发行版&#xff08;如 Ubuntu&#xff09;默认禁用 root 用户帐户。鼓励用户在需要 root 权限时使用 sudo 命令。 然而&#xff0c;您还是可以成功执行 su…

4.10作业

//.h文件#ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimerEvent> //定时器事件类 #include <QTime> //时间类 #include <QString> #include <QPushButton> //按钮类 #include <QLabel> //标签类 #include <QT…

<-泛型->

1.泛型的概念 所谓泛型&#xff0c;就是允许在定义类, 接口 时通过一个"标识"表示类中某个属性的类型或者某个方法的返回值或形参类型.这个类型参数将在使用时确定. 2.举例 (1). 集合类在设计阶段/声明阶段不能确定这个容器到底存的是什么对象&#xff0c;所以在JDK…

蓝桥杯PythonB组练习——矩形面积交

一、题目 问题描述   平面上有两个矩形&#xff0c;它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形&#xff0c;我们给出它的一对相对顶点的坐标&#xff0c;请你编程算出两个矩形的交的面积。 输入格式   输入仅包含两行&#xff0c;每行描述一个矩形。   在每行中…

Python 新手最容易踩的坑

Python新手最容易踩的坑 缩进错误忘记引入模块使用未定义的变量不理解变量作用域字符串格式化错误乱用关键字多余的符号本期图书推荐&#xff1a;Python算法小讲堂---39个算法案例带你玩转Python内容简介获取方式 在学习 Python 的过程中&#xff0c;新手往往会遇到一些常见的陷…

HarmonyOS开发实例:【分布式数据管理】

介绍 本示例展示了在eTS中分布式数据管理的使用&#xff0c;包括KVManager对象实例的创建和KVStore数据流转的使用。 通过设备管理接口[ohos.distributedDeviceManager]&#xff0c;实现设备之间的kvStore对象的数据传输交互&#xff0c;该对象拥有以下能力 ; 1、注册和解除注…