Linux系统支持增加分区大小,不过具体的操作方式需要根据分区的类型来确定,常见的分区类型包括标准分区和LVM逻辑卷分区,两种类型的扩容逻辑和操作步骤存在明显差异。

操作前的必要准备
无论采用哪种扩容方式,操作前都需要先做好以下准备工作,避免数据丢失:
- 备份分区内的重要数据,防止操作过程中出现意外导致数据损坏
- 确认磁盘还有未分配的空闲空间,或者已经添加了新的物理磁盘
- 如果是系统根分区扩容,建议先进入单用户模式或者使用Live CD启动系统,避免分区被占用
标准分区的扩容方法
标准分区是直接通过分区表划分的固定分区,扩容时需要先调整分区表,再扩展文件系统。下面以ext4文件系统的标准分区为例,介绍具体步骤。
1. 查看当前分区状态
首先使用fdisk或者lsblk命令查看当前磁盘和分区的使用情况:
# 查看磁盘分区信息 fdisk -l /dev/sda # 查看分区挂载和使用情况 lsblk df -h
2. 删除并重建分区
假设要扩容的分区是/dev/sda2,且分区后面有连续的未分配空间,需要先删除该分区,再重建一个更大的分区,注意重建时分区的起始扇区必须和原来一致,否则会导致数据丢失。
# 进入fdisk交互界面 fdisk /dev/sda # 输入d删除分区,选择分区号2 # 输入n新建分区,选择主分区,起始扇区保持和原来一致,结束扇区选择更大的值 # 输入w保存分区表修改
3. 扩展文件系统
分区表修改完成后,需要扩展文件系统以使用新增的空间:
# 检查文件系统错误 e2fsck -f /dev/sda2 # 扩展ext4文件系统 resize2fs /dev/sda2
LVM逻辑卷分区的扩容方法
LVM(逻辑卷管理)是Linux下更灵活的磁盘管理方式,扩容操作不需要删除分区,步骤更简单。LVM扩容分为两种情况,一种是卷组内有空闲空间,另一种是添加了新的物理磁盘。
1. 卷组内有空闲空间的情况
首先查看卷组和逻辑卷的状态:
# 查看卷组空闲空间 vgdisplay # 查看逻辑卷信息 lvdisplay
如果卷组有空闲空间,直接扩展逻辑卷并同步文件系统即可:
# 扩展逻辑卷,增加10G空间,也可以直接指定扩展到总大小 lvextend -L +10G /dev/vg_name/lv_name # 扩展ext4文件系统 resize2fs /dev/vg_name/lv_name # 如果是xfs文件系统,使用下面的命令 xfs_growfs /mount/point
2. 添加新物理磁盘的情况
如果卷组没有空闲空间,需要先添加新磁盘,将其初始化为物理卷,加入卷组后再扩容逻辑卷:
# 假设新磁盘是/dev/sdb,初始化为物理卷 pvcreate /dev/sdb # 将物理卷加入已有卷组 vgextend vg_name /dev/sdb # 之后按照卷组内有空闲空间的步骤扩容逻辑卷即可
不同文件系统扩容工具对照
不同文件系统对应的扩容工具不同,具体对照如下:
| 文件系统类型 | 扩容工具 |
|---|---|
| ext2/ext3/ext4 | resize2fs |
| xfs | xfs_growfs |
| btrfs | btrfs filesystem resize |
操作注意事项
- 标准分区扩容时,一定要保证重建分区的起始扇区和原来完全一致,否则会导致分区数据全部丢失
- 扩容操作前一定要备份重要数据,尤其是标准分区扩容风险更高
- 系统正在使用的分区无法直接扩容,需要先卸载分区,根分区需要进入救援模式操作
- 执行分区表修改命令后,如果系统没有识别到新的分区表,可以执行
partprobe命令刷新分区表信息