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

文档序号:6773692阅读:184来源:国知局
专利名称:外部存储系统、服务器和数据存储方法
技术领域
本发明涉及数据存储技术,尤其涉及一种外部存储系统、服务器和数据存储方法。
背景技术
外部存储系统通常指通过直连主机或数据存储网络技术为主机以及主机上的应 用提供数据存储与访问服务的存储系统。目前,外部存储系统的设计和实现主要基于1987年David A. Patterson, Garth A. Gibson以及Randy Katz等人提出的经济磁盘冗余阵列(Redundant Array of Inexpensive Disks, RAID)技术。对读写性能要求不高的外部存储系统,也可以采用磁带、光盘等无源介质作为载 体,并通过为这些无源介质配置自动加载装置(例如,磁带库、光盘库等)提供海量自动可 用容量(以下简称无源存储系统)。但是,无源存储系统的结构性缺点在于读写性能低,介 质无容错能力和失效报警能力,已越来越难以满足中、高端应用在数据量爆炸性增长趋势 下对存储访问性能的要求。基于磁盘RAID的外部存储系统(以下简称“RAID系统”)访问速度快、容量大,磁 盘介质之间具备互为容错的能力,当单个磁盘介质失效时可自动报警,解决了存储系统的 高可用问题。但是,当前基于磁盘RAID技术的外部存储系统的设计以读写效率(具体体现为每 秒输入/输出操作数(Input/Output Operations Per Second, I0PS))为中心,未充分考虑 存储系统的应用安全问题。磁盘阵列对于计算机系统来说体现为大容量的磁盘,可进行任 意读写操作,存储在其内的数据就存在被改写、删除或感染病毒的风险,因此其应用安全性 不足。RAID系统的另一个问题是其中存储的数据不能保证异机异地读取,或跨平台应 用。磁盘阵列在存储数据之前,需要被操作系统格式化。比如,其在Windows系统中可能为 新技术文件系统(New Technology File System,NTFS)格式,而在Unix系统中可能为Unix 文件系统(Unix File System,UFS)格式,于是在Windows系统中写入的磁盘阵列数据在 Unix系统中则无法识别和读取。

发明内容
为了克服现有技术中外部存储系统的应用安全性不足的问题,本发明的一方面提 供一种外部存储系统,包括存储单元,用于以预定格式存储数据;控制器,用于仿真无源存储设备以响应外 部指令和数据,基于外部数据读指令,从存储单元读取预定格式的数据,进行格式转换后输 出;和/或基于外部数据写指令,将接收的数据转换为预定格式的数据,存储于存储单元。根据本发明的外部存储系统的一个实施例,该控制器包括通讯控制中心,用于接 收外部指令或数据,将外部指令发送给指令处理中心,将外部数据发送给数据格式转换控制;接收指令处理中心返回的结果,或接收来自数据格式转换控制的数据,并输出;虚拟无 源存储设备管理模块,用于存储仿真无源存储设备和存储单元之间的对应信息,以及仿真 无源存储设备的状态信息;指令处理中心,用于接收来自通讯控制中心的外部指令,对外部 指令进行处理或者根据从虚拟无源存储设备管理模块获得的信息对外部指令进行处理后, 将处理结果返回通讯控制中心;数据格式转换控制,用于接收外部数据,将外部数据转换为 预定格式的数据后存储于所述存储单元,或者,将从存储单元读取的预定格式的数据转换 为无源介质格式的数据,发送到通讯控制中心。根据本发明的外部存储系统的一个实施例,控制器还包括无源介质数据处理模 块,用于将从通讯控制中心接收的无源介质格式的数据存储于辅助无源介质存储单元,或 者从所辅助无源介质存储单元读取数据,发送给通讯控制中心。根据本发明的外部存储系统的一个实施例,上述存储单元至少包括一个存储设备 对,用于相互数据备份;控制器还包括镜像管理控制模块,用于接收来自数据格式转换控制 的数据,并存储于存储设备对。根据本发明的外部存储系统的一个实施例,虚拟无源存储设备管理模块还用于通 过人机交互接口接收用户输入参数,对控制器进行配置或者操作。根据本发明的外部存储系统的一个实施例,存储单元上存储有控制器配置信息, 用于恢复外部存储系统状态。根据本发明的外部存储系统的一个实施例,仿真无源存储设备的状态信息包括只 读属性,当仿真无源存储设备被设置为只读时,控制器拒绝对仿真存储设备的修改或者写 操作。本发明的另一方面提供了一种包括上述外部存储系统的服务器。本发明的又一方面提供了一种数据存储方法,包括仿真无源存储设备以响应外部指令和数据;基于外部数据读指令,从存储单元读取预定格式的数据,通过格式转换为无源介 质格式后输出;和/或基于外部数据写指令,将接收的无源介质格式的数据转换为预定格式的数据,存 储于存储单元。根据本发明的数据存储方法的一个实施例,上述仿真无源存储设备以响应外部指 令和数据的步骤包括接收外部数据读指令,根据预置的仿真无源存储设备与存储单元的 地址对应信息,获得外部数据读指令在存储单元的读地址;或者接收外部数据写指令,根据预置的仿真无源存储设备与存储单元的地址对应信 息,获得外部数据写指令在存储单元的写入地址;将接收的外部数据写入存储单元后,更新 仿真无源存储设备的状态信息。根据本发明的数据存储方法的一个实施例,该方法还包括步骤基于外部数据写 指令,将接收的无源介质格式的数据存储于辅助无源介质存储单元;或者基于外部数据读指令,从辅助无源介质存储单元读取数据,并输出。根据本发明的数据存储方法的一个实施例,上述基于外部数据写指令,将预定格 式的数据存储于存储单元步骤包括基于外部数据写指令,通过镜像管理将预定格式的数 据存储于用于相互备份的多个存储单元。
5
根据本发明的数据存储方法的一个实施例,该方法还包括步骤从存储单元上读 取仿真无源存储设备与存储单元的地址对应信息;根据仿真无源存储设备与存储单元的地 址对应信息从存储单元读取数据。通过本发明提供的外部存储系统、服务器和数据存储方法,通过仿真无源存储设 备以响应外部指令和数据,解决了现有技术的外部存储系统的应用安全性问题。进一步解 决了存储数据的跨平台可读性问题。


图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(ATAttachment, AT附件设备)或SATA (Serial ΑΤΑ,串行ΑΤΑ)等物理层数据传输协议连接通 信。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),也可采用已有的无源介 质读写格式,如 IS09660、UDF (Universal Disc Format,统一光盘格式)、SEG (Society of Exploration Geophysicists,地球物理学勘探协会)格式、DLT (Digital Linear Tape, 数字线型磁带)格式、LTCKLinear Tape Open,线性磁带开放协议)格式、AIT(Adanced Intelligent Tape,先进智能磁带)格式等,或其衍生格式,例如Joliet,Romeo,SDLT (Super DLT,超级DLT)、SAIT (Super AIT,超级AIT)等。SSCS控制器0300并可通过内部文件拷贝 或格式转换的方式将一个SSCS存储单元内的数据复制到另一个SSCS存储单元。SSCS控制器0300的功能可以通过在服务器上加装控制软件实现,例如安装 Wind0WS、LinUX、UniX操作系统、或其剪裁版的服务器,或上述服务器的嵌入式版本,或通过 专用硬件系统实现,例如美国Ultera Systems, Inc.的Mirage系列控制器硬件平台等。采用热容错磁盘组(基于RAID1)、RAID阵列(基于RAID 1、3、4、5、6TP或相关热 冗余配置)作为存储单元时,SSCS系统具备RAID系统的设备安全性,具有高可用性。由于 主机/网络不能直接访问SSCS存储单元中的数据,主机/网络端人为误操作、软件冲突、系 统宕机、病毒等不能损坏SSCS存储单元中的数据;此外,在SSCS存储系统中,可通过SSCS 控制器设置部分SSCS存储单元为只读,例如将选择的SSCS存储单元ID号或LUN号设置为
7只读属性,不可写入,进一步确保这些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,以下简 称0SR0)的一个实施例。在该实施例中,SSCS控制器采用操作系统层可读的数据格式,例 如IS09660、UDF、SEG格式或其他自定义格式等。为简洁起见,该实施例的具体说明以SSCS 控制器采用IS09660数据格式为例进行说明,在这种情形下,SSCS系统对主机/网络体现 为虚拟光盘系统。图2示出本发明的0SR0存储系统的示意图。如图2所示,0SR0存储系统200包括 0SR0控制器300和磁盘存储设备240,可选地,还包括光盘存储设备250。如果不接光盘存 储设备250,则由0SR0控制器300和磁盘存储设备240构成一个完整的可单独使用的SSCS 存储系统。通过增加光盘存储设备250,0SR0存储系统具备读写物理光学存储设备的相关 功能。磁盘存储设备240可以是单个磁盘、磁盘组或磁盘阵列设备。所采用的磁盘介质 接口类型可以为ATA、SATA、SCSI、SAS、FC等。磁盘装卸方式可采用磁盘抽拔盒或磁盘托架 抽拔,也可直接采用RDX可移动磁盘。也可在0SR0控制器300中实现磁盘RAID功能,从而 可以直接插入磁盘介质作为存储载体,无须连接磁盘阵列设备,从而大大降低成本。光盘存 储设备250可以是⑶-R、⑶-RW、DVD-R、DVD-RW、MO或UDO等光盘驱动器,或由这些光盘驱 动器构成的光盘塔、光盘库。图3是图2所示的0SR0存储系统的系统结构图。其中,0SR0控制器300是0SR0 存储系统的核心。本实施例中0SR0控制器300的硬件载体,可根据系统的总体要求,在以 下硬件平台中任意选择=Linux或Unix系统的服务器、经过裁剪的Linux或Unix系统的服
8务器、嵌入式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。
9
需要指出,在图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)。“介质移动”指令完成一个由虚拟机械手将虚拟光盘从虚拟光盘槽中取 出后放入虚拟光学驱动器中,或者从虚拟光学驱动器中取出后放入虚拟光盘槽中的过程。 比如,当前目标虚拟光学驱动器中没有虚拟光盘,或者其中的虚拟光盘不是目标虚拟光盘,
11此时就需要服务器/计算机系统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)。虚拟光学驱动器和
12虚拟机械手根据人机交互界面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对 应的虚拟光盘介质状态等。
13
步骤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标识号,若发现两
14块磁盘的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、磁盘11/0接口 1340和磁盘21/0接 Π 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 禾P ATA 等。磁盘11/0接口 1340和磁盘21/0接1350分别提供RVT存储设备控制器1300与 磁盘1设备1240之间、RVT存储设备控制器1300与磁盘2设备1250之间的通讯通道,可 采用 SCSI、Fibre Channel、SAS, SATA, IDE 和 ΑΤΑ 等高速数据传输接 口。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主要包含仿真磁带驱
16动器总数、正在使用数量、空闲数等简单状态统计信息,并通过指针指向仿真磁带驱动器信 息表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,按照程序中指定地址生成规则计算所要模拟的磁带驱动器和机械手地
17址信息,并验证它们之间是否冲突,若有冲突,根据失败情况判断其原因并报告给用户(步 骤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中读数据的操作过程。本发明的外部存储系统和数据存储方法,通过仿真无源存储设备以响应外部指令 和数据,主机/网络不能直接访问存储单元中的数据,不会因为主机/网络端人为误操作、 软件冲突、系统宕机、病毒等损坏存储单元中的数据,具有较高的应用安全性。此外,在存储 系统中,可通过控制器设置部分或者全部存储单元为只读,进一步确保存储单元上的数据 不会被主机/网络端的诱因所损坏,进一步增加了应用安全性。本发明的外部存储系统对主机/网络体现为虚拟无源存储设备,外部存储系统的 控制器负责控制存储单元的物理读写方式,保证存储单元的数据存储方式与主机/网络的 数据使用格式无关,从而使得存储的数据能够异机异地读取,或跨平台应用。此外,每个存 储单元可以保存有完整的原有控制器配置信息,当将存储单元连接任意同类型的控制器 后,控制器可以根据存储单元上存储的配置信息,将其恢复为原存储系统状态,这样,本发 明的外部存储系统提供了数据在异机异地与跨平台读取的功能,实现存储数据的跨平台互 通性。本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明 限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描 述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理 解本发明从而设计适于特定用途的带有各种修改的各种实施例。
19
权利要求
一种外部存储系统,其特征在于,包括存储单元,用于以预定格式存储数据;控制器,用于仿真无源存储设备以响应外部指令和数据,基于外部数据读指令,从所述存储单元读取所述预定格式的数据,进行格式转换后输出;和/或基于外部数据写指令,将接收的数据转换为所述预定格式的数据,存储于所述存储单元。
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所述的数据存储方法,其特征在于,还包括当接收到所述外部数据写指令时,判断要被写入数据的所述仿真无源存储设备是否被 设置为只读属性,如果是,则拒绝对所述仿真存储设备的修改或者写操作。
全文摘要
本发明涉及数据存储领域,提供了一种外部存储系统、服务器和数据存储方法。该外部存储系统包括存储单元,用于以预定格式存储数据;控制器,用于仿真无源存储设备以响应外部指令和数据,基于外部数据读指令,从存储单元读取所述预定格式的数据,进行格式转换后输出;和/或基于外部数据写指令,将接收的数据转换为预定格式的数据,存储于存储单元。本发明的外部存储系统、数据存储方法和服务器,解决了现有技术中存储系统的应用安全性问题,以及异机异地读取,或跨平台应用问题。
文档编号G11B33/00GK101901623SQ20091014343
公开日2010年12月1日 申请日期2009年5月25日 优先权日2009年5月25日
发明者钱海鹏 申请人:奥泰瑞系统技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1