- A+
之前安装好KVM虚拟机,并做了备份镜像文件,由于当时部署ODOO系统,规划的磁盘空间为100GB,今天由于需要部署ORACLE11g作为数据库服务器,明显磁盘空间不足,于是复制上次镜像的副本,然后在100GB基础上,再增加500GB的磁盘空间。
要扩展的虚拟机镜像文件:Centos7U-ORAC.qcow2。
现磁盘空间:100GB。
增加磁盘空间:500GB。
一、查看镜像文件信息并扩展
关闭要扩容的虚拟机,在KVM母机上查看磁盘信息,进行磁盘扩展。
1.1查看磁盘信息
- [root@kzkvm2020 kvmimg]# qemu-img info Centos7U-ORAC.qcow2
- image: Centos7U-ORAC.qcow2
- file format: qcow2
- virtual size: 100G (107374182400 bytes)
- disk size: 100G
- cluster_size: 65536
- Format specific information:
- compat: 1.1
- lazy refcounts: true
- [root@kzkvm2020 kvmimg]#
- [root@kzkvm2020 kvmimg]#
1.2新增磁盘500GB
- [root@kzkvm2020 kvmimg]# qemu-img resize Centos7U-ORAC.qcow2 +500G
- Image resized.
- [root@kzkvm2020 kvmimg]#
1.3对比扩容磁盘前的信息
- [root@kzkvm2020 kvmimg]# qemu-img info Centos7U-ORAC.qcow2
- image: Centos7U-ORAC.qcow2
- file format: qcow2
- virtual size: 600G (644245094400 bytes)
- disk size: 100G
- cluster_size: 65536
- Format specific information:
- compat: 1.1
- lazy refcounts: true
- [root@kzkvm2020 kvmimg]#
二、启动虚拟机查看磁盘信息
- [root@GUOYOUORAC /]# df -Th
- 文件系统 类型 容量 已用 可用 已用% 挂载点
- /dev/mapper/cl-root xfs 50G 4.6G 46G 10% /
- devtmpfs devtmpfs 7.8G 0 7.8G 0% /dev
- tmpfs tmpfs 7.8G 84K 7.8G 1% /dev/shm
- tmpfs tmpfs 7.8G 8.8M 7.8G 1% /run
- tmpfs tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
- /dev/vda1 xfs 1014M 173M 842M 17% /boot
- /dev/mapper/cl-home xfs 42G 36M 42G 1% /home
- tmpfs tmpfs 1.6G 12K 1.6G 1% /run/user/42
- tmpfs tmpfs 1.6G 0 1.6G 0% /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
- 设备 Boot Start End Blocks Id System
- /dev/vda1 * 2048 2099199 1048576 83 Linux
- /dev/vda2 2099200 209715199 103808000 8e Linux 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 /]#
三、进行磁盘分区
- [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
- 设备 Boot Start End Blocks Id System
- /dev/vda1 * 2048 2099199 1048576 83 Linux
- /dev/vda2 2099200 209715199 103808000 8e Linux LVM
- 命令(输入 m 获取帮助):n
- Partition type:
- p primary (2 primary, 0 extended, 2 free)
- e extended
- Select (default p): p
- 分区号 (3,4,默认 3):3
- 起始 扇区 (209715200-1258291199,默认为 209715200):
- 将使用默认值 209715200
- Last 扇区, +扇区 or +size{K,M,G} (209715200-1258291199,默认为 1258291199):
- 将使用默认值 1258291199
- 分区 3 已设置为 Linux 类型,大小设为 500 GiB
- 命令(输入 m 获取帮助):t
- 分区号 (1-3,默认 3):3
- Hex 代码(输入 L 列出所有代码):8e
- 已将分区“Linux”的类型更改为“Linux LVM”
- 命令(输入 m 获取帮助):w
- The 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. The new table will be used at
- the next reboot or after you run partprobe(8) or kpartx(8)
- 正在同步磁盘。
- [root@GUOYOUORAC /]#
此步骤当中,最终要的地方就是 分配新的区需要修改分区的system id,将分区类型改为LVM(Hex代码为8e)。
四、LVM卷操作
4.1创建物理卷
- Last login: Tue Aug 17 15:15:40 2021 from 10.128.34.201
- [root@GUOYOUORAC ~]#
- [root@GUOYOUORAC ~]# pvcreate /dev/vda3
- Physical volume "/dev/vda3" successfully created.
- [root@GUOYOUORAC ~]# pvs
- PV VG Fmt Attr PSize PFree
- /dev/vda2 cl lvm2 a-- 99.00g 4.00m
- /dev/vda3 lvm2 --- 500.00g 500.00g
- [root@GUOYOUORAC ~]#
这里创建时,提示Device /dev/vda3 not found (or ignored by filtering).
,重启后该问题解决。
4.2加入卷组
- [root@GUOYOUORAC ~]# vgs
- VG #PV #LV #SN Attr VSize VFree
- cl 1 3 0 wz--n- 99.00g 4.00m
- [root@GUOYOUORAC ~]# vgextend moonrong /dev/vda3
- Volume group "moonrong" not found
- Cannot process volume group moonrong
- [root@GUOYOUORAC ~]# vgextend cl /dev/vda3
- Volume group "cl" successfully extended
- [root@GUOYOUORAC ~]# vgs
- VG #PV #LV #SN Attr VSize VFree
- cl 2 3 0 wz--n- 598.99g 500.00g
- [root@GUOYOUORAC ~]#
4.3扩展逻辑卷
- [root@GUOYOUORAC ~]# lvextend -l +100%FREE /dev/cl/root
- Size of logical volume cl/root changed from 50.00 GiB (12800 extents) to 550.00 GiB (140800 extents).
- Logical volume cl/root successfully resized.
- [root@GUOYOUORAC ~]# resize2fs /dev/cl/root
- resize2fs 1.42.9 (28-Dec-2013)
- resize2fs: Bad magic number in super-block 当尝试打开 /dev/cl/root 时
- 找不到有效的文件系统超级块.
- [root@GUOYOUORAC ~]# resize2fs /dev/cl/root
- resize2fs 1.42.9 (28-Dec-2013)
- resize2fs: Bad magic number in super-block 当尝试打开 /dev/cl/root 时
- 找不到有效的文件系统超级块.
- 发现报错,分析原因是因为使用dh -T查看系统分区类型为xfs
- 因此直接使用xfs_growfs扩展即可
- [root@GUOYOUORAC ~]# xfs_growfs /dev/cl/root
- meta-data=/dev/mapper/cl-root isize=512 agcount=4, agsize=3276800 blks
- = sectsz=512 attr=2, projid32bit=1
- = crc=1 finobt=0 spinodes=0
- data = bsize=4096 blocks=13107200, imaxpct=25
- = sunit=0 swidth=0 blks
- naming =version 2 bsize=4096 ascii-ci=0 ftype=1
- log =internal bsize=4096 blocks=6400, version=2
- = sectsz=512 sunit=0 blks, lazy-count=1
- realtime =none extsz=4096 blocks=0, rtextents=0
- data blocks changed from 13107200 to 144179200
- [root@GUOYOUORAC ~]#
最后,在扩容后的系统上查看磁盘容量:
- [root@GUOYOUORAC ~]# df -Th
- 文件系统 类型 容量 已用 可用 已用% 挂载点
- /dev/mapper/cl-root xfs 550G 4.6G 546G 1% /
- devtmpfs devtmpfs 7.8G 0 7.8G 0% /dev
- tmpfs tmpfs 7.8G 84K 7.8G 1% /dev/shm
- tmpfs tmpfs 7.8G 8.9M 7.8G 1% /run
- tmpfs tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
- /dev/vda1 xfs 1014M 173M 842M 17% /boot
- /dev/mapper/cl-home xfs 42G 36M 42G 1% /home
- tmpfs tmpfs 1.6G 16K 1.6G 1% /run/user/42
- tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0
- [root@GUOYOUORAC ~]#