CentOS8 磁盘扩容

前言

本操作基于KVM虚拟机qcow2镜像,使用qemu-img resize xxx.qcow2 +30G命令对原始8g镜像执行扩容30g命令后启动虚拟机进入环境。

本操作最后会将这30g扩容到根目录。

扩容步骤

  1. 执行命令df -hfdisk -l查看当前系统文件与磁盘信息

    [root@bogon ~]# df -h
    文件系统              容量  已用  可用 已用% 挂载点
    devtmpfs              3.8G     0  3.8G    0% /dev
    tmpfs                 3.8G     0  3.8G    0% /dev/shm
    tmpfs                 3.8G   17M  3.8G    1% /run
    tmpfs                 3.8G     0  3.8G    0% /sys/fs/cgroup
    /dev/mapper/bel-root  6.2G  6.2G   23M  100% /
    /dev/sda1            1014M  203M  812M   20% /boot
    tmpfs                 777M     0  777M    0% /run/user/0
    [root@bogon ~]# fdisk -l
    Disk /dev/sda:38 GiB,40802189312 字节,79691776 个扇区
    单元:扇区 / 1 * 512 = 512 字节
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x51f82d17
    
    设备       启动    起点     末尾     扇区 大小 Id 类型
    /dev/sda1  *       2048  2099199  2097152   1G 83 Linux
    /dev/sda2       2099200 16777215 14678016   7G 8e Linux LVM
    
    
    
    
    Disk /dev/mapper/bel-root:6.2 GiB,6652166144 字节,12992512 个扇区
    单元:扇区 / 1 * 512 = 512 字节
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    
    
    Disk /dev/mapper/bel-swap:820 MiB,859832320 字节,1679360 个扇区
    单元:扇区 / 1 * 512 = 512 字节
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    

    之前增加的30g容量在磁盘中已经可以查看得到,但尚未在文件系统中生效。

  2. 执行命令fdisk /dev/sda

    [root@bogon ~]# fdisk /dev/sda
    
    欢迎使用 fdisk (util-linux 2.32.1)。
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    
    命令(输入 m 获取帮助):
    

    这里开始进入fdisk命令界面

  3. 依次输入np,之后看情况是否按默认执行

    令(输入 m 获取帮助):n
    分区类型
       p   主分区 (2个主分区,0个扩展分区,2空闲)
       e   扩展分区 (逻辑分区容器)
    选择 (默认 p):p
    分区号 (3,4, 默认  3): 
    第一个扇区 (16777216-79691775, 默认 16777216): 
    上个扇区,+sectors 或 +size{K,M,G,T,P} (16777216-79691775, 默认 79691775): 
    
    创建了一个新分区 3,类型为“Linux”,大小为 30 GiB。
    
  4. 将默认类型更改为Linux LVM,依次输入t38e

    命令(输入 m 获取帮助):t
    分区号 (1-3, 默认  3): 
    Hex 代码(输入 L 列出所有代码):8e
    
    已将分区“Linux”的类型更改为“Linux LVM”。
    
  5. 输入p,查看磁盘情况

    命令(输入 m 获取帮助):p
    Disk /dev/sda:38 GiB,40802189312 字节,79691776 个扇区
    单元:扇区 / 1 * 512 = 512 字节
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x51f82d17
    
    设备       启动     起点     末尾     扇区 大小 Id 类型
    /dev/sda1  *        2048  2099199  2097152   1G 83 Linux
    /dev/sda2        2099200 16777215 14678016   7G 8e Linux LVM
    /dev/sda3       16777216 79691775 62914560  30G 8e Linux LVM
    
  6. 输入w保存我们的修改

    命令(输入 m 获取帮助):w
    分区表已调整。
    正在同步磁盘。
    

    这里开始退出fdisk,回到linux命令界面。

  7. 在linux命令界面,执行命令pvcreate /dev/sda3

    [root@bogon ~]# pvcreate /dev/sda3
      Physical volume "/dev/sda3" successfully created.
    
  8. 接着执行vgdisplay查看VG Name

    [root@bogon ~]# vgdisplay
      --- Volume group ---
      VG Name               bel
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  3
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               2
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               <7.00 GiB
      PE Size               4.00 MiB
      Total PE              1791
      Alloc PE / Size       1791 / <7.00 GiB
      Free  PE / Size       0 / 0   
      VG UUID               AMQsSQ-0Ar3-gVxq-0Jsa-9fIs-CerA-hVnM8q
    

    可以看到,我这里的VG Name是bel

  9. 执行vgextend <VG Name> /dev/sda3,这里VG Name填上一步查看的对应名称

    [root@bogon ~]# vgextend bel /dev/sda3
      Volume group "bel" successfully extended
    
  10. 执行lvdisplay查看逻辑路径

    [root@bogon ~]# lvdisplay
      --- Logical volume ---
      LV Path                /dev/bel/swap
      LV Name                swap
      VG Name                bel
      LV UUID                deLXI0-rRtA-w2ws-HE5M-9i3F-tHMD-w8bJEw
      LV Write Access        read/write
      LV Creation host, time localhost, 2022-01-19 16:58:11 +0800
      LV Status              available
      # open                 2
      LV Size                820.00 MiB
      Current LE             205
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:1
       
      --- Logical volume ---
      LV Path                /dev/bel/root
      LV Name                root
      VG Name                bel
      LV UUID                ripNUL-x3rE-qmvq-IQOK-X9U3-cATN-Efx8qp
      LV Write Access        read/write
      LV Creation host, time localhost, 2022-01-19 16:58:12 +0800
      LV Status              available
      # open                 1
      LV Size                <6.20 GiB
      Current LE             1586
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:0
    
  11. 最后一步,应用扩容到文件系统,如果使用xfs则执行lvextend -l +100%FREE <path>,如果使用ext4,则执行resize2fs -p <path>,这里我使用的是xfs:

    [root@bogon ~]# lvextend -l +100%FREE /dev/bel/root
      Size of logical volume bel/root changed from <6.20 GiB (1586 extents) to 36.19 GiB (9265 extents).
      Logical volume bel/root successfully resized.
    
  12. 此时用df -h查看文件系统,扩容已经完成了

    [root@bogon ~]# df -h
    文件系统              容量  已用  可用 已用% 挂载点
    devtmpfs              3.8G     0  3.8G    0% /dev
    tmpfs                 3.8G     0  3.8G    0% /dev/shm
    tmpfs                 3.8G   17M  3.8G    1% /run
    tmpfs                 3.8G     0  3.8G    0% /sys/fs/cgroup
    /dev/mapper/bel-root   37G  6.4G   30G   18% /
    /dev/sda1            1014M  203M  812M   20% /boot
    tmpfs                 777M     0  777M    0% /run/user/0
    

若没有生效,可能还需要输入xfs_growfs /dev/mapper/bel-root,手动刷新文件系统

参考资料:

How to Increase and Expand Your Filesystem in CentOS 8

posted @ 2022-01-21 14:34  TappaT  阅读(796)  评论(0)    收藏  举报