磁盘管理
1. 磁盘管理的基本介绍
磁盘管理是操作系统中用于配置和维护存储设备(如硬盘、SSD、RAID 等)的一套工具和方法。它包括对存储设备的分区、格式化、挂载、卷管理等操作,以确保数据可以被操作系统和用户正常访问和存储。
在 CentOS Stream 9 中,磁盘管理主要包括以下方面:
磁盘分区:
磁盘分区是将磁盘划分为多个逻辑区域,方便不同用途的数据存储。分区类型包括:
MBR(Master Boot Record):传统分区表,最多支持 4 个主分区,单个磁盘最大支持 2TB。
GPT(GUID Partition Table):现代分区表,支持更多分区和更大的磁盘容量。
常用工具:
fdisk:用于管理 MBR 分区表的工具。
gdisk:用于管理 GPT 分区表的工具。文件系统管理:
文件系统是存储数据的逻辑结构,常见文件系统包括:
Ext4:Linux 系统默认文件系统,稳定性和性能较好。
XFS:CentOS 默认文件系统,适用于大规模存储。
Btrfs:支持快照和压缩功能的新型文件系统。但是稳定性相对于XFS和Ext4较差,不建议在生产环境使用
相关命令:
mkfs:创建文件系统(格式化操作)(如 mkfs.ext4)。
blkid 和 lsblk:查看磁盘和分区的文件系统类型挂载和卸载【已学习】
挂载(Mount)是将磁盘或分区连接到操作系统的目录结构中,使其可用。
相关命令:
mount:手动挂载分区到目录。
umount:卸载已挂载的分区。
/etc/fstab:定义自动挂载的配置文件。逻辑卷管理(LVM)
逻辑卷管理是一种灵活的磁盘管理方式,适合动态调整磁盘容量的场景。
LVM 的基本概念:
PV(Physical Volume):物理卷,磁盘或分区的抽象。
VG(Volume Group):卷组,由一个或多个 PV 组成。
LV(Logical Volume):逻辑卷,可以创建文件系统并挂载。
相关命令:
pvcreate、vgcreate、lvcreate:分别创建 PV、VG 和 LV。
lvextend 和 lvreduce:扩展或缩小逻辑卷。RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)管理
RAID 是一种将多个物理硬盘组合成一个逻辑单元的技术,通过并行操作和冗余备份来提高数据的性能、可用性和容错能力。
包括有RAID0、RAID1、RAID5、RAID6、RAID10等2. 磁盘结构介绍
2.1 硬盘的逻辑结构
磁盘物理结构:

磁盘逻辑结构:

默认情况下,每个扇区的大小是固定的,为 512Byte。扇区也是磁盘的最小存储单位。
硬盘的大小是使用“磁头数×柱面数×扇区数×每个扇区的大小”这样的公式来计算的。其中磁头数(Heads)表示硬盘总共有几个磁盘,也可以理解成为硬盘有几个盘面,然后乘以二;柱面数(Cylinders)表示硬盘每一面盘片有几条磁道;扇区数(Sectors)表示每条磁道上有几个扇区;每个扇区的大小一般是 512Byte。
2.2 磁盘接口
磁盘的接口决定了它与主机(如计算机、服务器)之间的数据传输方式和性能
SATA(Serial ATA)接口
特点: 目前最常见的接口类型,适用于大部分消费级HDD(机械磁盘)和SSD(固态磁盘)。
传输速率:
SATA I:1.5 Gbps(理论最大 150 MB/s)
SATA II:3.0 Gbps(理论最大 300 MB/s)
SATA III:6.0 Gbps(理论最大 600 MB/s)
兼容性强,支持热插拔。
用途:
普通机械硬盘(HDD)
一些基于SATA协议的SSD(SATA SSD)
SAS(Serial Attached SCSI)接口
特点:
主要用于企业级存储设备,性能和可靠性优于SATA。
支持双端口、热插拔,适合高负载环境。
传输速率:
SAS 1.0:3.0 Gbps。
SAS 2.0:6.0 Gbps。
SAS 3.0:12.0 Gbps。
用途:
数据中心和服务器的机械硬盘和企业级SSD
3 NVMe接口
特点:专为SSD设计,利用PCIe总线直接连接CPU。传输速率比SATA快很多:
PCIe 3.0 x4:理论最大 32 Gbps(约 4 GB/s)。
PCIe 4.0 x4:理论最大 64 Gbps(约 8 GB/s)。
PCIe 5.0 x4:理论最大 128 Gbps(约 16 GB/s)。
更低的延迟和更高的并发性能。
用途:
高性能固态硬盘(NVMe SSD),广泛用于高端PC、服务器和数据中心。
4- IDE(Integrated Drive Electronics)接口(过时)
特点:
一种老式的并行接口,也称为PATA(Parallel ATA)。
数据速率较低,最大为 133 MB/s。
已被SATA完全取代。
用途:
早期的机械硬盘和光驱。
3. 文件系统
文件系统的主要作用是将存储设备(如硬盘、SSD)上的物理空间组织为逻辑单元,提供数据存储、检索和管理的标准方法。一般文件系统主要由超级块(Superblock)、inode、数据块、目录结构构成的
超级块(Superblock):记录文件系统的元信息(如大小、类型)
inode:存储文件的元数据(如大小、权限)
数据块:实际存储文件内容的地方
目录结构:用于组织和索引文件常见文件系统的对比:
重点说明:
Ext4 和 XFS 是 CentOS 中最常用的文件系统。Ext4 是通用选择,XFS 在高性能和大规模存储中更优。
Btrfs 和 ZFS 提供丰富的高级功能,但相对复杂,适用于特定应用场景。
F2FS 对于闪存设备(如 SSD)提供了优化。
NTFS 和 VFAT 是跨平台场景下的选择,但 Linux 中性能或功能有限。
实践建议:
生产环境:选择 Ext4或 XFS(大文件/高性能)。
高级需求:尝试 Btrfs 或 ZFS。
跨平台:使用 NTFS 或 VFAT。4. 常用的磁盘管理命令
1- df命令
df [选项]
# -a 显示特殊文件系统,这些文件系统几乎都是保存在内存中的。如/proc,因为是挂载在内存中,所以占用量都是 0
# -h 单位不再只用 KB,而是换算成习惯单位
# -T 多出了文件系统类型一列
常用组合: df -h
2- du命令
du [选项] [目录或文件名]
选项:
-a 显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
-h 使用习惯单位显示磁盘占用量,如 KB,MB或 GB等
-s 统计总占用量,而不列出子目录和子文件的占用量
常用组合: du -sh 目录或文件名
du与 df的区别:
du是用于统计文件大小的,统计的文件大小是准确的;
df是用于统计空间大小的,统计的剩余空间是准确的
3- 列出块设备的树状结构,包括磁盘、分区、挂载点:
lsblk
4- 查看分区的 UUID 和文件系统类型
blkid [设备名称]
5. 磁盘分区操作
Linux系统中有两种常见的分区表 MBR分区表(主引导记录分区表)和 GPT分区表(GUID分区表)
其中关于MBR的分区方式,我们在前序的课程中已经实践过了,这里仅简单回顾
使用 fdisk 管理 MBR 分区
fdisk 设备名称
输入后进入交互式界面:
按 n 创建新分区。
选择 主分区(primary)。
按提示输入分区号和起始/结束扇区(默认即可)。
按 w 保存并退出。
查看分区
lsblk 设备名称5.1 GPT分区实操
GPT分区实操[node3实操]:
前置操作: 首先在node3关机的状态下, 挂载一个新磁盘, 磁盘大小为20GB
1- 确认磁盘信息:
使用以下命令查看系统中可用磁盘:
lsblk
2- 进入GPT交互窗口:parted 设备名称
格式:
parted 设备名称
示例:
parted /dev/nvme0n2
进入交互式命令后:
2.1 创建GPT分区表
mklabel gpt
注意:
mklabel后面指定的分区表的类型, 在Linux主要使用gpt或者msdos,gpt表示采用GPT方式来设置分区
如果设置分区表类型为 msdos 表示依然使用MBR的方式来进行分区方案2.2 创建一个新分区
# 创建一个分区
mkpart primary xfs 1MiB 100%
说明:
mkpart: parted 的命令,用于创建一个新分区。
primary: 指定分区类型为主分区(适用于 GPT,GPT 中主分区和扩展分区的概念已弱化)。
xfs: 指定分区使用的文件系统类型(仅作为标记,实际格式化需另行操作)。可以省略
1MiB: 指定分区起始位置,单位为 MiB(兆字节)。通常会从 1MiB 开始分区,这是为了确保分区的起始位置不与磁盘的 保护性MBR(主引导记录)和 对齐要求 相冲突
100%: 指定分区结束位置,占用整个磁盘剩余空间(100% 表示从起始位置到磁盘尾部)。
如何设置多个呢?例如 5个分区
mkpart primary xfs 1MiB 20%
mkpart primary xfs 20% 40%
mkpart primary xfs 40% 60%
mkpart primary xfs 60% 80%
mkpart primary xfs 80% 100%
或者也可以采用 GB的方式
mkpart primary xfs 1MiB 4GiB
mkpart primary xfs 4GiB 8GiB
mkpart primary xfs 8GiB 12GiB
mkpart primary xfs 12GiB 16GiB
mkpart primary xfs 16GiB 100%2.3 打印分区信息
print
2.4 退出 parted
quit3- 打印分区信息:
lsblk
后续的格式化、挂载操作均和之前讲解格式化和挂载是一致的
注意:
在实际工作中,推荐优先选择 GPT,除非存在兼容性问题或特殊需求。
parted中所有的操作都是立即生效,没有保存生效的概念。这点和 fdisk交互命令明显不同
基于gdisk分区方式【了解 可以不演示】:
1- 第一步: 下载gdisk工具
dnf -y install gdisk2- 基于gdisk完成GPT的分区
gdisk 设备路径
执行后, 就进入gdisk交互窗口了
进入后,常用操作:
p: 查看分区信息
n: 增加新的分区
分别设置分区的 开始 和 结束 范围 【与fdisk类似的】
w: 保存退出
q: 不保存退出
d: 删除分区5.2 设置交换内存
如何设置交换内存:
在 Linux 系统中,swap 分区用于扩展系统的虚拟内存,它是物理内存不足时用来存储临时数据的一种区域。设置 swap 分区可以帮助系统在内存压力较大的情况下提高稳定性。
1- 确认磁盘信息:
使用以下命令查看系统中可用磁盘:
lsblk
如果该磁盘已经被GPT或者MBR分区全部占用了, 请先释放出一部分的磁盘空间
2- 进入GPT交互窗口:parted 设备名称
parted /dev/nvme0n2
进入交互式命令后:
2.1 创建GPT分区表
mklabel gpt
注意:
mklabel后面指定的分区表的类型, 在Linux主要使用gpt或者msdos,gpt表示采用GPT方式来设置分区
如果设置分区表类型为 msdos 表示依然使用MBR的方式来进行分区方案2.2 创建swap分区: 假设你想创建一个大小为 4GB 的 swap 分区
mkpart primary linux-swap 1MiB 4GiB
# 注意:此时设置linux-swap 文件系统类型, 仅仅是一个标记, 最终还得要格式化来处理2.3 打印分区信息:

2.4 退出parted
quit
退出后, 查看分区信息
3- 格式化分区为swap
使用 mkswap 命令格式化分区为 swap 文件系统
mkswap /dev/nvme0n2p1
注意:只有格式化操作才是真正的将磁盘对应的分区变更为指定的文件系统
4- 启用swap分区
swapon /dev/nvme0n2p1
思考:后续如果想要关闭该交换空间?
swapoff /dev/nvme0n2p1
关闭后, 即可将该分区删除了, 后续就可以创建新的分区, 设置为普通磁盘空间
5- 可选: 添加到 /etc/fstab 文件中(永久保存)
vi /etc/fstab
添加以下内容:
/dev/nvme0n2p1 none swap sw 0 0
参数说明:
/dev/nvme0n2p1:指向你创建的 swap 分区。
none:挂载点,swap 分区不需要挂载到文件系统中,所以此处为 none。
swap:指定该分区是 swap 类型。
sw:挂载选项,表示启用 swap 分区。
0:备份选项。
0:文件系统检查顺序。
最后,记得mount -a 检查下此时通过firee命令查看, 发现交换空间变大了

总结说明:
对于磁盘使用这件事来说, 核心部分: 添加磁盘 --> 磁盘分区 --> 磁盘分区格式化 --> 磁盘挂载使用
添加磁盘: 对于物理机来说, 插入一块新硬盘
磁盘分区: 将磁盘划为一个个逻辑区域, 用于存储, 这部分理解为在windows中对于一块磁盘可以分为C盘 D盘 E盘
两种方式: MBR GPT 都可以实现对我们磁盘进行分区操作, 只不过分区数量\支持文件大小有所不同而已
推荐使用分区方案:GPT
注意: 不管未来这个磁盘是作为普通存储盘 还是作为 交换空间, 此部分基本没有任何区别
磁盘分区格式化: 决定这块分区最终使用什么文件系统来进行后续的数据存储工作
需要ext4文件系统: mkfs.ext4 分区设备名称
需要xfs文件系统: mkfs.xfs 分区设备名称
需要交换空间系统: mkswap 分区设置名称
磁盘挂载使用:
如果不是交换空间, 统一使用mount和umount 对磁盘完成挂载和取消挂载操作
如果该磁盘是一个交换空间, 统一使用 swapon 和 swapoff 完成对磁盘的挂载(开启)和取消挂载(关闭)操作
注意: mount和umount 或 swapon 和 swapoff 都是临时的挂载 一旦重启就没了
如果想要永久的挂载, 就需要编辑:/etc/fstab 文件
ext4或xfs:
/dev/mapper/cs-root / xfs defaults 0 0
格式说明:
这表示系统启动时会自动挂载 `/dev/mapper/cs-root` 到 `/`,使用 `xfs` 文件系统。
/dev/mapper/cs-root:设备名称。
/:挂载点目录。
xfs:文件系统类型。
defaults:挂载选项(默认设置:读写模式、同步、允许执行文件等)。
0 0:
第一位 0:是否需要转储备份,通常设置为 0。
第二位 0:是否检查文件系统,0 表示不检查,1 表示优先检查根文件系统,2 表示检查其他文件系统。
交换空间:
/dev/mapper/cs-swap none swap defaults 0 0
参数说明:
/dev/mapper/cs-swap:指向你创建的 swap 分区。
none:挂载点,swap 分区不需要挂载到文件系统中,所以此处为 none。
swap:指定该分区是 swap 类型。
sw:挂载选项,表示启用 swap 分区。 或者可以 defaults
0:备份选项。
0:文件系统检查顺序。
6. LVM逻辑卷管理
6.1 LVM的基本介绍
LVM是 Logical Volume Manager的简称,中文就是逻辑卷管理,是一种强大的磁盘管理工具。
它提供了更高的灵活性来管理磁盘空间。通过 LVM,可以对磁盘进行更灵活的分区、扩展、缩小等操作,而不需要对文件系统进行复杂的操作。LVM 是基于物理卷(Physical Volume,PV)、卷组(Volume Group,VG)和逻辑卷(Logical Volume,LV)的结构进行管理的。
可以把它看作是一个 智能的硬盘分区工具,它允许你更加灵活地管理硬盘空间。LVM 允许你将多个硬盘或硬盘分区合并成一个大的虚拟硬盘,还可以随时调整硬盘大小,比如扩展或缩小硬盘,不需要重新格式化
LVM的基本组成部分
物理卷(PV): 将磁盘纳入给LVM进行管理
物理卷是 LVM 管理的基础,它是硬盘、分区或 RAID 的基本单位。通过 pvcreate 命令创建物理卷。
例如,如果你有一个硬盘 /dev/sdb,你可以将它变成一个物理卷(PV)
卷组(VG):
卷组是由一个或多个物理卷组成的逻辑单元。它将多个物理卷的空间合并为一个池,提供给逻辑卷使用。通过 vgcreate 命令创建卷组。
逻辑卷(LV):
逻辑卷是用户创建和使用的卷,相当于传统分区的功能。它通过卷组的空间来创建,支持动态扩展或缩小。通过 lvcreate 命令创建逻辑卷。LVM 的优势
灵活性:可以动态扩展和缩小逻辑卷。
简化管理:LVM 将多个物理卷整合到一个卷组中,简化了磁盘管理。
快照功能:可以为逻辑卷创建快照,方便备份。
分区整合:可以将多个物理卷合并为一个卷组,提供统一的磁盘管理。

6.2 LVM的基本使用
假设有三块硬盘,想将它们结合起来并创建一个大存储空间来存储文件。通过 LVM,你可以把这三块硬盘当作一个大硬盘来使用。
1- 在VMware中,针对node3 额外构建三台磁盘, 每块磁盘的大小为20GB 20GB 30GB


2- 创建物理卷(PV): 首先,需要把每块硬盘变成物理卷。
pvcreate /dev/nvme0n3 /dev/nvme0n4 /dev/nvme0n5
注意说明:
这里是直接针对整个磁盘设置为物理卷, 当然,如果你希望针对某个磁盘中的某个分区也是被支持的.
通常的做法是直接使用整体磁盘
3- 创建卷组(VG): 然后将这些物理卷合并成一个卷组
vgcreate vg_data /dev/nvme0n3 /dev/nvme0n4 /dev/nvme0n5
vg_data: 卷组的名称,可以自定义
4- 创建逻辑卷(LV): 在卷组
vg_data中创建一个逻辑卷。这就相当于在一个大的虚拟硬盘中创建了一个小的分区。
lvcreate -L 50G -n lv_data vg_data
50G 是逻辑卷的大小,lv_data 是逻辑卷的名字。
5- 格式化并挂载: 最后需要格式化逻辑卷,并挂载到系统中使用。
# 格式化操作:
mkfs.xfs /dev/vg_data/lv_data
# 创建挂载的目录位置
mkdir -p /mnt/data
# 执行挂载
mount /dev/vg_data/lv_data /mnt/data
LVM 就是通过将硬盘“虚拟化”,让你更灵活地管理磁盘空间。它不像传统的硬盘分区那样死板,你可以轻松地调整磁盘空间,甚至可以将多个硬盘合并成一个大的存储池来使用。通过简单的命令,你可以扩展、缩小或管理存储空间。6.3 LVM的其他操作
1- 扩展卷组:
在构建物理卷(PV)后,还有剩余空间未划分为卷组,你可以随时向现有的卷组中添加新的物理卷,扩展卷组的空间。
步骤一: 确保新的磁盘或分区已经被创建并初始化为物理卷(PV)
pvcreate 设备名称
步骤二: 使用 vgextend 命令将新的物理卷添加到现有的卷组中
vgextend 现有卷组名称 设备名称
步骤三:即可查看卷组空间
vgdisplay 卷组空间
2- 扩展逻辑卷(LV)
可以增加某个逻辑卷(LV)的大小,以便使用更多的存储空间。
lvextend -L +10G /dev/vg_data/lv_data
# 使用 lvextend 命令来扩展逻辑卷。假设你要将逻辑卷 lv_data 扩展 10GB

扩展后,需要重新调整文件系统的大小,才能真正使用新增的空间。
如果是 xfs 文件系统,使用 xfs_growfs 命令:
xfs_growfs /dev/vg_data/lv_data
如果是 ext4 文件系统,使用 resize2fs 命令:
resize2fs /dev/vg_data/lv_data
3- 移除物理卷
如果你不再需要某个物理卷,可以将其从卷组中移除。
1- 在移除物理卷之前,必须确保该物理卷上的数据已被迁移到其他物理卷。可以使用 pvmove 命令将数据迁移到其他物理卷:
例如: pvmove /dev/nvme0n3
# 注意: 该操作会将/dev/nvme0n3物理卷的数据迁移到该物理卷所属的卷组的其他物理卷中
2- 然后,使用 vgreduce 命令从卷组中移除物理卷:
vgreduce vg_data /dev/nvme0n3
3- 最后,使用 pvremove 命令删除物理卷:
pvremove /dev/nvme0n34- 快照
LVM 还支持创建逻辑卷的快照(Snapshot),可以用来备份当前状态或测试环境。快照会保存当前逻辑卷的只读副本。
创建快照:
lvcreate -L 1G -s -n lv_data_snapshot /dev/vg_data/lv_data
-L 1G:指定快照的大小为 1GB。
-s:表示创建快照。
-n lv_snapshot:指定快照的名称。
/dev/vg_data/lv_data:指定要创建快照的原始逻辑卷。
这个命令将创建一个名为 lv_data_snapshot 的快照,大小为 1GB。你可以对这个快照进行操作,确保原始数据不受影响。
查看快照: 创建快照后,可以使用 lvdisplay 查看逻辑卷和快照的状态:
lvdisplay /dev/vg_data/lv_snapshot
删除快照: 使用快照完成操作后,可以通过 lvremove 命令删除快照:
lvremove /dev/vg_data/lv_snapshot
扩展快照: 如果快照大小不足以保存所有增量数据,你可以扩展快照的大小:
lvextend -L +1G /dev/vg_data/lv_snapshot
恢复到快照: 如果你需要恢复到快照的状态,可以将原始逻辑卷恢复到快照的数据。假设你要恢复到 /dev/vg_data/lv_snapshot 快照:
lvconvert --merge /dev/vg_data/lv_snapshot7. RAID相关内容
RAID 是一种将多个物理磁盘合并为一个逻辑磁盘的方法。它通过不同的配置来提高磁盘的性能、容错性、冗余等。RAID 的主要目标是提升系统性能和数据的可靠性。

不同的RAID处理方式, 我们称为RAID的级别, 而级别主要由: RAID0、RAID1、RAID5、RAID10......
7.1 RAID的级别
RAID 有多个不同的级别,每个级别有其独特的优势和应用场景。常见的 RAID 级别包括:
RAID 0(条带化):将数据分散到多个硬盘上,提高读写性能,但没有冗余,任一硬盘故障会导致数据丢失。
RAID 1(镜像):将数据完整地复制到两个硬盘上,提供冗余性,保证数据安全,但性能提升有限。
RAID 5(带奇偶校验的条带化):通过在硬盘中存储奇偶校验数据,提供容错能力。通常至少需要三个硬盘。
RAID 10(1+0,镜像+条带化):结合了 RAID 1 和 RAID 0 的优点,提供性能和冗余性,但需要至少四个硬盘。


7.2 软RAID和硬RAID
硬件 RAID:由专用的 RAID 控制卡处理,性能和管理通常较好,但成本较高。硬件 RAID 会在硬件层面上处理数据的冗余和校验。
软件 RAID:由操作系统控制,无需额外硬件。通常性能稍差,但成本低,配置和管理较为灵活,适合大多数应用场景。
7.3 RAID实战【记录为主】
1- 查看当前磁盘情况:
lsblk
2- 安装用于RAID的工具
可以使用 mdadm 工具创建软件 RAID,首先安装 mdadm
dnf -y install mdadm3- 创建RAID 1 示例: 如果想要创建 RAID 1,可以使用如下命令
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/nvme0n3 /dev/nvme0n4
选项:
mdadm 是用于管理 Linux 软件 RAID 阵列的命令行工具。它用于创建、管理和监视 RAID 阵列。
--create 参数告诉 mdadm 创建一个新的 RAID 阵列。
/dev/md0 是创建的 RAID 阵列的设备文件名。在 Linux 中,RAID 阵列被识别为 /dev/mdX(其中 X 是 RAID 阵列的编号)。在这个例子中,md0 表示第一个 RAID 阵列。
--level=1 指定 RAID 的级别为 RAID 1,即镜像。RAID 1 会将数据同时写入到两个硬盘上,实现数据冗余(即两个磁盘上的数据完全相同)。如果一个磁盘发生故障,另一个磁盘的数据依然可用。
--raid-devices=2 表示 RAID 阵列中包含两个磁盘。RAID 1 需要至少两个磁盘,因此这里指定了两个磁盘 /dev/sdb 和 /dev/sdc。
/dev/nvme0n3 /dev/nvme0n4 这两个是要加入 RAI1 阵列的物理磁盘设备文件。在这个例子中,/dev/sdb 和 /dev/sdc 是两个物理硬盘,你希望它们一起组成 RAID 1 阵列。
4- 配置 RAID 启动: 为了确保 RAID 配置在系统重启后仍然有效,需要将 RAID 配置写入配置文件:
mdadm --detail --scan --verbose >> /etc/mdadm.conf
dracut --force
dracut --force: 一个用于重新生成 initramfs(初始内存文件系统)的命令。initramfs 是一个临时的根文件系统,用于在 Linux 内核启动时加载必要的驱动程序和工具,以便挂载真正的根文件系统。扩展, 如果需要清除阵列
停止 RAID 阵列
首先,你需要停止 RAID 阵列。在删除阵列之前,确保其已经停止运行。
mdadm --stop /dev/md0这会停止名为 /dev/md0 的 RAID 阵列。如果使用的是其他设备名称(例如 /dev/md1),请相应地更改命令中的设备名称。
删除 RAID 阵列
接下来,可以删除 RAID 阵列。使用以下命令来删除它:
mdadm --remove /dev/md0这会从系统中删除 /dev/md0 阵列。如果使用的是其他设备名称,请更改命令中的设备名称。
清除 RAID 配置文件
如果你曾将 RAID 配置信息写入了 /etc/mdadm.conf 文件,可以手动清除其中相关的条目。如果文件存在,删除包含 RAID 阵列信息的行或直接删除该文件。
rm /etc/mdadm.conf清除磁盘上的 RAID 元数据
RAID 阵列中的磁盘通常会保存元数据来标识它们属于 RAID 阵列。如果你打算重新使用这些磁盘或将其从 RAID 阵列中删除,可以清除这些元数据。你可以使用 mdadm 的 --zero-superblock 命令来清除元数据。
例如,清除 /dev/nvme0n3 和 /dev/nvme0n4 上的 RAID 元数据:
mdadm --zero-superblock /dev/nvme0n3
mdadm --zero-superblock /dev/nvme0n4这将清除磁盘上的 RAID 配置信息,确保它们不再被认为是 RAID 阵列的一部分。
更新 initramfs
如果你修改了 RAID 配置,尤其是清除了阵列,建议更新 initramfs 以确保系统启动时没有 RAID 配置遗留的问题。可以使用 dracut 命令来更新 initramfs:
dracut --force检查阵列状态
使用以下命令确认 RAID 阵列已成功删除:
mdadm --detail --scan此命令不应显示已删除的 RAID 阵列。