首页 > 代码库 > 第二天 实战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镜像格式转换|快照创建和恢复|时间配置