SDNLAB技术分享(十八):如何使用SDNLAB实验平台

1.实验平台简介

SDNLAB实验平台是一个供个人,高校和企业机构研究未来网络方向和技术的实验环境,为用户进行各种实验验证提供服务。通过该实验平台用户可以获取所需要的网络、计算、存储资源,进行SDN、云计算、移动网络、信息中心网络等未来网络相关的各类研究实验。

本平台采用SDN与虚拟化等技术解决了传统实验室在时间、空间与实验内容等限制,能快速构建复杂度高、隔离性强的各种实验环境,真正实现网络资源共享、网络隔离,帮助用户降低实验过程中环境搭建以及运维的成本,提高用户进行科研实验的效率。
所谓磨刀不误砍柴工,在使用实验平台之前我们需要先了解一下实验平台的各个模块,为接下来的实验做好准备。实验平台主要包括8个模块,分别是首页、实验、镜像、云主机、模板、工单、日志和帮助。另外还有用户信息和消息。

1.1.帮助

初步使用实验平台千万不要急于创建实验,而是应该先阅读“帮助”页面,“帮助”页面中包括实验平台简介、实验使用方法以及实验平台FAQ,阅读帮助页面可以帮助我们规避一些小问题,提高实验效率。

例如,经常会有用户提问,创建实验过程中点击下一步没有反应。主要原因就是用户所使用的浏览器SDNLAB平台目前还不支持,再次提醒各位,当前实验平台支持IE 11及以上,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通常设置CPU 1核、内存2G、磁盘20G 即可。

5、点击下一步,预览实验基本信息和拓扑,确认没有问题则点击创建。如果有问题,则返回上一步。

6、进入实验详情页面,可以操作实验。实验详情可以简单分为四块,依次是实验信息、拓扑展示、实验动态、设备列表。实验信息部分展示了实验名称、描述、时间和运行状态。另外还有发布实验和生成模板按钮。用户不仅可以自己独立实验,还可以发布实验,向更多有兴趣的人分享自己的实验。此外,还可以点击“生成模板”,由该实验直接生成相应的模板。

拓扑展示部分同步展示了实验拓扑,右上角还有启/停实验、删除实验功能。实验动态部分记录了用户创建、删除、登录、退出虚拟机等操作。

设备列表中依次有控制器、交换机、主机和用户列表页面,控制器列表页面简单介绍了控制器的概况,包括控制器类型、地址、登录控制器的用户名和密码、控制器基本配置等。右上角的三个按钮分别是启停、登录和删除。交换机和主机列表与之类似,进入交换机/主机列表,选中想要登录的目标设备,右上方会显示几个按钮,分别是启停、登录和删除。点击登录按钮则会弹出操作窗口。

1.3.2. mininet实验
一些想研究Mininet的用户可以使用Mininet实验,Mininet提供多种控制器,用户可以使用Mininet命令仿真各种各样的网络拓扑。Mininet实验创建方法如下所示。

1、在实验页面,点击“+”Mininet实验,弹出实验创建页面。

2、填写实验信息,包括实验名称和描述,然后选择合适的控制器和Mininet类型。最后点击“确定”。

3、进入实验详情后可以看见Mininet的操作窗口,而拓扑框中是空白的,根据提示输入用户名和密码进入命令行界面。需要在Mininet中通过命令创建网络,拓扑框中才会同步显示对应的网络拓扑。


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协议配置Open vSwitch,进行创建网桥等操作。

2 实验示例

2.1 创建实验

创建实验,填写实验名称和描述。点击图标选用Open Daylight桌面版控制器。

创建拓扑如下,交换机使用 ovs-8port镜像,flavor设置为CPU 1核、内存 2G、磁盘 20G。

查看网络连通性。由于opendaylight组件过于庞大,所以启动比较慢,容易导致控制器与交换机连接不成功的现象,间接导致主机无法获取IP。所以使用opendaylight控制器时,需要先检查网络连通性,查看交换机与控制器连接情况。


如图所示,交换机与控制器连接不成功,重启交换机,查看连接情况,有时候重启后可能需要稍后片刻。如图所示controller下方显示“is_connected:true”则表明连接成功。

登录控制器,查看控制器IP。

2.2. 配置控制器

登录控制器,进入Open Daylight安装目录,并且以karaf的身份登录karaf控制台。


安装OVSDB相关的组件。


登录交换机,连接控制器。原本控制器与交换机之间的连接是通过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页面下输入URL http://20.0.1.3:8282/ovsdb/nb/v3/node。

访问一个页面需要输入用户名和密码,同样,用Postman发送请求也需要一定的权限。点击Basic Auth页面,用户名和密码都是admin,输入后点击Refresh headers自动生成HTTP认证头部。

请求类型选择GET,点击send发送GET请求。从STATUS 可以看出请求发送成功,如果发送失败会显示对应的错误提示,另外,将鼠标悬停在STATUS上可以看见详细的信息。Body中返回的就是交换机节点信息,此处获取到的节点信息在后面会用到。

2.3.2 创建网桥
发送POST请求创建网桥。输入URL http://20.0.1.3:8282/ovsdb/nb/v2/node/OVS/20.0.1.4:38016/tables/bridge/rows ,其中“20.0.1.4:38016”就是前面获取到的交换机节点信息。

点击Basic Auth,输入用户名和密码生成HTTP认证头部,POST请求还需要添加头部指明Body格式,如图所示,手动输入Content-Type且值为application/json。

将请求类型选为POST,自动弹出Body格式框,点击raw弹出Body输入框,选择Body内容格式为JSON。

Body内容如下所示,创建一个名为br0的网桥,并且与控制器通过OpenFlow13进行连接。点击send发送请求,STATUS显示创建成功。


登录交换机,确认网桥创建成功。


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请求创建端口,输入URL http://20.0.1.3:8282/ovsdb/nb/v2/node/OVS/20.0.1.4:38016/tables/port/rows

点击Basic Auth,输入用户名和密码生成HTTP认证头部,并且添加Content-Type为application/json。

将请求类型改为POST,自动弹出Body格式框,点击raw弹出Body输入框,选择Body类型为JSON。输入Body内容如下所示,其中parent_uuid是网桥的uuid,这里所用的是br0的uuid,那么端口就会添加到br0网桥上。点击send发送请求,STATUS显示请求发送成功,端口已经创建。


登录交换机,确认交换机是否创建成功。

3.实验平台FAQ

在本次分享的最后向大家分享一下实验平台的FAQ。

1、实验平台支持哪些浏览器?
当前实验平台支持IE 11及以上,Firefox和Chrome浏览器,推荐使用Chrome浏览器,建议Chrome版本在35.x以上50.x以下。

2、首次使用实验平台,点击登录虚拟机按钮,没有弹出操作窗口。
请允许弹窗。

3、在实验平台操作时提示配额不足怎么办?
请单击页面右上角的用户名>“我的配额”页面查看和申请对应的配额。

4、实验过程中输入字符后出现卡顿?

如上图所示,这是创建虚拟机的时选择的内存太小导致的卡顿。如果选择桌面版镜像,建议内存在2G及以上。如果用作性能测试的虚拟机,即使是命令行版镜像,建议内存在2G及以上,CPU为2~4核。如果选择OpenDaylight镜像(包括桌面版与命令行版)创建虚拟机,建议内存在2G及以上,CPU为2~4核。

5、创建一个SDN实验,使用Open Daylight控制器,出现主机没有IP的情况怎么办?
由于opendaylight组件过于庞大,所以启动比较慢,容易导致控制器与交换机连接不成功的现象,间接导致主机无法获取IP。当出现这种情况时,先重启交换机,交换机会自动向控制器发起连接,然后重启主机。

6、启动floodlight、ryu等控制器时会提示端口已被占用。
实验平台中控制器都是默认后台自启动的,如果用户想要自己启动控制器,可以将后台已启动的控制器进程kill掉。


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/17703.html
分享到:
相关文章
条评论

登录后才可以评论

SDNLAB君 发表于16-08-26
0