虚拟化中避免不同客域间数据共享的网络带宽限制

2015-04-05 16:35赵云栋
数字通信世界 2015年9期
关键词:存储设备虚拟化部件

赵云栋

(河北省财政厅,石家庄 050051)

1 引言

在各个域间实现数据共享的虚拟化计算机系统,包括计算机硬件装置和在该计算机硬件装置上运行的软件单元,软件单元包括主域、客域、在主域与客域之间的域间通道。其中,主域的内核有文件系统模块和共享数据服务器模块,客域的内核有共享数据客户端模块,域间通道用于实现共享数据客户端模块和共享数据服务器模块之间的数据交互。本发明共享数据的方法是在共享数据服务器模块和共享数据客户端模块之间,藉由它们之间的域间通道,通过基于半虚拟化的内存页面重映射机制实现文件访问过程。该方法解决了现有技术不同域之间不能有效共享数据的问题,实现了存储数据的统一管理,减低维护成本,性能好、效率高、适用范围广。

2 技术分析

各域之间实现数据共享,系统要包括:一个计算机硬件装置,该计算机硬件装置设有:一个或一组支持两个或多个运行特权级的中央处理器、设定容量的内存和包括存储设备在内的输入输出设备,所述存储设备包括硬盘、软盘、闪存盘、光盘、直连式存储设备或网络存储设备;该系统还包括在所述计算机硬件装置上运行的软件单元,所述软件单元包括:一个主域部件、一个或多个客域部件以及在主域部件与客域部件之间的域间通道部件。主域部件直接运行在计算机硬件装置上,用于提供支撑虚拟机运行的虚拟机监控器。主域部件的内核包括文件系统模块和共享数据服务器模块,文件系统模块用于管理计算机的存储设备及其中存储的数据,并完成对存储设备上的文件访问;共享数据服务器模块用于与客域部件的共享数据客户端模块进行交互,利用文件系统模块的文件访问功能,完成客域部件中的共享数据客户端模块对主域部件直接管理的存储设备及其中存储的数据的访问。客域部件运行在主域部件的虚拟机监视器所支撑的虚拟机上。客域部件的内核包括共享数据客户端模块,该模块用做客域操作系统的文件系统重定向器,以响应来自该客域部件中的应用和其他内核子系统模块对存储设备上的文件访问请求,并通过域间通道与主域部件的共享数据服务器模块进行交互,利用主域部件的共享数据服务器模块和文件系统模块的文件访问功能,完成客域部件对主域部件直接管理的存储设备及其中存储的数据的间接访问。

主域部件与客域部件之间的域间通道部件,是基于半虚拟化的内存页面重映射机制实现的域间通信通道,用于完成客域部件的共享数据客户端模块和主域部件的共享数据服务器模块之间的数据交互。所述主域部件的共享数据服务器模块和文件系统模块都运行在该主域部件的操作系统的内核态,其中,共享数据服务器模块按照文件系统向上提供的接口规范与文件系统模块交互,并通过文件系统模块管理存储设备和其中存储的数据。该共享数据服务器模块的文件访问例程经文件系统模块通过执行典型的“打开、包括读、写、或控制的各项操作、关闭”文件的操作系统文件访问过程完成对文件的访问。

客域部件的操作系统是通用的操作系统,所述每个客域部件都有一个运行在该客域操作系统的内核态的共享数据客户端模块;该共享数据客户端模块在客域提供本地文件系统的功能,向客域部件中的应用和其他内核子系统模块提供本地文件系统的服务接口,通过域间通道部件与主域部件中的共享数据服务器模块进行交互。当所述虚拟化计算机系统中有多个客域部件时,所述主域部件和该多个客域部件之间建立的域间通道部件呈一对多的星形拓扑结构,且其中每个客域部件的共享数据客户端模块与主域部件的共享数据服务器模块之间的交互是彼此独立的。

共享数据服务器模块应保证,每个客域部件对主域部件直接管理的存储设备和其中存储的数据的访问不能干涉其他客域部件对主域部件直接管理的存储设备和其中存储的数据的访问,以及某个客域部件的非法操作不能对主域部件和其他客域部件产生不利影响。所述主域部件的内核数据访问栈的结构由最底层向上的排列顺序包括:存储设备驱动程序模块,存储卷管理模块,文件系统模块,共享数据服务器模块。内核数据访问栈的另一种结构包括文件系统模块和共享数据服务器模块,此时的文件系统模块是基于网络的文件系统模块或虚文件系统模块。共享数据服务器模块设有两类数据结构:文件访问表和文件访问实例,前者是分别为与该共享数据服务器模块进行交互的各个共享数据客户端模块单独、对应地建立的,该文件访问表由多个节点组成,每个节点对应着所述共享数据客户端模块与该共享数据服务器模块之间的一个文件访问过程,后者用于记录每一个文件访问过程中的文件访问信息,对应于某个文件访问过程的文件访问表的节点直接含有或由指针间接指向对应于同一个文件访问过程的文件访问实例。所述文件访问表的节点和文件访问实例是在该共享数据客户端模块请求共享数据服务器模块打开文件时,由共享数据服务器模块建立,并在该共享数据客户端模块请求共享数据服务器模块关闭文件时,由共享数据服务器模块拆除。当共享数据服务器模块响应某个共享数据客户端模块请求而打开文件、建立对应本次文件访问过程的文件访问表节点时产生一个标识符-检索索引号,用于标识该文件访问过程的文件访问表节点,并回复给该共享数据客户端模块。共享数据服务器模块用该检索索引号可以获得对应的文件访问实例,从而获得这次文件访问过程的文件访问信息,且在本次文件访问过程中,在共享数据服务器模块响应该共享数据客户端模块的请求关闭文件,并拆除对应这次文件访问过程中的文件访问表节点和文件访问实例之前,标识本次文件访问过程的检索索引号始终有效、且是惟一的。

3 结束语

上述办法高效合理地解决数据之间传输与共享,传统虚拟化中不同客域之间数据传输或共享,在网络环境中可达100Mb/s,通过半虚拟化内存页面映射技术,传输速率可达2000Mb/s。目前,企事业单位的虚拟化平台覆盖率已达到50%以上,随着时间的推移,虚拟化比将会越来越高,半虚拟化内存页面映射技术将为虚拟化平台带来新的革命与挑战。■

猜你喜欢
存储设备虚拟化部件
基于OpenStack虚拟化网络管理平台的设计与实现
基于Siemens NX和Sinumerik的铣头部件再制造
对基于Docker的虚拟化技术的几点探讨
部件拆分与对外汉字部件教学
H3C CAS 云计算管理平台上虚拟化安全防护的实现
Windows 7下USB存储设备接入痕迹的证据提取
基于Flash芯片的新型存储设备数据恢复技术研究
存储虚拟化还有优势吗?
用批处理管理计算机USB设备的使用
通信软件可重用部件库研究