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

相关推荐
starvapour2 小时前
Ubuntu的桌面级程序开机自启动
linux·ubuntu
哇哈哈&3 小时前
gcc9.2的离线安装,支持gcc++19及以上版本
linux·运维·服务器
老前端的功夫3 小时前
前端高可靠架构:医疗级Web应用的实时通信设计与实践
前端·javascript·vue.js·ubuntu·架构·前端框架
一条咸鱼¥¥¥3 小时前
【运维经验】使用QQ邮箱SMTP服务器设置ssms计划任务完成时邮件发送
运维·服务器·经验分享·sql·sqlserver
【上下求索】3 小时前
学习笔记095——Ubuntu 安装 lrzsz 服务?
运维·笔记·学习·ubuntu
菜鸟plus+3 小时前
N+1查询
java·服务器·数据库
___波子 Pro Max.4 小时前
Linux快速查看文件末尾字节方法
linux
Caster_Z5 小时前
WinServer安装VM虚拟机运行Linux-(失败,云服务器不支持虚拟化)
linux·运维·服务器
小小测试开发5 小时前
提升WebUI自动化效率与性能:从脚本到架构的全链路优化指南
运维·架构·自动化
少废话h6 小时前
Redis主从与集群搭建全指南
大数据·linux·redis·mysql