Esxi中的AlmaLinux硬盘扩容

通过本文能学习到

虚拟机中的AlmaLinux硬盘扩容

本文主要包括3部分内容:

1. 需要进行扩容的原因
2. 写这篇文章的目的
3. 扩容实操

需要进行扩容的原因

近日,使用Jenkins部署时,出现镜像向Nexus私服推送镜像时,一直出现retrying in second x的重复推送情况,经检查后,发现是Nexus的磁盘已满:

Docker挂载目录导致磁盘根目录暴满

通过上图可以发现,Overlay与Root磁盘已经暴满,而overlay是docker的虚拟磁盘,是挂载在root上的;而nexus是采用docker部署的,且此服务器仅部署了这一个容器。

经过简单分析,即可知道磁盘满溢的情况,是因为nexus中通过一段时间的使用之后,仓库中的组件越来越来,肯定会占用大量的存储空间; 这个时候,即使通过web客户端操作nexus也会出现大量报错,除了基本访问,其他功能基本不可用。

写这篇文章的目的

  1. 留档
  2. AlmaLinux的相关教程太少了

扩容实操

思路

  1. 既然是虚拟机,那肯定是关机并且在虚拟机管理中,增加硬盘容量
  2. AlmaLinux的主旨是接替Centos7之后,不基于Rehat的替代品,所以它是基于Rehat的,那就可以试着以Centos7的扩容方案作为参考

实施

  1. 因为虚拟机是使用Esxi管理的,所以在Esxi中为当前硬盘扩充容量(从500G调到了1T):

    虚拟机调整硬盘容量

  2. 重启后进行虚拟机,查看磁盘容量,是否扩容成功(本次是由500G扩容到1T):

     
    fdisk-l

    硬盘容量调整前后

  3. 查看当前分区情况(调整前):

     
    lsblk

    调整前的分区列表

  4. 创建分区: AlmaLinux的创建分区与网上的大部分教程有些出入,并不是所谓的输入p、n、p就可以了

    # 1 进入分区配置
    fdisk /dev/sda
    # 此处的/dev/sda是根据fdisk -l,查看磁盘容量时可以看到
    # 可以参考第2步的图片中磁盘容量左侧位置,不同的系统可能会使用不同的标识符
    
    # 2 按照提示,输入指令:
    # 指令含义可以通过m获取提示,这里需要使用的是p、n、w;
    # p 打印出当前的分区列表
    # n 表示新增一个分区
    # w 表示保存设置

    创建分区交互

  5. 再次查看分区情况(调整后):

     
    lsblk

    调整分区后的磁盘分区情况

  6. 制作PV物理卷(需要没格式化过的完整磁盘或分区):

     
    # sda4为我们第5步使用新增的磁盘容量创建的分区(这里700多G是因为之前还有部分容量未分配)
    pvcreate /dev/sda4

    创建PV成功

  7. 查看创建PV后的PV信息:

     
    pvdisplay

    创建成功后的PV信息

  8. 查看VG卷组信息:

     
    vgdisplay

    查看VG卷组信息

  9. 把新建的pv扩充到VG卷组

     
    vgextend almalinux /dev/sda4

    PV扩充到VG卷组

  10. 再次查看VG卷组容量

     
    vgs

    VG卷组容量

    可以观察到,空闲的容量刚好等于我们新建的PV容量

  11. 查看LV信息:

     
    lvdisplay

    LV信息

  12. 扩大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
  13. 查看LV使用的文件系统格式: 要使扩大LV的逻辑卷容量生效,需要调整文件系统配置,但其需要根据LV逻辑卷的文件系统类型来进入匹配

     
    blkid /dev/almalinux/root
    # 执行后返回逻辑卷文件系统类型是xfs:
    # /dev/almalinux/root: UUID="db586cbb-5736-4a61-9166-578c32b31212" BLOCK_SIZE="512" TYPE="xfs"
  14. 令文件系统容量更新

     
    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
  15. 最后,再查一次调整后的硬盘分区容量:

     
    df -Th

    我们将在下图中看到前后容量的对比:

    磁盘容量调整前台对比

关于Esxi中的AlmaLinux的硬盘容量扩容到此结束了! 最后,祝大家开发顺利,用文愉快~^v^~

参考:

Esxi中的AlmaLinux硬盘扩容

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐