如何在Linux發行版上安裝和配置KVM和Open vSwitch?

來源:互聯網
上載者:User

如何在Linux發行版上安裝和配置KVM和Open vSwitch?

在如今多租戶模式的資料中心環境下,虛擬化技術正從傳統的基於虛擬機器管理程式的伺服器虛擬化,擴充到網路虛擬化。在這種環境下,基於軟體的虛擬交換器通常連同虛擬機器管理程式一起部署在伺服器上,串聯起了不同虛擬機器之間傳送的流量。

我在本教程上將示範如何在Ubuntu或Debian上安裝和配置KVM和Open vSwitch(OVS)。KVM和Open vSwitch分別是用於如今的資料中心中的最流行的開源虛擬機器管理程式和虛擬交換器。

--------------------------------------分割線 --------------------------------------

KVM中Linux虛擬機器的硬碟添加方法

Linux入門學習教程:虛擬機器體驗之KVM篇   

RHEL6 KVM虛擬化建立橋接網卡-橋接器

RedHat Linux KVM虛擬機器橋接

CentOS 5.6下KVM的安裝/橋接設定/虛擬機器建立及運行

Ubuntu下用libvirt安裝KVM虛擬機器時找不到/bin/qemu-kvm問題解決

RedHat6.5下安裝配置KVM虛擬機器

--------------------------------------分割線 --------------------------------------

將Open vSwitch安裝在Ubuntu或Debian上

雖然OVS以程式包的方式出現在Ubuntu或Debian上,但我在此還是通過原始碼來構建OVS,這將擁有最新的功能特性和修正版。

首先,安裝用於構建OVS的依賴項。

  1. $ sudo apt-get install build-essential libssl-dev linux-headers-$(uname -r) 

通過原始碼來構建OVS,如下所示。下列步驟將構建OVS核心模組以及OVS使用者空間工具。

  1. $ wget http://openvswitch.org/releases/openvswitch-1.9.3.tar.gz 
  2. $ tar xvfvz openvswitch-1.9.3.tar.gz 
  3. $ cd openvswitch-1.9.3 
  4. $ ./configure --with-linux=/lib/modules/`uname -r`/build 
  5. $ make 

接下來,繼續在/usr/local/share/下安裝OVS使用者空間組件:

  1. $ sudo make install 

下一步是,測試OVS核心模組(安裝該模組之前)。為此,先在核心中裝入核心模組。

  1. $ sudo insmod ./datapath/linux/openvswitch.ko 

證實OVS核心模組已成功裝入。

  1. $ lsmod | grep openvswitch 
  2. openvswitch            97934  0 

一旦你證實openvswitch.ko已成功裝入到核心中,繼續安裝核心模組,如下所示。

  1. $ sudo make modules_install 

配置和啟動Open vSwitch

建立一個架構式OVS設定資料庫。

  1. $ sudo mkdir /etc/openvswitch 
  2. $ sudo ovsdb-tool create /etc/openvswitch/conf.db ./vswit 
  3. chd/vswitch.ovsschema 

啟動OVS資料庫伺服器。

  1. $ sudo ovsdb-server --remote=punix:/usr/local/var/run/ope 
  2. nvswitch/db.sock - remote=db:Open_vSwitch,manager_options 
  3. --pidfile --detach 

OVS設定資料庫初始化。

  1. $ sudo ovs-vsctl --no-wait init 

最後,啟動OVS精靈。

  1. $ sudo ovs-vswitchd --pidfile --detach 

將KVM安裝在Ubuntu或Debian上

使用apt-get命令,安裝KVM和必要的使用者空間工具。

  1. $ sudo apt-get install qemu-kvm libvirt-bin bridge-utils 
  2. virt-manager 

將一個普通的非根使用者(如alice)添加到libvirtd群組,那樣該使用者不需要根使用者許可權,就能啟動虛擬機器。

  1. $ sudo adduser alice libvirtd 

退出,重新以該使用者身份登入,讓群組成員的變更生效。

運行下面這個命令。如果你看到空空如也的虛擬機器列表,這意味著KVM已成功設定完畢。

  1. $ virsh -c qemu:///system list 
  2. Id    Name        State 

為KVM配置Open vSwitch

現在是時候建立OVS橋接器啟動指令碼了,那樣啟動或終止虛擬機器時,OVS就能自動設定。

安裝依賴項(使用者模式Linux工具 + 生產力),這些依賴項將用於處理Linux橋接器模式。

  1. $ sudo apt-get install uml-utilities 

建立橋接器啟動指令碼,如下所示。

  1. $ sudo vi /etc/openvswitch/ovs-ifup 
  2. #!/bin/sh 
  3. switch='br0' 
  4. /sbin/ifconfig $1 0.0.0.0 up 
  5. ovs-vsctl add-port ${switch} $1 
  6. $ sudo vi /etc/openvswitch/ovs-ifdown 
  7. #!/bin/sh 
  8. switch='br0' 
  9. /sbin/ifconfig $1 0.0.0.0 down 
  10. ovs-vsctl del-port ${switch} $1 
  11. $ sudo chmod +x /etc/openvswitch/ovs-if* 

然後,建立一個預設的橋接器br0,並添加一個物理網路介面,虛擬機器將通過這個介面與外部網路進行聯絡。在該教程中,我假設這類網路介面是eth5。

  1. $ sudo ovs-vsctl add-br br0 
  2. $ sudo ovs-vsctl add-port br0 eth5 

藉助KVM啟動虛擬機器

現在你可以準備啟動訪客虛擬機器了。

我假設,你已經準備好了一個訪客虛擬機器映像(比如ubuntu-client.img)。使用下面這個命令,啟動訪客虛擬機器。

  1. $ sudo kvm -m 1024 -net nic,macaddr=11:11:11:EE:EE:EE -ne 
  2. t tap,script=/etc/openvswitch/ovs-ifup,downscript=/etc/op 
  3. envswitch/ovs-ifdown -vnc :1 -drive file=/home/dev/images 
  4. /ubuntu-client.img,boot=on 

這會建立並啟動一個訪客虛擬機器;一旦訪客虛擬機器啟動,其虛擬介面就自動添加到OVS橋接器br0。

你可以使用ovs-vsctl這個命令,核實OVS的狀態,如下所示。

這是已啟動的虛擬機器的遠端桌面會話。

本文永久更新連結地址:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.