【命令操作】Linux上通过mdadm配置软RAID|统信|麒...

鹏大搞运维 2024-10-18 12:48:55

原文链接:

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/sdcmdadm: 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.90mdadm: size set to 524155904Kmdadm: automatically enabling write-intent bitmap on large arrayContinue creating array? ymdadm: Defaulting to version 1.2 metadatamdadm: 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/raid1pdsyw@pdsyw-PC:~/Desktop$ sudo mount /dev/md0 /mnt/raid1pdsyw@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.confpdsyw@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.confpdsyw@pdsyw-PC:~/Desktop$ sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.confARRAY /dev/md0 metadata=1.2 spares=1 name=pdsyw-PC:0 UUID=46ea30c8:cf312776:613f8677:9b6da3f9pdsyw@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/sdbmdadm: set /dev/sdb faulty in /dev/md0pdsyw@pdsyw-PC:~/Desktop$ sudo mdadm --remove /dev/md0 /dev/sdbmdadm: hot removed /dev/sdb from /dev/md0

20.保存RAID配置

pdsyw@pdsyw-PC:~/Desktop$ sudo sed -i '$d' /etc/mdadm/mdadm.confpdsyw@pdsyw-PC:~/Desktop$ sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.confARRAY /dev/md0 metadata=1.2 spares=1 name=pdsyw-PC:0 UUID=46ea30c8:cf312776:613f8677:9b6da3f9pdsyw@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系统管理技巧。感谢大家的阅读,我们下次再见!

0 阅读:0

鹏大搞运维

简介:感谢大家的关注