Ubuntu分卷(LVM)解决存储空间不足的完整流程
在扩展分卷前,先通过以下操作清理系统中可安全删除的无用文件,快速缓解空间压力:
/var/cache/apt/archives目录空间。运行以下命令清理:sudo apt clean # 清理所有APT缓存包
sudo apt autoclean # 清理旧版本的缓存包(仅保留当前可用的)
/boot分区空间(常见于根分区空间不足的场景)。通过以下命令列出已安装内核:dpkg -l | grep linux-image
保留最新的2-3个内核(避免无法启动),删除旧内核(如linux-image-5.15.0-86-generic),并同步清理对应的内核头文件:sudo apt purge linux-image-旧版本号 linux-headers-旧版本号
/var/log/syslog、/var/log/kern.log)长期积累会占用大量空间。使用journalctl清理旧日志:sudo journalctl --vacuum-time=7d # 删除7天前的日志
sudo journalctl --vacuum-size=500M # 限制日志总大小为500MB
/.cache/thumbnails目录,运行以下命令清空:rm -rf /.cache/thumbnails/*
apt卸载长期不用的软件(如sudo apt remove libreoffice),或使用deborphan查找并删除无用的依赖包。若系统采用LVM(逻辑卷管理,默认部分Ubuntu版本启用),可通过以下步骤动态扩展分卷(无需删除数据):
确认物理卷(PV)、卷组(VG)、逻辑卷(LV)的当前容量及剩余空间:
sudo pvdisplay # 查看物理卷(如/dev/sda2)
sudo vgdisplay # 查看卷组(如ubuntu-vg)的可用空间(Free PE / Size)
sudo lvdisplay # 查看逻辑卷(如ubuntu-lv)的大小及挂载点
若卷组有剩余空间,直接扩展逻辑卷(以扩展10GB为例):
sudo lvextend -L +10G /dev/mapper/ubuntu--vg-ubuntu--lv # 扩展逻辑卷(+10G表示增加10GB)
若需扩展至特定大小(如20GB):
sudo lvextend -L 20G /dev/mapper/ubuntu--vg-ubuntu--lv
扩展逻辑卷后,需同步调整文件系统以使用新增空间:
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
sudo xfs_growfs /dev/mapper/ubuntu--vg-ubuntu--lv
运行df -h命令,检查目标分卷(如/)的容量是否已增加。
若现有硬盘无剩余空间,可通过添加新硬盘并整合到LVM,实现永久扩容:
将新硬盘插入服务器,通过lsblk命令识别设备名(如/dev/sdb):
lsblk
使用fdisk或gdisk对新硬盘创建分区(如/dev/sdb1),并格式化为LVM物理卷:
sudo fdisk /dev/sdb # 按提示创建新分区(设置为Linux LVM类型,代码8e)
sudo pvcreate /dev/sdb1 # 将分区初始化为物理卷
将新物理卷添加到现有卷组(如ubuntu-vg),以增加卷组的可用空间:
sudo vgextend ubuntu-vg /dev/sdb1
按照“二、2-3步”的操作,扩展逻辑卷并调整文件系统大小(如扩展100GB):
sudo lvextend -L +100G /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv # 或xfs_growfs
再次运行pvdisplay、vgdisplay、lvdisplay,确认新硬盘的空间已加入卷组并分配给逻辑卷。
rsync或外部存储)。