1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 运维 - 正文

君子好学,自强不息!

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

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

将Open vSwitch安装在Ubuntu或Debian上

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

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

$sudoapt-getinstallbuild-essentiallibssl-devlinux-headers-$(uname-r)

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

$wgethttp://openvswitch.org/releases/openvswitch-1.9.3.tar.gz
$tarxvfvzopenvswitch-1.9.3.tar.gz
$cdopenvswitch-1.9.3
$./configure--with-linux=/lib/modules/`uname-r`/build
$make

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

$sudomakeinstall

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

$sudoinsmod./datapath/linux/openvswitch.ko

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

$lsmod|grepopenvswitch
openvswitch979340

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

$sudomakemodules_install

配置和启动Open vSwitch

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

$sudomkdir/etc/openvswitch
$sudoovsdb-toolcreate/etc/openvswitch/conf.db./vswit
chd/vswitch.ovsschema

启动OVS数据库服务器。

$sudoovsdb-server--remote=punix:/usr/local/var/run/ope
nvswitch/db.sock-remote=db:Open_vSwitch,manager_options
--pidfile--detach

OVS配置数据库初始化。

$sudoovs-vsctl--no-waitinit

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

$sudoovs-vswitchd--pidfile--detach

将KVM安装在Ubuntu或Debian上

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

$sudoapt-getinstallqemu-kvmlibvirt-binbridge-utils
virt-manager

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

$sudoadduseralicelibvirtd

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

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

$virsh-cqemu:///systemlist
IdNameState

为KVM配置Open vSwitch

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

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

$sudoapt-getinstalluml-utilities

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

$sudovi/etc/openvswitch/ovs-ifup
#!/bin/sh
switch='br0'
/sbin/ifconfig$10.0.0.0up
ovs-vsctladd-port${switch}$1
$sudovi/etc/openvswitch/ovs-ifdown
#!/bin/sh
switch='br0'
/sbin/ifconfig$10.0.0.0down
ovs-vsctldel-port${switch}$1
$sudochmod+x/etc/openvswitch/ovs-if*

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

$sudoovs-vsctladd-brbr0
$sudoovs-vsctladd-portbr0eth5

借助KVM启动虚拟机

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

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

$sudokvm-m1024-netnic,macaddr=11:11:11:EE:EE:EE-ne
ttap,script=/etc/openvswitch/ovs-ifup,downscript=/etc/op
envswitch/ovs-ifdown-vnc:1-drivefile=/home/dev/images
/ubuntu-client.img,boot=on

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

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

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

本文来源:1818IP

本文地址:https://www.1818ip.com/post/7181.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。