首页 > 代码库 > 第二天 实战KVM |kvm镜像格式转换|快照创建和恢复|时间配置

第二天 实战KVM |kvm镜像格式转换|快照创建和恢复|时间配置

一、kvm虚拟机镜像格式转换

1、KVM中磁盘镜像有哪些格式?

kvm从qemu继承了丰富的磁盘格式, 包括裸映象(raw images), 原始qemu格式(qcow), VMware格式和更多

2、KVM中raw格式和qcow2格式的比较?

kvm虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等。  要使用镜像功能,磁盘格式必须为qcow2

raw格式的话,速度稍微快点,在高版本的qemu-kvm中,几乎不比qcow2的格式快,而qcow2格式节省空间,可动态增长,在公有云中广泛使用,建议使用qcow2

二、磁盘镜像格式的转换

1、创建raw格式的磁盘镜像文件

注释:qmeu-img创建的镜像是一个稀疏文件,也就是说刚创建出来的文件并没有8G,它会随着数据的增多慢慢增加,直到8G
[root@kvm ~]# mkdir /mnt/images	
[root@kvm ~]# qemu-img create -f raw /mnt/images/vmimage01.img 8G
Formatting ‘/mnt/images/vmimage01.img‘, fmt=raw size=8589934592

2、查看磁盘格式

[root@kvm ~]# ll -h /mnt/images/vmimage01.img 	
-rw-r--r-- 1 root root 8.0G 12月 20 13:40 /mnt/images/vmimage01.img	
[root@kvm ~]# qemu-img info /mnt/images/vmimage01.img 	
image: /mnt/images/vmimage01.img
file format: raw	
virtual size: 8.0G (8589934592 bytes)	
disk size: 0
注释:虽然ll中看到文件的大小是8G,但是实际上磁盘大小是0。这就是稀疏文件

3、创建raw格式的虚拟机

 [root@kvm ~]# virt-install --name kvmtest04 --boot network,cdrom,menu=on --ram 1024 --vcpus=1 --os-type=linux --accelerate -c /iso/CentOS-6.4-x86_64-bin-DVD1.iso --disk path=/mnt/images/vmimage01.img,size=4,format=raw,bus=virtio --bridge=br0,model=virtio --vnc --vncport=5991 --vnclisten=0.0.0.0

开始安装......
创建域......                                                                                                |    0 B     00:01     
无法打开显示:
运行 ‘virt-viewer --help‘ 来查看可用命令行选项的完整列表
域安装仍在进行。您可以重新连接
到控制台以便完成安装进程。

4、vnc连接进行系统安装

技术分享

安装完成后,需要启动虚拟机然后配置网卡地址和控制台

[root@kvm ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     kvmtest01                      关闭
 -     kvmtest02                      关闭
 -     kvmtest03                      关闭
 -     kvmtest04                      关闭

[root@kvm ~]# virsh start kvmtest04
域 kvmtest04 已开始

[root@kvm ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 4     kvmtest04                      running
 -     kvmtest01                      关闭
 -     kvmtest02                      关闭
 -     kvmtest03                      关闭

技术分享

5、查看当前的磁盘镜像配置文件

技术分享

技术分享

6、镜像磁盘格式转换

[root@kvm ~]# ll /mnt/images/
总用量 1254872
-rw-r--r-- 1 qemu qemu 8589934592 12月 20 22:40 vmimage01.img
[root@kvm ~]# qemu-img convert -f raw -O qcow2 /mnt/images/vmimage01.img /mnt/images/vmimage01.qcow2
[root@kvm ~]# ll /mnt/images/
总用量 2366500
-rw-r--r-- 1 qemu qemu 8589934592 12月 20 22:43 vmimage01.img
-rw-r--r-- 1 root root 1138425856 12月 20 22:43 vmimage01.qcow2
[root@kvm ~]# qemu-img info /mnt/images/vmimage01.qcow2
image: /mnt/images/vmimage01.qcow2
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 1.1G
cluster_size: 65536

7、将qcow2格式的磁盘替换成现有的raw格式,然后再重新装载新磁盘镜像

[root@kvm ~]# virsh edit kvmtet04

技术分享8、启动虚拟机并查看是否加载的是qcow2格式的磁盘镜像

[root@kvm ~]# virsh edit kvmtest04

技术分享

三、kvm虚拟机快照备份

技术分享

1、首先我们登陆kvm创建的虚拟机并创建测试文件

技术分享

[root@localhost ~]# touch {aaa,bbb}
[root@localhost ~]# ll
总用量 24
-rw-r--r--. 1 root root     0 12月 20 23:07 aaa
-rw-------. 1 root root   923 12月 20 22:24 anaconda-ks.cfg
-rw-r--r--. 1 root root     0 12月 20 23:07 bbb
-rw-r--r--. 1 root root 12705 12月 20 22:24 install.log
-rw-r--r--. 1 root root  3482 12月 20 22:21 install.log.syslog

2、在kvm主机上(非kvm创建的虚拟机)创建快照备份

[root@kvm ~]# virsh snapshot-create kvmtest04
Domain snapshot 1419088125 created

3、在kvm主机上查看备份的快照信息

[root@kvm ~]# virsh snapshot-list kvmtest04
 名称               Creation Time             状态
------------------------------------------------------------
 1419088125           2014-12-20 23:08:45 +0800 running

4、在kvm创建的虚拟机上删除一些文件

[root@localhost ~]# ll
总用量 24
-rw-r--r--. 1 root root     0 12月 20 23:07 aaa
-rw-------. 1 root root   923 12月 20 22:24 anaconda-ks.cfg
-rw-r--r--. 1 root root     0 12月 20 23:07 bbb
-rw-r--r--. 1 root root 12705 12月 20 22:24 install.log
-rw-r--r--. 1 root root  3482 12月 20 22:21 install.log.syslog
[root@localhost ~]# rm -rf *
[root@localhost ~]# ll
总用量 0

5、在kvm上恢复快照删除前的快照

技术分享

6、在kvm创建的虚拟机上查看文件是否恢复成功

[root@localhost ~]# ll
总用量 24
-rw-r--r--. 1 root root     0 12月 20 23:07 aaa
-rw-------. 1 root root   923 12月 20 22:24 anaconda-ks.cfg
-rw-r--r--. 1 root root     0 12月 20 23:07 bbb
-rw-r--r--. 1 root root 12705 12月 20 22:24 install.log
-rw-r--r--. 1 root root  3482 12月 20 22:21 install.log.syslog

7、查看快照文件的路径

快照配置文件在/var/lib/libvirt/qemu/snapshot/虚拟机名称/下

技术分享

四、kvm时间配置

技术分享

关于kvm虚拟机时间问题解决思路

(1) 虚拟机时间慢是所有虚拟化平台的一共性问题。

(2) 解决时间的最终解决方法就是在生产环境中配置时间服务器,kvm虚拟化服务器与kvm机均都要配置时间同步的计划任务,这才是解决这一个问题最终解决方案。

示例:如果能访问互联网,最简单了,需要kvm虚拟机与主机时间同步,但是运行一段时间会慢,一定要做时间同步,特别是对时间敏感的环境。

# crontab -e    
01 */3 * * * /usr/sbin/ntpdate asia.pool.ntp.org >> /dev/null 2>&1



本文出自 “郑彦生” 博客,请务必保留此出处http://467754239.blog.51cto.com/4878013/1592067

第二天 实战KVM |kvm镜像格式转换|快照创建和恢复|时间配置