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

相关推荐
久绊A3 小时前
理解CPU负载与使用率
服务器·网络·数据库·cpu
IT培训中心-竺老师5 小时前
Apache Web服务器技术指南 - 基于Kylin麒麟操作系统
服务器·前端·apache
wjy6_5 小时前
源码编译安装httpd 2.4,提供系统服务管理脚本并测试
运维
没有理想的不伤心5 小时前
Apache搭建https服务器
服务器
知本知至6 小时前
kubuntu24.04配置vmware17.5.1
ubuntu·typora·vmware·net·kubuntu
周杰伦_Jay6 小时前
Ubuntu20.4和docker终端指令、安装Go环境、安装搜狗输入法、安装WPS2019:保姆级图文详解
linux·python·ubuntu·docker·centos
嘻嘻哈哈曹先生6 小时前
Java负载均衡
运维·github·负载均衡
Linux运维老纪6 小时前
K8s 集群 IP 地址管理指南(K8s Cluster IP Address Management Guide)
linux·运维·tcp/ip·容器·kubernetes·云计算·运维开发
大大菜鸟一枚6 小时前
arm使用ubi系统
linux·arm开发·学习