首页 > 代码库 > Ubuntu下libvirt kvm配置

Ubuntu下libvirt kvm配置

环境: ubuntu 12.04 server 

1、kvm的安装

首先检查你的处理器是否支持硬件虚拟化;如果支持,下面这个命令

egrep ‘(vmx|svm)‘ --color=always   /proc/cpuinfo

应该会显示类似下面这样的内容:

root@ubuntu:~# egrep ‘(vmx|svm)‘ --color=always /proc/cpuinfo

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush

mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl extd_apicid

pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch lbrv

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush

mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl extd_apicid

pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch lbrv

root@ubuntu:~#

要是什么都没显示,那么你的处理器不支持硬件虚拟化,你必须在此停住。

想安装KVMvmbuilder(创建基于Ubuntu的虚拟机的一个脚本),我们运行:

apt-get   install ubuntu-virt-server python-vm-builder kvm-ipxe

之后,我们必须将用户作为目前登录的用户(根用户)添加到群组libvirtd

adduser `id   -un` libvirtd

adduser `id   -un` kvm

你需要退出,重新登录,那样新的群组成员资格才生效。

想检查KVM是否已成功安装,运行

virsh -c   qemu:///system list

它显示的内容应该像这样:

root@ubuntu :~# virsh -c qemu:///system list

 Id Name                 State

----------------------------------

root@ubuntu:~#

接下来,我们需要在服务器上建立网桥,以便可以从其他主机访问我们的虚拟机,好像虚拟机是网络中的物理系统。

为此,我们安装了程序包bridge-utils......

apt-get   install bridge-utils

并配置网桥。打开/etc/network/interfaces

vi   /etc/network/interfaces

网络配置采用的是DHCP模式 配置如下

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet manual

auto br0

iface br0 inet dhcp

bridge_ports eth0

bridge_stp off

bridge_fd 0

bridge_maxwait 0

重新启动网络……

/etc/init.d/networking   restart

然后运行

ifconfig

现在它应该显示了网桥(br0):

在我们开始运行第一个虚拟机之前,建议重新启动系统:

reboot

如果你没有重启,可能会在/var/log/libvirt/qemu/目录的虚拟机日志中看到错误,比如/dev/kvm: Permission denied

2、libvirt的安装配置

    将libvirt包放在/home 目录下

    解压 

        tar zxvf libvirt.xx.tar.gz

    进入libvirt目录

    执行   ./configure

    出现以下错误

       error: You must install the libyajl library & headers to compile libvirt

    执行  

        #apt-cache search libxml2

        # apt-get install libxml++2.6-2

        # apt-get install libxml++2.6-dev

 

         apt-get install libpciaccess-dev

         apt-get install libyajl-dev

        出现下面的问题

        error: libnl-devel >= 1.1 is required for macvtap support

        缺少相关的包  执行下面命令       

        apt-get install libnl-dev

    解决

    然后执行

        make

        make install

         

    出现问题

    error: failed to connect to the hypervisor

    error: no valid connection

    error: Failed to connect socket to ‘/usr/local/var/run/libvirt/libvirt-sock‘: No such file or directory

    查看libvirt进程是否启动

       ps -le | grep libvirt*  如果没有启动,那么上面的错误就是这个原因

    现在启动libvirt进程  libvirtd  -d  

    问题解决