
kvm虚拟机磁盘空间扩展与xen虚拟机磁盘空间扩展思路一致。原因在于xen/kvm默认的虚拟机磁盘格式为raw,所以方式可以通用。
raw磁盘格式扩展思路如下
(1) 新添加一块raw格式的磁盘加入到KVM虚拟机,然后通过虚拟机系统lvm逻辑卷管理方式进行管理,扩展磁盘空间。
(2) 直接通过dd命令扩展现有虚拟机磁盘大小,扩展之后,原磁盘大小增大,进入虚拟机系统后,直接通过fdisk分区新添加的空间,然后将该分区并入lvm逻辑卷中,扩大磁盘空间。
qcow2磁盘格式扩展思路如下
(1) 可以采用raw磁盘格式磁盘的扩展方式一致的方式进行。
(2) qcow2格式磁盘,直接通过qemu-img 直接扩展qcow2磁盘, 新添加一块raw格式的磁盘加入到KVM虚拟机,然后通过虚拟机系统lvm逻辑卷管理方式进行管理,扩展磁盘空间。
下面将开始通过qcow2格式添加磁盘。
方式一:添加一块qcow2磁盘加入虚拟机
1. 查看现在虚拟机磁盘信息
(1) 磁盘大小与格式信息
查看虚拟机磁盘格式。
查看磁盘格式信息
进入虚拟机,查看磁盘容量。
[root@test01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg-root .7G .1G .4G % /
/dev/hda1 99M 24M 71M % /boot
tmpfs 249M 249M % /dev/shm
(2) 添加一块qcow2磁盘
# qemu-img create -f qcow2 test01_add.qcow2 2G
(3) 添加一块qcow2磁盘信息加入配置文件
[root@node1 data]# virsh shutdown oeltest01
域 oeltest01 被关闭 [root@node1 data]#
[root@node1 data]# virsh list --all
Id 名称 状态
----------------------------------------------------
- oeltest01 关闭
- oeltest02 关闭
- oeltest03 关闭
- wintest01 关闭 在配置文件中加入如下内容: # virsh edit oeltest01 <disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/data/test01_add.qcow2'/>
<target dev='hdb' bus='ide'/>
</disk>
(4) 启动虚拟机并配置磁盘
# virsh start oeltest01 # virsh console oeltest01
2. 配置LVM扩展磁盘
(1) 分区
(2) 扩展lvm逻辑卷。
方式二:直接扩展qcow2磁盘
接上文恢复测试环境。
(1) 关闭虚拟机。
(2) 删除配置文件中第二块磁盘信息
(3) 通过kvm虚拟机快照备份中创建的快照恢复虚拟机。
1. 直接扩展qcow2磁盘
(1) 查看磁盘
# virsh edit oeltest01 <disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/data/test01.qcow2'/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='' bus='' target='' unit=''/>
</disk>
(2) 直接扩展qcow2磁盘
# qemu-img resize test01.qcow2 +2G
经过前后对比,磁盘大小已由7G扩展到9G,已扩展,qcow2磁盘格式必须采用此方式进行扩展,不要使用dd方式,dd方式适用于raw格式。
2. 进入系统开始扩展磁盘
(1) 查看分区大小
[root@test01 ~]# fdisk -l Disk /dev/hda: MB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes Device Boot Start End Blocks Id System
/dev/hda1 * Linux
/dev/hda2 8e Linux LVM Disk /dev/dm-: MB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes Disk /dev/dm- doesn't contain a valid partition table Disk /dev/dm-: MB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes Disk /dev/dm- doesn't contain a valid partition table
[root@test01 ~]#
(2) 开始分区
[root@test01 ~]# fdisk /dev/hda
过程如下,将扩展的空间分成一个区。
查看现在磁盘空间
(3) 开始创建物理卷,加入卷组,扩展逻辑卷。
到此kvm虚拟机扩展磁盘空间成功,当虚拟机磁盘格式换成qcow2后,确实有很多需要注意的地方,qcow2格式支持动态扩展与快照功能,虽然性比raw稍差,但确实很实用。