如何在Linux發(fā)行版上安裝和配置KVM和Open vSwitch?
譯文【2014年1月23日 51CTO外電頭條】在如今多租戶(hù)模式的數(shù)據(jù)中心環(huán)境下,虛擬化技術(shù)正從傳統(tǒng)的基于虛擬機(jī)管理程序的服務(wù)器虛擬化,擴(kuò)展到網(wǎng)絡(luò)虛擬化。在這種環(huán)境下,基于軟件的虛擬交換機(jī)通常連同虛擬機(jī)管理程序一起部署在服務(wù)器上,串聯(lián)起了不同虛擬機(jī)之間傳送的流量。
我在本教程上將演示如何在Ubuntu或Debian上安裝和配置KVM和Open vSwitch(OVS)。KVM和Open vSwitch分別是用于如今的數(shù)據(jù)中心中的***的開(kāi)源虛擬機(jī)管理程序和虛擬交換機(jī)。
將Open vSwitch安裝在Ubuntu或Debian上
雖然OVS以程序包的方式出現(xiàn)在Ubuntu或Debian上,但我在此還是通過(guò)源代碼來(lái)構(gòu)建OVS,這將擁有***的功能特性和修正版。
首先,安裝用于構(gòu)建OVS的依賴(lài)項(xiàng)。
- $ sudo apt-get install build-essential libssl-dev linux-headers-$(uname -r)
通過(guò)源代碼來(lái)構(gòu)建OVS,如下所示。下列步驟將構(gòu)建OVS內(nèi)核模塊以及OVS用戶(hù)空間工具。
- $ wget http://openvswitch.org/releases/openvswitch-1.9.3.tar.gz
- $ tar xvfvz openvswitch-1.9.3.tar.gz
- $ cd openvswitch-1.9.3
- $ ./configure --with-linux=/lib/modules/`uname -r`/build
- $ make
接下來(lái),繼續(xù)在/usr/local/share/下安裝OVS用戶(hù)空間組件:
- $ sudo make install
下一步是,測(cè)試OVS內(nèi)核模塊(安裝該模塊之前)。為此,先在內(nèi)核中裝入內(nèi)核模塊。
- $ sudo insmod ./datapath/linux/openvswitch.ko
證實(shí)OVS內(nèi)核模塊已成功裝入。
- $ lsmod | grep openvswitch
- openvswitch 97934 0
一旦你證實(shí)openvswitch.ko已成功裝入到內(nèi)核中,繼續(xù)安裝內(nèi)核模塊,如下所示。
- $ sudo make modules_install
配置和啟動(dòng)Open vSwitch
創(chuàng)建一個(gè)框架式OVS配置數(shù)據(jù)庫(kù)。
- $ sudo mkdir /etc/openvswitch
- $ sudo ovsdb-tool create /etc/openvswitch/conf.db ./vswit
- chd/vswitch.ovsschema
啟動(dòng)OVS數(shù)據(jù)庫(kù)服務(wù)器。
- $ sudo ovsdb-server --remote=punix:/usr/local/var/run/ope
- nvswitch/db.sock - remote=db:Open_vSwitch,manager_options
- --pidfile --detach
OVS配置數(shù)據(jù)庫(kù)初始化。
- $ sudo ovs-vsctl --no-wait init
***,啟動(dòng)OVS守護(hù)程序。
- $ sudo ovs-vswitchd --pidfile --detach
將KVM安裝在Ubuntu或Debian上
使用apt-get命令,安裝KVM和必要的用戶(hù)空間工具。
- $ sudo apt-get install qemu-kvm libvirt-bin bridge-utils
- virt-manager
將一個(gè)普通的非根用戶(hù)(如alice)添加到libvirtd群組,那樣該用戶(hù)不需要根用戶(hù)權(quán)限,就能啟動(dòng)虛擬機(jī)。
- $ sudo adduser alice libvirtd
退出,重新以該用戶(hù)身份登錄,讓群組成員的變更生效。
運(yùn)行下面這個(gè)命令。如果你看到空空如也的虛擬機(jī)列表,這意味著KVM已成功設(shè)置完畢。
- $ virsh -c qemu:///system list
- Id Name State
為KVM配置Open vSwitch
現(xiàn)在是時(shí)候創(chuàng)建OVS網(wǎng)橋啟動(dòng)腳本了,那樣啟動(dòng)或終止虛擬機(jī)時(shí),OVS就能自動(dòng)配置。
安裝依賴(lài)項(xiàng)(用戶(hù)模式Linux實(shí)用工具),這些依賴(lài)項(xiàng)將用于處理Linux網(wǎng)橋模式。
- $ sudo apt-get install uml-utilities
創(chuàng)建網(wǎng)橋啟動(dòng)腳本,如下所示。
- $ sudo vi /etc/openvswitch/ovs-ifup
- #!/bin/sh
- switch='br0'
- /sbin/ifconfig $1 0.0.0.0 up
- ovs-vsctl add-port ${switch} $1
- $ sudo vi /etc/openvswitch/ovs-ifdown
- #!/bin/sh
- switch='br0'
- /sbin/ifconfig $1 0.0.0.0 down
- ovs-vsctl del-port ${switch} $1
- $ sudo chmod +x /etc/openvswitch/ovs-if*
然后,創(chuàng)建一個(gè)默認(rèn)的網(wǎng)橋br0,并添加一個(gè)物理網(wǎng)絡(luò)接口,虛擬機(jī)將通過(guò)這個(gè)接口與外部網(wǎng)絡(luò)進(jìn)行聯(lián)系。在該教程中,我假設(shè)這類(lèi)網(wǎng)絡(luò)接口是eth5。
- $ sudo ovs-vsctl add-br br0
- $ sudo ovs-vsctl add-port br0 eth5
借助KVM啟動(dòng)虛擬機(jī)
現(xiàn)在你可以準(zhǔn)備啟動(dòng)訪客虛擬機(jī)了。
我假設(shè),你已經(jīng)準(zhǔn)備好了一個(gè)訪客虛擬機(jī)映像(比如ubuntu-client.img)。使用下面這個(gè)命令,啟動(dòng)訪客虛擬機(jī)。
- $ sudo kvm -m 1024 -net nic,macaddr=11:11:11:EE:EE:EE -ne
- t tap,script=/etc/openvswitch/ovs-ifup,downscript=/etc/op
- envswitch/ovs-ifdown -vnc :1 -drive file=/home/dev/images
- /ubuntu-client.img,boot=on
這會(huì)創(chuàng)建并啟動(dòng)一個(gè)訪客虛擬機(jī);一旦訪客虛擬機(jī)啟動(dòng),其虛擬接口就自動(dòng)添加到OVS網(wǎng)橋br0。
你可以使用ovs-vsctl這個(gè)命令,核實(shí)OVS的狀態(tài),如下所示。
這是已啟動(dòng)的虛擬機(jī)的遠(yuǎn)程桌面會(huì)話。
原文鏈接:http://xmodulo.com/2014/01/install-configure-kvm-open-vswitch-ubuntu-debian.html