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

2021-10-08 11:38:24 浏览数 (1)

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

  • 要扩展的虚拟机镜像文件:Centos7U-ORAC.qcow2。
  • 现磁盘空间:100GB。
  • 增加磁盘空间:500GB。

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

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

1.查看磁盘信息

代码语言:javascript复制
[root@kzkvm2020 kvmimg]# qemu-img info Centos7U-ORAC.qcow2image: Centos7U-ORAC.qcow2file format: qcow2virtual size: 100G(107374182400 bytes)disk size: 100Gcluster_size: 65536Format specific information:    compat: 1.1    lazy refcounts: true[root@kzkvm2020 kvmimg]#[root@kzkvm2020 kvmimg]#

1.2新增磁盘500GB

代码语言:javascript复制
[root@kzkvm2020 kvmimg]# qemu-img resize Centos7U-ORAC.qcow2  500GImage resized.[root@kzkvm2020 kvmimg]#

1.3对比扩容磁盘前的信息

代码语言:javascript复制
[root@kzkvm2020 kvmimg]# qemu-img info Centos7U-ORAC.qcow2image: Centos7U-ORAC.qcow2file format: qcow2virtual size: 600G(644245094400 bytes)disk size: 100Gcluster_size: 65536Format specific information:    compat: 1.1    lazy refcounts: true[root@kzkvm2020 kvmimg]#

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

代码语言:javascript复制
[root@GUOYOUORAC /]# df -Th文件系统            类型      容量  已用  可用 已用% 挂载点/dev/mapper/cl-root xfs        50G4.6G46G10% /devtmpfs            devtmpfs  7.8G07.8G0% /devtmpfs               tmpfs     7.8G84K7.8G1% /dev/shmtmpfs               tmpfs     7.8G8.8M7.8G1% /runtmpfs               tmpfs     7.8G07.8G0% /sys/fs/cgroup/dev/vda1           xfs      1014M173M842M17% /boot/dev/mapper/cl-home xfs        42G36M42G1% /hometmpfs               tmpfs     1.6G12K1.6G1% /run/user/42tmpfs               tmpfs     1.6G01.6G0% /run/user/0[root@GUOYOUORAC /]# fdisk -l
磁盘 /dev/vda:644.2 GB, 644245094400字节,1258291200个扇区Units= 扇区 of 1* 512= 512 bytes扇区大小(逻辑/物理):512字节 / 512字节I/O 大小(最小/最佳):512字节 / 512字节磁盘标签类型:dos磁盘标识符:0x0000acb3
设备 BootStartEndBlocksIdSystem/dev/vda1   *        20482099199104857683Linux/dev/vda2         20992002097151991038080008eLinux LVM
磁盘 /dev/mapper/cl-root:53.7 GB, 53687091200字节,104857600个扇区Units= 扇区 of 1* 512= 512 bytes扇区大小(逻辑/物理):512字节 / 512字节I/O 大小(最小/最佳):512字节 / 512字节

磁盘 /dev/mapper/cl-swap:8455 MB, 8455716864字节,16515072个扇区Units= 扇区 of 1* 512= 512 bytes扇区大小(逻辑/物理):512字节 / 512字节I/O 大小(最小/最佳):512字节 / 512字节

磁盘 /dev/mapper/cl-home:44.1 GB, 44149243904字节,86228992个扇区Units= 扇区 of 1* 512= 512 bytes扇区大小(逻辑/物理):512字节 / 512字节I/O 大小(最小/最佳):512字节 / 512字节
[root@GUOYOUORAC /]#

三、进行磁盘分区

代码语言:javascript复制
[root@GUOYOUORAC /]# fdisk /dev/vda欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。

命令(输入 m 获取帮助):p
磁盘 /dev/vda:644.2 GB, 644245094400字节,1258291200个扇区Units= 扇区 of 1* 512= 512 bytes扇区大小(逻辑/物理):512字节 / 512字节I/O 大小(最小/最佳):512字节 / 512字节磁盘标签类型:dos磁盘标识符:0x0000acb3
设备 BootStartEndBlocksIdSystem/dev/vda1   *        20482099199104857683Linux/dev/vda2         20992002097151991038080008eLinux LVM
命令(输入 m 获取帮助):nPartition type:   p   primary (2 primary, 0 extended, 2 free)   e   extendedSelect(default p): p分区号 (3,4,默认 3):3起始 扇区 (209715200-1258291199,默认为 209715200):将使用默认值 209715200Last扇区,  扇区 or size{K,M,G} (209715200-1258291199,默认为 1258291199):将使用默认值 1258291199分区 3已设置为 Linux类型,大小设为 500GiB
命令(输入 m 获取帮助):t分区号 (1-3,默认 3):3Hex代码(输入 L 列出所有代码):8e已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):wThe partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.The kernel still uses the old table. Thenew table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)正在同步磁盘。[root@GUOYOUORAC /]#

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

四、LVM卷操作

4.1创建物理卷

代码语言:javascript复制
Last login: TueAug1715:15:402021from10.128.34.201[root@GUOYOUORAC ~]#[root@GUOYOUORAC ~]# pvcreate /dev/vda3Physical volume "/dev/vda3" successfully created.[root@GUOYOUORAC ~]# pvs  PV         VG FmtAttrPSizePFree  /dev/vda2  cl lvm2 a--   99.00g4.00m/dev/vda3     lvm2 ---  500.00g500.00g[root@GUOYOUORAC ~]#

这里创建时,提示 Device/dev/vda3notfound(orignoredbyfiltering),重启后该问题解决。

4.2加入卷组

代码语言:javascript复制
[root@GUOYOUORAC ~]# vgs  VG #PV #LV #SN Attr   VSize  VFree  cl   130 wz--n- 99.00g4.00m[root@GUOYOUORAC ~]# vgextend moonrong /dev/vda3Volumegroup"moonrong"not foundCannot process volume group moonrong[root@GUOYOUORAC ~]# vgextend cl /dev/vda3Volumegroup"cl" successfully extended[root@GUOYOUORAC ~]# vgs  VG #PV #LV #SN Attr   VSize   VFree  cl   230 wz--n- 598.99g500.00g[root@GUOYOUORAC ~]#

4.3扩展逻辑卷

代码语言:javascript复制
[root@GUOYOUORAC ~]# lvextend -l  100%FREE /dev/cl/rootSize of logical volume cl/root changed from50.00GiB(12800 extents) to 550.00GiB(140800 extents).Logical volume cl/root successfully resized.[root@GUOYOUORAC ~]# resize2fs /dev/cl/rootresize2fs 1.42.9(28-Dec-2013)resize2fs: Bad magic number insuper-block 当尝试打开 /dev/cl/root 时找不到有效的文件系统超级块.[root@GUOYOUORAC ~]# resize2fs /dev/cl/rootresize2fs 1.42.9(28-Dec-2013)resize2fs: Bad magic number insuper-block 当尝试打开 /dev/cl/root 时找不到有效的文件系统超级块.
发现报错,分析原因是因为使用dh -T查看系统分区类型为xfs
因此直接使用xfs_growfs扩展即可
[root@GUOYOUORAC ~]# xfs_growfs /dev/cl/rootmeta-data=/dev/mapper/cl-root    isize=512    agcount=4, agsize=3276800 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0 spinodes=0data     =                       bsize=4096   blocks=13107200, imaxpct=25=                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=1log      =internal               bsize=4096   blocks=6400, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0data blocks changed from13107200 to 144179200[root@GUOYOUORAC ~]#

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

代码语言:javascript复制
[root@GUOYOUORAC ~]# df -Th文件系统            类型      容量  已用  可用 已用% 挂载点/dev/mapper/cl-root xfs       550G4.6G546G1% /devtmpfs            devtmpfs  7.8G07.8G0% /devtmpfs               tmpfs     7.8G84K7.8G1% /dev/shmtmpfs               tmpfs     7.8G8.9M7.8G1% /runtmpfs               tmpfs     7.8G07.8G0% /sys/fs/cgroup/dev/vda1           xfs      1014M173M842M17% /boot/dev/mapper/cl-home xfs        42G36M42G1% /hometmpfs               tmpfs     1.6G16K1.6G1% /run/user/42tmpfs               tmpfs     1.6G01.6G0% /run/user/0[root@GUOYOUORAC ~]#

学习|生活|分享|积累|永不停步

请留下你指尖的温度

让太阳拥抱你

微信ID:haopython

0 人点赞