CN101901623A - 外部存储系统、服务器和数据存储方法 - Google Patents

外部存储系统、服务器和数据存储方法 Download PDF

Info

Publication number
CN101901623A
CN101901623A CN2009101434327A CN200910143432A CN101901623A CN 101901623 A CN101901623 A CN 101901623A CN 2009101434327 A CN2009101434327 A CN 2009101434327A CN 200910143432 A CN200910143432 A CN 200910143432A CN 101901623 A CN101901623 A CN 101901623A
Authority
CN
China
Prior art keywords
data
storage
external
passive
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2009101434327A
Other languages
English (en)
Inventor
钱海鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AOTAIRUI SYSTEM TECHNOLOGY (BEIJING) Co Ltd
Original Assignee
AOTAIRUI SYSTEM TECHNOLOGY (BEIJING) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AOTAIRUI SYSTEM TECHNOLOGY (BEIJING) Co Ltd filed Critical AOTAIRUI SYSTEM TECHNOLOGY (BEIJING) Co Ltd
Priority to CN2009101434327A priority Critical patent/CN101901623A/zh
Publication of CN101901623A publication Critical patent/CN101901623A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据存储领域,提供了一种外部存储系统、服务器和数据存储方法。该外部存储系统包括存储单元,用于以预定格式存储数据;控制器,用于仿真无源存储设备以响应外部指令和数据,基于外部数据读指令,从存储单元读取所述预定格式的数据,进行格式转换后输出;和/或基于外部数据写指令,将接收的数据转换为预定格式的数据,存储于存储单元。本发明的外部存储系统、数据存储方法和服务器,解决了现有技术中存储系统的应用安全性问题,以及异机异地读取,或跨平台应用问题。

Description

外部存储系统、服务器和数据存储方法
技术领域
本发明涉及数据存储技术,尤其涉及一种外部存储系统、服务器和数据存储方法。
背景技术
外部存储系统通常指通过直连主机或数据存储网络技术为主机以及主机上的应用提供数据存储与访问服务的存储系统。
目前,外部存储系统的设计和实现主要基于1987年David A.Patterson,Garth A.Gibson以及Randy Katz等人提出的经济磁盘冗余阵列(Redundant Array of Inexpensive Disks,RAID)技术。
对读写性能要求不高的外部存储系统,也可以采用磁带、光盘等无源介质作为载体,并通过为这些无源介质配置自动加载装置(例如,磁带库、光盘库等)提供海量自动可用容量(以下简称无源存储系统)。但是,无源存储系统的结构性缺点在于读写性能低,介质无容错能力和失效报警能力,已越来越难以满足中、高端应用在数据量爆炸性增长趋势下对存储访问性能的要求。
基于磁盘RAID的外部存储系统(以下简称“RAID系统”)访问速度快、容量大,磁盘介质之间具备互为容错的能力,当单个磁盘介质失效时可自动报警,解决了存储系统的高可用问题。
但是,当前基于磁盘RAID技术的外部存储系统的设计以读写效率(具体体现为每秒输入/输出操作数(Input/Output Operations Per Second,IOPS))为中心,未充分考虑存储系统的应用安全问题。磁盘阵列对于计算机系统来说体现为大容量的磁盘,可进行任意读写操作,存储在其内的数据就存在被改写、删除或感染病毒的风险,因此其应用安全性不足。
RAID系统的另一个问题是其中存储的数据不能保证异机异地读取,或跨平台应用。磁盘阵列在存储数据之前,需要被操作系统格式化。比如,其在Windows系统中可能为新技术文件系统(New Technology File System,NTFS)格式,而在Unix系统中可能为Unix文件系统(Unix File System,UFS)格式,于是在Windows系统中写入的磁盘阵列数据在Unix系统中则无法识别和读取。
发明内容
为了克服现有技术中外部存储系统的应用安全性不足的问题,本发明的一方面提供一种外部存储系统,包括:
存储单元,用于以预定格式存储数据;控制器,用于仿真无源存储设备以响应外部指令和数据,基于外部数据读指令,从存储单元读取预定格式的数据,进行格式转换后输出;和/或基于外部数据写指令,将接收的数据转换为预定格式的数据,存储于存储单元。
根据本发明的外部存储系统的一个实施例,该控制器包括:通讯控制中心,用于接收外部指令或数据,将外部指令发送给指令处理中心,将外部数据发送给数据格式转换控制;接收指令处理中心返回的结果,或接收来自数据格式转换控制的数据,并输出;虚拟无源存储设备管理模块,用于存储仿真无源存储设备和存储单元之间的对应信息,以及仿真无源存储设备的状态信息;指令处理中心,用于接收来自通讯控制中心的外部指令,对外部指令进行处理或者根据从虚拟无源存储设备管理模块获得的信息对外部指令进行处理后,将处理结果返回通讯控制中心;数据格式转换控制,用于接收外部数据,将外部数据转换为预定格式的数据后存储于所述存储单元,或者,将从存储单元读取的预定格式的数据转换为无源介质格式的数据,发送到通讯控制中心。
根据本发明的外部存储系统的一个实施例,控制器还包括无源介质数据处理模块,用于将从通讯控制中心接收的无源介质格式的数据存储于辅助无源介质存储单元,或者从所辅助无源介质存储单元读取数据,发送给通讯控制中心。
根据本发明的外部存储系统的一个实施例,上述存储单元至少包括一个存储设备对,用于相互数据备份;控制器还包括镜像管理控制模块,用于接收来自数据格式转换控制的数据,并存储于存储设备对。
根据本发明的外部存储系统的一个实施例,虚拟无源存储设备管理模块还用于通过人机交互接口接收用户输入参数,对控制器进行配置或者操作。
根据本发明的外部存储系统的一个实施例,存储单元上存储有控制器配置信息,用于恢复外部存储系统状态。
根据本发明的外部存储系统的一个实施例,仿真无源存储设备的状态信息包括只读属性,当仿真无源存储设备被设置为只读时,控制器拒绝对仿真存储设备的修改或者写操作。
本发明的另一方面提供了一种包括上述外部存储系统的服务器。
本发明的又一方面提供了一种数据存储方法,包括:
仿真无源存储设备以响应外部指令和数据;
基于外部数据读指令,从存储单元读取预定格式的数据,通过格式转换为无源介质格式后输出;和/或
基于外部数据写指令,将接收的无源介质格式的数据转换为预定格式的数据,存储于存储单元。
根据本发明的数据存储方法的一个实施例,上述仿真无源存储设备以响应外部指令和数据的步骤包括:接收外部数据读指令,根据预置的仿真无源存储设备与存储单元的地址对应信息,获得外部数据读指令在存储单元的读地址;或者
接收外部数据写指令,根据预置的仿真无源存储设备与存储单元的地址对应信息,获得外部数据写指令在存储单元的写入地址;将接收的外部数据写入存储单元后,更新仿真无源存储设备的状态信息。
根据本发明的数据存储方法的一个实施例,该方法还包括步骤:基于外部数据写指令,将接收的无源介质格式的数据存储于辅助无源介质存储单元;或者
基于外部数据读指令,从辅助无源介质存储单元读取数据,并输出。
根据本发明的数据存储方法的一个实施例,上述基于外部数据写指令,将预定格式的数据存储于存储单元步骤包括:基于外部数据写指令,通过镜像管理将预定格式的数据存储于用于相互备份的多个存储单元。
根据本发明的数据存储方法的一个实施例,该方法还包括步骤:从存储单元上读取仿真无源存储设备与存储单元的地址对应信息;根据仿真无源存储设备与存储单元的地址对应信息从存储单元读取数据。
通过本发明提供的外部存储系统、服务器和数据存储方法,通过仿真无源存储设备以响应外部指令和数据,解决了现有技术的外部存储系统的应用安全性问题。进一步解决了存储数据的跨平台可读性问题。
附图说明
图1是本发明的外部存储系统的一个实施例及其应用网络示意图;
图2示出本发明的OSRO存储系统的示意图;
图3是图2所示的OSRO存储系统的系统结构图;
图4示出了本发明中OSRO存储系统在磁盘存储设备中的存储分布结构的一个示例;
图5示出了OSRO设备对照表的组织结构的一个示例;
图6示出了OSRO控制器的一个实施例的初始化流程;
图7示出了具备RAID功能的OSRO控制器的一个实施例的初始化流程;
图8是将数据写到OSRO设备200的一个示例的流程图;
图9是从OSRO设备200读数据的一个示例的流程图;
图10是将OSRO设备中虚拟光盘的数据复制到物理光盘中的示例流程图;
图11是将OSRO设备中物理光盘的数据复制到虚拟光盘的示例流程图;
图12示出本发明的RVT存储设备的一个实施例的示意图;
图13示出了图12所示的RVT存储设备的系统结构图;
图14示出RVT存储设备在磁盘存储设备中的存储分布结构的一个示例;
图15示出了RVT存储设备对照表的组织结构的一个示例;
图16示出RVT存储设备控制器的一个实施例的初始化流程图;
图17是写数据到RVT存储设备的一个示例流的流程图;
图18是从RVT存储设备读数据的一个示例的流程图;
图19示出本发明的数据存储方法的一个实施例的流程图。
具体实施方式
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。在附图中,相同的标号表示相同或者相似的组件或者元素。
图1是本发明的外部存储系统的一个实施例及其应用网络示意图。在图1中,外部存储系统被称为以存储安全为中心的系统(Storage Security Centric System,SSCS)。该外部存储系统0200包括SSCS控制器0300和SSCS存储单元0240,可选地还包括SSCS存储扩展单元0250。
SSCS控制器0300与SSCS存储单元0240之间可以通过SCSI(Small Computer System Interface,小型计算机系统接口)、FC(Fiber Channel,光纤通道)、iSCSI(internet SCSI,因特网SCSI)、SAS(Serial Attached SCSI,串行连接SCSI)、ATA(AT Attachment,AT附件设备)或SATA(Serial ATA,串行ATA)等物理层数据传输协议连接通信。SSCS控制器0300与SSCS存储单元0240连接后作为SSCS存储系统0200,通过SCSI、FC、iSCSI、SAS、ATA或SATA等物理层数据传输协议连接到应用服务器0120(主机),或者通过存储区域网络(Storage Area Network,SAN)0130(网络)等连接到应用服务器0120。进一步,应用服务器0120还可以连接到以太网0110等网络。
外部存储系统0200对主机/网络体现为虚拟无源存储设备,例如光学存储设备、自定义无源存储设备、磁带存储设备等。SSCS存储单元0240以预定格式存储数据。SSCS控制器0300仿真无源存储设备以响应来自主机或者网络的外部指令和数据,基于外部数据读指令,从SSCS存储单元0240读取预定格式的数据,进行格式转换后输出给主机/网络;和/或基于外部数据写指令,将从主机/网络接收的数据转换为预定格式的数据,存储于SSCS存储单元0240。格式转换包括对于数据块的拆分、合并与寻址计算等操作。SSCS存储扩展单元0250和SSCS控制器0300相连,可以用于SSCS存储单元0240中数据的备份,或者作为扩展的存储单元以增加存储系统的容量,也可以采用与SSCS存储单元0240不同的存储介质,以存储数据。
SSCS存储单元0240可以是单个磁盘、热容错磁盘组(基于RAID1)、RAID阵列(基于RAID 1、3、4、5、6TP或相关热冗余配置)、或无源存储设备(各类光学存储器或配备自动加载装置的光学存储介质库、各类磁带存储器或配备自动加载装置的磁带存储库等),或者上述存储单元以不同的标识(Identification,ID)或逻辑单元号(Logical Unit Number,LUN)识别码并行接入SSCS控制器0300构成,由SSCS控制器0300直接控制。所采用的磁盘介质接口类型可以为ATA、SATA、SCSI、SAS、FC等。磁盘装卸方式可采用磁盘抽拔盒或磁盘托架抽拔,也可采用RDX、固态硬盘(Solid State Disk,SSD)等新型有源介质。
SSCS控制器0300负责控制SSCS存储单元0240的物理读写方式,主要实现主机/网络数据使用方式与SSCS存储单元0240的数据存储之间的格式转换,保证SSCS存储单元0240的数据存储方式与主机/网络的数据使用格式无关。SSCS控制器0300对SSCS存储单元0240的读写格式可以完全自定义(Proprietary Design),也可采用已有的无源介质读写格式,如ISO9660、UDF(Universal Disc Format,统一光盘格式)、SEG(Society of Exploration Geophysicists,地球物理学勘探协会)格式、DLT(Digital Linear Tape,数字线型磁带)格式、LTO(Linear Tape Open,线性磁带开放协议)格式、AIT(Adanced Intelligent Tape,先进智能磁带)格式等,或其衍生格式,例如Joliet,Romeo,SDLT(Super DLT,超级DLT)、SAIT(Super AIT,超级AIT)等。SSCS控制器0300并可通过内部文件拷贝或格式转换的方式将一个SSCS存储单元内的数据复制到另一个SSCS存储单元。
SSCS控制器0300的功能可以通过在服务器上加装控制软件实现,例如安装Windows、Linux、Unix操作系统、或其剪裁版的服务器,或上述服务器的嵌入式版本,或通过专用硬件系统实现,例如美国Ultera Systems,Inc.的Mirage系列控制器硬件平台等。
采用热容错磁盘组(基于RAID1)、RAID阵列(基于RAID 1、3、4、5、6TP或相关热冗余配置)作为存储单元时,SSCS系统具备RAID系统的设备安全性,具有高可用性。由于主机/网络不能直接访问SSCS存储单元中的数据,主机/网络端人为误操作、软件冲突、系统宕机、病毒等不能损坏SSCS存储单元中的数据;此外,在SSCS存储系统中,可通过SSCS控制器设置部分SSCS存储单元为只读,例如将选择的SSCS存储单元ID号或LUN号设置为只读属性,不可写入,进一步确保这些SSCS存储单元上的数据不会被主机/网络端的诱因所损坏。因此,本发明的SSCS系统还具有现有技术的RAID系统所不具备的应用安全性。
根据本发明的外部存储系统的一个实施例,SSCS存储单元保存有完整的原有SSCS存储控制器配置信息。将SSCS存储单元连接任意同类SSCS控制器后,SSCS控制器可以根据SSCS存储单元上存储的配置信息,将其恢复为原SSCS存储系统状态。通过这样的方式,SSCS存储系统提供现有技术的RAID系统所不具备的数据在异机异地与跨平台读取,即实现存储数据的跨平台互通性。
SSCS存储单元中的数据格式与主机/网络无关,不同的主机/网络只需要连接SSCS控制器,即可读取其他主机/网络通过同类SSCS存储控制器写入SSCS存储单元的数据。
图19示出本发明的数据存储方法的一个实施例的流程图。
如图19所示,步骤1902,仿真无源存储设备以响应外部指令和数据。仿真的无源存储设备包括虚拟光盘、仿真磁带等设备。
步骤1904,基于外部数据读指令,从存储单元读取预定格式的数据,通过格式转换为无源介质格式后输出。格式转换主要涉及对于数据块的拆分、合并与寻址计算等操作。
步骤1906,基于外部数据写指令,将接收的无源介质格式的数据转换为预定格式的数据,存储于存储单元。
下面结合附图和具体实施例对本发明的外部存储系统和数据存储方法进行详细描述。
首先介绍根据本发明的外部存储系统的对主机/网络体现为主机操作系统可直接读取数据但数据逻辑离线的存储设备(OS Readable Offline Storage Device,以下简称OSRO)的一个实施例。在该实施例中,SSCS控制器采用操作系统层可读的数据格式,例如ISO9660、UDF、SEG格式或其他自定义格式等。为简洁起见,该实施例的具体说明以SSCS控制器采用ISO9660数据格式为例进行说明,在这种情形下,SSCS系统对主机/网络体现为虚拟光盘系统。
图2示出本发明的OSRO存储系统的示意图。如图2所示,OSRO存储系统200包括OSRO控制器300和磁盘存储设备240,可选地,还包括光盘存储设备250。如果不接光盘存储设备250,则由OSRO控制器300和磁盘存储设备240构成一个完整的可单独使用的SSCS存储系统。通过增加光盘存储设备250,OSRO存储系统具备读写物理光学存储设备的相关功能。
磁盘存储设备240可以是单个磁盘、磁盘组或磁盘阵列设备。所采用的磁盘介质接口类型可以为ATA、SATA、SCSI、SAS、FC等。磁盘装卸方式可采用磁盘抽拔盒或磁盘托架抽拔,也可直接采用RDX可移动磁盘。也可在OSRO控制器300中实现磁盘RAID功能,从而可以直接插入磁盘介质作为存储载体,无须连接磁盘阵列设备,从而大大降低成本。光盘存储设备250可以是CD-R、CD-RW、DVD-R、DVD-RW、MO或UDO等光盘驱动器,或由这些光盘驱动器构成的光盘塔、光盘库。
图3是图2所示的OSRO存储系统的系统结构图。其中,OSRO控制器300是OSRO存储系统的核心。本实施例中OSRO控制器300的硬件载体,可根据系统的总体要求,在以下硬件平台中任意选择:Linux或Unix系统的服务器、经过裁剪的Linux或Unix系统的服务器、嵌入式Linux系统、能够实现虚拟磁带功能的其他硬件载体,如美国Ultera公司的Mirage系列硬件平台等。如图3所示,OSRO控制器300主要包括OSRO程序模块330,通过主机I/O接口310、人机交互接口320、磁盘I/O接口340、和光盘I/O接口350等与其他组件或者设备通信。
人机交互接口320主要负责系统管理员、操作员等用户180与OSRO控制器300的信息交流。通过人机交互接口320,用户可以配置OSRO的模拟设备类型与地址、光驱类型与数量、光盘盘片类型、数量等参数,可以监控OSRO的运行状况,并传递如诊断测试、内容复制、虚拟光盘初始化等一些操作指令。人机交互接口320主要体现为菜单系统,连接方式可以为RS-232、以太网口、简单的输入输出设备(如显示屏、键盘等)或直接在服务器端安装专用管理控制台程序通过主机I/O接口来实现。
主机I/O接口310提供服务器/计算机系统120与OSRO控制器300之间的信息通讯通道,可采用任意数据传输接口,如SCSI、FibreChannel、iSCSI、SATA、IDE和ATA等。
磁盘I/O接口340提供OSRO控制器300与磁盘存储设备240之间的通讯通道,可采用SCSI、FC、SATA、IDE和ATA等高速数据传输接口。
光盘I/O接口350提供OSRO控制器300与光盘存储设备250之间的通讯通道,可采用SCSI、FC、SATA、IDE和ATA等高速数据传输接口。
OSRO存储系统程序模块330主要包括通讯控制中心332、虚拟光盘管理331、指令处理中心333、数据格式转换控制334以及光盘数据处理335等。通讯控制中心332接收到来自主机I/O接口310的指令或者数据,根据其类型不同分发到相应的处理程序,将外部指令发送给指令处理中心333,将外部数据发送给数据格式转换控制334;接收指令处理中心333返回的结果,接收来自数据格式转换控制334的数据,并输出返回。虚拟光盘管理331可根据人机交互接口320接收用户输入参数,对于OSRO控制器300进行初始化操作和与服务器/计算机系统120不相关的操作(如磁盘到光盘的内容复制、诊断测试存储设备连接情况等),还负责管理虚拟光盘在磁盘存储中的分配400(参见图4)以及OSRO对照表500(参见图5)。OSRO对照表500包含虚拟光盘和磁盘存储单元之间的地址对应信息和虚拟光盘的状态信息。指令处理中心333负责处理通讯控制中心332分发的来自服务器/计算机系统120的外部指令,对外部指令进行直接处理或者根据从光盘管理331获得的信息对外部指令进行处理后,将处理结果返回通讯控制中心332。数据格式转换控制334执行光盘数据到磁盘数据之间的格式转换。数据格式转换控制334接收通讯控制中心332分发的外部数据,将外部数据转换为预定格式的数据后存储于存储单元,或者,将从存储单元读取的预定格式的数据转换为无源介质格式的数据,发送到通讯控制中心332。光盘数据处理335主要处理光盘存储设备250的数据读写,该操作可以由服务器/计算机系统120来发起,也可以由系统管理员、操作员等用户180通过人机交互接口320来发起。数据格式转换控制334主要用于对于数据块的拆分、合并与寻址计算等操作。比如,假定通讯控制中心332从外部接受到的数据块大小为256KB,而本发明中控制器所预定的格式在磁盘存储中的数据块大小仅为4KB,则若要将接受到的外部数据存储到磁盘设备中,就需要将每个来自外部的256KB大小的数据块拆分为64个4KB大小的数据块来存储,同时,下一个来自外部的256KB大小的数据块在磁盘存储中的地址也要相应地发生变化。反之,从磁盘设备中读数据时,就要将数据块合并后提交给通讯控制中心332。
需要指出,在图3中,将主机I/O接口310、人机交互接口320、磁盘I/O接口340、和光盘I/O接口350等作为单独的模块示出。本领域的技术人员应当理解,主机I/O接口310、人机交互接口320、磁盘I/O接口340、和光盘I/O接口350也可以分别和通讯控制中心332、虚拟光盘管理331、数据格式转换控制334、和光盘数据处理335等模块结合在一起实现。在本发明的一些实施例中,将通讯控制中心332和指令处理中心333结合为一个模块实现;在本发明的一些实施例中,通过默认的设置实现OSRO对照表500,从而可以省略人机交互接口320。
图4示出了本发明中OSRO存储系统在磁盘存储设备中的存储分布结构的一个示例。每个虚拟光盘400对于服务器/计算机系统120就是一个物理的光盘,磁盘存储空间具体由多个虚拟光盘和一个OSRO设备对照表构成。虚拟光盘的存储容量可以相等(即总容量空间除以虚拟光盘数量N,例如OSRO初始配置的情况),也可以不相等(例如在使用过程中根据需要追加虚拟光盘的情况)。OSRO设备对照表500提供光盘数据到磁盘数据之间的格式转换机制,存储虚拟光盘和磁盘之间的对应信息,并记录各个虚拟光盘的状态信息。
图5示出了OSRO设备对照表的组织结构的一个示例。OSRO设备对照表500由OSRO设备描述501、虚拟光盘驱动器描述502、虚拟光盘盘片表描述503和数据校验块504构成;虚拟光盘驱动器描述502主要包含虚拟光盘驱动器总数、正在使用数量、空闲数等简单状态统计信息,并通过指针指向虚拟光盘驱动器信息表520。虚拟光盘盘片表描述503主要包含虚拟光盘盘片总数、被装入驱动器正在使用的光盘盘片数、空白光盘数量等简单状态统计信息,并通过指针指向虚拟光盘盘片信息表530。
虚拟光盘驱动器信息表520由虚拟光盘驱动器信息表开始521、M个虚拟光盘驱动器信息522、虚拟光盘驱动器信息表结束523和数据校验块524构成。M表示虚拟光盘驱动器的总数,虚拟光盘驱动器信息522主要由虚拟光盘驱动器的状态、类型、型号、生产厂家、固件版本以及序列号等构成。
虚拟光盘盘片信息表530由虚拟光盘盘片信息表开始531、N个虚拟光盘盘片信息532、虚拟光盘盘片信息表结束533和数据校验块534构成。N表示虚拟光盘盘片的总数,虚拟光盘盘片信息532主要由虚拟光盘盘片的存储状态构成,如空白标志、写满标志、当前存储位置记录等。虚拟光盘盘片信息532通过指针指向虚拟光盘盘片400在磁盘存储中的实际物理地址。
虚拟光盘盘片400主要由虚拟光盘盘片描述410、虚拟光盘盘片状态420、虚拟光盘数据区开始430、虚拟光盘数据440、虚拟光盘数据区结束450和数据校验块460构成。虚拟光盘盘片描述410主要包括盘片格式、盘片类型、容量、标记号等信息,虚拟光盘盘片状态420则表示虚拟光盘盘片的存储状态,如空白标志、写满标志、当前存储位置记录总容量空间、已用存储容量、可用空间等。虚拟光盘数据区开始430和虚拟光盘数据区结束450分别表示虚拟光盘数据区开始和结束的标志。虚拟光盘数据440是存储在虚拟光盘中的实际数据。
本领域的技术人员可以理解,图5示出了本发明的外部存储系统的设备状态的一种实现方式,但是,上述示例仅用于说明和解释,并没有任何意图将本发明的外部存储系统的设备状态的实现限于该示例。本领域的技术人员根据本发明的描述,可以实现多种变体或者改变,而不脱离本发明要求保护的范围。
图6示出了OSRO控制器的一个实施例的初始化流程。OSRO控制器初始化完成后就模拟为实际存在的光学设备,该光学设备对于服务器/计算机系统120而言,是由若干光学驱动器、若干光盘,甚至若干机械手构成的光学存储设备。
步骤602,获取磁盘设备信息。在OSRO控制器300的硬件平台启动后,系统首先扫描与其连接的磁盘存储设备240获得设备类型、型号、生产厂家、序列号、存储容量、连接方式、访问地址等磁盘设备相关信息。
步骤604,通过人机交互界面获取目标配置信息。用户可通过人机交互界面配置OSRO设备的模拟设备类型与地址、光驱类型与数量、光盘盘片类型、数量等参数,来定义符合其需要的OSRO设备。人机交互界面是一个专用的管理控制台程序,其访问方式可以通过RS-232、以太网口或简单的输入输出设备(如显示屏、键盘等)等实现。
步骤606,根据接收到的光盘盘片类型、数量等参数创建虚拟光盘盘片信息表530,若创建失败,则根据失败情况判断其原因,报告给用户,转向步骤604,等待用户干涉或重新输入。
步骤608,按照程序中指定地址生成规则计算所要模拟的光盘驱动器和机械手地址信息,还可以验证它们之间是否冲突,若有冲突,则重新生成。
步骤610,根据接收到的光盘驱动器相关参数,结合步骤608生成的光驱和机械手地址信息,创建虚拟光盘驱动器信息表520。
步骤612,根据虚拟光盘驱动器信息表520和虚拟光盘盘片信息表530等创建OSRO设备对照表500。
需要指出,在图6所示的示例中,用户通过人机交互界面配置OSRO设备参数,在本发明的其他一些实施例中,根据预置的参数自动配置OSRO设备并创建OSRO设备对照表。
图7示出了具备RAID功能的OSRO控制器的一个实施例的初始化流程。与图6不同的是,该OSRO控制器在用户进行配置OSRO设备的参数之前,首先要创建磁盘RAID存储。
步骤701,在OSRO控制器300的硬件平台启动后,系统首先扫描与其连接的磁盘信息,主要有磁盘类型、型号、生产厂家、序列号、存储容量、连接方式、访问地址等,然后根据用户配置或默认设置来创建磁盘RAID,作为OSRO的磁盘存储设备240。
步骤702,获得磁盘RAID的存储容量、访问地址等信息。
步骤704~712的详细描述可以参见图6中对应步骤604~612,为简洁起见,在此不再详细描述。
图8是将服务器/计算机系统120中的数据写到OSRO设备200的一个示例流程图。在此示例中,来自服务器/计算机系统120的数据实际被写入磁盘存储设备240,但对于服务器/计算机系统120来说,其数据是写入了一个物理光学设备中光盘中。服务器/计算机系统120写入数据可通过刻录软件或专用驱动程序来进行(参见图2)。虚拟光学驱动器和虚拟机械手根据主机I/O接口310接收到的SCSI流指令执行相应操作。
步骤802,主机I/O接口310接收到来自服务器/计算机系统120的“介质移动”(Move Medium)指令,传输给通讯控制中心332,由指令处理中心333来访问虚拟光盘管理331(参见图3)。“介质移动”指令完成一个由虚拟机械手将虚拟光盘从虚拟光盘槽中取出后放入虚拟光学驱动器中,或者从虚拟光学驱动器中取出后放入虚拟光盘槽中的过程。比如,当前目标虚拟光学驱动器中没有虚拟光盘,或者其中的虚拟光盘不是目标虚拟光盘,此时就需要服务器/计算机系统120发起“介质移动”指令。若目标虚拟光盘已经在目标虚拟光驱中,则无需移动介质,因此可以跳过该步骤802以及随后的步骤804。
步骤804,根据步骤802中介质变动情况,更新OSRO设备对照表500的状态,主要是更新虚拟光盘驱动器描述502中的虚拟光盘驱动器正在使用数量、空闲数等状态统计信息、虚拟光盘驱动器信息表520中对应的虚拟光盘驱动器状态、虚拟光盘盘片表描述503中的光盘盘片正在使用数量、空闲数等状态统计信息,以及虚拟光盘盘片信息表530对应的虚拟光盘介质状态等。
步骤806,主机I/O接口310接收到来自服务器/计算机系统120的“写”指令,传输给通讯控制中心332,由指令处理中心333来访问虚拟光盘管理331(参见图3)。
步骤808,指令处理中心333通过查对虚拟光盘盘片信息表530判断目标光盘介质是否处于“写保护”状态,若“是”则向通讯控制中心332报告当前光盘介质被写保护,通讯控制中心332返回该结果(步骤818),结束任务。
步骤810,指令处理中心333通过查对虚拟光盘盘片信息表530判断目标光盘介质是否处于“已写满”状态,若“是”则向通讯控制中心332报告当前光盘介质无可用空间,通讯控制中心332返回该结果(步骤820),结束任务。
步骤812,指令处理中心333查找OSRO设备对照表找到目标虚拟光盘介质对应的磁盘地址并返回通讯控制中心332,通讯控制中心332准备开始数据传输写操作。
步骤814,开始数据传输,直至数据传输完毕,同时记录目标虚拟光盘盘片参数信息。
步骤816,通讯控制中心332根据当前目标虚拟光盘盘片的状态参数信息更新虚拟光盘盘片信息表530中对应虚拟光盘盘片信息532,从而完成了服务器/计算机系统120中的数据写到OSRO设备200的操作过程。
图9是服务器/计算机系统120从OSRO设备200中读取数据的一个示例流程。在此示例中,来自服务器/计算机系统120的数据实际从磁盘存储设备240中读出数据,但对于服务器/计算机系统120来说,其数据是是从一个物理光学设备中光盘中读出的,可以直接识别其数据中的目录结构,可直接访问任意数据。虚拟光学驱动器和虚拟机械手根据主机I/O接口310接收到的SCSI流指令执行相应操作。
步骤902和步骤904,如同图8中步骤802和804,处理来自服务器/计算机系统120的“介质移动”指令,并更新OSRO设备对照表500的状态。
步骤906,主机I/O接口310接收到来自服务器/计算机系统120的“读”指令,传输给通讯控制中心332,由指令处理中心333来访问虚拟光盘管理331(参见图3)。
步骤908,指令处理中心333查找OSRO设备对照表找到目标虚拟光盘介质对应的磁盘地址并返回通讯控制中心332,通讯控制中心332准备开始数据传输读操作。
步骤910,开始数据传输,直至数据传输完毕,从而完成了服务器/计算机系统120从OSRO设备200中读数据的操作过程。
图10是把虚拟光盘中的数据复制到物理光盘中的示例流程图。用户可通过人机交互界面320设定,将磁盘存储设备240中的虚拟光盘数据复制到光盘存储设备250的物理光盘中。本示例执行前,用户应当已经完成源数据虚拟光盘和目标物理光盘的相关参数设定。物理光盘写入数据可通过光盘数据处理335来进行(参见图3)。虚拟光学驱动器和虚拟机械手根据人机交互界面320设定的参数,由虚拟光盘管理331发出SCSI流指令进行相应操作。
步骤1002,虚拟光盘管理331取得用户通过人机交互界面设定的源数据虚拟光盘相关信息,并发起“介质移动”的SCSI流指令。
步骤1004,通讯控制中心332接收到“介质移动”指令,传输给指令处理中心333,来完成一个由虚拟机械手将虚拟光盘从虚拟光盘槽中取出后放入虚拟光学驱动器中,或者从虚拟光学驱动器中取出后放入虚拟光盘槽中的过程。
步骤1006,根据步骤1004中介质变动情况,更新OSRO对照表500(参见图5)的状态,主要是更新虚拟光盘驱动器描述502中的虚拟光盘驱动器正在使用数量、空闲数等状态统计信息、虚拟光盘驱动器信息表520中对应的虚拟光盘驱动器状态、虚拟光盘盘片表描述503中的光盘盘片正在使用数量、空闲数等状态统计信息,以及虚拟光盘盘片信息表530对应的虚拟光盘介质状态等。
步骤1008,虚拟光盘管理331发起“读”指令,传输给通讯控制中心332,由指令处理中心333来访问虚拟光盘管理331(参见图3)。
步骤1010,指令处理中心333查找OSRO对照表找到目标虚拟光盘介质对应的磁盘地址并返回通讯控制中心332,通讯控制中心332准备开始数据传输读操作。
步骤1012,虚拟光盘管理331取得用户通过人机交互界面设定的目标物理光盘相关参数信息,获得目标物理光盘驱动器信息以及目标物理光盘地址。本示例中光盘存储设备250为单个光盘驱动器或光盘塔,若光盘存储设备250是光盘库时,则还需要向光盘库发起“介质移动”等指令,将目标物理光盘介质移到目标物理光盘驱动器。
步骤1014和步骤1016,开始数据传输,先通过数据格式转换控制334到指定磁盘地址读取源虚拟光盘数据,后通过光盘数据处理335到指定光盘地址写数据,直至数据传输完毕,从而完成了把物理光盘中的数据复制到虚拟光盘中的操作过程。
图11是把物理光盘中的数据复制到虚拟光盘中的示例流程图。用户可通过人机交互界面320设定,将光盘存储设备250的物理光盘数据复制到磁盘存储设备240的虚拟光盘中。本示例执行前,用户应当已经完成源数据物理光盘和目标虚拟光盘的相关参数设定。从物理光盘读出数据可通过光盘数据处理335来进行(见图3)。虚拟光学驱动器和虚拟机械手根据人机交互界面320设定的参数,由虚拟光盘管理331发出SCSI流指令执行相应操作。
步骤1102,虚拟光盘管理331取得用户通过人机交互界面设定的源数据虚拟光盘相关信息,并发起“介质移动”的SCSI流指令。
步骤1104,通讯控制中心332接收到“介质移动”指令,传输给指令处理中心333,来完成一个由虚拟机械手将虚拟光盘从虚拟光盘槽中取出后放入虚拟光学驱动器中,或者从虚拟光学驱动器中取出后放入虚拟光盘槽中的过程。
步骤1106,根据步骤1104中介质变动情况,更新OSRO对照表500(见图5)的状态,主要是更新虚拟光盘驱动器描述502中的虚拟光盘驱动器正在使用数量、空闲数等状态统计信息、虚拟光盘驱动器信息表520中对应的虚拟光盘驱动器状态、虚拟光盘盘片表描述503中的光盘盘片正在使用数量、空闲数等状态统计信息,以及虚拟光盘盘片信息表530对应的虚拟光盘介质状态等。
步骤1108,虚拟光盘管理331取得用户通过人机交互界面设定的目标物理光盘相关参数信息,获得目标物理光盘驱动器信息以及目标物理光盘地址。本示例中光盘存储设备250为单个光盘驱动器或光盘塔,若光盘存储设备250是光盘库时,则还需要向光盘库发起“介质移动”等指令,将目标物理光盘介质移到目标物理光盘驱动器。
步骤1110,虚拟光盘管理331发起“写”指令,传输给通讯控制中心332,由指令处理中心333来访问虚拟光盘管理331(见图3)。
步骤1112,指令处理中心333查找OSRO对照表找到目标虚拟光盘介质对应的磁盘地址,并返回通讯控制中心332,通讯控制中心332准备开始数据传输写操作。
步骤1114和步骤1116,开始数据传输,通讯控制中心332先通过光盘数据处理335到指定光盘地址读取物理光盘数据,后通过数据格式转换控制334到指定磁盘地址写入数据,直至数据传输完毕,同时记录目标虚拟光盘盘片参数信息。
步骤1118,通讯控制中心332根据当前目标虚拟光盘盘片的状态参数信息更新虚拟光盘盘片信息表530中对应虚拟光盘盘片信息532,从而完成了把虚拟光盘中的数据复制到物理光盘中的操作过程。
下面以SSCS控制器采用LTO,DLT,AIT等磁带制式为例,结合附图详细说明本发明中SSCS存储系统的另一类具体实现方式。根据该实现方式构建的SSCS存储系统对主机/网络体现为可用磁盘介质直接实现容灾、存档和跨平台数据传递的移动虚拟磁带(Removable Virtual Tape,RVT)存储设备,以下简称RVT。
图12示出本发明的RVT存储设备的一个实施例的示意图。如图12所示,该RVT存储设备1200包括RVT设备控制器1300、磁盘11240和磁盘21250。RVT存储设备控制器1300包括磁盘镜像管理控制,分别和磁盘1 1240和磁盘21250相连。RVT存储设备1200对于主机端/计算机系统120而言,是一个独立的磁带存储外设,其使用方法与磁带存储外设相同,而实际上数据存放在磁盘1和磁盘2中。RVT存储设备可通过采用任意高速数据传输接口,例如SCSI、Fibre Channel、iSCSI、SATA、SAS、IDE和ATA等,直接连接至主机端/计算机系统120,也可通过Fibre Channel接入SAN存储局域网。
RVT存储设备所模拟的磁带存储设备类型可以是磁带驱动器、顺序装载机、自动加载机或随机磁带库。
RVT存储设备将磁盘模拟为磁带存储设备的功能主要通过RVT控制器(参见图12、13)来实现。在RVT控制器中由磁盘镜像管理控制程序实现磁盘镜像功能(参见图12、13),可以直接插入磁盘介质作为存储载体,无须连接磁盘阵列设备,从而大大降低成本。
RVT存储设备至少具备一个RVT可读写存储单元(RVT工作柜):由两块磁盘一组构成磁盘对,通过RVT控制器对其实现热容错。RVT设备可配置一个或多个RVT只读存储单元(RVT扩展柜):RVT扩展柜提供单一磁盘的联机插槽,通过RVT控制器可将扩展柜中的一部分或全部插槽设置为只读,以下以将RVT扩展柜中全部插槽设为只读为例。
RVT存储设备所采用的磁盘介质接口类型可以为ATA、SATA,SCSI、SAS、FC等。磁盘装卸方式可采用磁盘抽拔盒或磁盘托架抽拔,也可直接采用RDX,SSD等新型磁盘。
RVT控制器对RVT工作柜中的磁盘组的应用方式如下:(1)在磁盘组初始化时,RVT控制器随机生成一个磁盘组ID标识号,并将该标识号写入磁盘组的两块磁盘的特定存储区中。以后RVT控制器在扫描识别其在线的磁盘时,首先扫描磁盘的ID标识号,若发现两块磁盘的ID标识号不一致,则认为该两块磁盘原本不是一个磁盘组,同时自动将其中一块磁盘置为离线状态,以保护其数据完整性。(2)所有的数据写操作均同时直接写到RVT工作柜内磁盘组的两块磁盘中。读操作则只通过其中的一块磁盘来执行。(3)若在使用过程中检测到任一磁盘发生写错误,将停止访问该磁盘,但继续对另一块磁盘正常操作,同时对于仍正常工作的磁盘写入更新信息表明其配对已失效,此时,所有的读操作是直接对于这块好磁盘来执行。(4)只用一块单独的磁盘,也可以用于读数据、写数据及存档操作。(5)重构磁盘时,可选择物理复制整块磁盘,也可以选择进行智能化复制,即仅仅复制源数据磁盘中的实际数据内容,从而大大提高重构效率。
RVT控制器对于RVT扩展柜中的磁盘的应用方式为:(1)RVT工作柜中的磁盘组容量用满后,用户更换新磁盘组,将已写满数据的磁盘组置换出来;(2)将置换出的磁盘组中的一块磁盘插入RVT扩展柜中,RVT控制器确保其上数据用户可自由查询,但不能写入新的数据,从而彻底避免应用安全风险(例如,主机/网络端误操作,病毒,系统崩溃等不能损坏磁盘上的数据);(3)将置换出的磁盘组中的另一盘留为离线备份/存档/容灾磁盘。如果RVT扩展柜中的磁盘损坏,先将其离线备份磁盘插入RVT工作柜复制另一份备份磁盘,再将两块备份磁盘中的一块插入RVT扩展柜中替代损坏的磁盘,另一块磁盘留作该磁盘的备份磁盘。
下面结合附图详细说明RVT存储设备的具体实现。
图13示出了图12所示的RVT存储设备的系统结构图。如图13所示,RVT存储设备包括RVT存储设备控制器1300、磁盘1设备1240和磁盘2设备1250。磁盘1设备1240和磁盘2设备1250均为单个磁盘,优选该两块磁盘容量相等,更优选为厂家、型号均相同。所采用的磁盘介质接口类型可以为ATA、SATA,SCSI、SAS、FC等。磁盘装卸方式可采用磁盘抽拔盒或磁盘托架抽拔,也可直接采用RDX可移动磁盘。在RVT存储设备控制器1300中实现磁盘镜像功能,从而可以直接插入磁盘介质作为存储载体,无须连接磁盘阵列设备,从而大大降低成本。
RVT存储设备控制器1300是RVT存储设备的核心,主要包括RVT存储设备程序模块1330,以及主机I/O接口1310、人机交互接口1320、磁盘1I/O接口1340和磁盘2I/O接口1350等。
本实施例中RVT控制器1300的硬件载体,可根据系统的总体要求,在以下硬件平台中任意选择其一:Linux或Unix系统的服务器;经过裁剪的Linux或Unix系统的服务器;嵌入式Linux系统;能够实现仿真磁带功能的其他硬件载体,如美国Ultera公司的Mirage系列硬件平台等。
人机交互接口1320主要负责系统管理员、操作员等用户180与RVT存储设备控制器1300的信息交流,通过人机交互接口,用户可以配置RVT存储设备的模拟设备类型与地址、磁带驱动器类型与数量、磁带介质数量等参数,可以监控RVT存储设备的运行状况,并传递如磁盘连接诊断测试、磁盘内容重构、仿真磁带内容复制、仿真磁带初始化、写保护等一些操作指令。人机交互接口主要体现为菜单系统,连接方式可以为RS-232、以太网口、简单的输入输出设备(如显示屏、键盘等)或直接在服务器端安装专用管理控制台程序通过主机I/O接口来实现。
主机I/O接口1310提供服务器/计算机系统120与RVT存储设备控制器1300之间的信息通讯通道,可采用任意高速数据传输接口,如SCSI、Fibre Channel、iSCSI、SAS、SATA、IDE和ATA等。
磁盘1I/O接口1340和磁盘2I/O接1350分别提供RVT存储设备控制器1300与磁盘1设备1240之间、RVT存储设备控制器1300与磁盘2设备1250之间的通讯通道,可采用SCSI、Fibre Channel、SAS、SATA、IDE和ATA等高速数据传输接口。
RVT存储设备程序模块1330主要由通讯控制中心1332、仿真磁带管理1331、指令处理中心1333、数据格式转换控制1334以及磁盘镜像管理控制1335等构成。通讯控制中心1332接受到来自主机I/O接口1310的指令或者数据,根据其类型不同分发到相应的处理程序,并接受到相应的处理结果并返回。仿真磁带管理1331可根据人机交互接口1320接受用户输入参数对于RVT存储设备控制器1300进行初始化操作和与服务器/计算机系统120不相关的操作(如仿真磁带之间的内容复制、诊断测试存储设备连接情况等),还负责管理仿真磁带在磁盘存储中的分配1400(参见图14)以及RVT存储设备对照表1500(参见图15)。指令处理中心1333负责处理来自服务器/计算机系统120指令,其可以直接返回结果,也可以通过访问仿真磁带管理1331获得结果并返回。数据格式转换控制1334执行磁带数据到磁盘数据之间的格式相互转换。磁盘镜像管理控制1335主要处理磁盘1设备1240与磁盘2设备1250之间的镜像管理功能,其处理方式可以遵循以下规则:
(1)在磁盘组初始化时,系统将随机生成一个磁盘组ID标识号,并将该标识号写入磁盘组的两块磁盘中。系统在扫描识别其在线的磁盘时,首先扫描磁盘的ID标识号,若发现两块磁盘的ID标识号不一致,则认为该两块磁盘原本不是一个磁盘组,同时自动将其中一块磁盘设置为离线状态,以保护其数据完整性。
(2)所有的数据写操作均直接写到磁盘组的两块磁盘中。所有的读操作是只指定其中一块磁盘来执行。
(3)若在使用过程中检测到任一个磁盘发生写错误,将停止访问该磁盘,但继续对另一块磁盘正常操作,同时对于仍正常工作的磁盘写入更新信息表明其配对已失效,此时,所有的读操作是直接对于这块好磁盘来执行。
(4)只用一块单独的磁盘,也可以用于读数据、写数据及存档操作。
(5)磁盘重构时,可选择物理复制整块磁盘,也可以选择进行智能化复制,即仅仅复制源数据磁盘中的实际数据内容,从而大大提高重构效率。
图14示出RVT存储设备在磁盘存储设备中的存储分布结构的一个示例。每个仿真磁带400对于服务器/计算机系统120为一盘物理磁带;磁盘存储空间具体由多个仿真磁带1400和一个RVT存储设备对照表1500构成,仿真磁带1400的存储容量可以相等(总容量空间除以仿真磁带数量N,例如RVT存储设备在初始配置时设置),也可以不相等(例如在使用过程中根据需要追加仿真磁带的情况),RVT存储设备对照表1500提供磁带数据到磁盘数据之间的格式转换机制,并记录各个仿真磁带的状态信息。
图15示出了RVT存储设备对照表的组织结构的一个示例。RVT存储设备对照表1500由RVT存储设备描述1501、镜像磁盘组标识ID信息1502、仿真磁带驱动器描述1503、仿真磁带表描述1504和数据校验块1505构成;镜像磁盘组标识ID信息1502由在镜像磁盘组初始化时系统随机生成磁盘组ID标识号,以及该标识ID是否有效等信息构成,是判断该设备镜像磁盘组是否有效的重要依据。仿真磁带驱动器描述1503主要包含仿真磁带驱动器总数、正在使用数量、空闲数等简单状态统计信息,并通过指针指向仿真磁带驱动器信息表1530。仿真磁带表描述1504主要包含仿真磁带总数、被装入驱动器正在使用的磁带数、空白磁带数量等简单状态统计信息,并通过指针指向仿真磁带信息表1540。
仿真磁带驱动器信息表1530由仿真磁带驱动器信息表开始1531、M个仿真磁带驱动器信息1532、仿真磁带驱动器信息表结束1533和数据校验块1534构成。M表示仿真磁带驱动器的总数,仿真磁带驱动器信息1532主要由仿真磁带驱动器的状态、类型、型号、生产厂家、固件版本以及序列号等构成。
仿真磁带信息表1540由仿真磁带信息表开始1541、N个仿真磁带信息1542、仿真磁带信息表结束1543和数据校验块1544构成。N表示仿真磁带的总数,仿真磁带信息1542主要由仿真磁带的存储状态构成,如空白标志、写满标志、当前存储位置记录等。仿真磁带信息1542通过指针指向仿真磁带1400在磁盘存储中的实际物理地址。
仿真磁带1400主要由仿真磁带描述1410、仿真磁带状态1420、仿真磁带数据区开始1430、仿真磁带数据1440、仿真磁带数据区结束1450和数据校验块1460构成。仿真磁带描述1410主要包括格式、类型、容量、标记号等信息,仿真磁带状态1420则表示仿真磁带的存储状态,如空白标志、写满标志、当前存储位置记录总容量空间、已用存储容量、可用空间等。仿真磁带数据区开始1430和仿真磁带数据区结束1450分别表示仿真磁带数据区开始和结束的标志。仿真磁带数据1440是存储在仿真磁带中的实际数据。
图16示出RVT存储设备控制器的一个实施例的初始化流程图。RVT存储设备控制器初始化完成后就模拟为实际存在的磁带设备,该RVT存储设备对于服务器/计算机系统120而言,是由若干磁带驱动器、若干磁带和若干机械手构成的磁带存储设备。
步骤1602,在RVT存储设备控制器1300的硬件平台启动后,在用户进行配置RVT存储设备的参数之前,系统首先扫描与其连接的磁盘信息,主要有磁盘类型、型号、生产厂家、序列号、存储容量、连接方式、访问地址以及标识ID等。
步骤1604,用户可通过人机交互界面1320(参见图13)配置RVT存储设备的模拟设备类型与地址、磁带驱动器类型与数量、磁带类型与数量等参数,来定义符合其需要的RVT存储设备。RVT存储设备类型可以是磁带机、顺序装载机、自动加载机、随机磁带库等,仿真磁带驱动器类型可以是常见的任意制式磁带驱动器类型,如LTO、DLT、AIT、DAT、DDS等。人机交互界面是一个专用的管理控制台程序,其访问方式可以通过RS-232、以太网口或简单的输入输出设备(如显示屏、键盘等)等。
步骤1606,核对磁盘1和磁盘2(参见图13)的标识ID信息,若两块磁盘均不存在标识ID信息,说明均为新磁盘,可以进行下步操作。若其中任意一块磁盘存在标识ID,说明该磁盘以前已被配对使用过,则需提醒用户:“该操作将丢弃原有数据,是否继续”(步骤1618),若用户选择“是”,则进行步骤1608的操作,反之则结束当前任务。
步骤1608,针对连接的磁盘1设备1240和磁盘2设备1250,构建新镜像磁盘组,生成新的标识ID。
步骤1610,根据接收到的磁带类型、数量等参数创建仿真磁带信息表1540,若创建失败,则根据失败情况判断其原因并报告给用户(步骤1620),结束当前任务,等待用户干涉或重新输入。
步骤1612,按照程序中指定地址生成规则计算所要模拟的磁带驱动器和机械手地址信息,并验证它们之间是否冲突,若有冲突,根据失败情况判断其原因并报告给用户(步骤1620),结束当前任务,等待用户干涉或重新输入。
步骤1614,根据接收到的磁带驱动器相关参数,结合步骤1612生成的光驱和机械手地址信息,创建仿真磁带驱动器信息表1530。
步骤1616,根据仿真磁带驱动器信息表1530和仿真磁带信息表1540创建RVT存储设备对照表1500。
图17是将服务器/计算机系统120中的数据写到RVT存储设备1200的一个示例流程。在此示例中,对于服务器/计算机系统120来说,其数据是写入了一个物理磁带设备中磁带中,但实际上该数据被写入镜像磁盘组(由磁盘1设备1240和磁盘2设备1250构成)。仿真磁带驱动器和虚拟机械手根据主机I/O接口1310接收到的SCSI流指令作出对应操作。
步骤1702,主机I/O接口1310接收到来自服务器/计算机系统120的“介质移动”指令,传输给通讯控制中心1332,由指令处理中心1333来访问仿真磁带管理1331(见图13)。“介质移动”指令完成一个由仿真机械手将仿真磁带从仿真磁带槽中取出后放入仿真磁带驱动器中,或者从仿真磁带驱动器中取出后放入仿真磁带槽中的过程。比如,当前目标仿真磁带驱动器中没有仿真磁带,或者其中的仿真磁带不是目标仿真磁带,此时就需要服务器/计算机系统120发起“介质移动”指令。若目标仿真磁带已经在目标虚拟光驱中,则无需移动介质,从而可以跳过该步骤1702以及1704。
步骤1704,根据步骤1702中介质变动情况,更新RVT存储设备对照表1500的状态,主要是更新仿真磁带驱动器描述1503中的仿真磁带驱动器正在使用数量、空闲数等状态统计信息,仿真磁带驱动器信息表1530中对应的仿真磁带驱动器状态,仿真磁带表描述1504中的磁带正在使用数量、空闲数等状态统计信息,以及仿真磁带信息表1540对应的仿真磁带介质状态等。
步骤1706,主机I/O接口1310接收到来自服务器/计算机系统120的“写”指令,传输给通讯控制中心1332,由指令处理中心1333来访问仿真磁带管理1331(见图13)。
步骤1708,指令处理中心1333通过查对仿真磁带信息表1530判断目标磁带介质是否处于“写保护”状态,若“是”,则向通讯控制中心1332报告当前磁带介质被写保护,通讯控制中心1332返回报告结果(步骤1718),结束任务。
步骤1710,指令处理中心1333通过查对仿真磁带信息表1530判断目标磁带介质是否处于“已写满”状态,若“是”则向通讯控制中心1332报告当前磁带介质无可用空间,通讯控制中心1332返回报告结果(步骤1720),结束任务。
步骤1712,指令处理中心1333查找RVT存储设备对照表找到目标仿真磁带介质对应的磁盘地址并返回通讯控制中心1332,通讯控制中心1332准备开始数据传输写操作。
步骤1714,开始数据传输,直至数据传输完毕,通讯控制中心1332同时记录目标仿真磁带参数信息。
步骤1716,通讯控制中心1332根据当前目标仿真磁带的状态参数信息更新仿真磁带信息表1540中对应仿真磁带信息1542,从而完成了服务器/计算机系统120中的数据写到RVT存储设备1200的操作过程。
图18是服务器/计算机系统120从RVT存储设备1200中读取数据的一个示例流程。在此示例中,来自服务器/计算机系统120的数据实际从磁盘设备1240中读出数据,但对于服务器/计算机系统120来说,其数据是是从一个物理磁带设备中磁带中读出的,可以直接识别其数据中的目录结构,可直接访问任意数据。仿真磁带驱动器和虚拟机械手根据主机I/O接口1310接收到的SCSI流指令作出对应操作。
步骤1802和步骤1804,同图17中步骤1702和1704一样,处理来自服务器/计算机系统120的“介质移动”指令,并更新RVT存储设备对照表1500的状态。
步骤1806,主机I/O接口1310接收到来自服务器/计算机系统120的“读”指令,传输给通讯控制中心1332,由指令处理中心1333来访问仿真磁带管理1331(见图13)。
步骤1808,指令处理中心1333查看磁盘1设备1240是否已连接并且准备好,若“是”,则直接转向步骤1810。
步骤1810,查看磁盘2设备1250是否已准备好,若“否”,则报告两块磁盘均未连接或故障(步骤1816),结束任务。
步骤1812,指令处理中心1333查找RVT存储设备对照表找到目标仿真磁带介质对应的磁盘地址并返回,准备开始数据传输读操作。
步骤1814,开始数据传输,直至数据传输完毕,从而完成了服务器/计算机系统120从RVT存储设备1200中读数据的操作过程。
本发明的外部存储系统和数据存储方法,通过仿真无源存储设备以响应外部指令和数据,主机/网络不能直接访问存储单元中的数据,不会因为主机/网络端人为误操作、软件冲突、系统宕机、病毒等损坏存储单元中的数据,具有较高的应用安全性。此外,在存储系统中,可通过控制器设置部分或者全部存储单元为只读,进一步确保存储单元上的数据不会被主机/网络端的诱因所损坏,进一步增加了应用安全性。
本发明的外部存储系统对主机/网络体现为虚拟无源存储设备,外部存储系统的控制器负责控制存储单元的物理读写方式,保证存储单元的数据存储方式与主机/网络的数据使用格式无关,从而使得存储的数据能够异机异地读取,或跨平台应用。此外,每个存储单元可以保存有完整的原有控制器配置信息,当将存储单元连接任意同类型的控制器后,控制器可以根据存储单元上存储的配置信息,将其恢复为原存储系统状态,这样,本发明的外部存储系统提供了数据在异机异地与跨平台读取的功能,实现存储数据的跨平台互通性。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (15)

1.一种外部存储系统,其特征在于,包括:
存储单元,用于以预定格式存储数据;
控制器,用于仿真无源存储设备以响应外部指令和数据,基于外部数据读指令,从所述存储单元读取所述预定格式的数据,进行格式转换后输出;和/或基于外部数据写指令,将接收的数据转换为所述预定格式的数据,存储于所述存储单元。
2.根据权利要求1所述的外部存储系统,其特征在于,所述控制器包括:
通讯控制中心,用于接收所述外部指令或数据,将所述外部指令发送给指令处理中心,将所述外部数据发送给数据格式转换控制;接收所述指令处理中心返回的结果,或接收来自所述数据格式转换控制的数据,并输出;
虚拟无源存储设备管理模块,用于存储所述仿真无源存储设备和所述存储单元之间的对应信息,以及所述仿真无源存储设备的状态信息;
所述指令处理中心,用于接收来自所述通讯控制中心的外部指令,对所述外部指令进行处理或者根据从所述虚拟无源存储设备管理模块获得的信息对所述外部指令进行处理后,将处理结果返回所述通讯控制中心;
所述数据格式转换控制,用于接收所述外部数据,将所述外部数据转换为所述预定格式的数据后存储于所述存储单元,或者,将从所述存储单元读取的所述预定格式的数据转换为无源介质格式的数据,发送到所述通讯控制中心。
3.根据权利要求2所述的外部存储系统,其特征在于,所述控制器还包括无源介质数据处理模块,用于将从所述通讯控制中心接收的无源介质格式的数据存储于辅助无源介质存储单元,或者从所述辅助无源介质存储单元读取数据,发送给所述通讯控制中心。
4.根据权利要求2所述的外部存储系统,其特征在于,所述存储单元至少包括一个存储设备对,用于相互数据备份;
所述控制器还包括镜像管理控制模块,用于接收来自所述数据格式转换控制的数据,并存储于所述存储设备对。
5.根据权利要求2或所述的外部存储系统,其特征在于,所述虚拟无源存储设备管理模块还用于通过人机交互接口接收用户输入参数,对所述控制器进行配置或者操作。
6.根据权利要求1至5中任意一项所述的外部存储系统,其特征在于,所述存储单元上存储有所述控制器配置信息,用于恢复所述外部存储系统状态。
7.根据权利要求2至5中任意一项所述的外部存储系统,其特征在于,所述仿真无源存储设备的状态信息包括只读属性,当所述仿真无源存储设备被设置为只读时,所述控制器拒绝对所述仿真存储设备的修改或者写操作。
8.根据权利要求1所述的外部存储系统,其特征在于,所述控制器仿真光学存储设备、磁带存储设备、或自定义无源存储设备;或者,所述存储单元包括磁盘、热容错磁盘组、经济磁盘冗余阵列、或无源存储设备;或者,所述存储单元和所述控制器之间通过小型计算机系统接口SCSI、光纤通道FC、因特网小型计算机系统接口iSCSI、串行连接小型计算机系统接口SAS、AT附件设备ATA或串行AT附件设备SATA通信。
9.一种服务器,其特征在于,包括如权利要求1至5中任意一项所述的外部存储系统。
10.一种数据存储方法,其特征在于,包括:
仿真无源存储设备以响应外部指令和数据;
基于外部数据读指令,从存储单元读取所述预定格式的数据,通过格式转换为无源介质格式后输出;
和/或
基于外部数据写指令,将接收的所述无源介质格式的数据转换为所述预定格式的数据,存储于所述存储单元。
11.根据权利要求10所述的数据存储方法,其特征在于,所述仿真无源存储设备以响应外部指令和数据的步骤包括:
接收所述外部数据读指令,根据预置的所述仿真无源存储设备与所述存储单元的地址对应信息,获得所述外部数据读指令在所述存储单元的读地址;
或者
接收所述外部数据写指令,根据预置的所述仿真无源存储设备与所述存储单元的地址对应信息,获得所述外部数据写指令在所述存储单元的写入地址;
将接收的外部数据写入所述存储单元后,更新所述仿真无源存储设备的状态信息。
12.根据权利要求10所述的数据存储方法,其特征在于,还包括步骤:
基于所述外部数据写指令,将接收的所述无源介质格式的数据存储于辅助无源介质存储单元;
或者
基于所述外部数据读指令,从所述辅助无源介质存储单元读取数据,并输出。
13.根据权利要求10所述的数据存储方法,其特征在于,所述基于外部数据写指令,将所述预定格式的数据存储于所述存储单元步骤包括:
基于外部数据写指令,通过镜像管理将所述预定格式的数据存储于用于相互备份的多个存储单元。
14.根据权利要求10所述的数据存储方法,其特征在于,还包括步骤:
从所述存储单元上读取所述仿真无源存储设备与所述存储单元的地址对应信息;
根据所述仿真无源存储设备与所述存储单元的地址对应信息从所述存储单元读取数据。
15.根据权利要求11所述的数据存储方法,其特征在于,还包括:
当接收到所述外部数据写指令时,判断要被写入数据的所述仿真无源存储设备是否被设置为只读属性,如果是,则拒绝对所述仿真存储设备的修改或者写操作。
CN2009101434327A 2009-05-25 2009-05-25 外部存储系统、服务器和数据存储方法 Pending CN101901623A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101434327A CN101901623A (zh) 2009-05-25 2009-05-25 外部存储系统、服务器和数据存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101434327A CN101901623A (zh) 2009-05-25 2009-05-25 外部存储系统、服务器和数据存储方法

Publications (1)

Publication Number Publication Date
CN101901623A true CN101901623A (zh) 2010-12-01

Family

ID=43227101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101434327A Pending CN101901623A (zh) 2009-05-25 2009-05-25 外部存储系统、服务器和数据存储方法

Country Status (1)

Country Link
CN (1) CN101901623A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102637140A (zh) * 2011-05-27 2012-08-15 南京信核数据科技有限公司 一种新的裸数据磁带备份系统
CN102651226A (zh) * 2011-02-28 2012-08-29 联发科技(新加坡)私人有限公司 光碟机及光盘读取方法
CN103676707A (zh) * 2012-09-19 2014-03-26 西门子公司 控制技术设备的控制器的运行方法
CN105096860A (zh) * 2015-07-31 2015-11-25 深圳市华星光电技术有限公司 一种tftlcd驱动电路通信方法、通信装置以及系统
CN105302014A (zh) * 2014-07-15 2016-02-03 罗伯特·博世有限公司 用于分析和诊断驱动系统的控制器的方法和装置
CN106201343A (zh) * 2016-06-30 2016-12-07 浪潮(北京)电子信息产业有限公司 一种提高物理带库磁带利用率的方法及系统
CN107240408A (zh) * 2017-05-11 2017-10-10 中国科学院信息工程研究所 针对cd‑rom光盘介质的读写管控系统
CN109951494A (zh) * 2019-03-29 2019-06-28 北京润科通用技术有限公司 仿真数据处理方法、装置、仿真设备及存储介质
CN111475111A (zh) * 2020-04-01 2020-07-31 苏州浪潮智能科技有限公司 一种避免破坏硬盘数据的raid组配对方法及装置
CN111913938A (zh) * 2020-08-11 2020-11-10 中国工商银行股份有限公司 数据迁移方法、系统、装置、电子设备和介质
CN112463524A (zh) * 2020-11-12 2021-03-09 苏州浪潮智能科技有限公司 一种外部存储实时监控方法、系统、终端及存储介质

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102651226A (zh) * 2011-02-28 2012-08-29 联发科技(新加坡)私人有限公司 光碟机及光盘读取方法
CN102651226B (zh) * 2011-02-28 2013-08-28 联发科技(新加坡)私人有限公司 光碟机及光盘读取方法
CN102637140B (zh) * 2011-05-27 2015-01-21 南京信核数据科技有限公司 一种新的裸数据磁带备份系统
CN102637140A (zh) * 2011-05-27 2012-08-15 南京信核数据科技有限公司 一种新的裸数据磁带备份系统
CN103676707A (zh) * 2012-09-19 2014-03-26 西门子公司 控制技术设备的控制器的运行方法
CN103676707B (zh) * 2012-09-19 2018-01-26 西门子公司 控制技术设备的控制器的运行方法
CN105302014B (zh) * 2014-07-15 2019-05-10 罗伯特·博世有限公司 用于分析和诊断驱动系统的控制器的方法和装置
CN105302014A (zh) * 2014-07-15 2016-02-03 罗伯特·博世有限公司 用于分析和诊断驱动系统的控制器的方法和装置
CN105096860A (zh) * 2015-07-31 2015-11-25 深圳市华星光电技术有限公司 一种tftlcd驱动电路通信方法、通信装置以及系统
CN106201343A (zh) * 2016-06-30 2016-12-07 浪潮(北京)电子信息产业有限公司 一种提高物理带库磁带利用率的方法及系统
CN107240408A (zh) * 2017-05-11 2017-10-10 中国科学院信息工程研究所 针对cd‑rom光盘介质的读写管控系统
CN107240408B (zh) * 2017-05-11 2019-05-10 中国科学院信息工程研究所 针对cd-rom光盘介质的读写管控系统
CN109951494A (zh) * 2019-03-29 2019-06-28 北京润科通用技术有限公司 仿真数据处理方法、装置、仿真设备及存储介质
CN111475111A (zh) * 2020-04-01 2020-07-31 苏州浪潮智能科技有限公司 一种避免破坏硬盘数据的raid组配对方法及装置
CN111913938A (zh) * 2020-08-11 2020-11-10 中国工商银行股份有限公司 数据迁移方法、系统、装置、电子设备和介质
CN112463524A (zh) * 2020-11-12 2021-03-09 苏州浪潮智能科技有限公司 一种外部存储实时监控方法、系统、终端及存储介质
CN112463524B (zh) * 2020-11-12 2023-01-10 苏州浪潮智能科技有限公司 一种外部存储实时监控方法、系统、终端及存储介质

Similar Documents

Publication Publication Date Title
CN101901623A (zh) 外部存储系统、服务器和数据存储方法
US11775180B2 (en) Tape library emulation with automatic configuration and data retention
US9606740B2 (en) System, method and computer program product for synchronizing data written to tape including writing an index into a data partition
EP1720101B1 (en) Storage control system and storage control method
US7424582B2 (en) Storage system, formatting method and computer program to enable high speed physical formatting
US5089958A (en) Fault tolerant computer backup system
US20130159651A1 (en) Storage system and storage migration method
KR100615794B1 (ko) 소형 컴퓨터 시스템 인터페이스 타입 메모리 장치의 에뮬레이트 방법, 컴퓨터 시스템 및 컴퓨터 독출 가능 저장 매체
JP4325881B2 (ja) ディスクベースのテープライブラリとヴォールトシステムを用いたオフサイトマネージメント
US20060155944A1 (en) System and method for data migration and shredding
US20070245107A1 (en) System and method for processing a plurality kinds of event markers of a continuous data protection
CN102063348B (zh) 分区表信息备份方法和装置以及存储系统
US8024172B2 (en) Method and system for emulating tape libraries
US6862656B2 (en) System and method for exporting a virtual tape
CN101727291B (zh) 嵌入式一体化虚拟磁带库系统和方法
US7716440B2 (en) Storage system and management method thereof
CN201527641U (zh) 外部存储系统和服务器
CN110703995B (zh) 存储系统架构及其访问数据的方法
US7424572B2 (en) Storage device system interfacing open-system host computer input/output interfaces
Ito et al. Fujitsu is a remarkable company that can provide entire system solutions, including storage systems, and we will continue developing new technologies to provide our customers with the solutions they need.
Davis Software for Optical Archive and Retrieval (SOAR) user's guide, version 4.2
Nelson Virtual Backup Media

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20101201

C20 Patent right or utility model deemed to be abandoned or is abandoned