Openvswitch研发白皮书v14.docx

上传人:b****7 文档编号:23951612 上传时间:2023-05-22 格式:DOCX 页数:19 大小:470.66KB
下载 相关 举报
Openvswitch研发白皮书v14.docx_第1页
第1页 / 共19页
Openvswitch研发白皮书v14.docx_第2页
第2页 / 共19页
Openvswitch研发白皮书v14.docx_第3页
第3页 / 共19页
Openvswitch研发白皮书v14.docx_第4页
第4页 / 共19页
Openvswitch研发白皮书v14.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

Openvswitch研发白皮书v14.docx

《Openvswitch研发白皮书v14.docx》由会员分享,可在线阅读,更多相关《Openvswitch研发白皮书v14.docx(19页珍藏版)》请在冰豆网上搜索。

Openvswitch研发白皮书v14.docx

Openvswitch研发白皮书v14

 

 

 

技术文件

 

 

技术文件名称:

OVS安装部署维护使用说明书

技术文件编号:

版本:

V1.4

 

 

 

共XX页

(包括封面)

 

 

 

拟制

审核

批准

 

 

 

 

 

修改记录

文件编号

版本号

拟制人/

修改人

拟制/修改日期

更改理由

主要更改内容

(写要点即可)

V1.0

尹雪蓉

2012-6-3

创建

V1.1

尹雪蓉

2012-6-5

修改

增加debian中openvswitch的安装方法

V1.2

尹雪蓉

2012-6-13

修改

修改了一些bug,增加了vlan实验步骤,删除Debian安装方法,增加ubuntu12.04安装

V1.3

尹雪蓉

2012-6-19

修改+增加

修改了一些文字描述,增加了Nox部署方法,GRE实验配置测试以及GRE+VLAN实验

V1.4

尹雪蓉

2012-6-29

修改+增加

增加sFlow、Qos配置

注1:

每次更改归档文件(指归档到事业部或公司档案室的文件)时,需填写此表。

注2:

文件第一次归档时,“更改理由”、“主要更改内容”栏写“无”。

 

 

目录

(包括封面)1

1引言3

1.1编写目的3

1.2术语、定义3

1.3缩略语3

1.4参考资料3

1.4.1きりんさん日記:

http:

//saburi380.blogspot.co.uk/3

1.4.2Openvswitch-1.4.1中README.RHEL3

1.4.3《NetworkWarrior》中文版3

2安装3

2.1安装概述3

2.2环境配置3

2.3部署流程4

2.3.1CentOS6.2编译环境的安装及部署4

2.3.2CentOS6.2下Openvswitch编译安装及部署4

2.3.3Ubuntu12.04下Openvswitch编译安装及部署7

2.3.4NoX的编译与安装部署8

3常用虚机操作9

3.1创建和启动虚拟机9

3.1.1创建虚拟机9

3.1.2启动虚拟机9

3.2VLAN配置9

3.2.1HostVLAN配置(以vlan号61为例)9

3.2.2虚机VLAN配置10

3.2.3虚机VLAN测试11

3.3GRE配置与测试13

3.3.1Host上的GRE配置13

3.3.2GRE隧道的测试14

3.4GRE+VLAN配置与测试14

4疑难问题14

1

引言

1.1编写目的

本文档编写目的是详细描述产品OVS安装部署方法,预期的读者和阅读建议预期的读者和阅读建议参见表1.1。

表1.1

读者分类

阅读重点

备注

实施工程师

了解如何操作

 

文档工程师

全文,为编写用户文档作准备。

 

1.2术语、定义

本文使用的专用术语、定义见表1.2。

表1.2术语

术语/定义

英文对应词

含义

1.3缩略语

本文使用的专用缩略语见表1.3,缩略语已按其第1个字母顺序排列。

表1.3缩略语

缩略语

英文原文

中文含义

1.4参考资料

1.4.1きりんさん日記:

http:

//saburi380.blogspot.co.uk/

1.4.2Openvswitch-1.4.1中README.RHEL

1.4.3《NetworkWarrior》中文版

2安装

2.1安装概述

本安装教程主要涉及在CentOS6.2环境下对Openvswitch1.4.1进行编译以及安装,并用Openvswitch(简称OVS)接管Linux系统的网络服务,同时配置VLAN,并对虚拟机进行VLAN划分。

2.2环境配置

一、CentOS环境

操作系统环境:

CentOS6.2

Openvswitch版本号:

Openvswitch1.4.x或者1.5.0

网卡数目:

一张网卡,连接的交换机端口设为Trunk缺省模式

二、Ubuntu12.04环境

操作系统环境:

Ubuntu12.04desktop

Openvswitch版本号:

Openvswitch1.4.0

网卡数目:

一张网卡,连接的交换机端口设为Trunk缺省模式

 

2.3部署流程

2.3.1CentOS6.2编译环境的安装及部署

1、升级CentOS6.2(可选)

command:

#yum-yupdate

2、必要环境包安装

准备安装包:

openvswitch-1.4.1.tar.gz

command:

#yum-yinstallqemu-kvmqemu-kvm-toolsmakegcckernel-headerskernel-developenssl-develautomakerpm-buildredhat-rpm-config

 

2.3.2CentOS6.2下Openvswitch编译安装及部署

1、编译openvswitch的rpm包

Command:

#mkdir-p~/rpmbuild/SOURCES

#cd~/rpmbuild/SOURCES

#wgethttp:

//openvswitch.org/releases/openvswitch-1.4.1.tar.gz

#cd/var/tmp

tarxzf~/rpmbuild/SOURCES/openvswitch-1.4.1.tar.gz

rpmbuild-bb-D`uname-r`openvswitch-1.4.1/rhel/openvswitch.spec

rpmbuild-bb-D`uname-r`openvswitch-1.4.1/rhel/openvswitch-kmod-rhel6.spec

备注:

紫红色部分为openvswitch源码包,后面版本号可变,改变范围为本手册环境配置部分内容中所支持的各个版本的openvswitch。

2、安装编译完成的rpm包

编译完成的rpm包默认在~/rpmbuild/RPMS/x86_64目录下,结果如下图所示:

Command:

#cd ~/rpmbuild/RPMS/x86_64

#rpm-ivh*rpm

结果如下图:

备注:

1、确认openvswitch是否安装完成

chkconfig--list|grepopenvswitch

结果如下图:

2、启动openvswitch:

serviceopenvswitchstart

结果如下图:

3、查询openvswitch的状态:

serviceopenvswitchstatus

结果如下图:

4、查看openvswitch的内核模块:

lsmod|grepopenvswitch

结果如下图:

3、添加和删除网卡的脚本

在/etc目录下创建脚本ovs-ifup和ovs-ifdown内容如下所示:

Ovs-ifup:

Ovs-ifdown

将两个文件属性修改为可执行文件:

#chmod+x/etc/ovs-ifup

#chmod+x/etc/ovs-ifdown

2.3.3Ubuntu12.04下Openvswitch编译安装及部署

1、环境配置

#apt-getupdate&&apt-getdist-upgrade

2、下载依赖包

#apt-getinstallaptitudeapt-show-versionsntpntpdatevimkvmlibvirt-binvlanvirtinstvirt-managervirt-vieweropenssh-serveriperfpvopenvswitch-controlleropenvswitch-brcompatopenvswitch-switchopenvswitch-datapath-source

3、启动openvswitch-switch

#serviceopenvswitch-switchstart

 

2.3.4NoX的编译与安装部署

1、系统环境与部署架构

系统环境:

Ubuntu10.04或者11.04desktop

部署架构:

Nox部署在服务器中某一个虚拟机上

2、NoX的编译

1、依赖包安装

#cd/etc/apt/sources.list.d

#sudowgethttp:

//openflowswitch.org/downloads/debian/nox.list

#sudoapt-getupdate

#sudoapt-getinstallnox-dependencies

# apt-getinstallpython-qt4python-simplejson

#apt-getinstallpython-qt4-sql

2、软件包编译安装

#gitclonegit:

//noxrepo.org/nox

#cdnox

#gitcheckout-bdestinyorigin/destiny

#./boot.sh

#mkdirbuild/

#cdbuild/

#../configure

#make-j5

3、安装结果图:

3常用虚机操作

3.1创建和启动虚拟机

安装基础环境:

(vnc环境)

#yum–yinstalltigervnc.X86_64

3.1.1创建虚拟机

(1)创建虚机镜像(例:

创建一个5G的空img)

#qemu-imgcreateXXXX.img5G

(2)启动镜像并安装操作系统

#/usr/libexec/qemu-kvm-m1024-hdaXXXX.img-bootorder=d-cdromYYYY.iso-vnc:

0

3.1.2启动虚拟机

(1)启动虚拟机:

/usr/libexec/qemu-kvm-m1024–netnic–nettap,script=/etc/ovs-ifup,downscript=/etc/ovs-ifdown–drivefile=XXXX.img,boot=on-vnc0.0.0.0:

X–usbdevicetablet

3.2VLAN配置

准备工作:

(假设环境)已有的VLAN为60,61,62

1、修改ifcfg-eth0的配置文件,使它的BOOTPROTO为none(不要给eth0配置ip地址,以免和ovs发生冲突)

2、将vlan模块加入linux

#modprobe8021q

3.2.1HostVLAN配置(以vlan号61为例)

1、修改ovs中br0的配置文件(ifcfg-br0)

==>ifcfg-br0<==(br0配置的地址可连接外网)

DEVICE=br0

ONBOOT=yes

DEVICETYPE=ovs

TYPE=OVSBridge

BOOTPROTO=static

IPADDR=A.B.C.D(例:

10.10.60.244)

NETMASK=X.Y.Z.0(例:

255.255.255.0)

HOTPLUG=no

2、修改eth0的配置文件

==>ifcfg-eth0<==(将eth0桥接到br0)

DEVICE=eth0

ONBOOT=yes

DEVICETYPE=ovs

TYPE=OVSPort

OVS_BRIDGE=br0

BOOTPROTO=none

HOTPLUG=no

3、修改eth0.61的配置文件

==>ifcfg-eth0.61<==

DEVICE=eth0.61

ONBOOT=yes

DEVICETYPE=ovs

TYPE=OVSIntPort

BOOTPROTO=none

IPADDR=A.B.C.D(例:

192.168.61.1)

NETMASK=X.Y.Z.0(例:

255.255.255.0)

OVS_BRIDGE=br0

OVS_OPTIONS="tag=61"

OVS_EXTRA="setInterface$DEVICEexternal-ids:

iface-id=$(hostname-s)-$DEVICE-vif"

HOTPLUG=no

4、重启网络服务

#/etc/init.d/networkrestart

5、添加路由信息,设置网关

#routeadddefaultgw10.10.60.1

3.2.2虚机VLAN配置

(1)启动虚机

/usr/libexec/qemu-kvm-m1024–netnic–nettap,script=/etc/ovs-ifup,downscript=/etc/ovs-ifdown–drivefile=XXXX.img,boot=on-vnc0.0.0.0:

X–usbdevicetablet

(2)将虚机加入VLAN

#ovs-vsctlsetporttap0(或其他虚机网卡)tag=61

(3)配置虚拟机ip地址为192.168.61.*网段,网关不填

例:

ipaddress:

192.168.61.101netmask:

255.255.255.0

如下图所示:

 

3.2.3虚机VLAN测试

测试环境:

Host1:

系统环境:

CentOS6.2

Openvswitch版本:

openvswitch1.4.1

IP:

10.10.60.208

Netmask:

255.255.255.0

Gateway:

10.10.60.1

Vm1:

Ip:

192.168.61.101

Netmask:

255.255.255.0

Host2:

系统环境:

CentOS6.2

Openvswitch版本:

openvswitch1.4.1

IP:

10.10.60.244

Netmask:

255.255.255.0

Gateway:

10.10.60.1

Vm2:

Ip:

192.168.61.111

Netmask:

255.255.255.0

VLAN号均为61

测试:

在vm1中pingvm2

测试结果:

vm1,vm2之间能够通信

测试:

修改vm1的tap0,使它与vm2不同

测试结果:

vm1,vm2无法通信

 

3.3GRE配置与测试

网络拓扑图:

环境准备:

1、2台服务器

2、每台服务器上有两张网卡eth0和eth1

3、每台服务器上有一个虚拟机

 

3.3.1Host上的GRE配置

Host1配置:

#ovs-vsctladd-brbr1

#ovs-vsctladd-portbr1eth0

#ifconfigbr110.10.40.5netmask255.255.255.0

#ifconfigbr1up

#ovs-vsctladd-portbr1gre1–setinterfacegre1type=greoptions:

remote_ip=10.10.40.6

Host2配置:

#ovs-vsctladd-brbr1

#ovs-vsctladd-portbr1eth0

#ifconfigbr110.10.40.6netmask255.255.255.0

#ifupbr1

#ovs-vsctladd-portbr1gre1–setinterfacegre1type=greoptions:

remote_ip=10.10.40.5

Host1上的VM1配置ip地址为:

10.1.1.20

Host2上的VM2配置ip地址为:

10.1.1.30

3.3.2GRE隧道的测试

查看配置:

在Host1中:

#ovs-vsctlshow(查看配置)

#ovs-appctlfdb/showbr1(查看虚机mac信息)

测试结果:

分别启动VM1和VM2,在VM1中pingVM2,能够通信。

 

3.4GRE+VLAN配置与测试

1、在3.3的GRE实验基础上

2、在Host1中将设置VM1的tag=61

#ovs-vsctlsetporttap0tag=61

3、在VM1中pingVM2

测试结果:

1)无法通信

2)将VM2的tag也改为61以后,双方又可以互相通信

3.5sFlow配置与测试

主机配置:

两张网卡

在host中配置命令:

#ovs-vsctl----id=@sflowcreatesflowagent=eth0target=\”10.10.60.52:

6343\”header=128sampling=64polling=10–setbridgebr0sflow=@sflow

备注:

10.10.60.52:

6343安装sFlowTrend软件

4疑难问题

1、VLAN配置完成后,VM可以与本机和远端物理机通信却无法和远端物理机上的VM通信。

问题出错原因:

两台VM的MAC地址相同所致

解决方案:

将两台VM的MAC地址改成不同的,即可通信。

2、ubuntu12.04中安装openvswitch完成并启动时遇到提示openvswitch_mod.kocannotfound的错误。

问题出错原因:

Openvswitch_mod.ko模块未加载进内核

解决方案:

输入以下命令一路确认即可。

#module-assistantauto-installopenvswitch-datapath

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1