KVM虚拟机下qcow2镜像文件所在虚拟机磁盘扩容方法

  • A+

之前安装好KVM虚拟机,并做了备份镜像文件,由于当时部署ODOO系统,规划的磁盘空间为100GB,今天由于需要部署ORACLE11g作为数据库服务器,明显磁盘空间不足,于是复制上次镜像的副本,然后在100GB基础上,再增加500GB的磁盘空间。

要扩展的虚拟机镜像文件:Centos7U-ORAC.qcow2。

现磁盘空间:100GB。

增加磁盘空间:500GB。

一、查看镜像文件信息并扩展

关闭要扩容的虚拟机,在KVM母机上查看磁盘信息,进行磁盘扩展。

1.1查看磁盘信息
  1. [root@kzkvm2020 kvmimg]# qemu-img info Centos7U-ORAC.qcow2   
  2. image: Centos7U-ORAC.qcow2  
  3. file format: qcow2  
  4. virtual size: 100G (107374182400 bytes)  
  5. disk size: 100G  
  6. cluster_size: 65536  
  7. Format specific information:  
  8.     compat: 1.1  
  9.     lazy refcounts: true  
  10. [root@kzkvm2020 kvmimg]  
  11. [root@kzkvm2020 kvmimg]  
1.2新增磁盘500GB
  1. [root@kzkvm2020 kvmimg]# qemu-img resize Centos7U-ORAC.qcow2 +500G  
  2. Image resized.  
  3. [root@kzkvm2020 kvmimg]  
1.3对比扩容磁盘前的信息
  1. [root@kzkvm2020 kvmimg]# qemu-img info Centos7U-ORAC.qcow2   
  2. image: Centos7U-ORAC.qcow2  
  3. file format: qcow2  
  4. virtual size: 600G (644245094400 bytes)  
  5. disk size: 100G  
  6. cluster_size: 65536  
  7. Format specific information:  
  8.     compat: 1.1  
  9.     lazy refcounts: true  
  10. [root@kzkvm2020 kvmimg]  

二、启动虚拟机查看磁盘信息

  1. [root@GUOYOUORAC /]# df -Th  
  2. 文件系统            类型      容量  已用  可用 已用% 挂载点  
  3. /dev/mapper/cl-root xfs        50G  4.6G   46G   10% /  
  4. devtmpfs            devtmpfs  7.8G     0  7.8G    0% /dev  
  5. tmpfs               tmpfs     7.8G   84K  7.8G    1% /dev/shm  
  6. tmpfs               tmpfs     7.8G  8.8M  7.8G    1% /run  
  7. tmpfs               tmpfs     7.8G     0  7.8G    0% /sys/fs/cgroup  
  8. /dev/vda1           xfs      1014M  173M  842M   17% /boot  
  9. /dev/mapper/cl-home xfs        42G   36M   42G    1% /home  
  10. tmpfs               tmpfs     1.6G   12K  1.6G    1% /run/user/42  
  11. tmpfs               tmpfs     1.6G     0  1.6G    0% /run/user/0  
  12. [root@GUOYOUORAC /]# fdisk -l  
  13.   
  14. 磁盘 /dev/vda:644.2 GB, 644245094400 字节,1258291200 个扇区  
  15. Units = 扇区 of 1 * 512 = 512 bytes  
  16. 扇区大小(逻辑/物理):512 字节 / 512 字节  
  17. I/O 大小(最小/最佳):512 字节 / 512 字节  
  18. 磁盘标签类型:dos  
  19. 磁盘标识符:0x0000acb3  
  20.   
  21.    设备 Boot      Start         End      Blocks   Id  System  
  22. /dev/vda1   *        2048     2099199     1048576   83  Linux  
  23. /dev/vda2         2099200   209715199   103808000   8e  Linux LVM  
  24.   
  25. 磁盘 /dev/mapper/cl-root:53.7 GB, 53687091200 字节,104857600 个扇区  
  26. Units = 扇区 of 1 * 512 = 512 bytes  
  27. 扇区大小(逻辑/物理):512 字节 / 512 字节  
  28. I/O 大小(最小/最佳):512 字节 / 512 字节  
  29.   
  30.   
  31. 磁盘 /dev/mapper/cl-swap:8455 MB, 8455716864 字节,16515072 个扇区  
  32. Units = 扇区 of 1 * 512 = 512 bytes  
  33. 扇区大小(逻辑/物理):512 字节 / 512 字节  
  34. I/O 大小(最小/最佳):512 字节 / 512 字节  
  35.   
  36.   
  37. 磁盘 /dev/mapper/cl-home:44.1 GB, 44149243904 字节,86228992 个扇区  
  38. Units = 扇区 of 1 * 512 = 512 bytes  
  39. 扇区大小(逻辑/物理):512 字节 / 512 字节  
  40. I/O 大小(最小/最佳):512 字节 / 512 字节  
  41.   
  42. [root@GUOYOUORAC /]  

三、进行磁盘分区

  1. [root@GUOYOUORAC /]# fdisk /dev/vda  
  2. 欢迎使用 fdisk (util-linux 2.23.2)。  
  3.   
  4. 更改将停留在内存中,直到您决定将更改写入磁盘。  
  5. 使用写入命令前请三思。  
  6.   
  7.   
  8. 命令(输入 m 获取帮助):p  
  9.   
  10. 磁盘 /dev/vda:644.2 GB, 644245094400 字节,1258291200 个扇区  
  11. Units = 扇区 of 1 * 512 = 512 bytes  
  12. 扇区大小(逻辑/物理):512 字节 / 512 字节  
  13. I/O 大小(最小/最佳):512 字节 / 512 字节  
  14. 磁盘标签类型:dos  
  15. 磁盘标识符:0x0000acb3  
  16.   
  17.    设备 Boot      Start         End      Blocks   Id  System  
  18. /dev/vda1   *        2048     2099199     1048576   83  Linux  
  19. /dev/vda2         2099200   209715199   103808000   8e  Linux LVM  
  20.   
  21. 命令(输入 m 获取帮助):n  
  22. Partition type:  
  23.    p   primary (2 primary, 0 extended, 2 free)  
  24.    e   extended  
  25. Select (default p): p  
  26. 分区号 (3,4,默认 3):3  
  27. 起始 扇区 (209715200-1258291199,默认为 209715200):  
  28. 将使用默认值 209715200  
  29. Last 扇区, +扇区 or +size{K,M,G} (209715200-1258291199,默认为 1258291199):  
  30. 将使用默认值 1258291199  
  31. 分区 3 已设置为 Linux 类型,大小设为 500 GiB  
  32.   
  33. 命令(输入 m 获取帮助):t  
  34. 分区号 (1-3,默认 3):3  
  35. Hex 代码(输入 L 列出所有代码):8e  
  36. 已将分区“Linux”的类型更改为“Linux LVM”  
  37.   
  38. 命令(输入 m 获取帮助):w  
  39. The partition table has been altered!  
  40.   
  41. Calling ioctl() to re-read partition table.  
  42.   
  43. WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.  
  44. The kernel still uses the old table. The new table will be used at  
  45. the next reboot or after you run partprobe(8) or kpartx(8)  
  46. 正在同步磁盘。  
  47. [root@GUOYOUORAC /]  

此步骤当中,最终要的地方就是 分配新的区需要修改分区的system id,将分区类型改为LVM(Hex代码为8e)。

四、LVM卷操作

4.1创建物理卷
  1. Last login: Tue Aug 17 15:15:40 2021 from 10.128.34.201  
  2. [root@GUOYOUORAC ~]  
  3. [root@GUOYOUORAC ~]# pvcreate /dev/vda3  
  4.   Physical volume "/dev/vda3" successfully created.  
  5. [root@GUOYOUORAC ~]# pvs  
  6.   PV         VG Fmt  Attr PSize   PFree    
  7.   /dev/vda2  cl lvm2 a--   99.00g   4.00m  
  8.   /dev/vda3     lvm2 ---  500.00g 500.00g  
  9. [root@GUOYOUORAC ~]  

这里创建时,提示Device /dev/vda3 not found (or ignored by filtering).,重启后该问题解决。

4.2加入卷组
  1. [root@GUOYOUORAC ~]# vgs  
  2.   VG #PV #LV #SN Attr   VSize  VFree  
  3.   cl   1   3   0 wz--n- 99.00g 4.00m  
  4. [root@GUOYOUORAC ~]# vgextend moonrong /dev/vda3  
  5.   Volume group "moonrong" not found  
  6.   Cannot process volume group moonrong  
  7. [root@GUOYOUORAC ~]# vgextend cl /dev/vda3  
  8.   Volume group "cl" successfully extended  
  9. [root@GUOYOUORAC ~]# vgs  
  10.   VG #PV #LV #SN Attr   VSize   VFree    
  11.   cl   2   3   0 wz--n- 598.99g 500.00g  
  12. [root@GUOYOUORAC ~]  
4.3扩展逻辑卷
  1. [root@GUOYOUORAC ~]# lvextend -l +100%FREE /dev/cl/root  
  2.   Size of logical volume cl/root changed from 50.00 GiB (12800 extents) to 550.00 GiB (140800 extents).  
  3.   Logical volume cl/root successfully resized.  
  4. [root@GUOYOUORAC ~]# resize2fs /dev/cl/root  
  5. resize2fs 1.42.9 (28-Dec-2013)  
  6. resize2fs: Bad magic number in super-block 当尝试打开 /dev/cl/root 时  
  7. 找不到有效的文件系统超级块.  
  8. [root@GUOYOUORAC ~]# resize2fs /dev/cl/root  
  9. resize2fs 1.42.9 (28-Dec-2013)  
  10. resize2fs: Bad magic number in super-block 当尝试打开 /dev/cl/root 时  
  11. 找不到有效的文件系统超级块.  
  12.   
  13. 发现报错,分析原因是因为使用dh -T查看系统分区类型为xfs  
  14.   
  15. 因此直接使用xfs_growfs扩展即可  
  16.   
  17. [root@GUOYOUORAC ~]# xfs_growfs /dev/cl/root  
  18. meta-data=/dev/mapper/cl-root    isize=512    agcount=4, agsize=3276800 blks  
  19.          =                       sectsz=512   attr=2, projid32bit=1  
  20.          =                       crc=1        finobt=0 spinodes=0  
  21. data     =                       bsize=4096   blocks=13107200, imaxpct=25  
  22.          =                       sunit=0      swidth=0 blks  
  23. naming   =version 2              bsize=4096   ascii-ci=0 ftype=1  
  24. log      =internal               bsize=4096   blocks=6400, version=2  
  25.          =                       sectsz=512   sunit=0 blks, lazy-count=1  
  26. realtime =none                   extsz=4096   blocks=0, rtextents=0  
  27. data blocks changed from 13107200 to 144179200  
  28. [root@GUOYOUORAC ~]  

最后,在扩容后的系统上查看磁盘容量:

  1. [root@GUOYOUORAC ~]# df -Th  
  2. 文件系统            类型      容量  已用  可用 已用% 挂载点  
  3. /dev/mapper/cl-root xfs       550G  4.6G  546G    1% /  
  4. devtmpfs            devtmpfs  7.8G     0  7.8G    0% /dev  
  5. tmpfs               tmpfs     7.8G   84K  7.8G    1% /dev/shm  
  6. tmpfs               tmpfs     7.8G  8.9M  7.8G    1% /run  
  7. tmpfs               tmpfs     7.8G     0  7.8G    0% /sys/fs/cgroup  
  8. /dev/vda1           xfs      1014M  173M  842M   17% /boot  
  9. /dev/mapper/cl-home xfs        42G   36M   42G    1% /home  
  10. tmpfs               tmpfs     1.6G   16K  1.6G    1% /run/user/42  
  11. tmpfs               tmpfs     1.6G     0  1.6G    0% /run/user/0  
  12. [root@GUOYOUORAC ~]  
moonrong
  • 版权声明:本站原创文章,于2021年9月30日14:54:49,由 发表,共 6746 字。
  • 版权声明: 本文由于2021年9月30日14:54:49 发表在 好派笔记,共 6746 字。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: