環境: ubuntu 12.04 server python
一、kvm的安裝ubuntu
首先檢查你的處理器是否支持硬件虛擬化;若是支持,下面這個命令api
egrep '(vmx|svm)' --color=always /proc/cpuinfo服務器 |
應該會顯示相似下面這樣的內容:網絡
root@ubuntu:~# egrep '(vmx|svm)' --color=always /proc/cpuinfosocket
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflushoop
mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl extd_apicidfetch
pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch lbrvui
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflushspa
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:~#
要是什麼都沒顯示,那麼你的處理器不支持硬件虛擬化,你必須在此停住。
想安裝KVM和vmbuilder(建立基於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。
二、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
問題解決