如何快速上手搭建一个Open vSwitch测试网络

如何快速上手搭建一个Open vSwitch测试网络,第1张

搭建一个Open vSwitch测试网络就是下载代码、然后在x86服务器上部署并附上存储硬盘这样一个简单的过程。下面详细介绍一下如何开始这个简单的工程。

学习Open vSwitch比简单地阅读基本食谱相对难一点点,但是也不需要概念证明等复杂的过程。

上手Open vSwitch测试网络搭建的一种方法是用一个基于Linux的虚拟机管理程序和很基本的商用硬件搭建一个简单的Open vSwitch测试网络。

Linux系统和VMware虚拟机上工作的Open vSwitch

Open vSwitch是一个开源的虚拟交换机,已经成为大多数基于Linux虚拟机的默认选项,如Xen和KVM. 因为Open

vSwitch是KVM和Xen的默认虚拟交换机,所以你会发现其几乎都是使用OpenStack安装。Open vSwitch还用于VMware

NSX环境中,但是在该环境中由于没有特殊的功能,所以并没有开源发布版本。

搭建Open vSwitch测试网络的第一步

你可以找到几乎所有支持KVM, Xen和VirtualBox等虚拟管理程序的linux发行版Open vSwitch包。如果你想要在

VMware vSphere上运行本地Open vSwitch,你需要让VMware销售人员部署一个NSX POC(proof of

concept,

验证性测试)。然而,VMware和其它企业软件供应商一样,把POCs作为销售周期的一部分。这通常需要客户有一定级别的承担能力,包括技术和财政资源

保证。而且,还可能包括支付专业服务的能力以及提供一个非生产平台来运行POC.如果你还没有准备好购买POC这个周期,那么你可能需要通过一个

Linux发布版本或VMware免费版本来使用细腻交换机。

搭建一个Open vSwitch网络实验室

你可以在供应商提供的一个白盒交换机上运行Open vSwitch代码,或自己用x86硬件搭建一个白盒交换机。然而,在开始运行之前,你可能还需要一个对物理网络硬件访问权限有限的服务器农场或家庭实验室。

好消息是,传统组网需要很多硬件来配置和管理尽可能多的端口,而现在设计虚拟的交换机实验室只需要一台服务器或现代PC机。

一种更为复杂的实验室设计方法是搭建工作站或服务器来运行VMware ESXi, VMware

Workstation或VirtualBox.一旦基地管理程序安装好,你就可以部署一个KVM虚拟实例。有了这个KVM虚拟实例,你就可以生成小的虚

拟机作为测试节点。这样就已经搭建了一个不错的实验室,但是如果你的工作站有足够的CPU和RAM,你就可以生成第二台有相同配置的KVM.不仅如此,你

还可以加入有网络功能的虚拟化设备,如在两台KVM主机环境间添加虚拟防火墙。这种模拟情景需要强大的硬件环境。理想情况下,该系统至少需要一个四核处理

器,32GB RAM内存和固态存储设备(SSDs).

一个相对简单的环境需要一个常见的支持虚拟化扩展(AMD-V &Intel VT)部署在x86服务器上的工作站,以及带有8GB RAM内存的传统旋转磁盘。

更常见的配置是在一个系统上运行着虚拟机管理程序,如Virtualbox,

Xen或KVM,且环境内有虚拟机和虚拟交换机。通过直接在硬件上安装虚拟机管理程序,就可以搭建一个基础实验室,但系统内至少需要4GB

RAM内存。该实验室将包括KVM主机,两个Open

vSwitches以及两个供测试用的Linux节点。不过性能可能会有点呆滞,所以建议用比较干净的Linux发行版作为测试节点。如果你只有家用笔记

本或台式机,但是其除了这个Open vSwitches实验室还需要处理每天的日常工作,那么可以利用桌面虚拟化解决方案。

在一个Open vSwitch测试网络中使用嵌套(Nesting)

使用现代硬件和软件的组合,可以在桌面虚拟化解决方案中运行嵌套虚拟机。嵌套(Nesting)是一种在一个虚拟管理程序中运行一个虚拟机管理程序

的性能。你可以采取上图中的实验室模式,然后在一个桌面管理程序中实现。Virtualbox, VMware

Workstation以及Fusion都支持嵌套虚拟机管理程序。

这种抽象实现确实需要付出代价。如果您选择在您喜欢的桌面虚拟化解决方案中运行实验室,那么您需要足够的内存来运行主机 *** 作系统,如Windows

或Mac OS X. 一般的经验告诉我们,如果选择一个嵌套实验室,那么至少需要6GB RAM内存。更合适的配置是8GB

RAM存储内存和SSD设备。

将Open vSwitch安装在Ubuntu或Debian上虽然OVS以程序包的方式出现在Ubuntu或Debian上,但我在此还是通过源代码来构建OVS,这将拥有最新的功能特性和修正版。首先,安装用于构建OVS的依赖项。$ sudo apt-get install build-essential libssl-dev linux-headers-$(uname -r) 通过源代码来构建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 接下来,继续在/usr/local/share/下安装OVS用户空间组件:$ sudo make install 下一步是,测试OVS内核模块(安装该模块之前)。为此,先在内核中装入内核模块。$ sudo insmod ./datapath/linux/openvswitch.ko 证实OVS内核模块已成功装入。$ lsmod grep openvswitch openvswitch97934 0 一旦你证实openvswitch.ko已成功装入到内核中,继续安装内核模块,如下所示。$ sudo make modules_install 配置和启动Open vSwitch创建一个框架式OVS配置数据库。$ sudo mkdir /etc/openvswitch $ sudo ovsdb-tool create /etc/openvswitch/conf.db ./vswit chd/vswitch.ovsschema 启动OVS数据库服务器。$ sudo ovsdb-server --remote=punix:/usr/local/var/run/ope nvswitch/db.sock - remote=db:Open_vSwitch,manager_options --pidfile --detach OVS配置数据库初始化。$ sudo ovs-vsctl --no-wait init 最后,启动OVS守护程序。$ sudo ovs-vswitchd --pidfile --detach 将KVM安装在Ubuntu或Debian上使用apt-get命令,安装KVM和必要的用户空间工具。$ sudo apt-get install qemu-kvm libvirt-bin bridge-utils virt-manager 将一个普通的非根用户(如alice)添加到libvirtd群组,那样该用户不需要根用户权限,就能启动虚拟机。$ sudo adduser alice libvirtd 退出,重新以该用户身份登录,让群组成员的变更生效。运行下面这个命令。如果你看到空空如也的虚拟机列表,这意味着KVM已成功设置完毕。$ virsh -c qemu:///system list IdNameState 为KVM配置Open vSwitch现在是时候创建OVS网桥启动脚本了,那样启动或终止虚拟机时,OVS就能自动配置。安装依赖项(用户模式Linux实用工具),这些依赖项将用于处理Linux网桥模式。$ sudo apt-get install uml-utilities 创建网桥启动脚本,如下所示。$ 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* 然后,创建一个默认的网桥br0,并添加一个物理网络接口,虚拟机将通过这个接口与外部网络进行联系。在该教程中,我假设这类网络接口是eth5。$ sudo ovs-vsctl add-br br0 $ sudo ovs-vsctl add-port br0 eth5 借助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 这会创建并启动一个访客虚拟机;一旦访客虚拟机启动,其虚拟接口就自动添加到OVS网桥br0。你可以使用ovs-vsctl这个命令,核实OVS的状态 这是已启动的虚拟机的远程桌面会话。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11423970.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存