一种基于Docker实现冗余交换机操作系统的方法

文档序号:9929423阅读:691来源:国知局
一种基于Docker实现冗余交换机操作系统的方法
【技术领域】
[0001 ]本发明涉及Docker技术应用领域,具体地说是一种实用性强、基于Docker实现冗余交换机操作系统的方法。
【背景技术】
[0002]目前,单台交换机只能承载单一品牌的交换机操作系统以及单种形式的系统组件与网络协议模块。对于网络管理员及用户来说这是一种很大的限制。同时,多种品牌的交换机操作系统使用不同的配置命令对于网络管理工作来说也是非常大的挑战。因此,能够实现一种屏蔽底层硬件资源,实现多种交换机操作系统运行在统一平台上,并且能够使用一种统一化的配置方式来对网络进行配置成为了一项当务之急。
[0003]基于此,本发明提出的一种基于Docker实现冗余交换机操作系统的方法来解决上述问题。

【发明内容】

[0004]本发明的技术任务是针对以上不足之处,提供一种实用性强、基于Docker实现冗余交换机操作系统的方法。
[0005]—种基于Docker实现冗余交换机操作系统的方法,首先搭建基于Docker实现冗余交换机操作系统的模型架构,该架构包括:I)一台Docker Registry服务器;2)—个冗余交换机操作系统;3)所述Docker Registry服务器与交换机操作系统之间通过IP网络进行联结并通信。
[0006]其实现过程为:
1)选定Linux作为交换机操作系统内核,在交换机操作系统内核中添加DockerEngine服务,并作为系统启动进程在交换机操作系统内核启动时自动启动;
2)交换机操作系统内核启动之后,获得对交换机硬件资源的控制权,并调用硬件资源驱动,封装可供Docker容器调用的编程接口以形成硬件编程资源池;
3)网络管理员指定需要在交换机操作系统内核上运行的主、备交换机操作系统版本,Docker Engine提供拉取指定交换机操作系统镜像的服务;
4)获取镜像成功后,交换机操作系统内核依照主、备交换机操作系统镜像部署主、备交换机操作系统容器;
5)部署成功后,交换机操作系统工作在主交换机操作系统容器的控制下,网络管理员通过交换机行为描述脚本来部署网络功能;
6)在当前主交换机操作系统容器中,提供切换至备交换机操作系统的命令,并将交换机操作系统内核及资源控制权交给备交换机操作系统容器,主、备交换机操作系统容器身份互换。
[0007]步骤I)中,在交换机操作系统内核中添加DockerEngine服务通过使用C语言改写Docker Engine服务的Go语言实现,并将其整合到Linux内核当中。
[0008]步骤2)中,封装可供Docker容器调用的编程接口以形成硬件编程资源池,包括以下步骤:
交换机操作系统内核扫描硬件设备并查询对应驱动程序;
将查询到的硬件设备及其对应驱动程序编程接口写入硬件编程资源池数据库中;
通过SWIG编程接口转换工具将硬件编程资源池数据库中的C语言编程接口自动化封装为尚级编程语言接口 ;
将转换后的高级语言编程接口存入硬件编程资源池数据库相对应的硬件设备条目中。
[0009]步骤3)中主、备交换机操作系统版本的指定通过交换机操作系统内核提供的命令行来传递给Docker Engine服务,Docker Engine服务通过远程Docker Registry服务器的镜像仓库拉取指定交换机操作系统镜像。
[00?0]步骤3)中拉取指定交换机操作系统镜像的具体实现过程为:Docker Engine的拉取镜像服务获得由交换机操作系统内核传递过来的主、备交换机操作系统版本,并写入拉取镜像命令,发送给远程Docker Registry服务器;远程Docker Registry服务器在收到拉取镜像命令之后,将指定版本的镜像下发到交换机。
[0011 ]步骤4)的具体实现过程为:
获取镜像成功后,交换机操作系统内核先部署主交换机操作系统容器;
主交换机操作系统容器获得交换机操作系统内核的控制权,并建立与硬件控制资源池数据库的联系,获得对硬件资源的控制权;
完成主交换机操作系统容器的部署后,交换机操作系统内核部署备交换机操作系统容器,并设置备交换机操作系统处于睡眠状态。
[0012]步骤5)的具体实现步骤为:
网络管理员根据网络配置要求编写符合标准定义的交换机行为描述脚本;
交换机操作系统内核解析并运行交换机行为描述脚本中的相关命令;
交换机操作系统内核将相关命令交给Docker Engine服务去处理,Docker Engine依据命令从远程Docker Registry服务器拉取相应的镜像;
镜像拉取完成后,Docker Engine为其建立相应的容器,并附加到主交换机操作系统容器上,为主交换机操作系统中的操作提供服务。
[0013]上述从远程DockerRegistry服务器拉取的镜像包括系统组件、网络协议模块、数据库。
[0014]步骤6)中提供的切换至备交换机操作系统的命令通过主交换机操作系统容器中的命令行方式进行切换。
[0015]步骤6)的具体实现步骤为:
用户在当前的主交换机操作系统容器内触发操作系统切换命令;
交换机操作系统内核激活备交换机操作系统容器,并使主交换机操作系统容器处于睡眠状态;
按照时间排序最靠后的交换机行为描述脚本对备交换机操作系统容器进行配置。
[0016]本发明的一种基于Docker实现冗余交换机操作系统的方法,具有以下优点:
本发明提供的一种基于Docker实现冗余交换机操作系统的方法通过使用Docker轻量级虚拟化技术,实现对交换机底层硬件资源的屏蔽,使得各具特色的交换机操作系统可以运行在同一硬件平台上;同时,使用交换机描述脚本文件来屏蔽复杂多样的交换机配置指令,使网络配置更加简洁,推广实现起来比较容易,实用性强,适用范围广泛,可适用于统一交换机平台、统一网络配置以及同功能模块不同实现方式等应用场景。
【附图说明】
[0017]附图1为基于Docker实现冗余交换机操作系统的架构图。
[0018]附图2为基于Docker实现冗余交换机操作系统的流程图。
[0019]附图3为冗余交换机操作系统的启动过程流程图。
[0020]附图4为主、备交换机切换的过程流程图。
【具体实施方式】
[0021]下面结合附图和具体实施例对本发明作进一步说明。
[0022]当前主流交换机多采用单一品牌交换机操作系统,同时网络配置复杂,缺乏灵活性。本发明通过使用Docker轻量级虚拟化技术,实现对交换机底层硬件资源的屏蔽,使得各具特色的交换机操作系统可以运行在同一硬件平台上。同时,使用交换机描述脚本文件来屏蔽复杂多样的交换机配置指令,使网络配置更加简洁。
[0023]本发明的一种基于Docker实现冗余交换机操作系统的方法,如附图1、图2所示,首先搭建基于Docker实现冗余交换机操作系统的模型架构,该架构包括:I )一台DockerRegistry服务器;2)—个冗余交换机操作系统;3)所述Docker Registry服务器与交换机操作系统之间通过IP网络进行联结并通信。
[0024]基于上述架构,本发明的具体实现过程为:
1)选定Linux作为交换机操作系统内核,在交换机操作系统内核中添加DockerEngine服务,并作为系统启动进程在交换机操作系统内核启动时自动启动;
2)交换机操作系统内核启动之后,获得对交换机硬件资源的控制权,并调用硬件资源驱动,封装可供Docker容器调用的编程接口以形成硬件编程资源池;
3)网络管理员指定需要在交换机操作系统内核上运行的主、备交换机操作系统版本,并由Docker Engine服务由远程Docker Registry镜像仓库拉取指定交换机操作系统镜像;
4)获取镜像成功后,交换机操作系统内核依照主、备交换机操作系统镜像部署主、备交换机操作系统容器;
5)部署成功后,交换机操作系统工作在主交换机操作系统容器的控制下,网络管理员可以通过交换机行为描述脚本来部署网络功能;
6)在当前主交换机操作系统容器中,提供切换至备交换机操作系统的命令,并将交换机操作系统内核及资源控制权交给备交换机操作系统容器,主、备交换机操作系统容器身份互换。
[0025]在交换机操作系统内核中添加Docker Engine服务,需要使用C语言改写DockerEngine服务的Go语言实现,并将其整合到Linux内核当中。
[0026]封装可供Docker容器调用的编程接口以形成硬件编程资源池,包括以下步骤:
交换机操作系统内核扫描硬件设备并查询对应驱动程序;
将查询到的硬件设备及其对应驱动程序编程接口写入硬件编程资源池数据库中; 通过SWIG编程接口转换工具将硬件编程资源池数据库中的C语言编程接口自
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1