Ubuntu磁盘空间不足或配置错误时,如何操作扩容?

我们前面介绍过CentOS系统如何调整磁盘分区**(** CentOS调整磁盘分区和扩容,但是我最近安装Ubuntu系统,貌似又遇到了分区的问题。

上次安装Ubuntu Server版系统时**(** 没有图形界面,如何快速部署一个Ubuntu 24.10的Server虚拟机,在分区这一步,没仔细看,最下面有一个分区,划分的大小是77.997 GB,而上面/根目录只分配了38.996 GB,在AVALIABLE DEVICES设备部分,有个剩余空间free space,里面还有39 GB没有分配。

所以,安装完成之后就成了以下效果。

也就是说,/dev/sda3这个分区我们只用了一半。知道问题了就能解决,参考之前CentOS的配置,我们只需要扩展现有逻辑卷/dev/mapper/ubuntu--vg-ubuntu---lv就可以了。

首先,检查当前的物理卷、卷组和逻辑卷的状态。

properties 复制代码
vgdisplay ubuntu-vg
lvdisplay /dev/ubuntu-vg/ubuntu-lv

可以看到,逻辑卷LV(Logical Volume) ubuntu-lv的路径为/dev/ubuntu-vg/ubuntu-lv,对应**卷组 (Volume Group)**ubuntu-vg下面确实还有39 GB的可用磁盘空间。

这样,我们就可以使用lvextend命令来扩展逻辑卷,我们可以使用如下命令直接将所有剩余的空间都分配给现有的逻辑卷。

nginx 复制代码
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

LV逻辑卷扩展完成后,还需要调整文件系统的大小以匹配新的逻辑卷大小。

对于ext4文件系统,我们可以使用resize2fs命令自动将文件系统扩展到逻辑卷的最大容量。

nginx 复制代码
resize2fs /dev/ubuntu-vg/ubuntu-lv

到此,磁盘分配的遗留问题就解决完了。

对应地,我们还有两种扩容操作,本次也一并验证一下。

第一种,我们在虚拟机中扩展了磁盘空间,将磁盘大小从80 GB调整到100 GB。

此时,我们在系统中查看磁盘信息,可以看到虚拟机硬盘已经成功扩容到100 GB,但/dev/sda3分区的大小仍然为原来的78 GB,顶部还有GPT PMBR大小不匹配的警告。

接下来,我们首先需要通过gdisk工具更新GPT分区表为新的磁盘大小。配置方式有两种,第一种是进入gdisk后,先输入x命令进入专家模式,再输入e命令来重新计算GPT分区表中的最大可用扇区数,按Y写入新的分区表;第二种是进入gdisk后,先输入x命令进入专家模式,再输入n将重新同步PMBR,最后输入w写入更改并退出gdisk。

nginx 复制代码
gdisk /dev/sda

接下来,我们还是使用gdisk来调整/dev/sda3的分区。先输入d删除/dev/sda3分区,再输入n创建一个新的分区,选择默认的第一个扇区和最后一个扇区,以使用最大的分区大小;然后输入t更改新分区的类型代码8300,最后输入w写入更改并退出 gdisk。

接下来,我们先使用partprobe强制重新读取分区表以识别新的分区大小,再使用pvresize命令来扩展/dev/sda3,然后使用lvextend命令直接将所有剩余的空间都分配给现有的逻辑卷,并使用resize2fs命令自动将文件系统扩展到逻辑卷的最大容量。

properties 复制代码
partprobe /dev/sda
pvresize /dev/sda3
pvscan
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
resize2fs /dev/ubuntu-vg/ubuntu-lv
lvdisplay /dev/ubuntu-vg/ubuntu-lv

到这里,我们的磁盘就变成97 GB了。

最后,我们看一下第二种情况,我们给虚拟机再挂载一块20GB的磁盘。

进入系统,检查一下新硬盘的识别情况。

可以看到,新磁盘已经作为/dev/sdb被识别到了。我们首先使用pvcreate命令初始化新磁盘/dev/sdb为物理卷。

nginx 复制代码
pvcreate /dev/sdb

然后使用vgextend命令将新物理卷添加到逻辑卷组ubuntu-vg中。

nginx 复制代码
vgextend ubuntu-vg /dev/sdb

然后又是重复使用lvextend命令直接将所有剩余的空间都分配给现有的逻辑卷,并使用resize2fs命令自动将文件系统扩展到逻辑卷的最大容量。

properties 复制代码
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
resize2fs /dev/ubuntu-vg/ubuntu-lv
lvdisplay /dev/ubuntu-vg/ubuntu-lv

搞定了,叉会儿腰!

***推荐阅读***

【送书福利】中国移动无线智算网络领域最新图书《通算一体:使能泛在AI》

Ubuntu安装、配置、操作、测评MySQL数据库全体验

当你买了一台Linux云主机,应该如何测试主机性能?

没有图形界面,如何快速部署一个Ubuntu 24.10的Server虚拟机

拿捏!Ubuntu和FortiGate对接GENEVE是如此简单

用Ubuntu的时候,你是不是被127.0.0.53困扰好久了?来看看怎么修改DNS配置

Ubuntu使用Tesla P4配置Anaconda+CUDA+PyTorch

Ubuntu配置PPTP服务端和客户端

在Ubuntu系统手撸一个自动搭建openVPN服务端的SHELL脚本

Ubuntu一键导入openVPN配置文件

用轻量应用服务器的注意了,0.5GB内存的规格请谨慎使用

使用ddns-go实现自动配置IPv6的DDNS

成本增加了100块,内网服务器上公网解决方案2.0重磅来袭!

相关推荐
CAU界编程小白6 分钟前
Linux系统编程系列之动静态库
linux
北辰当尹7 分钟前
【实习之旅】Kali虚拟机桥接模式ping通百度
java·服务器·桥接模式
济6178 分钟前
linux(第十三期)--filezilla使用方法(实现ubuntu和windows11文件互传)-- Ubuntu20.04
linux·运维·ubuntu
HIT_Weston9 分钟前
91、【Ubuntu】【Hugo】搭建私人博客:侧边导航栏(五)
linux·运维·ubuntu
阿巴~阿巴~11 分钟前
从不可靠到100%可靠:TCP与网络设计的工程智慧全景解析
运维·服务器·网络·网络协议·tcp/ip·智能路由器
oMcLin12 分钟前
如何在 Rocky Linux 8.6 上配置并调优 Nginx 与 Lua 脚本,提升 API 网关的性能与并发处理能力
linux·nginx·lua
飞翔的小->子>弹->13 分钟前
CMK、CEK
服务器·数据库·oracle
Yana.nice20 分钟前
Linux目录结构说明
linux
一殊酒21 分钟前
【Figma】Figma自动化
运维·自动化·figma
EndingCoder25 分钟前
箭头函数和 this 绑定
linux·前端·javascript·typescript