阶段五:磁盘管理

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 的基本概念:

PV(Physical Volume):物理卷,磁盘或分区的抽象。
VG(Volume Group):卷组,由一个或多个 PV 组成。
LV(Logical Volume):逻辑卷,可以创建文件系统并挂载。

相关命令:
pvcreate、vgcreate、lvcreate:分别创建 PV、VG 和 LV。
lvextend 和 lvreduce:扩展或缩小逻辑卷。

注意事项:

RAID 是一种将多个物理硬盘组合成一个逻辑单元的技术,通过并行操作和冗余备份来提高数据的性能、可用性和容错能力。

包括有RAID0、RAID1、RAID5、RAID6、RAID10等

注意事项:

2. 磁盘结构介绍

2.1 硬盘的逻辑结构

磁盘物理结构:

image

磁盘逻辑结构:

image

默认情况下,每个扇区的大小是固定的,为 512Byte。扇区也是磁盘的最小存贮单位。

硬盘的大小是使用“磁头数×柱面数×扇区数×每个扇区的大小”这样的公式来计算的。其中磁头数(Heads)表示硬盘总共有几个磁盘,也可以理解成为硬盘有几个盘面,然后乘以二;柱面数(Cylinders)表示硬盘每一面盘片有几条磁道;扇区数(Sectors)表示每条磁道上有几个扇区;每个扇区的大小一般是 512Byte。

2.2 磁盘接口

磁盘的接口决定了它与主机(如计算机、服务器)之间的数据传输方式和性能

特点: 目前最常见的接口类型,适用于大部分消费级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)

注意事项:

特点:
    主要用于企业级存储设备,性能和可靠性优于SATA。
    支持双端口、热插拔,适合高负载环境。
传输速率:
    SAS 1.0:3.0 Gbps。
    SAS 2.0:6.0 Gbps。
    SAS 3.0:12.0 Gbps。
用途:
        数据中心和服务器的机械硬盘和企业级SSD

注意事项:

特点:专为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、服务器和数据中心。

注意事项:

特点:
    一种老式的并行接口,也称为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. 常用的磁盘管理命令

df [选项]

# -a 显示特殊文件系统,这些文件系统几乎都是保存在内存中的。如/proc,因为是挂载在内存中,所以占用量都是 0
# -h 单位不再只用 KB,而是换算成习惯单位
# -T 多出了文件系统类型一列

常用组合: df -h

注意事项:

du [选项] [目录或文件名]

选项:
    -a 显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
    -h 使用习惯单位显示磁盘占用量,如 KB,MB或 GB等
    -s 统计总占用量,而不列出子目录和子文件的占用量
常用组合: du -sh 目录或文件名

du与 df的区别:
    du是用于统计文件大小的,统计的文件大小是准确的;
    df是用于统计空间大小的,统计的剩余空间是准确的

注意事项:

lsblk

注意事项:

blkid [设备名称]

注意事项:

  挂载命令的基本格式为:
  
  mount <设备> <挂载点>
  
  示例: 挂载硬盘分区 /dev/sda1 到 /mnt 目录
  mount /dev/sda1 /mnt

注意事项:

  可以使用 -t 选项指定文件系统类型(如 ext4、xfs、ntfs 等)。如果未指定类型,系统会自动检测。
  
  挂载一个 NTFS 格式的设备:
  mount -t ntfs /dev/sdb1 /mnt

注意事项:

  可以使用-o来设置来控制挂载的行为,如 ro(只读)、rw(读写)、noexec(禁止执行)、user(允许普通用户挂载)等。
  
  挂载为只读模式:
  mount -o ro /dev/sda1 /mnt
  使用用户选项挂载(允许普通用户挂载):
  mount -o user /dev/sda1 /mnt

注意事项:


**注意事项:**

- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。

使用 umount 命令卸载设备。需要指定挂载点或设备。

示例: 卸载 /mnt 目录上的设备:
umount /mnt

注意事项:

5. 磁盘分区操作

Linux系统中有两种常见的分区表 MBR分区表(主引导记录分区表)和 GPT分区表(GUID分区表)

属性MBRGPT
引入时间1983 年,引入于 IBM PC DOS 2.0。2000 年,由 Intel 引入,用于替代 MBR。
最大支持容量单磁盘最大 2TB。理论上支持 8ZB(Zettabyte),实践中远大于 2TB。
最大分区数4 个主分区,或 3 个主分区 + 1 个扩展分区(扩展分区内可以有逻辑分区)。无限制(常见实现中最多支持 128 个分区)。
启动支持仅支持 BIOS 系统引导。支持 BIOS 和 UEFI 系统引导。
数据安全性分区表无冗余备份,分区表损坏可能导致数据丢失。分区表有多个备份,支持 CRC 校验,数据更安全。
兼容性兼容性高,适用于旧操作系统。与现代操作系统兼容,适合新设备。

5.1 MGR分区实操【了解】

建议: 挂载操作建议重新克隆一台新的服务器来学习, 如果服务器损坏了, 直接删除重新再克隆即可

5.1.1. 在VMware中增加一块磁盘

image
image
image
image
image
image

5.1.2. 挂载

步骤一: 插入新磁盘后,首先用以下命令查看磁盘信息:

lsblk

如果没有看到新磁盘,运行以下命令重新扫描:
echo "- - -" > /sys/class/scsi_host/host0/scan

注意事项:

fdisk /dev/nvme0n2

# /dev 是设备存储位置

注意事项:

mkfs.ext4 是一个用来格式化分区为 EXT4 文件系统 的命令。EXT4(第四代扩展文件系统)是 Linux 系统中使用最广泛的文件系统类型,兼具性能、可靠性和兼容性,适用于大多数场景。

XFS 是一种高性能的日志文件系统,广泛用于企业级场景,特别是对大文件和高并发 I/O 的处理有明显优势。它是 CentOS Stream 9 等现代 Linux 发行版的默认文件系统类型

注意事项:

例如:  将磁盘挂载到/mnt/data 目录下
mkdir -p /mnt/data

命令作用:

执行结果:

关键参数:

参数说明
-p核心递归创建目录;父目录不存在时一并创建,目录已经存在也不报错。

注意事项:




---


方式一:基于UUID进行挂载

注意事项:

添加:


**注意事项:**

注意事项:


**注意事项:**


添加:

注意事项:

示例:

说明:


**注意事项:**

注意事项:

GPT分区实操[node3实操]:

使用以下命令查看系统中可用磁盘:


**注意事项:**

格式:
示例:

注意事项:

注意:


**注意事项:**


说明:

注意事项:


**注意事项:**

注意事项:


**注意事项:**

注意事项:

进入后,常用操作:


**注意事项:**



如何设置交换内存:



使用以下命令查看系统中可用磁盘:

注意事项:


**注意事项:**


注意: 

注意事项:


**注意事项:**

注意事项:

注意:只有格式化操作才是真正的将磁盘对应的分区变更为指定的文件系统


**注意事项:**


思考:后续如果想要关闭该交换空间?

注意事项:

添加以下内容:

参数说明: 0:备份选项。 0:文件系统检查顺序。


**注意事项:**



    推荐使用分区方案:GPT



磁盘挂载使用:



ext4或xfs:    

格式说明:

/dev/mapper/cs-root:设备名称。
/:挂载点目录。
xfs:文件系统类型。
defaults:挂载选项(默认设置:读写模式、同步、允许执行文件等)。

交换空间:
参数说明:
0:备份选项。
0:文件系统检查顺序。

注意事项:

LVM的基本组成部分

卷组(VG):

逻辑卷(LV):


**注意事项:**





![](/assets/feishu-images/3f9bdcd98c58d035801a2b41.png)

![](/assets/feishu-images/b0df0a0fb5e49c289a03de31.png)



注意说明:
    通常的做法是直接使用整体磁盘

注意事项:


**注意事项:**
image

**注意事项:**

注意事项:

步骤三:即可查看卷组空间


**注意事项:**

注意事项:

扩展后,需要重新调整文件系统的大小,才能真正使用新增的空间。


**注意事项:**

注意事项:

创建快照:

-s:表示创建快照。 /dev/vg_data/lv_data:指定要创建快照的原始逻辑卷。


**注意事项:**




![](/assets/feishu-images/79ae528320e9b54785082750.png)





![](/assets/feishu-images/9cbacff4d5dcbfaabf604ef2.png)


![](/assets/feishu-images/e45cca6e5e1593374dbf5d29.png)




注意事项:


**注意事项:**


选项:

注意事项:


**注意事项:**

注意事项:


**注意事项:**

注意事项:


**注意事项:**

注意事项:


**注意事项:**



本文由飞书云文档同步生成。涉及命令、SQL、配置示例时,请以飞书源文档和实际环境执行结果为准。