### [Linux系统扩容分区及文件系统](https://blog.cikcc.com/article/277) **Published:** 2026-10-05T16:21:11 **Author:** Cik **Excerpt:** 如果待扩容云盘不存在分区,则无需扩容分区,可直接扩容文件系统。示例中数据盘vdb不存在分区,无需扩容分区 ### **扩容分区** - 运行`sudo lsblk`,确认待扩容云盘设备名称及分区编号 ```bash $ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 50G 0 disk ├─vda1 253:1 0 2M 0 part ├─vda2 253:2 0 200M 0 part /boot/efi └─vda3 253:3 0 39.8G 0 part / vdb 253:16 0 40G 0 disk /data ``` - 如果待扩容云盘不存在分区,则无需扩容分区,可直接扩容文件系统。示例中数据盘`vdb`不存在分区,无需扩容分区 - 如果待扩容云盘容量大于分区总容量,需要扩容分区。示例中系统盘`vda`容量为50GiB,存在三个分区,分区总容量为40GiB,需对最后一个编号为3的分区vda3扩容。 `注:仅支持对单块云盘的最后一个分区扩容。` 常用设备命名及分区格式如下: | 设备类型 | 设备名称 | 分区编号 | | --- | --- | --- | | 非NVMe协议云盘 | 格式为vd\[a-z\],如vda(系统盘),vdb,vdc等,适用于大多数云盘和本地盘设备。 | 格式为vd\[a-z\]<分区编号>,如vda3分区编号为3。 | | NVMe协议云盘 | 格式为nvmeXn1,如nvme0n1,nvme1n1,nvme2n1等。 | 格式为nvmeXn1p<分区编号>,如nvme0n1p1分区编号为1。 | - 执行分区扩容指令 将命令中的`<设备名称>`与`<分区编号>`调整为上面获取到的设备名称与分区编号后执行命令。 注:`设备名称和分区编号之间有空格`。命令中的`LC_ALL=en_US.UTF-8`是用于适配中文系统编码的环境变量,当回执内容中包含关键字`CHANGED`,表示指令执行成功 ```bash sudo LC_ALL=en_US.UTF-8 growpart /dev/<设备名称> <分区编号> ``` - 校验分区扩容结果。 运行`sudo lsblk`命令,若分区总量等于设备容量,示例中设备`vda`容量大小与分区总量都为50GiB,表明分区扩容完成。接下来需要扩容文件系统,才能使新增空间可用。 ```bash $ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 50G 0 disk ├─vda1 253:1 0 2M 0 part ├─vda2 253:2 0 200M 0 part /boot/efi └─vda3 253:3 0 49.8G 0 part / vdb 253:16 0 40G 0 disk /data ``` ### **扩容文件系统** - 运行命令sudo lsblk -f,记录待扩容云盘的目标设备名称、文件系统类型和挂载目录,后续执行扩容文件系统指令时需要使用。 ```bash $ sudo lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT vda ├─vda1 ├─vda2 vfat 7938-FA03 /boot/efi └─vda3 ext4 root 33b46ac5-7482-4aa5-8de0-60ab4c3a4c78 / vdb ext4 3d7a3861-da22-484e-bbf4-b09375894b4f /data ``` - 如果设备存在分区,目标设备名称为最后一个分区名称。示例中系统盘`vda`目标设备名称为`vda3`,文件系统类型为`ext4`,挂载目录为`/`。 - 如果设备不存在分区,目标设备名称与设备名称一致。示例中数据盘`vdb`目标设备名称为`vdb`,文件系统类型为`ext4`,挂载目录为/data。 #### 执行扩容文件系统。 - ext2/ext3/ext4文件系统。将命令中的变量`<目标设备名称>`替换为从上一步中获取的目标设备名称后执行 ```bash sudo resize2fs /dev/<目标设备名称> ``` - xfs文件系统。将命令中的`<挂载目录>`替换为从上一步中获取的挂载目录后执行。 ```bash sudo xfs_growfs <挂载目录> ``` - 检查文件系统扩容是否成功。 运行`sudo df -Th`,确认文件系统大小(回执中`Size`字段对应的值)是否与云盘容量基本一致。 文件系统创建时会占用部分容量用于存储元数据,因此文件系统大小可能小于实际容量。 **Tags:** linux, 文件系统, 系统扩容 **Categories:** 技术教程 ---