Ubuntu12.10 命令行下KVM虚拟机的安装和配置
最近公司退休了一批服务器,申请到了两台自己玩儿,之前一段时间简单了解了一下KVM虚拟机,就想自己搭建一个方便学习。
先说下环境吧,机器是N年前的HP Proliant DL140 G3,操作系统 ubuntu server 12.10 。
第一步为了保险起见,还是首先看一下CPU是否支持虚拟化,命令:
grep -cE '(vmx|svm)' /proc/cpuinfo
输出大于0就说明支持。
第二步安装KVM相关软件包,运行命令:
sudo apt-get install qemu-kvm libvirt-bin bridge-utils virtinst
刚开始的时候搞不清KVM相关的几个安装包的关系(其实现在也还不是太懂o(╯□╰)o),网上搜的资料中涉及到的有qemu/qemu-kvm/libvirt-bin/virt-install等,简单说一下我的理解:kvm核心已经进入linux内核,但是只有内核是不能直接使用的,于是KVM使用了另一个虚拟化qemu中的部分代码,来实现对KVM内核的操控,这部分就是qemu-kvm了。而libvirt-bin是一套管理虚拟机的工具(适用于xen和kvm以及其他虚拟化技术),主要包含一套API、一个守护进程libvirtd和一个命令行工具virsh。另外Redhat开发了一个图形界面的管理工具virt-manager,应该是调用的libvirt的api。virt-install(对应的安装包为virtinst)是一个构建虚拟机的工具。另外网上的资料中还提到一个virt-viewer,好像也是基于图形界面的管理工具,我这边儿没有X,不知道跟vert-manager有什么区别。有知道的给留言回告知一下,谢谢。
安装完上面几个包后,运行下面的命令检测一下安装是否成功:
$sudo kvm-ok
INFO:/dev/kvm existsKVM
acceleration can be used
如果出现上面的输出,则说明安装没问题。
第三步,通过如下命令,将用户添加到libvirtd和kvm组中:
sudo adduser `id -un` libvirtd
sudo adduser `id -un` kvm
第四步,配置网桥,KVM默认的网络配置为NAT,为了使用方便,我们一般需要配置为桥接方式,我的网络配置文件内容如下所示:
auto lo
iface lo inet loopback
auto em1
iface em1 inet manual
auto br0
iface br0 inet static
address 192.168.0.239
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.5
bridge_ports em1
bridge_stp off
bridge_fd 0
bridge_maxwait 0
网上有篇文章中提到,还需要配置qemu-kvm继承CAP_NET_ADMIN capability,如下图所示:
评论