国外VPS Linux系统:LVM磁盘分区调整指南
在国外VPS的Linux系统里,随着网站流量增长或数据量膨胀,磁盘空间不够用是常有的事。这时候直接删除数据太可惜,重新购买更大的VPS又可能造成资源浪费——这时候LVM(逻辑卷管理)就派上用场了。它能在不丢失数据的情况下灵活调整磁盘分区大小,今天就来手把手教你操作。
一、操作前:确认LVM配置
上周有位用户找我帮忙,他的国外VPS里/var分区只剩500MB空间,但日志文件还在疯狂增长。这时候我首先让他用LVM命令检查配置——这是调整分区的第一步。
打开终端输入以下命令:
sudo pvdisplay # 查看物理卷(Physical Volume)信息
sudo vgdisplay # 查看卷组(Volume Group)信息
sudo lvdisplay # 查看逻辑卷(Logical Volume)信息
这三个命令就像给系统做“B超”:pvdisplay会显示哪些硬盘被格式化为LVM物理卷,vgdisplay能看到卷组总容量和剩余空间,lvdisplay则直接告诉你当前逻辑卷(也就是实际使用的分区)的大小和路径。比如用户的输出里显示卷组vg0还有20GB剩余空间,这就为后续扩容提供了基础。
二、扩容操作:给“不够用”的分区“加量”
2.1 扩展物理卷与卷组
如果卷组没有剩余空间,可能需要添加新硬盘。假设用户新购买了一块未分区的硬盘/dev/sdb,首先要把它变成LVM可用的物理卷:
sudo pvcreate /dev/sdb
成功后,把这块新物理卷加入现有的卷组vg0:
sudo vgextend vg0 /dev/sdb
这时候再用vgdisplay查看,卷组总容量就会包含新硬盘的空间了。
2.2 扩展逻辑卷
现在可以给需要扩容的逻辑卷“加量”。用户的目标是把/var对应的逻辑卷lv0从10GB扩容到20GB,有两种方式:
- 按固定大小扩容(比如增加10GB):
sudo lvextend -L +10G /dev/vg0/lv0
- 按卷组剩余空间比例扩容(比如用掉50%剩余空间):
sudo lvextend -l +50%FREE /dev/vg0/lv0
执行后lvdisplay会显示逻辑卷大小已更新,但此时系统还看不到新增空间,需要下一步操作。
2.3 调整文件系统大小
这一步是让操作系统真正“识别”新空间。用户的/var分区用的是ext4文件系统,输入:
sudo resize2fs /dev/vg0/lv0
如果是XFS文件系统,则用:
sudo xfs_growfs /dev/vg0/lv0
执行完成后,df -h查看,/var分区的可用空间就增加了。
三、缩容操作:给“冗余”的分区“瘦身”
缩容比扩容风险更高,操作前一定要备份数据!假设用户需要把测试用的逻辑卷lv_test从20GB缩到10GB。
3.1 先缩小文件系统
必须先让文件系统释放空间,再调整逻辑卷。ext4文件系统用:
sudo resize2fs /dev/vg0/lv_test 10G
这里要注意,缩小后的空间必须大于当前文件已使用的空间,否则会报错。
3.2 缩小逻辑卷
文件系统调整完成后,缩小逻辑卷:
sudo lvreduce -L 10G /dev/vg0/lv_test
这一步会真正减少逻辑卷的容量,操作时系统会提示风险,确认后输入y继续。
3.3 释放物理卷(可选)
如果缩容后卷组有多余空间,可以把物理卷移除。比如之前添加的/dev/sdb现在不需要了:
sudo vgreduce vg0 /dev/sdb # 从卷组移除物理卷
sudo pvremove /dev/sdb # 删除物理卷标签
之后这块硬盘就可以重新分配或挂载到其他卷组了。
对于国外VPS用户来说,LVM就像磁盘空间的“弹性腰带”:业务增长时能平滑扩容,测试环境需要精简时能安全缩容。操作时记住“先查配置、再调卷组、最后改文件系统”的顺序,配合重要数据备份,就能轻松应对各种磁盘空间需求变化。