KVM作为linux内核的一部分,有着无法比拟的优势,相信KVM的大范围企业应用指日可待。
一、KVM宿主服务器环境配置
1. 查看CPU是否支持VT技术
- cat /proc/cpuinfo | egrep 'vmx|svm'
-
- flags : fpu vme de pse tsc msr pae mce cx8 apic
- mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2
- ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts
- rep_good aperfmperf pni dtes64 monitor ds_cpl vmx tm2 ssse3 cx16
- xtpr pdcm dca sse4_1 lahf_lm dts tpr_shadow vnmi flexpriority
如果执行指令后有类似返回,则证明CPU支持VT
2. 安装KVM组件
- yum groupinstall Virtualization
- yum groupinstall "Virtualization Platform"
3. 检查KVM模块加载
- lsmod | grep kvm
-
- kvm_amd 37434 4
- kvm 292815 1 kvm_amd
如果执行指令后有类似返回,则证明KVM模块加载正常,否则检查BIOS中是否开启了CPU VT支持
4. 安装virtsh virt-install 管理工具
- yum install libvirt-client python-virtinst
二、虚拟机安装
1. 建立虚拟机磁盘镜像文件
qcow2格式是kvm支持的标准格式,raw格式为虚拟磁盘文件通用格式。有测试数据表明raw格式的I/O性能略高于qcow2格式,但是在加密,容量,快照方面qcow2格式有优势
- qemu-img create -f qcow2 test.qcow2 20G //建立qcow2格式磁盘文件
- qemu-img create -f raw test.raw 20G //建立raw格式磁盘文件
- qemu-img info test.qcow2 //查看已经创建的虚拟磁盘文件
2. 建立虚拟机示例
创建1G内存、2核CPU、单网卡,磁盘和网络驱动使用virtio的linux虚拟机
- virt-install
-
-
-
-
-
-
-
-
创建8G内存、4核CPU、双网卡,磁盘和网络驱动使用virtio的linux虚拟机
- virt-install
-
-
-
-
-
- --bridge=br0,model=virtio --mac=54:52:00:0b:8b:79
- --bridge=br1,model=virtio --mac=54:52:00:7e:8e:cd
-
创建1G内存、1核CPU、单网卡,磁盘和网络驱动使用virtio的windows虚拟机
- virt-install
-
-
-
-
-
-
-
一些解释:
virtio驱动对于磁盘和网络I/O性能有很大提升(默认qemu驱动),linux虚拟机安装完成后自动加载virtio驱动,windows虚拟机需要下载virtio驱动后安装
--mac参数指定网卡mac地址,如果不指定系统会自动分配
虚拟机配置文件存储在 /etc/libvirt/qemu 目录,配置文件为XML格式
开机自启动的虚拟机配置可以通过链接放到 /etc/libvirt/qemu/autostart 目录,配置文件为XML格式
3. 虚拟机安装指令 virt-install 简介
-
-
-
-
-
-
-
-
-
-
-
4. 虚拟机管理指令 virsh 简介
- virsh list 列出当前虚拟机列表,不包括未启动的
- virsh list --all 列出所有虚拟机,包括所有已经定义的虚拟机
- virsh start domain-name 启动指定虚拟机
- virsh shutdown domain-name 停止指定虚拟机
- virsh reboot domain-name 重新启动指定虚拟机
- virsh autostart domain-name 指定虚拟机开机自动启动