LINC switch系列之安装指南

前言

LINC switch是一个由flowforwarding. org主导开发的一款基于Apache2.0协议开源的Openflow交换机软件。本文介绍了其安装方式。

详细介绍

LINC switch是基于Erlang语言开发的一款支持Openflow的交换机软件,可以部署在物理机或是虚拟机上。特性如下:

  • 1.支持Openflow协议的1.2、1.3及1.4版本。
  • 2.支持OF-config的1.1.1版本。
  • 3.非常容易扩展的模块化架构。
  • 4.支持在一个Erlang node上运行多个逻辑交换机。

什么是Erlang?

Erlang是一款面向高并发环境的函数式语言,最早于上世纪80年代面世,在爱立信的产品中得到广泛应用。随着开源运动的发展,爱立信也开源了这一语言。Erlang能充分利用多核处理器,而且自身的OTP库为构建高可用的软件提供了非常可靠的支持。
使用Erlang开发的项目,比如:RabbitMQ,CouchDB,ejabberd,阿里云RDS中间件等等…

为什么选择LINC?

1.它提供了对Openflow特性完整支持,有利于深入理解Openflow的原理和细节。
2.在Erlang的支持下,实现了对多核处理器的充分利用,能在标准硬件上获得比较好的处理性能。同时有极高的容错性。

LINC架构图

LINC架构图

安装:

官方方案:

在标准的64位x86服务器上安装。要求服务器至少拥有4GB内存,4个端口,Linux内核版本要求在3.1以上。详细安装方式可以参考官方文档:https://github.com/FlowForwarding/LINC-Switch/blob/master/docs/LINC_Switch_Quick_Start_Guide.pdf
本文只介绍在虚拟机上的安装。(备注:该文档的安装方式是通过ISO镜像安装,但是下载已经失效,也就是说只能依靠从源码编译安装)

可行方案:

我们将在在虚拟机中安装LINC。官方文档是在vsphere上安装的。这里我用了VMware workstation:
在虚拟机中安装只是为了以后的与其他虚拟机的联动测试。
前提准备:安装ubuntu 14.04 LTS 64bit,配置好源后,apt-get update,配置好ssh方便后续操作。

安装ubuntu 14.04 LTS 64bit

我使用xshell连接到虚拟机:

我使用xshell连接到虚拟机

安装开始:
1.安装Erlang环境:

2.进入Erlang shell检查版本信息(最低要求为R16):

按下ctrl-c,再按v查看版本信息:

可以看到Erlang的相关信息,版本为R16B03,你也可以考虑从源码编译R18的版本。
(按ctrl-c再按a退出Erlang shell)

3.clone一份LINC的代码:

4.安装其他用于构建LINC的工具:

5.重命名sys.config.orig为sys.config

如果不重命名,会导致编译中断。

5.编译LINC:

在安装过程中会clone一些其他的库用于编译,编译时间很大程度上取决于网络状况。
如果没有出现其他问题,结果会是这样:

6.初次启动LINC并进入console模式:

这样就可以在Erlang shell的协助下操作LINC。
可以根据自己的需求将代码copy到其他地方,比如/usr/local/bin并设置好PATH。

编译后的探索:
1.编译时,rebar会自动下载所依赖的代码至/LINC-Switch/deps目录,可以看到里面的代码目录:

2.编译时需要/LINC-Switch/rel/files目录下存在一个合法的sys.config文件,你也可以尝试用/LINC-Switch/scripts目录下的工具生成配置文件config_gen:

如果不提供任何输入,只会输出usage。

3.编译后,进入/LINC-Switch/rel/linc/releases目录,可以看到一个RELEASES文件,可以查看:

可以详细地看到我们编译出来的LINC的版本信息和它依赖的包的信息。

4.LINC的配置文件是/LINC-Switch/rel/linc/releases/1.0目录中的sys.config,应该是从/LINC-Switch/rel/files复制出来的:

总结:

本文介绍了LINC switch的从源码编译的安装方式。在接下来的文章中将介绍LINC switch的配置与使用。

参考资料:https://github.com/FlowForwarding/LINC-Switch

作者简介:何智刚,2015至今,现为广东的一名在校高三学生,在学习之余,主要研究Docker,OpenStack,SDN,对领域都有所涉猎,目标是迈向full stack。


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

登录后才可以评论

Hochikong 发表于15-08-26
0