歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何在Linux發行版上安裝和配置KVM和Open vSwitch?

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

日期:2017/2/28 13:57:23   编辑:Linux教程

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

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

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

KVM中Linux虛擬機的硬盤添加方法 http://www.linuxidc.com/Linux/2013-02/80067.htm

Linux入門學習教程:虛擬機體驗之KVM篇 http://www.linuxidc.com/Linux/2015-03/114462.htm

RHEL6 KVM虛擬化創建橋接網卡-網橋 http://www.linuxidc.com/Linux/2013-08/88517.htm

RedHat Linux KVM虛擬機橋接 http://www.linuxidc.com/Linux/2013-02/79934.htm

CentOS 5.6下KVM的安裝/橋接設置/虛擬機創建及運行 http://www.linuxidc.com/Linux/2012-12/76883.htm

Ubuntu下用libvirt安裝KVM虛擬機時找不到/bin/qemu-kvm問題解決 http://www.linuxidc.com/Linux/2013-08/88985.htm

RedHat6.5下安裝配置KVM虛擬機 http://www.linuxidc.com/Linux/2014-10/107972.htm

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

將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的狀態,如下所示。

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

Copyright © Linux教程網 All Rights Reserved