论文部分内容阅读
随着计算机和网络技术的发展,以及对计算机处理能力和相关数据需求的不断增长,越来越多的信息被数据化,如何才能安全高效的存储这些数据成为一个新的课题,此时存储网络便应运而生。从此存储技术也从本地存储发展到网络存储——存储区域网络(SAN),存储区域网络(SAN)基于光纤通道协议(Fibre Channel Protocol,FCP),此协议是专为网络存储设计,利用高速光纤通道完成数据快速存储。为了解决光纤网络与以太网之间的通信成本和传输速率等问题,FCoE技术产生了。FCoE技术解决了光纤网络无法兼容以太网的问题,而实现FCoE技术的便是FCoE交换机。FCoE交换机使用FCoE技术让光纤通道协议运行在以太网中,使光纤网络与以太网的通信成本大大降低并且相互兼容。研究和开发网络存储中的FCoE技术和FCoE交换机具有十分重要的技术意义和广阔的市场前景。本文是基于本人实习期间参于的真实项目进行撰写,主要是针对FC协议和FCoE协议进行研究和理解,进而开发FCoE存储交换机。课题的主要任务是完成基于FCoE一期项目进行二次开发,实现分布式FCoE交换机,而这其中包括对FC和FCoE协议的深入研究,对交换机原理的深入理解以及对分布式交换机结构的理解。本项目是以该通信公司的软件开发平台为基础,进行分布式FCoE交换机的开发。而作为项目的参与者,本人负责分布式Fabric模块的设计与实现。主要实现如下功能:响应板插入事件和备用板插入事件进行数据同步,保证数据实时一致,主控板升级为备用板后完成数据一致处理以及主控板,接口板和备用板之间的数据通信。整个项目的开发过程严格遵守CMMI4的软件开发流程完成软件的开发和测试工作,在项目开发与实现的过程中,运用了大量的C语言软件开发技术和技巧,包括回调函数技术、消息和事件机制和IPC技术等。在本项目的测试阶段,主要采用Python脚本语言完成测试用例的编写,本人全程参与了所有项目测试工作,包括单元测试和系统功能测试等。本项目开发出的分布式FCoE交换机,是在原有集中式FCoE交换机基础之上针对提高可靠性和增强扩展性两方进行二次开发,使的在一台交换机上出现了主控板,备用板和接口板三种类型的主机板。备用板提高了交换机可靠性,在主控板出现错误时,使备用板升级成主控板,进而让交换机继续正常工作。接口板提高了交换机接口的扩展性,用户可以根据自身需要增加或减少接口数量,使得FCoE交换机功能更加强大。本人开发的分布式Fabric模块,实现了需求分析中的所有功能点。由于本项目是一个分布式项目,所以除了对协议的理解以外,还涉及了使用进程间通信机制——IPC, RPC等技术。因此,本文对了解分布式交换原理具有一定的实用价值,对于不熟悉存储网络技术或FCoE交换机的读者有一定的辅助作用,同时对于同行业的其他开发人员也有一定的参考价值。