根分区空间不足时,可在线扩容:一、添加新硬盘→创建lvm物理卷→扩展卷组和根逻辑卷→按xfs/ext4类型执行对应文件系统扩展;二、宿主机扩容磁盘后,用growpart刷新分区→pvresize→lvextend→扩展文件系统;三、从同卷组ext4闲置lv离线缩容,释放空间注入根lv并扩展。

当您在银河麒麟系统中收到“根分区空间不足”的提示,且df -h显示/挂载点使用率持续高于90%,系统运行变慢甚至部分服务异常——这通常表明当前LVM逻辑卷容量已逼近极限。以下是针对该问题的多种无损扩容方案,全部基于在线操作,无需重装系统或中断业务。
一、向现有卷组添加新物理硬盘扩容
此方法适用于服务器或虚拟机可新增一块未使用物理磁盘(如/dev/sdb)的场景。通过将新磁盘初始化为物理卷并加入原卷组,再扩展根逻辑卷,实现空间增量供给。
1、使用lsblk确认新磁盘设备名,例如/dev/sdb,且未被挂载或分区。
2、执行sudo fdisk /dev/sdb,依次输入n→p→1→回车→回车→t→1→8e→w,创建一个Linux LVM类型主分区/dev/sdb1。
3、运行sudo pvcreate /dev/sdb1,将新分区初始化为物理卷。
4、执行sudo vgextend kylin-vg /dev/sdb1,将该PV加入默认卷组kylin-vg。
5、执行sudo lvextend -l +100%FREE /dev/mapper/kylin--vg-root,将卷组内全部空闲PE分配给根逻辑卷。
6、检查文件系统类型:sudo df -Th / | grep -o "xfs\|ext4"。
7、若为xfs:运行sudo xfs_growfs /;若为ext4:运行sudo resize2fs /dev/mapper/kylin--vg-root。
二、扩展原有物理分区后扩容
此方法适用于虚拟机已在宿主机侧扩大了磁盘镜像(如qemu-img resize或VMware磁盘扩容),但系统内分区表尚未识别新增空间。需先刷新分区边界,再通知LVM层感知变化。
1、执行lsblk确认待扩容物理设备及分区,例如/dev/sda3为LVM所在分区。
2、安装growpart工具:sudo apt install cloud-guest-utils -y(麒麟V10桌面版)或sudo yum install cloud-utils-growpart -y(服务器版)。
3、执行sudo growpart /dev/sda 3,扩展sda的第3个分区至磁盘末尾。
4、运行sudo partprobe /dev/sda,强制内核重读分区表。
5、执行sudo pvresize /dev/sda3,使LVM物理卷感知到分区扩容后的实际大小。
6、执行sudo lvextend -l +100%FREE /dev/mapper/kylin--vg-root,将新增空间纳入根逻辑卷。
7、根据文件系统类型执行对应命令:xfs用户运行sudo xfs_growfs /,ext4用户运行sudo resize2fs /dev/mapper/kylin--vg-root。
三、从同卷组其他逻辑卷迁移空间扩容
此方法适用于卷组内存在闲置逻辑卷(如/data或/home),且其文件系统为ext4(支持安全缩容)。通过离线缩小该LV释放空间,再注入根逻辑卷,不依赖新增硬件。
1、确认目标迁移源LV,例如/dev/mapper/kylin--vg-data挂载于/data,且文件系统为ext4(用sudo blkid /dev/mapper/kylin--vg-data验证)。
2、卸载该分区:sudo umount /data。
3、执行文件系统检查:sudo e2fsck -f /dev/mapper/kylin--vg-data。
4、缩小文件系统至期望大小(例如保留15G):sudo resize2fs /dev/mapper/kylin--vg-data 15G。
5、缩小逻辑卷本身:sudo lvreduce -L 15G /dev/mapper/kylin--vg-data。
6、重新挂载:sudo mount /dev/mapper/kylin--vg-data /data。
7、执行sudo lvextend -l +100%FREE /dev/mapper/kylin--vg-root,将释放出的空闲PE全部分配给根LV。
8、扩展根文件系统:若为xfs,运行sudo xfs_growfs /;若为ext4,运行sudo resize2fs /dev/mapper/kylin--vg-root。










