SDNLAB实验平台使用方法与创建实验步骤分享.docx
《SDNLAB实验平台使用方法与创建实验步骤分享.docx》由会员分享,可在线阅读,更多相关《SDNLAB实验平台使用方法与创建实验步骤分享.docx(33页珍藏版)》请在冰豆网上搜索。
SDNLAB实验平台使用方法与创建实验步骤分享
SDNLAB实验平台使用分享
1.实验平台简介
SDNLAB实验平台是一个供个人,高校和企业机构研究未来网络方向和技术的实验环境,为用户进行各种实验验证提供服务。
通过该实验平台用户可以获取所需要的网络、计算、存储资源,进行SDN、云计算、移动网络、信息中心网络等未来网络相关的各类研究实验。
本平台采用SDN与虚拟化等技术解决了传统实验室在时间、空间与实验内容等限制,能快速构建复杂度高、隔离性强的各种实验环境,真正实现网络资源共享、网络隔离,帮助用户降低实验过程中环境搭建以及运维的成本,提高用户进行科研实验的效率。
所谓磨刀不误砍柴工,在使用实验平台之前我们需要先了解一下实验平台的各个模块,为接下来的实验做好准备。
实验平台主要包括8个模块,分别是首页、实验、镜像、云主机、模板、工单、日志和帮助。
另外还有用户信息和消息。
1.1.帮助
初步使用实验平台千万不要急于创建实验,而是应该先阅读“帮助”页面,“帮助”页面中包括实验平台简介、实验使用方法以及实验平台FAQ,阅读帮助页面可以帮助我们规避一些小问题,提高实验效率。
例如,经常会有用户提问,创建实验过程中点击下一步没有反应。
主要原因就是用户所使用的浏览器SDNLAB平台目前还不支持,再次提醒各位,当前实验平台支持IE11及以上,Firefox和Chrome浏览器,推荐使用Chrome浏览器,建议chrome版本在35.x以上50.x以下。
1.2.首页和镜像
阅读完帮助页面后会对实验平台有一个大体的了解,下面让我们一一了解一下各个页面。
排在导航栏最开始的是首页,首页展示了用户在实验平台的基本实验信息,包括近期操作,配额信息等。
跳过实验页面,我们先看镜像页面。
镜像页面展示了平台中所有的镜像,目前还没有向用户开放上传镜像功能,所以如果需要使用自己的创建的镜像,需要联系管理员帮助上传镜像文件。
点击某一个具体的镜像,可以查看该镜像的具体信息。
包括镜像名称、编号、大小、规格以及使用次数等。
1.3.实验和云主机
进入实验页面可以看见有两种实验类型:
SDN实验和Mininet实验,刚刚接触实验平台容易分不清这两者的区别,下面我们就详细介绍一下SDN实验和Mininet实验,以及云主机实验。
1.3.1.SDN实验
当实验拓扑相对复杂时,首选就是SDN实验,SDN实验通过具象的设备图标仿真网络环境,用户拖动图标搭建拓扑、设置设备属性,物理层会自动生成相应的网络拓扑,迅速的搭建网络环境,并且丰富的镜像和flavor(镜像规格)满足不同的实验需求。
相较于Mininet实验,SDN实验就像是把Mininet仿真的拓扑网络具体化,拓扑中每个主机、交换机、控制器都有独立的虚拟机,可以分别登录操作。
创建SDN实验的方法如下所示。
1、点击创建按钮
2、填写实验名称和描述,选择控制器
3、创建拓扑,创建拓扑的方式有三种:
手动模式、自动模式和混合模式。
手动模式就是根据需求手动拖动交换机和主机图标,点击链路图标连接设备。
自动模式就是基于快速拓扑原型创建拓扑,目前提供的拓扑原型包括星型、线型、树型和环型拓扑。
例如,点击线型拓扑,输入参数为3,就会生成一个三个分支的线型拓扑。
另外,有一些拓扑需要使用混合模式,先基于快速拓扑原型创建拓扑,再手动添加或删除个别设备。
例如,先创建一个星型拓扑,分支为3,然后手动添加一个交换机,生成一个如下图所示的拓扑。
4、拓扑创建好后,将鼠标悬停在某个设备上,可以查看到设备的基本属性。
如果默认属性满足需求就可以直接进入下一步,如果设备属性不满足需求则按照下述方法进行配置。
双击交换机/主机,填写基本信息、选择镜像、选择对应规格。
其中尤其需要注意的就是规格配置,如果规格设置的过小会导致虚拟机出现卡顿、花屏等情况,甚至是实验创建失败,如果设置过大又会造成资源浪费。
一般情况下,桌面版镜像对应的flavor(镜像规格)比命令行版的大,如ubuntu-12.04-cmd镜像,flavor通常设置CPU1核、内存2G、磁盘20G即可。
5、点击下一步,预览实验基本信息和拓扑,确认没有问题则点击创建。
如果有问题,则返回上一步。
6、进入实验详情页面,可以操作实验。
实验详情可以简单分为四块,依次是实验信息、拓扑展示、实验动态、设备列表。
实验信息部分展示了实验名称、描述、时间和运行状态。
另外还有发布实验和生成模板按钮。
用户不仅可以自己独立实验,还可以发布实验,向更多有兴趣的人分享自己的实验。
此外,还可以点击“生成模板”,由该实验直接生成相应的模板。
拓扑展示部分同步展示了实验拓扑,右上角还有启/停实验、删除实验功能。
实验动态部分记录了用户创建、删除、登录、退出虚拟机等操作。
设备列表中依次有控制器、交换机、主机和用户列表页面,控制器列表页面简单介绍了控制器的概况,包括控制器类型、地址、登录控制器的用户名和密码、控制器基本配置等。
右上角的三个按钮分别是启停、登录和删除。
交换机和主机列表与之类似,进入交换机/主机列表,选中想要登录的目标设备,右上方会显示几个按钮,分别是启停、登录和删除。
点击登录按钮则会弹出操作窗口。
1.3.2.mininet实验
一些想研究Mininet的用户可以使用Mininet实验,Mininet提供多种控制器,用户可以使用Mininet命令仿真各种各样的网络拓扑。
Mininet实验创建方法如下所示。
1、在实验页面,点击“+”Mininet实验,弹出实验创建页面。
2、填写实验信息,包括实验名称和描述,然后选择合适的控制器和Mininet类型。
最后点击“确定”。
3、进入实验详情后可以看见Mininet的操作窗口,而拓扑框中是空白的,根据提示输入用户名和密码进入命令行界面。
需要在Mininet中通过命令创建网络,拓扑框中才会同步显示对应的网络拓扑。
$mn
4、登录控制器。
相对于Mininet的操作窗口,控制器显得比较低调,需要点击登录按钮才会弹出操作窗口。
1.3.3.云主机
一些简单的实验只需要一个虚拟机,云主机就可以很好的满足用户的需求,而且云主机之间可以通信,为后续实验预留可拓展的空间。
1、在云主机页面点击“+”,会弹出云主机创建页面。
2、填写云主机名称和描述,选择合适的镜像,并且根据推荐配置选择镜像规格。
提示,此处的用户名和密码是自动从镜像获取的,用于获取登录用户名和密码的,不支持自定义。
3、云主机创建成功后,点击登录按钮则弹出操作窗口。
同样,点击启停按钮就可以启动、停止云主机。
1.4.模板
模板有两种创建方法,一种是直接创建模板,另一种是由实验生成模板。
由实验生成模板的方法前面已经介绍过了,下面介绍直接创建模板的方法。
1、直接创建模板的方法与创建实验的过程非常相似。
先点击创建按钮
2、弹出创建页面后,填写模板名称和描述,选择控制器。
3、根据需求创建拓扑。
4、双击交换机/主机设置属性。
5、设置完毕后,点击下一步,预览拓扑和模板基本信息,确认没有问题则点击创建。
6、模板创建成功后,可以选择发布模板向更多人分享自己的模板。
7、也可以点击查看详情,进入模板详情页面,基于该模板创建实验。
1.5.日志和工单
日志提供给用户查看实验平台的操作记录,用于问题定位。
用户可通过工单反馈实验平台中遇到的各类问题。
1.6.配额和消息
实验平台中每个用户能使用的资源的额度,涉及的资源包括“实验”,“镜像”,“快照”,“CPU”,“内存”和“磁盘”,如果配额不足,需要向管理员申请扩大配额。
申请扩大配额的方式如下:
1、点击用户名称—>我的配额
2、根据自己的需求申请配额,例如,想要扩大实验个数为8个,则拖动“实验”的横条到个数为8,点击申请,填写申请理由后点击“确定”提交申请。
管理员会收到你的申请,并做出处理。
如果管理员处理了你的配额申请,你就会收到消息。
除了配额调整消息外,还可以查看工单回复、实验加入申请、实验退出通知等系统消息。
如果有用户申请加入你发布的实验,你需要在消息页面中处理对方的请求,选择批准或拒绝,对方就会收到你的回复。
实验平台各个模块已经介绍完毕,下面请看一个简单的实验演示《OVSDB南向接口协议学习》,基于ovsdb协议配置OpenvSwitch,进行创建网桥等操作。
2.实验示例
2.1.创建实验
创建实验,填写实验名称和描述。
点击图标选用OpenDaylight桌面版控制器。
创建拓扑如下,交换机使用ovs-8port镜像,flavor设置为CPU1核、内存2G、磁盘20G。
查看网络连通性。
由于opendaylight组件过于庞大,所以启动比较慢,容易导致控制器与交换机连接不成功的现象,间接导致主机无法获取IP。
所以使用opendaylight控制器时,需要先检查网络连通性,查看交换机与控制器连接情况。
$ovs-vsctlshow
如图所示,交换机与控制器连接不成功,重启交换机,查看连接情况,有时候重启后可能需要稍后片刻。
如图所示controller下方显示“is_connected:
true”则表明连接成功。
登录控制器,查看控制器IP。
2.2.配置控制器
登录控制器,进入OpenDaylight安装目录,并且以karaf的身份登录karaf控制台。
$cd/home/distribution-karaf-0.3.0-Lithium
$./bin/client-ukaraf
安装OVSDB相关的组件。
$feature:
installodl-ovsdb-all
$feature:
installodl-ovsdb-southbound-apiodl-ovsdb-southbound-implodl-ovsdb-southbound-impl-restodl-ovsdb-southbound-impl-uiodl-openflowplugin-adsal-compatibility-all
登录交换机,连接控制器。
原本控制器与交换机之间的连接是通过OpenFlow协议的,在此基于OVSDB协议创建一个新的连接,其中20.0.1.3是控制器IP,6640是OVSDB协议对应的侦听端口。
登录控制器,打开文件并且进入Downloads/Postman/Postman-REST-Clinet_v0.8.1目录,双击index.html文件。
本实验所用的Postman是Chrome浏览器的插件,如下图所示,点击Chrome浏览器书签栏中收藏的Postman标签。
需要注意的是,index.html文件打开的只是一个页面并不是Postman程序,需要点击标签才行。
点击Postman标签后,进入如下界面:
2.3.创建网桥和端口
2.3.1.获取交换机节点信息
获取交换机节点信息,在Normal页面下输入URLhttp:
//20.0.1.3:
8282/ovsdb/nb/v3/node。
访问一个页面需要输入用户名和密码,同样,用Postman发送请求也需要一定的权限。
点击BasicAuth页面,用户名和密码都是admin,输入后点击Refreshheaders自动生成HTTP认证头部。
请求类型选择GET,点击send发送GET请求。
从STATUS可以看出请求发送成功,如果发送失败会显示对应的错误提示,另外,将鼠标悬停在STATUS上可以看见详细的信息。
Body中返回的就是交换机节点信息,此处获取到的节点信息在后面会用到。
2.3.2.创建网桥
发送POST请求创建网桥。
输入URLhttp:
//20.0.1.3:
8282/ovsdb/nb/v2/node/OVS/20.0.1.4:
38016/tables/bridge/rows,其中“20.0.1.4:
38016”就是前面获取到的交换机节点信息。
点击BasicAuth,输入用户名和密码生成HTTP认证头部,POST请求还需要添加头部指明Body格式,如图所示,手动输入Content-Type且值为application/json。
将请求类型选为POST,自动弹出Body格式框,点击raw弹出Body输入框,选择Body内容格式为JSON。
Body内容如下所示,创建一个名为br0的网桥,并且与控制器通过OpenFlow13进行连接。
点击send发送请求,STATUS显示创建成功。
{
"row":
{
"Bridge":
{
"name":
"br0",
"datapath_type":
"OpenFlow13"
}
}
}
登录交换机,确认网桥创建成功。
$ovs-vsctlshow
2.3.3.获取网桥uuid
URL保持不变,依旧是http:
//20.0.1.3:
8282/ovsdb/nb/v2/node/OVS/20.0.1.4:
38016/tables/bridge/rows,将请求类型改为GET。
输入用户名和密码生成HTTP认证头部。
点击send发送GET请求,STATUS显示请求发送成功,并返回网桥信息,下图中两个uuid分别是br0和br-sw的。
点击uuid所在行左侧的数字可以展开/收起网桥的详细信息,方便查看。
2.3.4.创建端口
发送POST请求创建端口,输入URLhttp:
//20.0.1.3:
8282/ovsdb/nb/v2/node/OVS/20.0.1.4:
38016/tables/port/rows
点击BasicAuth,输入用户名和密码生成HTTP认证头部,并且添加Content-Type为application/json。
将请求类型改为POST,自动弹出Body格式框,点击raw弹出Body输入框,选择Body类型为JSON。
输入Body内容如下所示,其中parent_uuid是网桥的uuid,这里所用的是br0的uuid,那么端口就会添加到br0网桥上。
点击send发送请求,STATUS显示请求发送成功,端口已经创建。
{
"parent_uuid":
"1aa5f76c-8dbf-4837-88bd-619b6a76caa2",
"row":
{
"Port":
{
"name":
"port0",
}
}
}
登录交换机,确认交换机是否创建成功。
$ovs-vsctlshow
3.实验平台FAQ
在本次分享的最后向大家分享一下实验平台的FAQ。
1、实验平台支持哪些浏览器?
当前实验平台支持IE11及以上,Firefox和Chrome浏览器,推荐使用Chrome浏览器,建议Chrome版本在35.x以上50.x以下。
2、首次使用实验平台,点击登录虚拟机按钮,没有弹出操作窗口。
请允许弹窗。
3、在实验平台操作时提示配额不足怎么办?
请单击页面右上角的用户名>“我的配额”页面查看和申请对应的配额。
4、实验过程中输入字符后出现卡顿?
如上图所示,这是创建虚拟机的时选择的内存太小导致的卡顿。
如果选择桌面版镜像,建议内存在2G及以上。
如果用作性能测试的虚拟机,即使是命令行版镜像,建议内存在2G及以上,CPU为2~4核。
如果选择OpenDaylight镜像(包括桌面版与命令行版)创建虚拟机,建议内存在2G及以上,CPU为2~4核。
5、创建一个SDN实验,使用OpenDaylight控制器,出现主机没有IP的情况怎么办?
由于opendaylight组件过于庞大,所以启动比较慢,容易导致控制器与交换机连接不成功的现象,间接导致主机无法获取IP。
当出现这种情况时,先重启交换机,交换机会自动向控制器发起连接,然后重启主机。
6、启动floodlight、ryu等控制器时会提示端口已被占用。
实验平台中控制器都是默认后台自启动的,如果用户想要自己启动控制器,可以将后台已启动的控制器进程kill掉。