虚拟磁盘扩容
一、
要扩展 /dev/mapper/cl - root 所在磁盘空间,以下是一般步骤:
确认可扩展的磁盘空间
如果是虚拟机,先在虚拟机设置中增加磁盘大小;如果是云服务器,通过云平台的控制台增加磁盘容量。
查看分区和逻辑卷信息
- 使用
fdisk -l命令查看分区情况,确认新增的磁盘设备名称,比如可能是/dev/sdb等。 - 执行
lvs命令查看当前的逻辑卷信息,明确cl - root所在的逻辑卷情况。

二、
创建物理卷
使用 pvcreate 命令将新增的分区创建成一个物理卷。例如,如果新增分区是 /dev/sdb,则执行 pvcreate /dev/sdb。
扩展卷组
执行 vgextend 命令将新建的物理卷追加到名为 cl 的卷组(VG)上,命令为 vgextend cl /dev/sdb。
扩展逻辑卷
使用 lvextend 命令扩展 /dev/mapper/cl - root 逻辑卷。可以指定具体扩展的大小,如 lvextend -L +10G /dev/mapper/cl - root 表示增加10G空间;也可以使用 lvextend -l +100%free /dev/mapper/cl - root 表示使用卷组中的所有剩余空间来扩展。
调整文件系统
如果文件系统是 XFS,执行 xfs_growfs /dev/mapper/cl - root 通知系统文件系统扩容;如果是 EXT 系列文件系统,使用 resize2fs /dev/mapper/cl - root 命令。
检查磁盘空间
使用 df -h 命令查看根目录磁盘容量是否已扩展成功。
在操作过程中,请确保对系统和数据有足够的了解,并提前备份重要数据,以免操作失误导致数据丢失。如果是在生产环境中,建议在操作前咨询专业人员或进行充分的测试。
扩展磁盘空间步骤
根据您提供的磁盘信息,您的系统使用了LVM(逻辑卷管理器),并且根分区(/dev/mapper/cl-root)已满(92%)。要扩展它,需要执行以下步骤:
1. 确认磁盘可用空间
您的磁盘总容量为40GB,但目前只使用了20GB(1GB引导分区 + 19GB LVM分区),说明有20GB未分配空间。
2. 创建新分区
使用fdisk为未分配的20GB空间创建新分区:
sudo fdisk /dev/nvme0n1

在fdisk交互界面中:
- 输入
n创建新分区 - 选择默认选项(分区号3,起始扇区41943040,结束扇区83886079)
- 输入
t修改分区类型 - 选择分区3
![]()
您已经进入了 fdisk 的交互界面,并且输入了 n 命令来创建新分区。根据提示,您需要选择分区类型:
-
选择分区类型:
输入p创建主分区(Primary),因为您的系统目前有2个主分区(1个引导分区和1个LVM分区),还可以创建2个主分区。 -
设置分区编号:
fdisk 会提示您输入分区编号,默认是3(因为前两个分区已被占用),直接按回车接受默认值。 -
设置起始扇区:
按回车接受默认的起始扇区值(通常是41943040,这是您未分配空间的起始位置)。 -
设置结束扇区:
可以直接按回车接受默认值(使用所有剩余空间),或者指定具体大小,例如:+10G:创建一个10GB的分区+20G:创建一个20GB的分区(使用全部剩余空间)
完成后,您应该会看到类似这样的输出:
Created a new partition 3 of type 'Linux' and of size 20 GiB.
接下来,您需要将这个新分区的类型修改为 LVM:
Command (m for help): t
Partition number (1-3, default 3): 3
Hex code or alias (type L to list all): 8e
Changed type of partition 'Linux' to 'Linux LVM'.
最后,保存更改并退出:
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
完成这些步骤后,您可以继续执行后续的命令来创建物理卷、扩展卷组和逻辑卷。
三、
刷新表分区:
继续扩展LVM分区
完成分区创建后,继续执行以下命令来扩展LVM分区:
1. 刷新分区表
sudo partprobe /dev/nvme0n1
2. 创建物理卷(PV)
sudo pvcreate /dev/nvme0n1p3
输出示例:
Physical volume "/dev/nvme0n1p3" successfully created.
3. 扩展卷组(VG)
sudo vgextend cl /dev/nvme0n1p3
输出示例:
Volume group "cl" successfully extended
4. 查看卷组可用空间
sudo vgs
输出示例:
VG #PV #LV #SN Attr VSize VFree
cl 2 2 0 wz--n- <39.00g <20.00g
5. 扩展逻辑卷(LV)
将所有可用空间添加到cl-root:
sudo lvextend -l +100%FREE /dev/mapper/cl-root
或指定具体大小(例如10GB):
sudo lvextend -L +10G /dev/mapper/cl-root
输出示例:
Size of logical volume cl/root changed from <17.00 GiB (4351 extents) to <37.00 GiB (9471 extents).
Logical volume cl/root successfully resized.
6. 调整文件系统大小
首先确认文件系统类型:
df -T /
如果是 XFS 文件系统(CentOS 7/8默认):
sudo xfs_growfs /dev/mapper/cl-root
如果是 EXT4 文件系统:
sudo resize2fs /dev/mapper/cl-root
输出示例(XFS):
meta-data=/dev/mapper/cl-root isize=512 agcount=4, agsize=1113856 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=4455424, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 4455424 to 9693184
7. 验证扩容结果
df -h /
输出示例:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 37G 16G 21G 44% /
8. 可选:调整SWAP分区(如果需要)
如果想将部分空间分配给SWAP:
# 查看当前SWAP
sudo swapon -s
# 关闭当前SWAP
sudo swapoff /dev/mapper/cl-swap
# 扩展SWAP逻辑卷(例如增加2GB)
sudo lvextend -L +2G /dev/mapper/cl-swap
# 重新格式化SWAP
sudo mkswap /dev/mapper/cl-swap
# 启用SWAP
sudo swapon /dev/mapper/cl-swap
# 验证
free -h
注意事项
- 重启系统:如果遇到文件系统无法扩容的问题,尝试重启后再执行
xfs_growfs。 - 备份数据:操作前务必备份重要数据。
- LVM快照(高级):生产环境可先创建逻辑卷快照,以防意外。
完成后,您的系统根分区应该已成功从17GB扩展到37GB左右,解决了空间不足的问题。


浙公网安备 33010602011771号