kvm的磁盘格式分为:raw磁盘格式和qcow2磁盘格式,扩充的思路如下:

raw磁盘格式扩展思路如下:

 方法(1)新添加一块raw格式的磁盘添加到kvm虚拟机,然后通过逻辑卷的管理方式进行管理,依此进行扩展磁盘空间。

 方法(2)直接通过dd命令扩展现有虚拟机磁盘大小,扩展之后,原磁盘大小增大,进入虚拟机系统后,直接通过fdisk分区新添加的空间,然后将该分区并入lvm逻辑卷中,扩大磁盘空间。

qcow2磁盘格式扩展思路如下:

 方法(1)可以采用raw磁盘格式磁盘的扩展方式一致的方式进行。

 方法(2)qcow2格式磁盘,直接通过qemu-img 直接扩展qcow2磁盘, 新添加一块raw格式的磁盘加入到KVM虚拟机,然后通过虚拟机系统lvm逻辑卷管理方式进行管理,扩展磁盘空间。


(一)下面将开始通过qcow2格式添加磁盘,有两种方法进行扩展磁盘空间。

方法一:添加一块qcow2磁盘加入到虚拟机中

1,查看现有虚拟机磁盘格式

[root@KVM ~]# virsh edit hadoop3

wKioL1a0C2ihQYxhAADcH5TW-Ms686.png查看磁盘格式

[root@KVM test]# qemu-img info hadoop3.qcow2 
p_w_picpath: hadoop3.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 881M
cluster_size: 65536
Snapshot list:
ID        TAG                 VM SIZE                DATE       VM CLOCK
2         1454577442                0 2016-02-04 17:17:22   00:00:00.000
[root@KVM test]#

2,添加一块新的磁盘

[root@KVM test]# qemu-img create -f qcow2 hadoop3_add.qcow2 10G

wKiom1a0DAmjE9QnAAChpQMtdtw045.png3,把新添加的qcow2的磁盘相关信息添加到配置文件。

在配置文件中加入如下内容:

[root@KVM qemu]# virsh edit hadoop3  
 <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/p_w_picpaths/test/hadoop3_add.qcow2'/>
      <target dev='hdb' bus='ide'/>
    </disk>

wKiom1a0DiPgqCxHAAFAoWvaR-I571.png

4,启动虚拟机并配置磁盘,配置磁盘可通过lvm的方式进行在线扩展

[root@KVM test]# virsh start hadoop3
Domain hadoop3 started
[root@KVM test]#

 配置lvm扩展磁盘的步骤:

 (1)分区

wKioL1a0Hwbx4sJ8AAApsPELnkk809.png

wKiom1a0H4WTLwctAAAxdF2lh58635.png

 (2)扩展lvm逻辑卷

wKioL1a0Ij_CDzHUAABCBSCovc0807.png

wKioL1a0Ij_SzBSHAAAdcV4YlR0416.png



方式二:直接扩展qcow2磁盘

使用新的被关闭的虚拟机进行测试

1,查看磁盘

[root@KVM qemu]# virsh edit hadoop1

wKioL1a0RLSCaWvJAADvC597hTY189.png

2,直接扩展qcow2磁盘

[root@KVM test]# qemu-img resize hadoop1.qcow2 +10G
Image resized.
[root@KVM test]# qemu-img info hadoop1.qcow2 
p_w_picpath: hadoop1.qcow2
file format: qcow2
virtual size: 20G (21474836480 bytes)          ###扩充了20G
disk size: 1.3G 
cluster_size: 65536

经过前后对比,原先10G现在直接扩展了10G,qcow2磁盘格式必须采用此方式进行扩展,不要采用dd方式,dd方式适用于raw格式。


3,进入系统进行查看

wKioL1a0RqSQkw_hAAAcRGyAS1o172.png

wKiom1a0RlKw0pQBAABCs-GcHD0910.png

4,开始分区,最后输入w保存

[root@localhost ~]#fdisk /dev/vda

wKiom1a0R4HD30RVAAAzNw4-fHs517.png


5,重启该虚拟机,接下来开始创建物理卷,加入卷组,扩展逻辑卷(lvm扩充分区)

wKiom1a0UJTxvYr8AABSF-sBzv8697.png




(二)下面将开始通过raw格式扩充磁盘空间的两种方法:

方法一:添加一个虚拟磁盘文件,然后在虚拟机中加入lvm逻辑卷的方式来增加磁盘空间,步骤如下:

1,通过dd创建一个磁盘文件

[root@KVM test]# dd if=/dev/zero bs=1024M count=4 > /p_w_picpaths/test/hadoop4_add.img
4+0 records in
4+0 records out
4294967296 bytes (4.3 GB) copied, 47.6413 s, 90.2 MB/s    
[root@KVM test]# qemu-img info hadoop4_add.img 
p_w_picpath: hadoop4_add.img
file format: raw
virtual size: 4.0G (4294967296 bytes)
disk size: 4.0G

 wKioL1a0PTzyK4GbAACaPCAkF6w923.png2,关闭hadoop4虚拟机

[root@KVM qemu]# virsh list --all             
 Id    Name                           State
----------------------------------------------------
 1     win7                           running
 11    hadoop3                        running
 -     hadoop1                        shut off
 -     hadoop2                        shut off
 -     hadoop4                        shut off

3,修改虚拟机配置文件,把新添加的hdb添加到配置文件中

[root@KVM qemu]# virsh edit hadoop4
<domain type='qemu'>
  <name>hadoop4</name>
  <uuid>586b3cae-943f-d283-d8e7-ed62b01bfa34</uuid>
  <memory unit='KiB'>1048576</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <os>
    <type arch='x86_64' machine='rhel6.6.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/p_w_picpaths/test/hadoop4.img'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
     <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/p_w_picpaths/test/hadoop4_add.img'/>
      <target dev='hdb' bus='ide'/>
    </disk>
    <disk type='block' device='cdrom'>
"/tmp/virshKw385N.xml" 80L, 2929C written
Domain hadoop4 XML configuration edited.

4,启动虚拟机

[root@KVM qemu]# virsh start hadoop4
Domain hadoop4 started

5,进入该虚拟机,进行查看

wKiom1a0UnKhtTyyAABUI7VUYCI145.png


wKiom1a0UnKRoxkTAAAjBVYambY871.png


6,开始分区如下图:

wKioL1a0U-jiSoT0AAA9uZC1ErM783.png

wKiom1a0U5bjBuHXAAAyXCM_pMg847.png

7,通过lvm进行逻辑卷的磁盘管理,同上边一样如下图

wKioL1a0XrSgGkpBAAA_7zvh5MU342.png

wKiom1a0XmGz8aF4AAAc4Yqyxh0555.png





方法二:直接通过resize来修改磁盘空间的大小,不过此命令只支持raw格式的磁盘,如果是qcow2格式的磁盘需要先使用qemu-img convert进行转换后才能更改其大小。另外使用qemu-img resize filename size来更改大小需要重启kvm虚拟机,才能被系统识别。具体的步骤如下:

1,使用qemu-img resize更改磁盘空间的大小

[root@KVM test]# qemu-img info hadoop2.img  
p_w_picpath: hadoop2.img
file format: raw
virtual size: 20G (21474836480 bytes)
disk size: 10G
[root@KVM test]# qemu-img resize hadoop2.img  +10G
Image resized.
[root@KVM test]# qemu-img info hadoop2.img        
p_w_picpath: hadoop2.img
file format: raw
virtual size: 30G (32212254720 bytes)
disk size: 10G
[root@KVM test]#

2,重启,查看kvm虚拟机,然后划分区,进行lvm逻辑卷的扩充等等。和上边划分分区和逻辑卷的步骤一样,参考下即可。

wKioL1a0XMCBwzQHAAA4PYBlg3M375.png

wKioL1a0XMHhwUOCAAAZ5HNuzYI336.png