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重磅来袭!

相关推荐
你好潘先生4 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
orion5716 小时前
Missing Semester Class1:course overview and introduction of shell
linux
SkyWalking中文站20 小时前
认识 Horizon UI · 6/17:Trace 探索器
运维·监控·自动化运维
用户120487221611 天前
Linux驱动编译与加载
linux·嵌入式
程序员老赵1 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
火车叼位1 天前
写给初级开发者:SSL、SSH、HTTPS 与证书体系全解析
运维
vivo互联网技术1 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698031 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式