建设工程质量检测公司网站,wordpress 咚门,网站开发 支付宝订单号,企业邮箱要钱吗在如今多租户模式的数据中心环境下#xff0c;虚拟化技术正从传统的基于虚拟机管理程序的服务器虚拟化#xff0c;扩展到网络虚拟化。在这种环境下#xff0c;基于软件的虚拟交换机通常连同虚拟机管理程序一起部署在服务器上#xff0c;串联起了不同虚拟机之间传送的流量。…在如今多租户模式的数据中心环境下虚拟化技术正从传统的基于虚拟机管理程序的服务器虚拟化扩展到网络虚拟化。在这种环境下基于软件的虚拟交换机通常连同虚拟机管理程序一起部署在服务器上串联起了不同虚拟机之间传送的流量。我在本教程上将演示如何在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)通过源代码来构建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 openvswitchopenvswitch 97934 0一旦你证实openvswitch.ko已成功装入到内核中继续安装内核模块如下所示。$ sudo make modules_install配置和启动Open vSwitch创建一个框架式OVS配置数据库。$ sudo mkdir /etc/openvswitch$ sudo ovsdb-tool create /etc/openvswitch/conf.db ./vswitchd/vswitch.ovsschema启动OVS数据库服务器。$ sudo ovsdb-server--remotepunix:/usr/local/var/run/openvswitch/db.sock - remotedb:Open_vSwitch,manager_options--pidfile --detachOVS配置数据库初始化。$ 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-utilsvirt-manager将一个普通的非根用户(如alice)添加到libvirtd群组那样该用户不需要根用户权限就能启动虚拟机。$ sudo adduser alice libvirtd退出重新以该用户身份登录让群组成员的变更生效。运行下面这个命令。如果你看到空空如也的虚拟机列表这意味着KVM已成功设置完毕。$ virsh -c qemu:///system listId Name State为KVM配置Open vSwitch现在是时候创建OVS网桥启动脚本了那样启动或终止虚拟机时OVS就能自动配置。安装依赖项(用户模式Linux实用工具)这些依赖项将用于处理Linux网桥模式。$ sudo apt-get install uml-utilities创建网桥启动脚本如下所示。$ sudo vi /etc/openvswitch/ovs-ifup#!/bin/shswitchbr0/sbin/ifconfig $1 0.0.0.0 upovs-vsctl add-port ${switch} $1$ sudo vi /etc/openvswitch/ovs-ifdown#!/bin/shswitchbr0/sbin/ifconfig $1 0.0.0.0 downovs-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,macaddr11:11:11:EE:EE:EE -net tap,script/etc/openvswitch/ovs-ifup,downscript/etc/openvswitch/ovs-ifdown -vnc :1 -drive file/home/dev/images/ubuntu-client.img,booton这会创建并启动一个访客虚拟机一旦访客虚拟机启动其虚拟接口就自动添加到OVS网桥br0。你可以使用ovs-vsctl这个命令核实OVS的状态如下所示。这是已启动的虚拟机的远程桌面会话。