【命令操作】Linux上通过mdadm配置软RAID _ 统信 _ 麒麟 _ 方德

原文链接:【命令操作】Linux上通过mdadm配置软RAID | 统信 | 麒麟 | 方德
Hello,大家好啊!今天给大家带来一篇关于如何在Linux系统上使用mdadm工具配置软件RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)的文章。RAID是一种将多块磁盘组合成一个逻辑磁盘以提高性能、冗余性或可靠性的技术。通过mdadm工具,您可以轻松地在Linux系统中配置软RAID。本文将详细介绍如何使用mdadm配置各种RAID级别的步骤和方法。欢迎大家分享转发,点个关注和在看吧!

什么是RAID?

RAID是一种将多块硬盘组合成一个逻辑单元的方法,用于提高存储系统的性能、容错性和存储容量。不同的RAID级别提供了不同的优点:

RAID 0:条带化,将数据分割并分散存储在多块硬盘上,提高性能,但没有冗余。

RAID 1:镜像,数据在多块硬盘上完全复制,提高数据冗余和安全性。

RAID 5:至少需要3块磁盘,通过分布式奇偶校验实现数据冗余,同时提供一定的存储效率。

RAID 6:类似RAID 5,但有双重奇偶校验,提供更高的容错性。

RAID 10:结合RAID 1和RAID 0,既提供性能提升,也提供冗余保护。

什么是mdadm?

mdadm是Linux系统中配置和管理软RAID阵列的工具。它能够创建、组装、监控和管理RAID阵列,不依赖于硬件RAID控制器,因此灵活性高,适用于各种软RAID配置需求。

1.查看系统信息

pdsyw@pdsyw-PC:~/Desktop$ cat /etc/os-version 
pdsyw@pdsyw-PC:~/Desktop$ uname -a

2.查看系统磁盘

pdsyw@pdsyw-PC:~/Desktop$ lsblk 

3.更新系统源

pdsyw@pdsyw-PC:~/Desktop$ sudo apt update

4.安装mdadm

pdsyw@pdsyw-PC:~/Desktop$ sudo apt install mdadm

5.创建RAID阵列

pdsyw@pdsyw-PC:~/Desktop$ sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
mdadm: Note: this array has metadata at the start andmay not be suitable as a boot device.  If you plan tostore '/boot' on this device please ensure thatyour boot-loader understands md/v1.x metadata, or use--metadata=0.90
mdadm: size set to 524155904K
mdadm: automatically enabling write-intent bitmap on large array
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
pdsyw@pdsyw-PC:~/Desktop$ 

内容解释:

/dev/md0 是创建的 RAID 设备名称。

–level=1 表示要创建 RAID 1。

–raid-devices=2 表示使用 2 个磁盘。

/dev/sdb 和 /dev/sdc 是要用于 RAID 的磁盘。

RAID 阵列的元数据版本:

系统提示该 RAID 阵列的元数据(metadata)位于开始部分,使用的默认元数据版本是 v1.x。这种元数据版本可能在某些引导程序(如 GRUB)中不受支持,因此不适合直接作为引导设备(即 /boot)。

如果你计划将 /boot 分区放在该 RAID 上,请确保引导程序可以理解 md/v1.x 元数据格式,否则建议使用 --metadata=0.90。

sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 --metadata=0.90 /dev/sdb /dev/sdc

6.查看 RAID 阵列状态

pdsyw@pdsyw-PC:~/Desktop$ cat /proc/mdstat

解释输出内容:

Personalities: [raid1]

当前系统加载了 RAID 1 模块。

md0 : active raid1 sdc[1] sdb[0]

md0 是 RAID 设备名称,表示你创建的 RAID 阵列。

active raid1 说明 md0 正在以 RAID 1 级别工作。

sdc[1] sdb[0] 表示 RAID 阵列由两个磁盘组成,sdb 和 sdc,它们在 RAID 阵列中的编号分别是 [0] 和 [1]。

524155904 blocks super 1.2 [2/2] [UU]

524155904 blocks:RAID 阵列的总块数。

super 1.2:RAID 元数据的版本,这里是 1.2,表示元数据存储在磁盘的开头部分。

[2/2]:阵列的设备总数是 2,当前有 2 个设备是正常工作的。

[UU]:U 表示一个磁盘是 Up 状态,两个 U 表示两个磁盘都处于正常工作状态。

resync = 19.8% (104024832/524155904) finish=34.9min speed=200041K/sec

resync = 19.8%:表示同步进度,目前已经完成 19.8%。

(104024832/524155904):表示已经同步的块数和总块数。

finish=34.9min:预计还需要 34.9 分钟完成同步。

speed=200041K/sec:当前同步速度为每秒 200041 KB。

bitmap: 4/4 pages [16KB], 65536KB chunk

这是关于写入意图位图(bitmap)的信息,表示使用了位图机制来加速同步和恢复。

7.使用mdadm查看 RAID 阵列状态

pdsyw@pdsyw-PC:~/Desktop$ sudo mdadm --detail /dev/md0

关键字段解释:

Version: 1.2

使用的 RAID 元数据版本是 1.2,它将元数据存储在磁盘的起始位置。

Creation Time: Mon Oct 14 13:57:46 2024

显示 RAID 阵列的创建时间。

Raid Level: raid1

当前 RAID 级别为 RAID 1(镜像模式)。

Array Size: 524155904 (499.87 GiB 536.74 GB)

阵列的总容量为约 500 GiB,两个磁盘组成的 RAID 1 阵列,其有效容量为单个磁盘的容量。

Used Dev Size: 524155904 (499.87 GiB 536.74 GB)

每个设备的有效大小。

Raid Devices: 2

阵列中使用的 RAID 设备数为 2。

Total Devices: 2

当前阵列中总共有 2 个设备。

Persistence: Superblock is persistent

表示超级块是持久化的,这意味着 RAID 阵列的配置信息存储在阵列的每个成员磁盘中,可以在重启后自动恢复。

Intent Bitmap: Internal

使用了内部写意图位图(intent bitmap),用于跟踪同步状态,加快故障后的重建速度。

Update Time: Mon Oct 14 14:11:40 2024

阵列的最后更新时间。

State: clean, resyncing

RAID 阵列的状态是 “clean”,表示阵列是干净的且工作正常,但目前正在进行同步(resyncing)。

Active Devices / Working Devices: 2

当前有 2 个设备处于活跃且正常工作状态。

Failed Devices: 0

没有失败的设备。

Spare Devices: 0

没有备用设备。

Consistency Policy: bitmap

一致性策略是使用位图以加速同步和重建。

Resync Status: 31% complete

同步状态为 31% 完成。

Devices Details:

/dev/sdb 和 /dev/sdc 都处于 “active sync” 状态,这意味着它们都正常参与 RAID 同步。

8.创建文件系统(需同步完成后操作)

pdsyw@pdsyw-PC:~/Desktop$ sudo mkfs.ext4 /dev/md0

9.挂载 RAID 阵列

pdsyw@pdsyw-PC:~/Desktop$ sudo mkdir -p /mnt/raid1
pdsyw@pdsyw-PC:~/Desktop$ sudo mount /dev/md0 /mnt/raid1
pdsyw@pdsyw-PC:~/Desktop$ sudo chmod 777 /mnt/raid1/
pdsyw@pdsyw-PC:~/Desktop$ df -h

10.配置开机自动挂载

pdsyw@pdsyw-PC:~/Desktop$ sudo vim /etc/fstab 
pdsyw@pdsyw-PC:~/Desktop$ cat /etc/fstab 
/dev/md0    /mnt/raid1    ext4    rw,relatime,x-gvfs-show    0    0

11.保存 RAID 配置

pdsyw@pdsyw-PC:~/Desktop$ sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
pdsyw@pdsyw-PC:~/Desktop$ sudo update-initramfs -u

12.重启

13.打开磁盘

14.写入测试

15.添加磁盘

pdsyw@pdsyw-PC:~/Desktop$ lsblk 

16.添加磁盘到raid

pdsyw@pdsyw-PC:~/Desktop$ sudo mdadm --add /dev/md0 /dev/sdd 
mdadm: added /dev/sdd

17.保存RAID配置

pdsyw@pdsyw-PC:~/Desktop$ sudo sed -i '$d' /etc/mdadm/mdadm.conf
pdsyw@pdsyw-PC:~/Desktop$ sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
ARRAY /dev/md0 metadata=1.2 spares=1 name=pdsyw-PC:0 UUID=46ea30c8:cf312776:613f8677:9b6da3f9
pdsyw@pdsyw-PC:~/Desktop$ sudo update-initramfs -u

18.查看RAID详细信息

pdsyw@pdsyw-PC:~/Desktop$ sudo mdadm --detail /dev/md0

19.移除磁盘

pdsyw@pdsyw-PC:~/Desktop$ sudo mdadm --fail /dev/md0 /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
pdsyw@pdsyw-PC:~/Desktop$ sudo mdadm --remove /dev/md0 /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md0

20.保存RAID配置

pdsyw@pdsyw-PC:~/Desktop$ sudo sed -i '$d' /etc/mdadm/mdadm.conf
pdsyw@pdsyw-PC:~/Desktop$ sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
ARRAY /dev/md0 metadata=1.2 spares=1 name=pdsyw-PC:0 UUID=46ea30c8:cf312776:613f8677:9b6da3f9
pdsyw@pdsyw-PC:~/Desktop$ sudo update-initramfs -u

21.查看RAID详细信息

pdsyw@pdsyw-PC:~/Desktop$ sudo mdadm --detail /dev/md0

通过本文的介绍,您已经了解了如何使用mdadm工具在Linux上配置各种RAID级别。无论是提高性能的RAID 0,还是提供冗余的RAID 1、RAID 5、RAID 10,mdadm工具都可以灵活地帮助您实现高效可靠的数据存储。如果您觉得这篇文章有用,请分享和转发,同时别忘了点个关注和在看,以便未来获取更多实用的Linux系统管理技巧。感谢大家的阅读,我们下次再见!

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

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

相关文章

2012年国赛高教杯数学建模D题机器人避障问题解题全过程文档及程序

2012年国赛高教杯数学建模 D题 机器人避障问题 图1是一个800800的平面场景图,在原点O(0, 0)点处有一个机器人,它只能在该平面场景范围内活动。图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物,障碍物的数学描述如下表&#xff1a…

HTTPS证书生成、验签-、证书链

HTTPS证书申请原理 1、制作CSR文件 所谓CSR就是由申请人制作的Certificate Secure Request证书请求文件。制作过程中,系统会产生2个密钥,一个是公钥就是这个CSR文件,另外一个是私钥,存放在服务器上。要制作CSR文件,申…

提取图片内容的 Python 程序

🌈个人主页:易辰君-CSDN博客 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12813012.html 目录 前言 一、安装依赖 二、下载安装chi_sim.traineddata文件 三、代码示例 前言 要编写一个提取图片内容的 Python …

程序设计语言基础:语言处理程序

语言处理程序 1、汇编程序1.1 汇编语言1.2 汇编程序 2、编译程序2.1 编译过程2.2 词法分析2.3 语法分析 3、解释程序 语言处理程序是一类系统软件的总称,其主要作用是将高级语言或汇编语言编写的程序翻译成某种机器语言程序,使程序可在计算机上运行。语言…

JVM(HotSpot):GC之垃圾标记阶段

文章目录 前言一、标记阶段算法1、引用计数法2、可达性分析算法(JVM使用) 二、4种引用1、 强引用2、软引用(SoftReference)3、弱引用(WeakHashMap)4、虚引用(PhantomReference) 三、代码案例1、 强引用2、软引用(SoftReference)3、弱引用(WeakHashMap) 前…

如何恢复U盘里格式化数据?别慌,有带图详细步骤!

U盘,这个小巧的存储神器,我们几乎天天都在用。但有时候,一不小心手滑,U盘就被格式化了,里面的东西好像全没了,别急,其实数据恢复没那么难。这篇文章就来告诉你,怎么把格式化的U盘里的…

Harmony Navigation的使用

router已经不推荐使用了,推荐使用Navigation实现页面路由。那么下面就看看Navigation的具体使用步骤: 1、使用Navigation替换主入口页面,并设置NavPathStack,使用NavPathStack执行跳转的逻辑。 @Entry @Component struct Index {pathStack: NavPathStack = new NavPathS…

整理—Redis

目录 Redis底层的数据结构 ZSet用过吗 Zset 底层是怎么实现的 跳表是怎么实现的? Redis为什么使用跳表而不是用B树? 压缩列表是怎么实现的? Redis 中的 listpack 哈希表是怎么扩容的? String 是使用什么存储的 Redis为什么快&#xf…

c语言基础程序——经典100道实例。

c语言基础程序——经典100道实例 001, 组无重复数字的数002,企业发放的奖金根据利润提成003,完全平方数004,判断当天是这一年的第几天005,三个数由小到大输出006,输出字母C图案007,特殊图案008&…

Nginx(Linux):服务器版本升级和新增模块

目录 1、概述2、使用Nginx服务信号完成Nginx升级2.1 备份当前版本的Nginx2.2 向服务器导入新的Nginx2.3 向服务器导入新的Nginx2.4 停止老版本Nginx 3、使用Nginx安装目录的make命令完成升级3.1 备份当前版本的Nginx3.2 向服务器导入新的Nginx3.3 执行更新命令 1、概述 如果想…

cisp考试费用多少?

在网络安全领域,CISP(注册信息安全专业人员)认证备受关注。对于许多想要在这个领域深入发展的人来说,了解 CISP 考试费用是他们迈出的第一步。那么,CISP 考试费用究竟是多少呢? 一、CISP 认证的重要性与价值 (一)行业认可度高 CISP 是由中国…

计算机网络:数据链路层 —— 扩展共享式以太网

文章目录 共享式以太网共享式以太网存在的问题在物理层扩展以太网扩展站点与集线器之间的距离扩展共享式以太网的覆盖范围和站点数量 在链路层扩展以太网网桥的主要结构网桥的基本工作原理透明网桥自学习和转发帧生成树协议STP 共享式以太网 共享式以太网是当今局域网中广泛采…

道路垃圾识别数据集 含pt模型界面 18类 共7542张图片,xml和txt标签都有;

道路垃圾识别数据集 含pt模型&界面 18类 共7542张图片,xml和txt标签都有; YOLO道路垃圾识别系统 系统概述 名称:YOLO道路垃圾识别系统 图片数量:7542张标注格式:XML和TXT(支持YOLO格式)类…

智诊小助手TF卡记录文件导出

若想将TF卡中记录的数据文件导出可按以下的流程进行配置: 点击主界面中的导出选项即可进入到 下图中TF卡应用界面 点击TF卡应用界面中“查看记录文件”的选项,进入导出文件界面。 点击“选择”进入勾选文件的界面 点击“导出”后,点…

Android Studio 的 Gradle 任务列表只显示测试任务

问题现象如下: 问题原因: 这是因为Android Studio 设置中勾选了屏蔽其他gradle任务的选项。 解决方法: File -> Settings -> Experimental 取消勾选Only include test tasks in the Gradle task list generated during Gradle Sync&…

【Golang】Gin框架:Go语言中的轻量级Web框架

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

aws(学习笔记第六课) AWS的虚拟私有,共有子网以及ACL,定义公网碉堡主机子网以及varnish反向代理

aws(学习笔记第六课) AWS的虚拟私有,共有子网以及ACL,定义公网碉堡主机子网以及varnish反向代理 学习内容: AWS的虚拟私有,共有子网以及ACL定义公网碉堡主机子网,私有子网和共有子网以及varnish反向代理 1. AWS的虚拟…

springboot051医院管理系统(论文+源码)_kaic

医院管理系统 摘要 随着信息互联网信息的飞速发展,医院也在创建着属于自己的管理系统。本文介绍了医院管理系统的开发全过程。通过分析企业对于医院管理系统的需求,创建了一个计算机管理医院管理系统的方案。文章介绍了医院管理系统的系统分析部分&#…

Gitlab 完全卸载–亲测可行

1、停止gitlab gitlab-ctl stop2.卸载gitlab(注意这里写的是gitlab-ce) rpm -e gitlab-ce 3、查看gitlab进程 ps aux | grep gitlab 4、杀掉第一个进程(就是带有好多.............的进程) 5、删除所有包含gitlab文件 find / …

配置文件get调用为null

生成get方法调用显示为null 修改get方法去掉static调用成功