kvm虚拟化知识梳理
1、 raw格式和qcow2格式

文章插图
raw:
"raw" 镜像格式是最最简单的,并且是被 KVM 和 Xen 原生支持的格式,你 可以想象裸格式镜像和块设备文件是二进制位相当的,就好像从块设备拷贝过来的,比方说,使用dd 命令将 /dev/sda 内容拷贝到一个文件 。
raw唯一的缺点在于,ls看起来很大,在scp的时候,这会消耗很多的网络IO,而tar这么大的文件,也是很耗时间跟CPU的,一个解决方法是,把raw转换成qcow2的格式,对空间压缩就很大了 。而且速度很快 。转换命令如下:
#qemu-img convert -O qcow2 centos.raw centos.qcow2
#qemu-img convert -O raw centos.qcow2 centos.raw
这样转换所消耗的时间远比tar.gz小 。
qcow2:
qcow2 (QEMU 写时复制版本2)格式通常是KVM使用,相比裸格式,它有额外的特性
例如:
•使用稀疏文件呈现方式,因此镜像尺寸更小 。
•支持快照 。
因为qcow2 镜像是稀疏的,因此,qcow2镜像通常比裸格式镜像小,更小的 文件意味着上传更快,因此通常转换裸格式镜像到qcow2格式上传比直接上传裸格式镜像文件更快 。
注意:稀疏文件(英语:sparse file)是一种计算机文件,它能尝试在文件内容大多为空时更有效率地使用文件系统的空间 。它的原理是以简短的信息(元数据)表示空数据块,而不是在在磁盘上占用实际空间来存储空数据块 。只有真实(非空)的数据块会按原样写入磁盘 。
二、kvm常用命令
virsh是kvm虚拟机常用的管理工具,常用的命令如下:
1、安装kvm环境
sudo apt-get install qemu-kvm
2、导入虚机配置(xml格式配置文件,见附录1)
virsh define centos.xml
3、启动centos虚机
virsh start centos
4、查看在运行的虚拟机
virsh list
5、查看创建的所有虚拟机
virsh list --all
6、启动虚拟机
virsh start centos
7、挂起虚拟机
virsh suspend centos
8、恢复被挂起的虚拟机
virsh resume centos
9、开机启动虚拟机,即在虚拟机服务(libvirt)启动的时候,就启动虚拟机 。
virsh autostart centos
10、关闭开机启动虚拟机
virsh auto start --disable centos
11、关闭虚拟机(需要ACPID服务的支持,ACPI是Advanced Configuration and PowerInterface缩写,高级配置和电源管理接口)
virsh shutdown centos
12、强制关闭虚拟机,这种方式是从virsh list列表中将虚拟机删除,仍然可以start起来
virsh destory centos
13、启动默认的网络
virsh net-start default
14、自启动默认网络
virsh net-autostart default
15、彻底删除虚拟机步骤
1)关闭虚拟机:virsh destroy centos
2)删除定义:virsh undefine centos
3)删除虚拟机文件(在/var/lib/libvirtd/下的相关文件)
三、kvm虚机配置文件(xml文件)
<domain type='kvm'> //如果是Xen,则type='xen'
<name>vm0</name> //虚拟机名称,同一物理机唯一
<uuid>fd3535db-2558-43e9-b067-314f48211343</uuid> //同一物理机唯一,可用uuidgen生成
<memory>524288</memory>
<currentMemory>524288</currentMemory> //memory这两个值最好设成一样
<vcpu>2</vcpu> //虚拟机可使用的cpu个数,查看物理机可用CPU个数:cat /proc/cpuinfo |grep processor | wc -l
<os>
<type arch='x86_64' machine='pc-i440fx-vivid'>hvm</type> //arch指出系统架构类型,machine 则是机器类型,查看机器类型:qemu-system-x86_64 -M ?
<boot dev='hd'/> //启动介质,第一次需要装系统可以选择cdrom光盘启动
<bootmenu enable='yes'/> //表示启动按F12进入启动菜单
</os>
<features>
<acpi/> //Advanced Configuration and Power Interface,高级配置与电源接口
<apic/> //Advanced Programmable Interrupt Controller,高级可编程中断控制器
<pae/> //Physical Address Extension,物理地址扩展
</features>
<clock offset='localtime'/> //虚拟机时钟设置,这里表示本地本机时间
<on_poweroff>destroy</on_poweroff> //突发事件动作
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices> //设备配置
<emulator>/usr/bin/kvm</emulator> //如果是Xen则是/usr/lib/xen/binqemu-dm
<disk type='file' device='disk'> //硬盘
<driver name='qemu' type='raw'/>
推荐阅读
- 面膜|你不得不知道的皮肤知识
- javascript 知识普及之 FormData
- LTE知识架构思维导图
- 功能沙发的基本知识 多功能沙发的选购技巧
- 关于内存的那些知识误区盘点
- 360 儿童卫士3基本知识 360 儿童卫士3怎么样
- MOTO 360基本知识 MOTO 360怎么样
- 人类的祖先是什么物种 生物学家给大家讲了有关许多人类起源的知识
- 经典10大茶知识,奇妙饼知识版权正式通过
- 有关动物的科学小常识 有关动物的科普小知识