现如今已经步人到了一个大数据时代,全球的企业都面临着数据量爆炸式增长的问题。面对数据量持续增长的压力,越来越多的企业开始重视对数据存储管理的研究,这为数据存储管理技术的发展带来了一定的机遇。虚拟光盘库技术,就是要在如何提高存储设备的使用效率,如何能够有效地利用存储资源,减小存储管理带来的额外开销的背景下提出来的;其目的在于利用现有的存储平台,整合不同的存储资源,添加抽象层,隐藏物理存储设备的细节,实现光盘存储的功能。
1.虚拟光盘库技术的概念
以虚拟磁带库技术心1为参考,文中提出了虚拟光盘库技术VDL(Virtual CDROM Library),应用仿真技术在磁盘空间上模拟光盘库操作,把磁盘当成光盘来访问,从而实现用磁盘代替光盘来存储数据。VDL技术拥有多项优势,如性能高,故障率低,可靠性高,投入成本低,运行成本低等。数据归档时,用户表面上访问到的是光盘或者光盘库,实际是通过虚拟光盘库模块将数据存储到磁盘上,因为是直接操作磁盘,没有机械手臂、光驱等物理设备的运行时间,所以在数据读取速度上将比实际访问光盘大幅提高。同时VDL也可以与光盘库集成,提高数据安全性,降低保护数据的成本。当服务器空闲时,可以将备份的数据转移到物理存储设备(实际的光盘或光盘库)上。
2.虚拟光盘库技术的特点
2.1 实用性好
虚拟光盘库与现有的光盘库存储口1具有一样的存储应用方式,能够有效地对数据存储进行智能化的管理。虚拟光盘库克服了光盘存储的局限性,隐藏了多种存储介质,对于用户来说,虚拟光盘库不再是使用物理存储硬件(如光盘、磁盘等),而是将它看成一个超大容量的存储空间来管理。
2.2 提高了数据存取速度
不同于实体光盘库,虚拟光盘库克服了光盘存储速度的限制,抽象了物理存储介质,用户在操作时不需要等待光盘刻录的漫长过程,而只需专注于存储空间的管理,后台将对光盘刻录进行自行处理,使数据存取的速度大幅提高。
2.3 提高了数据安全可靠性
虚拟光盘库技术,通过VDL模块最终将数据存储到光盘或光盘库中,光盘或者光盘库就可以保持离线,当单个或者多个物理存储体发生故障时,整个物理存储系统的数据不会受其影响。大大降低了由于系统破坏而造成数据丢失的风险。因此,提高了整个存储系统的安全性和可靠性。
2.4 成本低
采用光盘存储的成本要远远低于磁带库和磁盘阵列。光盘存储无需磁带库和磁盘阵列那样高额的维护费用,极大地降低了用户的使用成本。
3.虚拟光盘库系统设计
3.1 卷管理模块设计
虚拟光盘库管理模块的核心技术就是基于虚拟设备的逻辑卷管理,其结构如图1所示,在虚拟光盘库系统中,卷管理模块处于文件系统的下层,通过管理磁盘分区,将若干个磁盘分区连接在一起,生成卷组并由若干个卷组形成逻辑卷组,文件系统就是在逻辑卷组上创建而成的。卷管理模块就是将多个磁盘分区连接成连续的存储空间,作为统一的存储结构提供访问。卷管理的关键技术是基于多种存储介质的卷格式的定义,在磁盘、光盘等基础上添加抽象层,隐藏物理存储设备的细节,达到隔离不同种类的硬件和软件平台的目的。管理终端通过一定的调度算法将存储资源刻录至光盘库中,从而实现了从虚拟物理存储到实体光盘存储的功能。
图1 卷管理分层结构
3.2 物理存储资源虚拟化设计
物理存储资源虚拟化是基于局域网范围内存储虚拟化结构,为卷管理模块提供了统一的存储结构,屏蔽了存储介质的异构性。在实现虚拟化的过程中借鉴了中间层的思想,创建了基于不同存储介质的中间层虚拟存储设备,其结构如图2所示。
图2 物理存储资源虚拟化
其基本组件概念和主要功能如下:
1)资源请求:客户端接收客户发送的存储请求,将数据存放在存储空间中,资源管理器在接到请求后,为数据分配存储单元,并在后台建立刻录任务,存储空间中的数据通过一定的调度算法睁1刻录至光盘库中。
其主要功能为:
(1)启动客户端连接服务,控制客户端的连接或退出等动作。
(2)加载光盘匣存储信息,对存储信息进行统一的管理及分配。
(3)提交任务名称,对于新的任务新建光盘名,对于已有的任务直接对其增量刻录。
(4)根据任务信息将数据分配至存储空间,按照一定的任务调度转存至光盘库中。
(5)当任务执行过程中发生错误,将返回调度任务重新进行调度。
2)资源管理器:负责接收任务信息及创建任务表,对任务信息做相应的调度处理,分配资源至存储空间。
主要功能:
(1)侦听客户端发送来的任务信息,建立任务信息表。
(2)将所接收的任务请求放入任务队列中,等待资源管理器的响应。
(3)根据接收过来的任务信息,分配相应的存储空间。
(4)周期刷新任务表和存储信息表,维护表中信息与上级信息的相一致性。
(5)返回操作结果,并执行相应的操作,确保任务信息的安全性。
3.3 虚拟光盘库管理模块
虚拟光盘库管理模块是在系统中将磁盘虚拟成光盘库,对用户屏蔽数据存储设备,在应用层呈现给用户的只有一种虚拟存储设备。归档、备份、查询、恢复等功能都是建立在虚拟存储设备之上的。包括以下功能:
1)提供虚拟光盘库的查询、写入能力;
2)提供虚拟光盘库与真实光盘库的数据交互能力;
3)提供虚拟光盘库的管理能力,包括建立、修改逻辑卷类型和尺寸,在卷内增加虚拟光盘,在虚拟光盘中添加其他卷等。
3.4 虚拟光盘库工作流程及系统定义
虚拟光盘库模块是在磁盘中利用模拟仿真技术模拟真实光盘库的操作,包括放空白盘、格式化盘、写盘、读盘、移动光盘等,实际操作的是磁盘。虚拟光盘库对用户屏蔽了具体存储介质,不需要知道数据具体存储在什么位置,数据存储由虚拟模块完成。虚拟模块把数据生成光盘格式(ISO格式)存储,光盘格式的数据可以直接被刻录到光盘上存储。
虚拟光盘库工作流程包括:加载光盘库、申请光盘、格式化光盘、写盘、读盘,如图3所示。
图3 VDL工作流程
对VDL进行初始化:
UINTLWDL_Init(char+ipStr,int port,char}dbname);
//初始化光盘库
虚拟光盘库配置信息,数据结构定义如下:
Typedef struct—SLWVDL_T
{
INT flag;//虚拟光盘库标志
INT numMagazines;//虚拟光盘匣数量
INT numSlots;//虚拟光盘槽数量
CHAR name[32];//虚拟光盘库名称
CHAR path[MAX_PATH];//虚拟光盘库路径
}SLWVDL_T,*PSLWVDL_T;
虚拟光盘信息,数据结构定义:
typedef struct_SLWVDL_SLOT_T
{
INT slotNr; //虚拟光盘号
INT magNr; //虚拟光盘匣号
INT flag;//虚拟光盘标志
INT mediumType;//虚拟光盘类型
CHAR volLabel[17];//虚拟光盘标签名称
CHAR volSerialNum[9];//虚拟光盘序列号
INT volSizeKB;//虚拟光盘使用空间
INT freeSizeKB;//虚拟光盘剩余空间
CHAR lastVisitTime[20];//虚拟光盘上次使用时间
}SLWVDL_SLOT_T,*PSLWVDL_SLOT_T;
根据不同用户的任务需要,提供相应的光盘库操作:
UINTLWDL_FormatDisk(int slotNr,char+volName,int driv-erNr);
//格式化光盘
UINT LWDL_ImportDisk(int targetSlotNr,int driverNr);
//添加新光盘
UINT LWDL_ExportDisk(int sourceSlotNr);
//移除光盘
UINTLWDL_ScanDisk(int slotNr,int driverNr);
//扫描光盘将数据更新到数据库
4.结束语
随着全球信息的爆炸式的增长,新的存储需求不断涌现,给现有的存储系统带来了很多难题,文中正是适应这一形式而产生的。笔者通过对虚拟化系统模型和物理存储资源虚拟化的研究,设计实现了一个虚拟光盘库原型系统,使它能够整合不同类型的存储资源到对用户统一的应用界面中,在有关存储系统设计方面起抛砖引玉的作用。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于光盘库管理系统的虚拟化技术研究