VTL虚拟磁带库是我们目前存储大量数据的首选技术,但是我们还不能盲目的进行选择。因为在进行VTL虚拟磁带库建设的时候需要认清企业自身的形式,以免造成不必要的资金浪费。VTL虚拟磁带库基本知识介绍和技术发展趋势。
为能在主机的操作系统底层以磁盘空间仿真出可被视为实体的虚拟设备,多数的VTL虚拟磁带库产品都是透过仿真实体磁带设备响应系统指令的方式,来使系统认为响应的是一台实体磁带设备。
以储存设备常见的SCSI接口来说,由于系统是与驱动接口或API沟通,而不直接面对SCSI装置,因此只要仿真程序能在与系统沟通时「骗」过驱动接口,就能将某一类型的SCSI装置仿真成另一类型的SCSI装置,如把硬盘仿真成光盘等。
以仿真SCSI指令响应的方式来虚拟SCSI装置
SCSI装置与主机沟通的方式则是透过所谓的SCSI指令(SCSI Commands)来进行。如当某SCSI装置接上系统,并安装好驱动程序后,应用程序或操作系统就可透过ASPI驱动程序或功能相似的API送出「INQUIRY」指令,要求该SCSI装置传回本身的信息。透过SCSI装置响应讯息中装置型态码(Peripheral device type)字段的数值,系统即可得知该装置的类型。所以只要VTL虚拟磁带库软件能模仿实体磁带装置响应系统的SCSI指令格式,将磁带响应的装置型态码送回给系统(如在ASPI中磁带设备的装置型态16位代码是01h),就能使系统将VTL虚拟磁带库视为实体的磁带装置。
不过这只是单就系统辨识SCSI装置的部分,由于不同的SCSI装置间的SCSI指令有所差异,如磁带机有倒带(REWIND),光驱有拨放音乐(PLAY AUDIO)指令等,因此当以硬盘仿真这些装置时,光是骗过驱动接口是不够的,仿真程序本身也必须能够提供相应于被仿真装置的完整指令,才能确保虚拟出来的装置能够正常动作。
由于SCSI指令都是以指令描述块(CDB,Command descriptor block)的格式来表示,因此仿真软件的关键就在于收到主机送来的CDB后,是否能正确的提供与所欲仿真装置相同的CDB响应。
理论上只要VTL虚拟磁带库响应CDB的方式与真的磁带机一样,则在应用程序看来,VTL虚拟磁带库就等同于像是一台真的磁带机般在执行动作。
由于SCSI的使用环境限制大、扩充性也较小,因此实际上的VTL虚拟磁带库解决方案都是透过光纤信道(FC)或iSCSI来实现。我们以iSCSI架构的VTL为例来作一说明:
iSCSI是将SCSI指令封装在TCP/IP的封包中,可允许IP主机透过TCP来存取储存设备,在IP网络中实现SCSI指令的传输与操作,因而在iSCSI的指令封包(PDU)中也封装有SCSI的指令描述块CDB,因此基于iSCSI的VTL仿真程序也就可以依照前面所述的方式,仿真实体磁带装置响应CDB的方式,来使iSCSI主机判断VTL虚拟磁带库为依真正的磁带设备,VTL虚拟磁带库仿真程序会依照所仿真的磁带类型、规格,以映像(mapping)方式对应磁盘与磁带的存取区块(block),当iSCSI主机要求读取磁带上特定区块的数据时,VTL虚拟磁带库软件就能透过映像把磁盘上相应的区块取出,送回给主机。
来源:网络
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。