虚拟机中的AlmaLinux硬盘扩容
1. 需要进行扩容的原因 2. 写这篇文章的目的 3. 扩容实操
近日,使用Jenkins部署时,出现镜像向Nexus私服推送镜像时,一直出现retrying in second x的重复推送情况,经检查后,发现是Nexus的磁盘已满:
通过上图可以发现,Overlay与Root磁盘已经暴满,而overlay是docker的虚拟磁盘,是挂载在root上的;而nexus是采用docker部署的,且此服务器仅部署了这一个容器。
经过简单分析,即可知道磁盘满溢的情况,是因为nexus中通过一段时间的使用之后,仓库中的组件越来越来,肯定会占用大量的存储空间; 这个时候,即使通过web客户端操作nexus也会出现大量报错,除了基本访问,其他功能基本不可用。
因为虚拟机是使用Esxi管理的,所以在Esxi中为当前硬盘扩充容量(从500G调到了1T):
重启后进行虚拟机,查看磁盘容量,是否扩容成功(本次是由500G扩容到1T):
fdisk-l
查看当前分区情况(调整前):
lsblk
创建分区: AlmaLinux的创建分区与网上的大部分教程有些出入,并不是所谓的输入p、n、p就可以了
# 1 进入分区配置
fdisk /dev/sda
# 此处的/dev/sda是根据fdisk -l,查看磁盘容量时可以看到
# 可以参考第2步的图片中磁盘容量左侧位置,不同的系统可能会使用不同的标识符
# 2 按照提示,输入指令:
# 指令含义可以通过m获取提示,这里需要使用的是p、n、w;
# p 打印出当前的分区列表
# n 表示新增一个分区
# w 表示保存设置
再次查看分区情况(调整后):
lsblk
制作PV物理卷(需要没格式化过的完整磁盘或分区):
# sda4为我们第5步使用新增的磁盘容量创建的分区(这里700多G是因为之前还有部分容量未分配)
pvcreate /dev/sda4
查看创建PV后的PV信息:
pvdisplay
查看VG卷组信息:
vgdisplay
把新建的pv扩充到VG卷组
vgextend almalinux /dev/sda4
再次查看VG卷组容量
vgs
可以观察到,空闲的容量刚好等于我们新建的PV容量
查看LV信息:
lvdisplay
扩大LV逻辑卷 我们的目标非常的明确,就是在root,即docker挂载的逻辑卷上扩容,所以我们需要扩容的lv是:/dev/almalinux/root
lvextend -L +723G /dev//almalinux/root
# 执行下将会出现以下信息
# Size of logical volume almalinux/root changed from 70.00 GiB (17920 extents)
# to 793.00 GiB (203008 extents).
# Logical volume almalinux/root successfully resized.
# 通过前面的步骤,我们知道,我们其实是有724G的空间的,这里选择扩展723G的空间,是因为实际上能扩容的空间并没有vg信息显示的那么多,如果选择724G将会出现以下错误:
# Insufficient free space: 185344 extents needed, but only 185343 available
查看LV使用的文件系统格式: 要使扩大LV的逻辑卷容量生效,需要调整文件系统配置,但其需要根据LV逻辑卷的文件系统类型来进入匹配
blkid /dev/almalinux/root
# 执行后返回逻辑卷文件系统类型是xfs:
# /dev/almalinux/root: UUID="db586cbb-5736-4a61-9166-578c32b31212" BLOCK_SIZE="512" TYPE="xfs"
令文件系统容量更新
xfs_growfs /dev/almalinux/root
# 执行后会出现以下提示:
# meta-data=/dev/mapper/almalinux-root isize=512 agcount=4, agsize=4587520 blks
# = sectsz=512 attr=2, projid32bit=1
# = crc=1 finobt=1, sparse=1, rmapbt=0
# = reflink=1 bigtime=1 inobtcount=1
#data = bsize=4096 blocks=18350080, imaxpct=25
# = sunit=0 swidth=0 blks
#naming =version 2 bsize=4096 ascii-ci=0, ftype=1
#log =internal log bsize=4096 blocks=8960, version=2
# = sectsz=512 sunit=0 blks, lazy-count=1
#realtime =none extsz=4096 blocks=0, rtextents=0
#data blocks changed from 18350080 to 207880192
最后,再查一次调整后的硬盘分区容量:
df -Th
我们将在下图中看到前后容量的对比:
关于Esxi中的AlmaLinux的硬盘容量扩容到此结束了! 最后,祝大家开发顺利,用文愉快~^v^~
参考: