【个人总结系列-15】搭建虚拟网络环境总结-XEN-创建及克隆虚拟机-安装配置OpenvSwitch-NOX

时间:2019-05-12 17:08:48下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《【个人总结系列-15】搭建虚拟网络环境总结-XEN-创建及克隆虚拟机-安装配置OpenvSwitch-NOX》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《【个人总结系列-15】搭建虚拟网络环境总结-XEN-创建及克隆虚拟机-安装配置OpenvSwitch-NOX》。

第一篇:【个人总结系列-15】搭建虚拟网络环境总结-XEN-创建及克隆虚拟机-安装配置OpenvSwitch-NOX

搭建虚拟网络环境总结-XEN-创建及克隆虚拟机-安装配置

OpenvSwitch-NOX 搭建虚拟网络环境的工作内容主要涉及到安装xen、创建虚拟机、复制虚拟机、安装ovs、配置ovs和安装nox等这些方面。以下各节是对这些主要内容的介绍。1.1.1 安装xen 编写本文档所对应的Xen的安装环境是CentOS5.6。具体的安装步骤如下:  安装xen相关的软件包:

[root@localhost ~]# yum-y install kernel-xen virt-manager virt-viewer libvirt xen  修改启动顺序并重启电脑:

[root@localhost ~]# vi /boot/grub/grub.conf default=1改为default=0,使得电脑优先以包含xen的内核启动(不然的话要每次启动的时候手动选择与xen相关的内核来启动)

 检查xen列表:

[root@localhost ~]# xm list Name ID Mem(MiB)VCPUs State Time(s)Domain-0 0 423 4 r-----65.3  如果xen进程未启动,手动执行:

[root@localhost ~]# /etc/init.d/xend start [root@localhost ~]# /etc/init.d/xendomains start #正常情况xend启动后将默认启动xendomains

1.1.2 创建虚拟机

如上面安装好xen之后,打开virt-manager(在终端里输入:virt-manager),用virt-manager新建一个CentOS5.6的虚拟机。创建Xen虚拟机的步骤如下图所示:

 在virt-manager的图形界面中点击右键,选择新建虚拟机,为虚拟机选择一个名称,设置虚拟机的各项参数,步骤如截图所示:

图2-1 创建虚拟机

图2-2 为虚拟机选择名称

图2-3 选择半虚拟化

图2-4 选择网络安装树

 半虚拟化的需要网络安装,网络安装的地址是:http://202.115.44.135/centos5.6。剩下的步骤如下图所示:

图2-5 填写安装的URL

图2-6 选择映像文件的存放位置及大小

图2-7 选择虚拟网络

图2-8 设置虚拟机的内存等信息

图2-9 完成虚拟机的创建

图2-10 安装虚拟机

 这样就开始了一个虚拟机的安装,接下去的步骤同普通安装基本一样。

1.1.3 快速克隆虚拟机

安装完之后,在/var/lib/xen/images中有一个vmpc1.img文件,即虚拟机的映像文件。在/etc/xen中有一个vmpc1的配置文件。如果想再建一个虚拟机的话,可以通过克隆前面安装的那台虚拟机。克隆一台虚拟机非常方便,只要复制一份那台虚拟机的映像文件(即.img文件,但是文件必须重命名)和配置文件(需要修改部分内容,如主机名、mac地址等)即可。

复制一台虚拟机的步骤如下:

 首先关闭被复制的那台虚拟机(假如复制vmpc1)

xm shutdown vmpc1  复制虚拟机映像文件和配置文件

cp /var/lib/xen/images /vmpc1.img /var/lib/xen/images /vmpc2.img cp /etc/xen/vmpc1 /etc/xen/vmpc2  修改虚拟机配置文件

vi /etc/xen/vmpc2 配置文件如下所示:

--------------------name = “vmpc1”

uuid = “85386e79-9f79-e243-9b62-3c9da736ae9f” maxmem = 2048 memory = 2048 vcpus = 2

bootloader = “/usr/bin/pygrub” on_poweroff = “destroy” on_reboot = “restart” on_crash = “restart”

disk = [ “tap:aio:/opt/vm1/vm1.img,xvda,w” ]

vif = [ “mac=00:16:36:47:a2:89,bridge=virbr0,script=vif-bridge” ]--------------------修改name、uuid、mac保持唯一,通常将最后一位加1。修改disk路径,vmpc1的配置文件中的disk路径对应vmpc1.img这个映像文件

 启动并进入虚拟机

vm create vmpc2-c  修改主机名

hostname vmpc2 vi /etc/sysconfig/network vi /etc/hosts  修改网卡ip和mac,使得和和xen配置对应

vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static

BROADCAST=192.168.122.255 HWADDR=00:16:36:47:A2:80 IPADDR=192.168.122.12 NETMASK=255.255.255.0 NETWORK=192.168.122.0 ONBOOT=yes  重启网络,完成修改 /etc/init.d/network restart

1.1.4 安装ovs Linux的发行版本比较多,下面的安装说明只针对于安装有 Xen 虚拟化平台的 CentOS 64 位操作系统。安装步骤如下:

 安装Xen虚拟化环境,并保证Xend启动成功,网络可正常连接,如不讲究

Xen 版本,可利用 CentOS 更新源已有的 Xen 虚拟化平台,采取下面的简单办法:

[root@localhost ~]# yum install xen.x86_64

 安装完成后重启,启动菜单中选择包含xen的操作系统选项,启动成功之后,如不出异常,xend将正常运行于后台,进入dom0客户操作系统。通过以下命令可并判断xend是否正常启动,正常启动的情况下该命令将显示客户操作系统dom列表。

 启动成功后安装内核源码,如下

[root@localhost ~]# yum install kernel.x86_64

 从官方网站http://openvswitch.org/中下载Open vSwitch源代码包,最新版本可使用下面的链接:http://openvswitch.org/releases/openvswitch-1.1.0pre2.tar.gz,下载完后输入以下命令解压

[root@localhost ~]# tar –xzvf openvswitch-1.1.0pre2.tar.gz

 进入解压后目录,输入以下命令配置Open vSwitch工程,生成Makefile文件。

[root@localhost ~]#./configure--with-l26=/lib/modules/`uname-r`/build--with-l26:生成内核模式的Open vSwitch时需指定的内核源码编译目录 指定Open vSwitch的安装位置加参数:--prefix=/…

如有其他问题可参考源码根目录下的帮助文件:INSTALL.Linux

 编译、链接、生成和安装Open vSwitch,命令如下,make install目录只安装Open vSwitch除内核模块外的其他所有模块,如ovs-vsctl、ovs-vswitchd、ovs-ofctl等

[root@localhost ~]# make [root@localhost ~]# make install

 卸载原有虚拟网桥模块,命令如下,如果Xend正常启动,将自动加载linux虚拟网桥模块bridge.ko。

[root@localhost ~]# rmmod bridge

 如果无法卸载,可用―lsmod‖命令查看已加载的依赖于bridge的内核模块,并用“rmmod 模块名”卸载,常见的无法卸载的情况可通过预先执行下面两条命令解决。

[root@localhost ~]# /etc/init.d/iptables stop [root@localhost ~]# rmmod xt_physdev

 加载Open vSwitch内核模块openvswitch_mod.ko和linux虚拟网桥兼容模块brcompat_mod.ko [root@localhost~]#insmod openvswitch-1.1.0pre2/datapath/linux-2.6/openvswitch_mod.ko [root@localhost ~]# insmod openvswitch-1.1.0pre2/datapath/linux-2.6/brcompat_mod.ko  根据ovsdb

模板

vswitch.ovsschema

创建

ovsdb

数据库ovs-vswitchd.conf.db,用于存储虚拟交换机的配置信息,只需第一次运行Open vSwitch时创建

[root@localhost ~]# ovsdb-tool create /usr/local/etc/ovs-vswitchd.conf.db openvswitch-1.1.0pre2/vswitchd/vswitch.ovsschema

 启动ovsdb数据库服务器,Open vSwitch虚拟网桥模块将通过ovsdb-server获得虚拟交换机配置信息,―—detach‖表示以后台方式运行,ovsdb-server其他参数请参考―ovsdb-server –help‖

[root@localhost ~]# ovsdb-server /usr/local/etc/ovs-vswitchd.conf.db--remote=punix:/usr/local/var/run/openvswitch/db.sock--remote=db:Open_vSwitch,managers--private-key=db:SSL,private_key--certificate=db:SSL,certificate--bootstrap-ca-cert=db:SSL,ca_cert--detach

 初始化Open vSwitch控制接口,以便用ovs-vsctl管理配置虚拟交换机

[root@localhost ~]# ovs-vsctl--no-wait init  启动Open vSwitch用户态模块,unix:后的文件为socket文件,为ovsdb-server监听的socket文件。

[root@localhost ~]# ovs-vswitchd unix:/usr/local/var/run/openvswitch/db.sock--detach

 启动linux原有虚拟网桥兼容模块用户态组件ovs-brcompatd,该模块必须在ovsdb-server和ovs-vswitchd启动后才能启动。

[root@localhost ~]# ovs-brcompatd--pidfile--detach-vANY:console:EMER unix:/usr/local/var/run/openvswitch/db.sock

1.1.5 配置ovs 在安装了xen的主机中,当使用ifconfig命令时,除了熟悉的eth0以外还会出现许多平常没有见到过的网络接口,这些接口的出现的原因是因为xen会自动为虚拟机创建一些虚拟的网络接口,装有xen的主机在启动时网络的配置过程为:

1.执行在/etc/xen/xend-config.sxp中指定的/etc/xen/scripts/network-bridge脚本

2.network-bridge脚本创建一个新网桥,名字为xenbr0 3.复制物理网卡接口eth0的MAC地址和IP地址

4.停止物理网卡接口eth0

5.创建一对相连的虚拟网卡接口,veth0和vif0.0

6.将之前复制的物理网卡接口的MAC,IP分配给虚拟接口veth0 7.重命名物理网卡接口,从eth0改名为peth0 8.重名名虚拟网卡接口,从veth0改名为eth0

9.将物理网卡接口peth0,虚拟网卡接口vif0.0加入到网桥xenbr0中

10.启动网桥xenbr0,启动其他网络接口peth0,eth0,vif0.0

对于每一个新的domU,Xen会创建“一对相连的虚拟网卡”,其中一块在新建的domU上,另一块在dom0上。对于Linux的domU来说,其虚拟网卡名字是eth0,而在dom0这端的这一块的网卡名字是vif.0。当一台domU关机的时候,相关的虚拟网卡会被删除。所以在装有xen的主机中网络端口的状态如下图所示:

图2-11 装有xen的主机中网络端口的状态

数据包到达物理网卡之后的处理流程为:数据包到达硬件物理网卡接口peth0,dom0上的网卡驱动会进行处理。因为peth0绑定在网桥上,所以数据包被发送到网桥上。观察ifconfig的输出,你会发现peth0,xenbr0,vif0.0和vif1.0都共享一个相同的MAC地址FE:FF:FF:FF:FF:FF,该地址是以太网广播地址。这表明物理网卡接口,dom0的loopback接口,所有guest domain的后端接口都广播到网桥接口xenbr0。当物理网卡接口peth0接收到一个数据包,它会将数据包直接发送到网桥接口xenbr0上。然后网桥会分发数据包,像交换机一样(话说交换机也是网桥的一种)。网桥会根据数据包接收者的MAC地址将其转发到正确的网络接口上。所以peth0这个接口不需要配置ip地址,只有MAC地址就够了。然后vif接口会将数据包发送给domU上相连的接口,然后domU中返回的数据包也通过vif发送回来。dom0也是一样的操作模式,通过vif0.0->eth0这一对相连的网卡。

vif0.1:表示ID为0的第二个网络接口,vif6.0:表示ID为6的第一个网络接口 virbr0:是虚拟系统和真实系统进行连接的接口,实现NAT功能 xenbr1:是虚拟系统和真实系统进行连接的接口,桥接功能

图2-11 装有xen的主机中网桥的转发原理

以上就是在装有虚拟机的主机上网桥的转发原理,使用ovs进行基于网桥的转发也是同上面描述的原理类似,只是要使用ovs自己建一个网桥(假设为br0),然后把物理网卡、虚拟网卡0、虚拟网卡1„„连接在这个br0上,具体的命令如下: 添加网桥br0 [root@localhost ~]# ovs-vsctl add-br br0 激活网桥br0 [root@localhost ~]# ifconfig br0 up 配置网桥br0的ip地址和子网掩码

[root@localhost ~]# ifconfig br0 192.168.203.100/24 将需要添加到网桥br0上的网络接口添加到br0中

[root@localhost ~]# ovs-vsctl add-port br0 peth0 [root@localhost ~]# ovs-vsctl add-port br0 vif0.0

然后把虚拟机的网桥设置为br0,原来可能是xenbr0,修改虚拟机的配置文件即可,然后重启虚拟机。1.1.6 安装nox  首先是NOX的安装,安装的环境是Ubuntu10.04,安装操作的过程如下:

cd /etc/apt/sources.list.d sudo wget http://openflowswitch.org/downloads/debian/nox.list sudo apt-get update sudo apt-get install nox-dependencies git clone git://noxrepo.org/nox cd nox  如果需要启动gui 必须做branch这一步

git branch –a git checkout-b destiny origin/destiny./boot.sh mkdir build/ cd build/../configure make-j 5  启动控制器

./nox_core-v-i ptcp:6633 monitoring  有时候会因为依赖包的问题而使安装出现问题,所以建议执行以下操作

apt-get install python-qt4 python-simplejson apt-get install python-qt4-sql  使open vswitch连接到控制器,查看安装是否成功

ovs-vsctl set-controller br0 tcp:172.16.1.230

下载【个人总结系列-15】搭建虚拟网络环境总结-XEN-创建及克隆虚拟机-安装配置OpenvSwitch-NOXword格式文档
下载【个人总结系列-15】搭建虚拟网络环境总结-XEN-创建及克隆虚拟机-安装配置OpenvSwitch-NOX.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐