一.QEMU、KVM、QEMU-KVM
QEMU提供一系列的硬件模拟设备(CPU,网卡,磁盘等),客户机指令都需要QEMU翻译,因而性能较差。KVM是linux内核提供的虚拟化,可以用来进行vCPU的创建与运行,虚拟内存的地址空间分配,指令执行效率较高,但缺少IO设备的虚拟化。QEMU-KVM就是KVM与QEMU的结合,KVM负责CPU虚拟化+内存虚拟化,QEMU模拟其它IO设备。
二.安装并创建虚拟机
安装qemu-kvm软件
faramita2016@linux-l9e6:~> zypper install qemu-kvm // Ubuntu系统使用apt-get install qemu-kvm
创建qcow2格式虚拟机磁盘文件
faramita2016@linux-l9e6:~> qemu-img create -f qcow2 vdisk.img 5G // 磁盘大小5G
使用debian镜像安装虚拟机,order=dc优先使用CD-ROW(d),后使用硬盘(c),内存默认128m,使用-m 512指定
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -cdrom debian-9.4.0.iso -hda vdisk.img -boot order=dc
三.设置虚拟机使用网桥bridge模式
宿主机中执行,qemu-bridge-helper增加当前用户可执行权限,用来自动添加网络后端tap设备
faramita2016@linux-l9e6:~> sudo chmod o+x /usr/lib/qemu-bridge-helper
宿主机中执行,-net nic为虚拟机创建nic网卡(网络前端),-net bridge指定宿主机中使用网桥(网络后端)
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 // 指定网桥br0
虚拟机中执行,编辑/etc/network/interfaces,设置静态IP
root@debian:~# vi /etc/network/interfaces # The primary network interface allow-hotplug ens3 #iface ens3 inet dhcp iface ens3 inet static address 10.0.0.8 netmask 255.0.0.0 gateway 10.0.0.1 root@debian:~# ifup ens3 // 打开ens3网络接口,ifdown关闭网络接口 root@debian:~# /etc/init.d/networking restart // 重启网络服务