根分区扩容需先确认lvm与文件系统类型,再依场景选择在线扩容(lvm+xfs/ext4)、删/backup分区、宿主机联合扩容(qemu-img+growpart)或livecd离线迁移。

如果您在银河麒麟系统中收到“系统分区已满”的警告,且df -h显示/挂载点使用率接近或达到100%,则说明根文件系统空间严重不足。此类问题可能引发软件安装失败、日志写入异常、系统响应迟缓甚至服务崩溃。以下是针对不同底层存储架构的多种扩容方案,涵盖LVM在线扩容、删除冗余分区、新增磁盘整合及非LVM离线迁移等路径。
一、确认当前分区结构与文件系统类型
执行诊断是所有扩容操作的前提。该步骤用于识别系统是否采用LVM管理、是否存在可释放分区、以及根文件系统类型(ext4或XFS),三者直接决定后续可选方案。
1、运行lsblk查看块设备拓扑,确认/对应的设备名(如/dev/mapper/kylin--vg-root或/dev/sda5)。
2、执行df -Th /获取根分区文件系统类型(TYPE列)及挂载设备。
3、若设备路径含/dev/mapper/且名称含双横线(如kylin--vg-root),则系统使用LVM管理根分区,可优先采用在线扩容方案。
4、若lsblk输出中存在未使用的独立分区(如/backup、/data或空闲part),则可考虑删除或迁移该分区以释放连续空间。
二、LVM在线扩容(无需重启,推荐首选)
适用于根分区由LVM逻辑卷提供(如/dev/mapper/kylin--vg-root)、且卷组(VG)尚有空闲空间,或可添加新物理磁盘/分区的场景。整个过程支持业务持续运行。
1、检查卷组剩余空间:sudo vgs kylin-vg,若VFree值大于0,可直接进入逻辑卷扩展步骤。
2、若VFree为0,需先扩展卷组:插入新磁盘(如/dev/sdb)后,执行sudo pvcreate /dev/sdb初始化物理卷,再运行sudo vgextend kylin-vg /dev/sdb将其加入卷组。
3、扩展根逻辑卷至占用全部空闲空间:sudo lvextend -l +100%FREE /dev/mapper/kylin--vg-root。
4、根据文件系统类型刷新容量:
若为XFS文件系统,执行sudo xfs_growfs /;
若为ext4文件系统,执行sudo resize2fs /dev/mapper/kylin--vg-root。
三、删除/backup分区并扩容根分区(桌面版简易方案)
银河麒麟桌面版默认安装时通常预留/backup分区用于系统还原功能。若用户不依赖此功能,可安全删除该分区,并将释放的空间合并至根分区,操作全程通过图形界面完成,无需命令行。
1、点击左下角“开始菜单”,搜索并打开分区编辑器(需管理员权限)。
2、在设备列表中定位到挂载点为/backup的分区(通常紧邻/分区之后)。
3、右键点击/backup分区,选择“删除”,确认执行。
4、右键点击/分区,选择“更改大小”,拖动右侧边界至磁盘末尾,填满已释放空间。
5、点击左上角绿色对勾图标“应用所有操作”,等待进度完成,重启后df -h即可显示扩容后的根分区容量。
四、虚拟机环境下宿主机+客户机联合扩容(qemu-img + growpart)
适用于银河麒麟虚拟机部署在QEMU/KVM平台,且宿主机可调整镜像大小的场景。该方法通过三层递进式扩容(镜像→分区→LVM→文件系统),实现从底层存储到上层应用的完整伸缩。
1、关闭虚拟机,在宿主机执行:qemu-img resize /path/to/kylin.qcow2 +50G,扩大镜像文件容量。
2、启动虚拟机,运行lsblk确认/dev/vda总容量已增加,但/dev/vda3(LVM所在分区)大小未变。
3、安装growpart工具:sudo apt install cloud-utils-growpart -y(麒麟桌面版)或sudo yum install cloud-utils-growpart -y(服务器版)。
4、扩展物理分区至占满新空间:sudo growpart /dev/vda 3(注意设备名与分区号间有空格)。
5、通知LVM物理卷感知新尺寸:sudo pvresize /dev/vda3。
6、执行LVM逻辑卷与文件系统扩容(同第二步第3、4条命令)。
五、非LVM系统离线迁移扩容(LiveCD模式)
适用于根分区为传统ext4分区(如/dev/sda5)、无LVM抽象层、且存在相邻空闲分区(如/dev/sda6)的场景。必须使用LiveCD环境操作,期间系统不可用。
1、下载银河麒麟LiveCD镜像,制作启动U盘,从U盘引导进入Live系统。
2、打开终端,执行sudo fdisk -l确认目标磁盘(如/dev/sda)及待迁移分区(如/dev/sda6挂载/data)。
3、新建目标目录并挂载原/data与新磁盘:sudo mkdir -p /mnt/old /mnt/new;sudo mount /dev/sda6 /mnt/old;sudo mount /dev/sdb1 /mnt/new。
4、使用rsync全量迁移数据:sudo rsync -aHAXS --numeric-ids /mnt/old/ /mnt/new/。
5、卸载分区,修改/etc/fstab,将/data挂载点指向新设备UUID,重启后原/dev/sda6空间即变为未分配,可用于gparted扩展/dev/sda5。










