kvm虚拟机扩展磁盘空间

摘要:
Kvm虚拟机磁盘空间扩展与xen虚拟机磁盘磁盘空间扩展一致。原因是xen/kvm的默认虚拟机磁盘格式是raw,因此该模式可以是通用的。qcow2格式磁盘通过qemu-img直接扩展qcow2磁盘,将原始格式的新磁盘添加到KVM虚拟机,然后通过虚拟机系统的lvm逻辑卷管理模式对其进行管理,以扩展磁盘空间。删除配置文件中的第二个磁盘信息,并通过kvm虚拟化学习笔记(X)中kvm虚拟机快照备份中创建的快照恢复虚拟机。

kvm虚拟机磁盘空间扩展与xen虚拟机磁盘空间扩展思路一致。原因在于xen/kvm默认的虚拟机磁盘格式为raw,所以方式可以通用。

raw磁盘格式扩展思路如下

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

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

xen虚拟化实战系列(四)之xen虚拟机扩展磁盘空间一法   http://koumm.blog.51cto.com/703525/1285460

xen虚拟化实战系列(五)之xen虚拟机扩展磁盘空间再一法http://koumm.blog.51cto.com/703525/1285489

qcow2磁盘格式扩展思路如下

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

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

下面将开始通过qcow2格式添加磁盘。

方式一:添加一块qcow2磁盘加入虚拟机

1.  查看现在虚拟机磁盘信息

(1)  磁盘大小与格式信息

查看虚拟机磁盘格式。

image

查看磁盘格式信息

image

进入虚拟机,查看磁盘容量。

[root@test01 ~]# df -h   
Filesystem Size Used Avail Use% Mounted on    
/dev/mapper/vg-root 5.7G 3.1G 2.4G 57% /    
/dev/hda1 99M 24M 71M 25% /boot    
tmpfs 249M 0 249M 0% /dev/shm

(2) 添加一块qcow2磁盘

# qemu-img create -f qcow2 test01_add.qcow2 2G 

image

(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

image

2.  配置LVM扩展磁盘

(1) 分区

image

(2) 扩展lvm逻辑卷。

image

方式二:直接扩展qcow2磁盘

接上文恢复测试环境。

(1)  关闭虚拟机。

(2)  删除配置文件中第二块磁盘信息

(3)  通过kvm虚拟化学习笔记(十)之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='0' bus='0' target='0' unit='0'/>    
</disk>

(2)  直接扩展qcow2磁盘

# qemu-img resize test01.qcow2 +2G

image

经过前后对比,磁盘大小已由7G扩展到9G,已扩展,qcow2磁盘格式必须采用此方式进行扩展,不要使用dd方式,dd方式适用于raw格式。

2. 进入系统开始扩展磁盘

(1) 查看分区大小

[root@test01 ~]# fdisk -l 

Disk /dev/hda: 9663 MB, 9663676416 bytes
255 heads, 63 sectors/track, 1174 cylinders    
Units = cylinders of 16065 * 512 = 8225280 bytes 

   Device Boot      Start         End      Blocks   Id  System   
/dev/hda1   *           1          13      104391   83  Linux    
/dev/hda2              14         913     7229250   8e  Linux LVM 

Disk /dev/dm-0: 6308 MB, 6308233216 bytes   
255 heads, 63 sectors/track, 766 cylinders    
Units = cylinders of 16065 * 512 = 8225280 bytes 

Disk /dev/dm-0 doesn't contain a valid partition table 

Disk /dev/dm-1: 1073 MB, 1073741824 bytes   
255 heads, 63 sectors/track, 130 cylinders    
Units = cylinders of 16065 * 512 = 8225280 bytes 

Disk /dev/dm-1 doesn't contain a valid partition table   
[root@test01 ~]# 

(2) 开始分区

[root@test01 ~]# fdisk /dev/hda

过程如下,将扩展的空间分成一个区。

image

查看现在磁盘空间

image

(3) 开始创建物理卷,加入卷组,扩展逻辑卷。

image

到此kvm虚拟机扩展磁盘空间成功,当虚拟机磁盘格式换成qcow2后,确实有很多需要注意的地方,qcow2格式支持动态扩展与快照功能,虽然性比raw稍差,但确实很实用。

免责声明:文章转载自《kvm虚拟机扩展磁盘空间》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PHP安全之register_globals关于 svn: E155004 is already locked 出现原因和解决办法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux 查看修改swap大小

1、查看swap 空间大小(总计): # free -m 默认单位为k, -m 单位为M 2、查看swap 空间(file(s)/partition(s)): 包括 文件 和 分区 的详细信息  # swapon -s  等价于  # cat /proc/swaps 3、添加交换空间  两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;...

“以独占方式锁定此配置文件失败”及“无法获得 VMCI 驱动程序的版本”

VMware14pro报错:“以独占方式锁定此配置文件失败”及“无法获得 VMCI 驱动程序的版本”在本机的系统更新过后,有一段时间没有使用过虚拟机,我的本机的VMware的版本是14的,今天在打开的时候突然报错:“以独占的方式锁定此配置文件失败”,并提示有其他进程正在使用此配置文件,所以在后台进程上尝试了很多次,中途成功了一次,但是下午来开机的时候居然同...

linux命令--ldconfig和ldd用法

一、ldconfig ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig。 ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态 链接库(格式如前介绍,lib*.so*),进而创...

Linux 安装Nginx具体图解教程

系统:Centos6.6  64位 Nginx:  http://nginx.org/en/download.html 眼下最新版本号1.9.4 我下载1.8.0 下载模块依赖性Nginx须要依赖以下3个包 1.gzip 模块须要 zlib 库 ( 下载: http://www.zlib.net/ ) 2.rewrite 模块须要 pcre 库 ( 下...

(转载)VM下ubuntu安装vmtools

转自:http://blog.sina.com.cn/s/blog_6f047ff20100ut5l.html 1.必须在vmware中系统的选项卡里选择安装vmware tools2.然后在系统的光驱里会出现一张VMware tools的光盘3.进入Ubuntu系统4.把文件从光盘上拷贝到本地(名字记不到了,自己用tab补全。)    cd /media...

从点一个灯开始学写Linux字符设备驱动

关注、星标嵌入式客栈,精彩及时送达 [导读] 前一篇文章,介绍了如何将一个hello word模块编译进内核或者编译为动态加载内核模块,本篇来介绍一下如何利用Linux驱动模型来完成一个LED灯设备驱动。点一个灯有什么好谈呢?况且Linux下有专门的leds驱动子系统。 点灯有啥好聊呢? 在很多嵌入式系统里,有可能需要实现数字开关量输出,比如: L...