社区编辑申请
注册/登录
如何在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的依赖项。

  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的状态,如下所示。

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

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

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

2022-04-02 20:45:04

Hi3516开发板操作系统鸿蒙

2022-04-14 10:10:59

Nginx开源Linux

2022-04-25 08:45:38

Linux 发行版旧计算机PC

2022-04-23 17:36:06

Linux 发行版Zorin OSCutefishOS

2022-05-17 09:19:17

XebianLinuxLinux 发行版

2022-05-18 10:58:36

LinuxKali Linux

2022-04-28 09:46:20

Nginx文件Linux

2022-05-16 13:37:12

Sysrv僵尸网络微软

2022-05-07 11:08:50

Linuxapt 命令

2022-04-05 11:29:40

Linux安装操作系统

2022-04-14 10:22:30

NginxLinux

2022-04-06 11:33:43

Linux桌面GNOME 42

2022-05-13 10:24:44

WineWindowsLinux

2022-04-18 10:45:25

红帽CentOSRHEL

2022-04-26 23:42:08

Windows 10微软升级

2022-04-19 11:23:26

release3.1子系统鸿蒙

2022-04-23 16:30:22

Linux磁盘性能

2022-03-25 10:16:40

CentOSLinux开源

2022-05-14 08:05:18

Linux内存管理

2022-05-09 07:08:14

LinuxBashShell

同话题下的热门内容

使用 Vmalert 代替 Prometheus 监控报警开发和运维对K8S中的应用都做了什么?

编辑推荐

六个人如何运维一万台服务器?Linux下如何使用minicom USB串口Linux中7个判断文件系统类型的方法从美团程序员的灾难,看美团外卖自动化运维体系建设如何限制SSH用户访问Linux中指定的目录
我收藏的内容
点赞
收藏

51CTO技术栈公众号