文章标题

2017-2-13来源:经验技巧人气:747

重新部署 SDN 实验 Ubuntu 系统

成文时间 2017年2017年2月13日

软件配置 VMware WorkStation 版本 12.5.2 作者信息 白威挺

由于在原版本系统中运行 Open vSwitch 存在问题,故而将 SDN 验证用的 Ubuntu 进行重装。现在整理一下重新安装的思路。


目录

重新部署 SDN 实验 Ubuntu 系统 目录 安装操作系统 运行系统更新 安装 Vmware Tools 安装 JDK 安装 OpenDaylight 安装 Open vSwitch OVS 与 ODL 连接


安装操作系统

下载最新的 Ubuntu Desktop 16.04.01 LTS 系统,新建一个虚拟机,并按照默认步骤进行安装。注意,如果没有网络就不要勾选联网更新,否则会卡在 Adobe Flash Player 的安装上,很久才能结束安装。

推荐配置 处理器:至少 4 核 1 GHz 内存:至少 4 GB 硬盘:至少 40 GB

进入系统后修改root用户的默认密码,执行如下命令:

sudo passwd root

输入当前用户密码和两次root用户密码即可。


运行系统更新

root权限下执行如下命令:

apt-get update apt-get upgrade

这是一个比较漫长的过程,特别是在网络条件比较差的情况下。推荐在root权限下使用清华或阿里的镜像进行更新,具体命令如下:

cp /etc/apt/sources.list /etc/apt/sources.list.old # 备份 gedit /etc/apt/source.list

使用如下源替换文件内容(任选一):

# 清华源 deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main multiverse restricted universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main multiverse restricted universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-PRoposed main multiverse restricted universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main multiverse restricted universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main multiverse restricted universe deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main multiverse restricted universe deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main multiverse restricted universe deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main multiverse restricted universe deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main multiverse restricted universe deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main multiverse restricted universe # 阿里源 deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

安装 Vmware Tools

在虚拟机控制器中选择安装 Vmware Tools,然后在root下运行如下命令:

cp /media/你的用户名/VMware\ Tools/VMwareTools-10.0.10-4301679.tar.gz /home/你的用户名/VmwareTools.tar.gz tar zxvf /home/你的用户名/VmwareTools.tar.gz cd vmware-tools-distrib ./vmware-install.pl

一路默认安装即可。注意,系统会提示这是一个legacy版本,但是你还是需要安装它才能正常使用 Vmware Tools 的功能。


安装 JDK

下载 JDK 8u121 到/home/你的用户名下,然后在root下执行如下命令:

cd /usr mkdir java cp /home/你的用户名/jdk-8u121-linux-x64.tar.gz /usr/java/ cd java tar zxvf jdk-8u121-linux-x64.tar.gz # 得到文件夹 jdk1.8.0_121 gedit /etc/profile # 修改系统配置文件达到所有用户可用的目的

在文件末尾添加如下内容:

JAVA_HOME=/usr/java/jdk1.8.0_121 CLASSPATH=$JAVA_HOME/lib/ PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME CLASSPATH

执行如下命令更新系统配置信息:

source /etc/profile

查看当前 JDK 版本信息:

java -version

如果出现如下信息说明安装成功:

java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

安装 OpenDaylight

下载 OpenDaylight Boron SR2 到/home/你的用户名下,然后在root下执行如下命令:

cd /usr mkdir opendaylight cp /home/你的用户名/distribution-karaf-0.5.2-Boron-SR2.tar.gz /usr/opendaylight/ cd opendaylight tar distribution-karaf-0.5.2-Boron-SR2.tar.gz # 得到文件夹 distribution-karaf-0.5.2-Boron-SR2

然后修改karaf参数配置:

cd distribution-karaf-0.5.2-Boron-SR2 gedit etc/org.apache.karaf.management.cfg

rmiRegistryHost = 0.0.0.0 rmiServerHost = 0.0.0.0

改为

rmiRegistryHost = 127.0.0.1 rmiServerHost = 127.0.0.1

随后启动 OpenDaylight 安装 feature:

./bin/karaf karaf

在 ODL 控制台下安装如下特征:

feature:install odl-restconf feature:install odl-l2switch-switch-ui feature:install odl-openflowplugin-flow-services-ui feature:install odl-mdsal-apidocs feature:install odl-dlux-core feature:install odl-dlux-node feature:install odl-dlux-yangui

然后使用 Firefox 浏览器(如果你安装了其他的浏览器也可以,例如 Chrome)打开 http://127.0.0.1:8181/index.html。如果你有公网 ip 或者是实验网络 IP 也可以。本文环境位于本地,以本地为例进行说明。如果出现了登陆界面,恭喜你完成了 OpenDaylight Boron 版本的基本安装。

万一失败了呢 如果安装失败,请不要着急。在 ODL 控制台下使用logout命令退出,然后删除/data目录。命令如下:

rm -rf /usr/opendaylight/distribution-karaf-0.5.2-Boron-SR2/data

然后使用安全模式运行karaf

cd /usr/opendaylight/distribution-karaf-0.5.2-Boron-SR2/bin ./karaf clean

随后按照步骤重新安装即可。


安装 Open vSwitch

根据安装方式可分为以下两种:

通过源代码安装

确保正确的编译环境。执行命令apt-get updateapt-get install -y build-essential来构建编译环境。

下载 OVS 安装包。执行命令

wget http://openvswitch.org/releases/openvswitch-2.6.1.tar.gz

解压安装包。执行命令

cd /usr mkdir openvswitch cp /home/你的用户名/openvswitch-2.6.1.tar.gz /usr/openvswitch cd openvswitch tar xzvf openvswitch-2.6.1.tar.gz

进入解压后的文件夹。执行命令

cd openvswitch-2.6.1

清理 make 命令的缓存。执行命令

make clean

对编译条件进行配置,具体信息参见OVS 官方配置说明。本文将 OVS 编译为内核模块,因此配置命令为

./configure --with-linux=/lib/modules/$(uname -r)/build

编译并安装 OVS。执行命令

make && make install

如果编译为内核模块,需要执行命令可选操作

make modules_install

如果需要加载其他内核模块,请执行命令可选操作

config_file="/etc/depmod.d/openvswitch.conf" for module in datapath/linux/*.ko; do modname="$(basename ${module})" echo "override ${modname%.ko} * extra" >> "$config_file" echo "override ${modname%.ko} * weak-updates" >> "$config_file" done depmod -a /sbin/modprobe openvswitch

初始化 OVS 数据库。执行命令

mkdir -p /usr/local/etc/openvswitch ovsdb-tool create /usr/local/etc/openvswitch/conf.db \ vswitchd/vswitch.ovsschema

利用数据库启动 OVS。执行命令

mkdir -p /usr/local/var/run/openvswitch ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock \ --remote=db:Open_vSwitch,Open_vSwitch,manager_options \ --private-key=db:Open_vSwitch,SSL,private_key \ --certificate=db:Open_vSwitch,SSL,certificate \ --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \ --pidfile --detach --log-file

第一次启动的时候执行命令

ovs-vsctl --no-wait init

启动 OVS 守护进程,执行命令

ovs-vswitchd --pidfile --detach --log-file

通过apt-get安装

执行命令,将自动安装 ovs 2.5.0 版本。 截至本文成稿

apt-get openvswitch-switch

如果需要关闭 Open vSwitch 则可执行以下命令:

kill `cd /usr/local/var/run/openvswitch && cat ovsdb-server.pid ovs-vswitchd.pid`

如果需要重新开启的话还是需要从代码安装的第 11 步开始向后执行,即利用数据库启动 OVS第一次启动启动 OVS 守护进程


OVS 与 ODL 连接

本小节假设 ODL 安装在本地,IP 地址为 127.0.0.1,ODL 控制端口为 6633

测试连接步骤依次为:

启动 ODL,命令为

cd distribution-karaf-0.4.2-Beryllium-SR2/bin ./karaf

登陆 WEB 页面 http://127.0.0.1:8181/index.html,进入拓扑查看界面。默认账户密码均为 admin

启动网桥,执行命令

ovs-vsctl add-br br0

将网桥 br0 连接到 ODL 控制器,执行命令

ovs-vsctl set-controller br0 tcp:127.0.0.1:6633

以上就应该能在拓扑界面下看到连接的交换机。