如何在Linux发行版上安装和配置KVM和Open vSwitch?

译文
运维 系统运维 新闻
本文主要演示了如何在Ubuntu或Debian上安装和配置KVM和Open vSwitch(OVS)的方法。KVM和Open vSwitch分别是用于如今的数据中心中的最流行的开源虚拟机管理程序和虚拟交换机。

【2014年1月23日 51CTO外电头条】在如今多租户模式的数据中心环境下,虚拟化技术正从传统的基于虚拟机管理程序的服务器虚拟化,扩展到网络虚拟化。在这种环境下,基于软件的虚拟交换机通常连同虚拟机管理程序一起部署在服务器上,串联起了不同虚拟机之间传送的流量。

我在本教程上将演示如何在Ubuntu或Debian上安装和配置KVM和Open vSwitch(OVS)。KVM和Open vSwitch分别是用于如今的数据中心中的***的开源虚拟机管理程序和虚拟交换机。

将Open vSwitch安装在Ubuntu或Debian上

虽然OVS以程序包的方式出现在Ubuntu或Debian上,但我在此还是通过源代码来构建OVS,这将拥有***的功能特性和修正版。

首先,安装用于构建OVS的依赖项。

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

通过源代码来构建OVS,如下所示。下列步骤将构建OVS内核模块以及OVS用户空间工具。

$ 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 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

接下来,继续在/usr/local/share/下安装OVS用户空间组件:

$ sudo make install 
  • 1.

下一步是,测试OVS内核模块(安装该模块之前)。为此,先在内核中装入内核模块。

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

证实OVS内核模块已成功装入。

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

一旦你证实openvswitch.ko已成功装入到内核中,继续安装内核模块,如下所示。

$ sudo make modules_install 
  • 1.

配置和启动Open vSwitch

创建一个框架式OVS配置数据库。

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

启动OVS数据库服务器。

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

OVS配置数据库初始化。

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

***,启动OVS守护程序。

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

将KVM安装在Ubuntu或Debian上

使用apt-get命令,安装KVM和必要的用户空间工具。

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

将一个普通的非根用户(如alice)添加到libvirtd群组,那样该用户不需要根用户权限,就能启动虚拟机。

$ sudo adduser alice libvirtd 
  • 1.

退出,重新以该用户身份登录,让群组成员的变更生效。

运行下面这个命令。如果你看到空空如也的虚拟机列表,这意味着KVM已成功设置完毕。

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

为KVM配置Open vSwitch

现在是时候创建OVS网桥启动脚本了,那样启动或终止虚拟机时,OVS就能自动配置。

安装依赖项(用户模式Linux实用工具),这些依赖项将用于处理Linux网桥模式。

$ sudo apt-get install uml-utilities 
  • 1.

创建网桥启动脚本,如下所示。

$ 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* 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

然后,创建一个默认的网桥br0,并添加一个物理网络接口,虚拟机将通过这个接口与外部网络进行联系。在该教程中,我假设这类网络接口是eth5。

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

借助KVM启动虚拟机

现在你可以准备启动访客虚拟机了。

我假设,你已经准备好了一个访客虚拟机映像(比如ubuntu-client.img)。使用下面这个命令,启动访客虚拟机。

$ 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 
  • 1.
  • 2.
  • 3.
  • 4.

这会创建并启动一个访客虚拟机;一旦访客虚拟机启动,其虚拟接口就自动添加到OVS网桥br0。

你可以使用ovs-vsctl这个命令,核实OVS的状态,如下所示。

这是已启动的虚拟机的远程桌面会话。

原文链接:http://xmodulo.com/2014/01/install-configure-kvm-open-vswitch-ubuntu-debian.html

责任编辑:黄丹 来源: 51CTO.com
相关推荐

2018-12-24 09:48:45

UbuntuLinuxPutty

2019-12-30 14:23:02

UbuntuLinuxgrub

2022-11-20 15:53:06

UbuntuLinuxFFmpeg

2021-11-01 12:45:29

UbuntuLinuxRust

2019-05-15 10:00:51

UbuntuLinux7Zip

2021-11-03 08:00:00

Linux开源操作系统

2023-06-16 12:15:09

UbuntuLinuxAVIF 图像

2019-12-30 15:20:20

UbuntuLinux重启服务

2020-10-21 09:16:01

UbuntuLinuxYarn

2022-08-05 22:02:07

UbuntuLinuxVim

2022-08-25 14:11:23

ManjaroLinuxSpotify

2020-04-08 16:50:37

Ubuntu微软Linux

2009-12-17 15:05:09

Linux发行版

2017-10-16 09:04:11

Linux发行版U盘

2018-09-26 10:00:51

UbuntuLinux幻灯片

2019-04-09 15:38:18

Linux发行版Windows

2018-10-22 09:00:00

Linux发行版双系统

2022-09-05 09:37:38

Linux发行版

2015-08-18 17:29:48

LinuxIPv6

2009-06-19 21:02:11

点赞
收藏

51CTO技术栈公众号