CN104956310A - 存储系统和用于分配资源的方法 - Google Patents

存储系统和用于分配资源的方法 Download PDF

Info

Publication number
CN104956310A
CN104956310A CN201380071281.3A CN201380071281A CN104956310A CN 104956310 A CN104956310 A CN 104956310A CN 201380071281 A CN201380071281 A CN 201380071281A CN 104956310 A CN104956310 A CN 104956310A
Authority
CN
China
Prior art keywords
hardware resource
management table
distribution management
resource
piece
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.)
Granted
Application number
CN201380071281.3A
Other languages
English (en)
Other versions
CN104956310B (zh
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN104956310A publication Critical patent/CN104956310A/zh
Application granted granted Critical
Publication of CN104956310B publication Critical patent/CN104956310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

在传统的统一存储系统中,用于块存储的I/O和用于文件存储的I/O在不被区分的情况下在单个OS中被处理,从而使得不可能执行用于快速故障检测或者用于诸如通过直接监视硬件来调整性能之类的增强性能的处理。本发明通过使块存储侧OS和管理包括除块存储侧OS之外的文件系统的多个系统的OS群组在存储系统中共存来解决该问题,其中管理包括除块存储侧OS之外的文件系统的多个系统的OS群组被管理程序虚拟化,其中块存储微控制器和管理程序在执行处理时可以合作。

Description

存储系统和用于分配资源的方法
技术领域
本发明涉及存储系统和用于分配资源的方法。
背景技术
向主机计算机提供大规模数据存储服务的计算机系统已被提供。已知这样的系统包括主机计算机、该主机计算机与之相连的存储子系统以及该存储子系统的管理设备。存储子系统经由RAID(独立/廉价盘冗余阵列)配置管理多个硬盘。系统使在多个磁盘中包括的物理存储区域逻辑化,并且将它们作为逻辑卷提供给主机计算机。主机计算机访问这些逻辑卷并且请求对数据的读和写。
作为近来的技术趋势,存在对缩减存储子系统空间、削减操作管理成本、有助于维护以及高效利用CPU和其他资源的需求。与此一道,作为能够经由单个机器对应于诸如FC(光纤通道)、iSCSI、FCoE(以太网光纤通道)和NAS(网络附加存储)之类的多种协议的集成存储子系统的统一存储系统正在引起注意。集成机器的优点是其使能元件的直接连接、抑制开发成本,并且确保性能。
另外,在逻辑上划分在与网络相连并且接收文件访问的存储系统(诸如NAS)中包括的硬件资源并且独立地操作各个逻辑分区(虚拟存储子系统)的技术是已知的(参考专利文献1)。
引用列表
专利文献
PTL1:日本专利申请特开第2005-128733号(美国专利公开第2005/0091454号)
发明内容
技术问题
根据传统的集成存储系统,用于块存储的I/O和用于文件存储的I/O在处理其的单个OS内不被区分。因此,根据现有技术的块存储子系统,用于增强性能的处理无法被执行。例如,在块存储子系统中,可以通过经由实时OS立即检测到故障来增强系统的可靠性,或者可以通过直接监视硬件的操作来实现对性能的调整,但是在单OS配置中,这样的处理无法被执行。
因此,本发明的目的是提供能够充分利用块存储子系统的高性能的存储系统,以及提供用于在这样的系统中分配资源的方法。
问题的解决方案
本发明提供了使用诸如用于块存储的OS和除用于块存储的OS之外的用于文件系统的OS之类的多个OS来提供服务的统一存储子系统。换言之,本系统使用用于块存储的OS基于块接口来提供服务,以及使用用于文件系统的OS(诸如搜索系统或者视窗(Windows))基于文件接口来提供服务的系统。本发明的用于解决现有技术的问题的主要方面在于作为实时OS的用于块存储的OS与用于文件系统的OS分离。
另外,因为多个OS在单个外壳(housing)内共存,所以存储子系统可以具有协同操作的多个OS。
另外,为了实现充分利用高端存储子系统的优越功能的统一存储子系统,有必要分配高端存储子系统针对操作所需的CPU和存储器。因此,本发明提供了用于定义(分配)使得高端存储子系统能够发挥其优越性能的硬件资源的方法。
根据本发明,提供了其中多个OS共存的配置。首先,OS被分为块存储微控制器(块存储侧OS)和除块存储之外的OS,其中除块存储之外的OS在管理程序(hypervisor)中形成。管理程序是能够实现用于并行执行多个不同OS的虚拟环境的软件。
块存储微控制器和管理程序的处理被以合作方式执行。
存储数据的存储子系统构成高端存储子系统,并且块存储微控制器执行处理。
发明的有利效果
通过根据本发明执行硬件资源定义,使在不浪费资源并且不使相应的处理效率和性能劣化的情况下操作系统变为可能。
因为资源被首先分配给块存储微控制器的控制,所以存储微控制器侧的性能可以被确保。这导致确保总体系统的性能。处理的能力和块存储微控制器侧的功能可以被有效地利用。
附图说明
[图1]图1是用于在统一存储子系统中分配硬件资源的方法的概念图。
[图2]图2是用于分配资源的方法的不同概念图。
[图3]图3示出了存储系统中的硬件的总体配置图的示例。
[图4A]图4A是示出了其中第二存储子系统被耦合到统一存储系统的示例的视图。
[图4B]图4B是示出了其中第三存储子系统经由SAN而被耦合到统一存储系统的示例的视图。
[图5]图5是用于描述存储系统的操作的硬件和软件的图像视图。
[图6]图6是示出了到块存储侧的I/O处理的流程的概要的视图。
[图7]图7是示出了作为除块存储之外的I/O处理的示例的当FOS接收I/O时的处理的概要的视图。
[图8A]图8A示出了作为存储在块存储微控制器中的硬件资源管理信息的硬件资源管理表的示例。
[图8B]图8B示出了作为存储在管理程序中的硬件资源管理信息的硬件资源管理表的示例。
[图8C]图8C示出了作为存储在除块存储之外的每个OS中的硬件资源管理信息的硬件资源管理表的示例。
[图9]图9示出了目录设备信息表的示例。
[图10]图10是用于描述与块存储微控制器侧共享命令的视图。
[图11A]图11A示出了用于向块存储子系统侧分配硬件资源的处理。
[图11B]图11B示出了用于向除块存储之外的OS分配硬件资源的处理。
[图11C]图11C示出了用于分配硬件资源的另一处理。
[图12]图12示出了用于定义当资源被添加时的配置的处理。
[图13]图13是示出了用于向除块存储之外的目标动态地重新分配块存储的硬件资源的处理的流程图。
[图14]图14是用于向块存储侧动态地重新分配由除块存储之外的系统使用的硬件资源的处理的流程图。
[图15]图15是示出了对块存储侧执行的写处理的流程图。
[图16]图16是示出了对块存储侧执行的读处理的流程图。
[图17]图17是示出了在存储子系统内存在故障程序处的区域的视图。
[图18]图18是根据另一实施例的存储系统的硬件的总体配置图。
[图19]图19示出了对FOS侧执行的写处理的流程图。
[图20]图20是对FOS侧执行的读处理的流程图。
[图21]图21是与在块存储侧专用硬件中发生的故障有关的视图。
[图22]图22是示出了在除块存储侧之外的共享硬件中发生的故障的视图。
[图23]图23是示出了存储与故障监视有关的信息的信息管理表的视图。
具体实施方式
现在,将参考附图来描述本发明的优选实施例。在本说明书中例示的实施例仅仅是用于实现本发明的示例,并且并非旨在以任何方式限制本发明的技术范围。各个附图中的共有组件用相同的编号来表示。
在以下描述中,根据本发明的各种信息以“表格”格式被描述,但是这些信息可以经由诸如列表、DB(数据库)和队列之类的除表格之外的数据结构来表达。为了指示信息并不依赖于数据结构,“表格”、“列表”、“DB”和“队列”有时被简称为“信息”。诸如“标识信息”、“标识符”、“姓名”和“ID”之类的表述可以用于描述相应的信息的内容,并且这些术语是可以相互替代的。
有时使用术语“程序”作为主题来描述处理。由用于使用存储器和通信端口(通信控制单元)来执行确定处理的处理器执行该程序,从而使得处理器也可以用作处理的主题。使用程序作为主题来描述的处理也可以被设置为由诸如管理服务器之类的计算机和信息处理设备执行的处理。程序的一部分或者全部可以经由专用硬件来实现,或者可以被形成为模块。各种程序可以例如经由程序分发服务器或者存储介质而被安装到相应的计算机。
图1图示了与用于在块存储微控制器侧和除块存储微控制器侧之外的控制侧分配硬件资源的方法有关的统一存储系统的概念视图。多个OS在统一存储系统内共存。与统一存储系统连接的所有硬件当中的“一部分硬件”以“优先化方式”被分配给特定OS。在本示例中,特定OS是块存储微控制单元。尚未被分配给块存储微控制单元的剩余硬件被分配给除块存储微控制单元之外的OS。
在图1中,存在除块存储微控制单元之外的多个OS,并且作为用于虚拟化多个OS的软件,硬件资源经由管理程序被分发。在本示例中,作为执行逻辑分区的技术的LPAR(逻辑分区)被用于执行分配。管理程序向目标OS同时分配可分配的硬件资源。
硬件资源例如包括控制处理器(CPU)、端口、用于监视故障的硬件、存储器,以及作为存储设备的诸如硬盘之类的盘。
在现有技术中,在向存储子系统分配硬件资源时,当正在识别的硬件当中被分配的硬件(在下文中还包括正被使用的状态)被定义并且存储在存储子系统中时,硬件将进入可使用状态。未正在被存储子系统分配的剩余资源被识别为未正在被使用的“空闲(vacant)”状态。“空闲”状态下的资源例如可以被用于代替在使用期间经历故障的硬件元件,或者在存在系统的性能或者容量的缺乏时用于扩展。
然而,根据本发明的存储系统,尚未被块存储微控制器分配的资源将不会被用作块存储子系统的资源,并且它们不是“空闲”资源,从而使得基本上它们稍后无法被块存储微控制器使用。根据现有技术的系统配置,这样的资源状态不发生,资源无法被存储子系统识别为“空闲”状态。
图2是不同的资源分配方法的概念图。该附图图示了统一存储系统的配置,其中多个OS共存,并且例如存在单个OS1和一个或多个OS2。
在说明书中,块存储微控制器被示出为用于经由块接口提供服务的示例,并且文件系统、搜索系统或者更广泛的视窗是经由文件接口提供服务的系统的示例。在虚拟化程序中被操作的系统(换言之,管理程序)被示出为用于经由文件接口提供服务的系统。
图3是示出了在存储系统中包括的硬件的总体配置图的示例。
该系统包括客户端设备101A和101B、至少一个管理设备(管理计算机)20以及这些设备与之相连的至少一个存储子系统30。存储子系统30也可以被称作存储系统,或者统一存储系统。
客户端设备101A和101B是使用存储子系统30的外部计算机。客户端设备101B是请求针对存储子系统30写、读和生成文件的文件客户端设备。客户端设备101A是访问存储子系统30的逻辑存储资源的块客户端设备。实际的设备例如包括个人计算机。
客户端设备101A和101B配备有输入设备、输出设备、CPU、存储器以及主机适配器或者网络适配器。主机适配器或者网络适配器经由存储子系统30以及网络106和107传输和接收数据。
客户端设备101A可以是具有作为块接口的FC(光纤通道)或者iSCSI的服务器设备。客户端设备101B可以是具有作为文件接口的NFS或者CIFS的设备。
管理设备20管理存储子系统30的存储区域的配置。管理设备20由以下元件组成。
输入设备210接收来自操作管理设备20的管理员等的输入,并且由键盘等组成。输出设备220显示管理设备20或者正被设置的项目的状态,并且由显示单元等组成。
CPU 230将存储在盘驱动器260中的管理程序读取到存储器240,并且基于该程序来执行对存储子系统30的管理处理。存储器240由RAM等组成,并且存储程序和数据。
网络适配器250经由管理网络108针对客户端设备101A和101B或者存储子系统30传输和接收数据。管理网络108例如由以太网(注册商标)组成。盘驱动器260由例如存储数据和程序的硬盘设备组成。
存储子系统30将数据存储在设置在物理设备34中的存储区域中。
存储子系统30包括至少一个控制处理器、存储器和物理设备34,并且更准确的说包括作为控制处理器的CPU(中央处理单元)31、存储器32、盘接口33、作为FC接口(其是HBA目标,也被称作主机适配器)的HBA(主机总线适配器)35,以及作为LAN接口的NIC(网络卡)36。
CPU 31、存储器32、HBA 35、NIC 36和盘接口33经由总线37相互连接。总线例如是PCI-EX或者可以由交换机组成。
CPU 31是执行在存储器32中存储的各种程序和模块的算术处理单元。CPU(控制处理器)31控制向以物理设备34组成的存储区域存储数据。
存储器32是所谓的内部存储设备,其包括存储在CPU(控制处理器)31中被操作的程序和配置信息的非易失性存储器以及用于临时存储算术处理的结果的易失性存储器。存储器32内的非易失性存储器由硬盘和闪存组成。存储器32内的高速缓冲存储器部分临时存储由物理设备34写或者读的数据。共享存储器部分对存储子系统30或者物理设备34的配置信息进行存储。
盘接口33针对物理设备34、存储器32等发送和接收数据。
物理设备34由多个盘设备组成。盘设备(存储设备)例如由硬盘驱动器组成,并且主要存储用户数据。存储设备可以是由诸如闪存之类的半导体存储器构成的驱动器。
HBA 35被连接到网络106,并且经由适合于数据传输的协议来执行针对块客户端设备101A(或者主机计算机)的命令和数据的传输和接收。网络106可以是FC(光纤通道)、以太网等。
NIC 36被连接到网络107,并且经由诸如NFS和CIFS之类的协议来执行针对文件客户端设备101B的命令和数据的传输和接收。网络107可以是LAN或者以太网。
多个端口被提供给单个HBA和NIC。
客户端设备101A和101B经由管理网络108针对管理设备20传输和接收用于系统管理所需的数据(管理信息)。
存储子系统30配备有维护管理接口39。接口39经由与总线37不同的网络38而被连接到控制处理器31。网络例如可以是LAN。如果故障在存储子系统30中除CPU之外的部分处发生,则故障可以经由CPU 31而被通知给管理设备20。
程序不仅可以被存储在存储器32中而且可以被存储在物理设备34中。
图18图示了根据本发明的另一实施例的存储系统的硬件的总体配置图。
根据这一另一实施例,两个控制器板41被布置在存储子系统30内。被安装在控制器板41A上的控制处理器31A经由线路42而被连接到安装在控制器板41B上的控制处理器31B。线路42可以是诸如专用总线或者交换机之类的连接机构。例如,控制处理器31A可以使用这一线路42经由控制处理器31B来访问对应的存储器32B。
集群50包括控制器板41、作为主机侧接口的HBA 35、NIC 36、盘接口33,以及作为维护管理接口的NIC 39。
正常的集群服务器配置经由在除集群50A中的块存储微控制之外的管理程序中操作的OS和在除集群50B中的块存储微控制之外的管理程序中操作的OS而被构成。例如,在作为使用文件系统的OS的FOS的情况下,集群50A的某一FOS和集群50B的某一FOS预先构成集群配置,其中主集群50A中的FOS和次集群50B中的FOS经由诸如心跳之类的手段不断地确认另一FOS在某些时间单位内是否正常操作。当次集群50B中的FOS检测到在主集群50A侧上的文件系统中已经发生故障时,集群50B确定整个集群50A的FOS已经失效,并且集群50B的FOS接管集群50A的FOS的处理以继续操作,由此实现故障转移处理。通过采用这样的配置,整个系统的可靠性可以被增强。
块存储微控制器314作为跨集群50A和集群50B的单个共有控制器而被操作。换言之,集群50A的处理器和集群50B的处理器通过参考单个控制信息来操作。
根据另一变体,线路42能够实现仅在控制处理器31A和31B中的块存储微控制器314之间的通信,其中由块存储微控制器314A使用的存储器31A和由块存储微控制器314B使用的存储器31B在块存储微控制器314A和314B之间被共享,并且存储器31A和31B的内容可以相同。
图4图示了统一存储系统的总体配置的变体示例。例如,外部存储系统可以被耦合到统一存储系统(图4A)。统一存储系统30A具有外部连接功能。第二存储子系统30B可以经由这一功能在外部被连接到统一存储系统30A。外部连接功能在日本专利第4704659号中被公开。
现在,我们将描述外部连接功能。第二存储子系统30B可以与统一存储系统30A相同或者与之不同。另外,统一存储系统30A对应于图3中示出的存储子系统30。
如已经描述的,统一存储系统30A向服务器提供一个或多个逻辑卷。每个逻辑卷被识别为来自服务器的单个存储设备。例如,由统一存储系统30A提供的逻辑卷与统一存储系统30A内的物理设备34(或者从物理设备34创建的虚拟设备)相关联。在这种情况下,当统一存储系统30A接收到对逻辑卷的写命令时,数据被存储在与逻辑卷相关联的物理设备34中。
另外,由统一存储系统30A提供的逻辑卷可以与第二存储子系统30B内的物理设备34B相关联。在这种情况下,当统一存储系统30A接收到对逻辑卷的写命令时,用于将数据写入与逻辑卷相关联的物理设备34B的写命令被生成。统一存储系统30A将生成的写命令发送到第二存储子系统30B。第二存储子系统30B基于从统一存储系统30A接收到的写命令将数据存储在物理设备34B中。
如描述的,用于将存储在由统一存储系统30A提供的逻辑卷中的数据实际存储在被连接在统一存储子系统30A外部的第二存储子系统30B中的功能被称为外部连接功能。
另外,统一存储系统30A可以被连接到SAN或者其他外部网络。图4B图示了一个示例,其中统一存储子系统30A经由SAN在外部连接到第三存储子系统30C。
图5示出了用于描述存储系统的操作的硬件和软件的图像视图。为了简化,仅图示了用于描述图3的硬件配置所必需的部分。
相应的OS和块存储微控制单元在作为控制处理器的CPU的核心内操作。实际上,OS是被存储在存储器中的程序,并且该程序被CPU读取并且在其中操作,但是为了描述,每个OS被图示出为被布置在核心中。通常,在单个CPU的封装内存在多个核心,并且为了提供用于对故障等做出响应的冗余,封装的数目被以二为单位增加或者减小。换言之,最小配置中的封装数目是二。作为对处理器核心的使用的示例,相同类型的OS可以被集中在单个封装中,或者OS可以被分散以使得能够分为物理封装。可以通过考虑是否要确定性能、可用性等的优先次序来进行设计。
因为管理程序也是软件,所以其被存储在存储器中。因为管理程序在每个OS中被操作,所以其不对应于每个核心,从而使得其存储除块存储微控制器之外的OS。在图5中,多个核心位于某一控制处理器31或者封装中,并且FOS 311A、搜索系统312、视窗315和块存储微控制器314A和314B被布置到每个核心。
管理程序313被组装到FOS 311A、搜索系统312和视窗315中的每个。在管理程序313中,FOS 311A、搜索系统312和视窗315被操作。在一些情况下,其他FOS 311B和其他系统313被布置在另一控制处理器中。在这种情况下,管理程序313可以使FOS 311B和另一系统OS 313在其中操作,或者在另一管理程序313B中操作。在这里,FOS指的是使用文件系统的OS。
管理程序也可以在特定核心中被操作。
诸如非易失性存储器和易失性存储器之类的具有不同属性的存储器可以存在于作为存储器的混合物中。在任何情况下,存储器被复制以保持冗余。存储器包括存储子系统的配置信息、诸如请求命令和地址映射信息之类的控制信息以及用于存储读/写数据的高速缓冲存储器类元件。
用于存储控制信息(或者配置信息)的存储器和以高速缓冲存储器类目的用于存储数据的存储器应当使将被使用的区域在逻辑上或者在物理上被划分。存储器可以包括不同类型的存储器,诸如非易失性存储器和易失性存储器。存储控制信息的存储器和用于高速缓冲存储器类目的的存储器应当针对每个块存储微控制器、FOS和使用该存储器的其他OS使得将被使用的区域在逻辑上或者在物理上被划分。
图5图示了存储器32的分配示例。存储器32是由用于存储控制信息的存储器321和用于存储数据的存储器322组成的物理划分的存储器。存储器321和322通过按照地址空间划分而被使用以对应于正被使用的每个OS。每个OS都能够仅识别分配给其的存储器空间。例如,FOS 311A仅识别FOS 3211A和FOS 3221A的空间,并且使用这些空间。FOS程序被存储在FOS 3211A和FOS 3221A中。
存储器321的块存储微控制单元3214存储经由处理器31被读取和执行的各种程序、与逻辑卷的设置有关的配置信息以及与池的设置有关的池信息。传送数据等被存储在存储器322的块存储微控制单元3224中。
经由控制处理器31被读取和执行的各种程序包括以下。
命令控制程序解释来自客户端设备101或者管理设备20的命令,并且执行在命令中陈述的处理。配置控制程序实现诸如存储子系统30的配置的设置或者其更新之类的处理。盘I/O程序控制对物理设备34的访问。
配置信息是设置诸如虚拟设备、逻辑设备、层和RAID群组之类的存储系统的环境所必需的信息。另外,地址管理表和逻辑设备管理表被存储作为配置信息。
地址管理表包括在目标设备、逻辑设备、虚拟设备和物理设备之间的地址映射信息、目标设备和逻辑设备的映射信息、逻辑设备和虚拟设备的映射信息,以及虚拟设备和物理设备的映射信息。
存储子系统30可以通过参考地址管理表来识别逻辑设备的哪个地址对应于目标设备的地址。另外,存储子系统30可以识别虚拟设备的哪个地址对应于逻辑设备的地址。另外,存储子系统30可以识别虚拟设备的地址属于哪个RAID群组,以及虚拟设备对应于哪个物理设备的哪个地址。
通过块存储的控制来确定是将数据存储在某个物理位置中还是经由容量虚拟化功能来存储数据。
当块存储侧硬盘被使用时,存储位置可以通过区分硬盘是块还是FOS的I/O而被确定。
图6示出了当对块存储侧的I/O被接收到时的处理的流程的概要。将参考图15的流程图来描述该处理。
块客户端设备101A输出对P#1的写请求,P#1是HBA 35的#0端口(S610)。以下处理经由控制处理器31(处理器板内的单个核心)内的块存储微控制器314B单元被执行。诸如FOS之类的除块存储OS之外的OS也被布置在控制处理器31中,但是它们与执行无关。块存储微控制器识别命令的类型。如果命令是写命令,则过程前进到S612,并且如果命令是读命令,则过程前进到S642(S611)。
当前述请求被存储在HBA 35的缓冲区域中时,块存储微控制器将经受写请求的数据转换为将被存储的地址,即,转换为能够被块存储处理的形式的命令。在这里,块存储被转换为被提供给服务器的LU和地址编号(S612)。块存储微控制器将转换后的命令存储到其自身的存储器区域(S614)。在存储期间,数据也经受冗余处理,诸如双工处理。
命令控制程序执行LU-逻辑设备-虚拟设备地址转换(S616)。此后,执行对写目标地址是否被分配在高速缓冲存储器中的命中未命中确定(S617)。
如果命中未命中被确定(如果高速缓冲存储器未被分配给写目标地址)(S617:否),则命令控制程序分配用于存储写数据的高速缓冲存储器区域(S618)。
接下来,命令控制程序向块客户端设备101A报告数据接收准备已做好准备(S620)。
当命令控制程序接收到来自块客户端设备101A的传送数据时,该程序将数据存储在分配的高速缓冲存储器中(S624),并且将写完成报告发送到块客户端设备101A(S626)。
块存储微控制器将请求存储在处理备用队列中(S630)。块存储微控制器顺序地从处理备用队列提取请求,并且依次对其进行处理。这是与根据现有技术的块存储数据的处理相同的流程。换言之,命令控制程序执行虚拟设备-物理设备/外部LU地址转换(S632)、计算存储写目标数据的介质的地址(S634),并且将存储在高速缓冲存储器中的数据写到介质地址(S636)。
存储器3214B存储用于排队的I/O队列以顺序地处理请求命令。存储器3224B存储用于存储数据的高速缓冲存储器、用于CPU操作的缓冲器等。
以类似方式执行读处理。在图16中示出了该处理的流程图。
该处理在命令被接收到之前与写处理相同。
块客户端设备101A发出读请求。从S644到S648的处理与前述处理S612到S616相同。
命令控制程序执行LU-逻辑设备-虚拟设备地址转换,并且执行对读目标地址的数据存在于高速缓冲存储器中与否的命中未命中确定(S650)。
如果读目标地址的数据在高速缓冲存储器中(S650:是),则命令控制程序将高速缓冲存储器中的数据传送到块客户端设备101A(S660),并且向块客户端设备101A通知完成(S662)。
如果读目标地址的数据不在高速缓冲存储器中(S650:否),则命令控制程序执行虚拟设备-物理设备/外部LU地址转换(S652),计算存储读目标数据的介质的地址(S654),并且启动介质访问程序。
介质访问程序从计算出的介质地址读取数据,将其存储在高速缓冲存储器中(S656),并且向命令控制程序通知数据已被存储到高速缓冲存储器(S658)。当来自介质访问程序的通知被接收到时,命令控制程序将高速缓冲存储器中的数据传送到块客户端设备101A(S660),并且通知完成(S662)。
如上所述,对块存储侧的I/O的处理不经过管理程序。因此,由于经过管理程序而发生的开销被消除,并且性能的劣化被抑制。
作为不指向块存储的I/O的示例,图7图示了当FOS接收到I/O时的处理的流程,其将参考图19的流程图被描述。
文件客户端设备101B向端口发送写请求(S710)。在附图中,请求被发送到NIC 36的#0的端口P#2。FOS 311A识别命令的类型。如果命令是写命令,则过程前进到S712,并且如果命令是读命令,则过程前进到S752(S711)。请求的形式包括对文件系统的写请求,或者采用目录信息形式的请求。
NIC 36的#0的端口P#2将请求传送到分配的OS(S712)。在图7中,FOS 311A将写请求存储在由FOS专用的存储器中。
用于存储写数据的缓冲区域被从存储器322的FOS区域分配(S714)。当区域被分配时,通知分配的报告被发送到文件客户端设备101B(S716)。已经接收到该报告的文件客户端设备101B将写数据传送到FOS(S718)。
当管理程序虚拟地提供HBA并且将请求存储在虚拟HBA中时,FOS将请求命令转换为LU编号和地址(S720)。请求被以转换后形式存储在存储器中。现在,虚拟HBA例如是被安装在FOS控制存储器内的软件。存储请求的存储器例如被定义为块存储微控制器和FOS的共享区域,并且被设置为可以从块存储微控制器和FOS两者访问的存储器区域。此后,块存储微控制器可以直接读取存储的请求命令并且开始处理。作为另一方法,系统没有共享区域,并且FOS将请求从FOS区域复制到块存储微控制器区域,或者切换块存储微控制器和FOS的存储器区域。
为了向块存储微控制器侧通知对FOS侧的请求已经被存储在共享区域中,要么中断被从FOS侧发送到块存储微控制单元,要么块存储微控制单元按照给定间隔检查请求队列并且如果处理备用命令存在则选择请求并且执行处理(S722)。
在以下处理中,地址转换与S616的处理类似地被执行并且此后经由块存储微控制器执行(S724),以执行命中-未命中确定(S726)。如果高速缓冲存储器被分配,则报告被发送到FOS侧以传送数据(S730),数据由此被从FOS传送到块存储侧(S732),其中数据被存储在块存储微控制器侧的高速缓冲存储器中(S734)。
实际上,数据传送通过从由存储数据的FOS使用的存储器地址到由块存储使用的存储器地址的数据的存储器间复制而被执行。在另一示例中,存储将被管理的数据的存储器区域和复制目的地块存储微控制器侧的存储器区域的地址被转换。如果复制源和复制目的地的物理数据存储地址相同,则可能不发生实质的数据复制处理。在这种情况下,管理程序内的程序执行处理以假定数据被存储在另一区域中并且被复制到该另一区域。
如果块存储侧高速缓冲存储器被分配并准备,则通知被发送到FOS侧以开始数据传送。要么中断被从块存储微控制器发送到FOS,要么消息被发送。
已经接收到请求的FOS侧在数据被存储在其自身的存储器区域中的情况下将数据复制到块侧存储器,并且在数据未被存储在其自身的存储器区域中的情况下使写数据被从文件客户端设备发送到其。
如果写数据被存储在块存储微控制器侧的高速缓冲存储器中,则完成报告被发送到FOS侧(S736)。FOS接收来自块存储微控制器侧的完成报告,并且向文件客户端设备通知写完成(S737)。
S738和其后的处理类似于图15的步骤S630和其后的处理。
读处理被类似地执行。图20图示了其流程图。
命令接收之前的步骤类似于写处理。
文件客户端设备101B发出读请求。S754到S764的处理与S712到S724的处理相同。
命令控制程序执行LU-逻辑设备/虚拟设备地址转换(S764),并且执行对读目标地址的数据被存储在高速缓冲存储器中与否的命中-未命中确定(S766)。
如果读目标地址的数据被存储在高速缓冲存储器中(S766:是),则命令控制程序将高速缓冲存储器中的数据传送到FOS(S776),并且向FOS报告完成(S780)。
如果读目标地址的数据不在高速缓冲存储器中(S766:否),则命令控制程序执行虚拟设备-物理设备/外部LU地址转换(S768),计算存储读目标数据的介质的地址(S770),并且启动介质访问程序。
介质访问程序从计算出的介质的地址读取数据并且将其存储在高速缓冲存储器中(S772),并且向命令控制程序通知数据已被存储在高速缓冲存储器中(S774)。
当命令控制程序从介质访问程序接收到通知时,其将高速缓冲存储器中的数据传送到FOS(S776),并且发出完成报告(S780)。
到FOS侧的数据的传送实际上是经由存储器间复制而被执行。这一处理类似于在写处理期间执行的处理。FOS认识到数据已被传送,即数据已被存储在其自身的区域中,或者认识到数据已被存储在存储器的共享区域中(经由与写处理类似的方法)(S778)。FOS将数据传送到文件客户端设备101B(S782)。
作为另一实施例,高速缓冲存储器不仅被布置在块微存储侧上而且被布置在FOS侧上。在这种情况下,在FOS侧也执行高速缓冲存储器命中未命中确定。如果数据已经存在于FOS侧高速缓冲存储器中,则数据在读请求期间被原样传送并且处理可以完成。在写请求的情况下,处理可以在写数据被存储在FOS侧上的高速缓冲存储器中时的时刻完成,或者可以在写数据被存储在块存储侧高速缓冲存储器中时的时刻完成。
在图6和图7的处理中,由块存储微控制单元处理的请求队列可以被组装。在S614中存储的请求可以被录入到共享区域3220中的队列。另外,当在S738中将请求临时存储在共享区域3220中之后,请求可以被录入到块存储微控制器3214A中的请求队列。
在正常的FOS中,HBA被保持在硬件中,转换为SCSI命令并且经由到存储子系统侧的FC I/F和SAN被访问。如所描述的,根据集成存储系统配置,昂贵的HBA变为不必要,并且配置内的直接连接被实现,从而使得成本可以被降低并且性能可以被增强,这是因为无需在其间提供SAN。
图8图示了硬件资源管理表的示例。
基于这一信息,可以识别哪个硬件被操作或者由于故障而被关闭,以及使用该硬件的OS或者块存储。
图8A示出了块存储微控制器存储的硬件资源管理信息801A。这一信息与被布置在存储子系统30中的整个硬件资源有关。该表对存储CPU编号的资源名称802A、用于每个CPU的核心编号803A,以及关于其是否在块存储侧上被定义的信息804A进行存储。
在804A中,针对由块存储使用的资源存储“定义”,并且针对其未使用的资源存储“未定义”。CPU 1和CPU 2因为它们被块存储使用而存储“定义”。CPU 3因为其未被块存储微控制器分配而存储“未定义”,并且认识到其被除块存储微控制器之外的OS使用。通常,指示其是未定义的信息被存储,但是作为变体,可以从除块存储微控制器之外的系统(诸如管理程序、管理服务器或者不同的设备)接收由管理程序使用的硬件信息,并且将实际的资源分配状态录入到其中。
在812A中,存储器的资源名称被存储,并且在813A中,存储器空间的地址被存储。块存储微控制器侧已经分配每个地址与否被存储在814A中。地址1001和其后被与其他OS共享。例如,在参考图7描述的读/写请求处理期间,以FOS或者除块存储微控制器之外的其他系统为目标的请求命令被转换。现在,上面描述的地址是当处理被指派给块存储微控制器时存储转换后的命令的地址,其中该地址是从对命令进行转换的FOS侧和参考该命令并且执行处理的块存储微控制器两者都可以访问的区域。814A中的信息不管理信息是否被共享,而是管理块存储可以被使用与否。
针对诸如端口和硬盘之类的其他硬件资源执行类似的管理。例如,在端口的情况下,存在FC端口和以太网,其数目被分别管理。
仅存储关于在块存储中定义的资源的信息的表基于表801A的整个硬件的管理信息被创建。这样的表的示例是在图8A中示出的表821A和831A。表821A示出了块存储所使用的CPU的信息,其中CPU1和CPU2是由块存储所使用的CPU,并且其使用的状态是在使用中。使用的状态823A存储诸如使用中或者故障关闭之类的信息。
表801A被块存储微控制器和管理程序两者参考,从而使得该表被存储在从两个元件都可见的存储器区域中。
图8B示出了管理程序存储的硬件资源管理信息。
硬件资源管理信息801B和811B是管理程序具有的信息,并且被存储在由管理程序使用的存储器区域中。存储块存储微控制器所具有的所有硬件的管理信息的表801A被参考,并且只有具有未定义使用状态的那些被录入到表801B和811B(端口未被示出,并且HDD由于其未被使用而未被包括)。首先,资源是否已经正被使用(换言之,资源在块存储微控制器侧已经被分配与否)被首先存储,并且此后,使资源被划分并分配给FOS或者其他OS的结果被存储。管理程序管理相应的资源的用户。
存储器内的地址1001至2000是与块存储的共享区域,但是它们被设置为管理程序区域。
管理程序使硬件资源虚拟化并且将它们呈现给FOS等,从而使得如在图821B中所示,物理上的单个CPU3被虚拟化为多个CPU,VCPU1至VCPU4,其中多个CPU中的每个CPU被分配给存储在管理程序中的OS。因此,当稍后描述的故障发生并且该故障被检测到时,有必要检查该故障对OS的影响程度并且在物理故障发生时执行故障处理。
图8C中的硬件资源使用信息801C是除块存储之外的各个OS所具有的信息,并且只有可以被在内部使用的资源信息被存储。因为已经描述的可以被与块存储微控制器共享的区域也可以被在内部使用,因此其使用状态作为在使用中被管理。
图9示出了被用作用于转换FOS侧请求命令的信息的目录设备信息表901。目录设备信息表901图示了在文件系统名称或者目录信息与作为文件被安装处的位置而从存储侧提供的LU信息之间的对应关系。这一表被存储在FOS侧。在本实施例中,LU以相对于文件系统的1:1关系从存储侧被提供。作为另一变体,不仅LU信息可以被存储而且与LU内的地址信息的对应关系也可以被存储。
图10图示了用于从FOS到块存储微控制器侧共享命令的方法。
列913存储命令的请求源,其阐明了当命令的处理完成时发送完成报告的目的地。例如,在块存储的情况下,因为端口和LU编号被识别为命令发出源,因此这一信息被存储。在处理命令之后,可以通过区分请求源来执行调度,从而使得通过存储SCSI的ID或者WWN来区分请求源。块侧请求类似地发生,其中请求可以被写入到相同的请求命令队列,或者请求命令队列可以被存储在不同的存储区域中。如果请求被分别存储,则用于确定队列当中的处理次序的规则成为必要。如果命令完成,则块通知命令的完成。
图11A和图11B示出了用于向块存储系统侧和向其他OS分配硬件资源的处理的步骤。
首先,存储子系统30的电源被打开(S1110)。仅块存储微控制器被启动(S1112)。如所描述的,本设备的特征在于仅引导单个外壳内的系统的一部分。块存储微控制器的配置在初始状态(或者在其中检测到配置文件未被定义的状态)被确定为最小配置(S1114)。最小配置指的是块存储侧配置,其例如是最大为8PK配置内的2PK(封装)配置。如所描述的,缺省地,块存储微控制器在最小配置下被启动。在经由最小配置组成控制时使用的物理CPU核心和存储器被预先确定。此时,系统被重新引导以修复配置(S1115)。
用户经由管理设备预先考虑块存储侧配置,并且已经确定了设备配置中所需的硬件组件的数目的信息被存储在配置文件中(S1116)。基于存储在配置文件中的配置的块存储子系统被构造。用户考虑构成块存储子系统的每个组件所需的硬件资源的数目,以及除块存储子系统之外的OS或者FOS所需的资源并且确定其数目以使FOS等所需的必要资源保留。如果重新引导被执行,则块存储微控制器可以识别在存储子系统30中连接的硬件,并且创建801A的管理表(S1117)。这一信息在控制经由最小配置被启动时被存储在存储器区域中。
接下来,基于用户定义配置文件的内容,与块存储子系统相连的硬件资源被识别(S1118)。识别出的硬件资源被存储在801A的管理表中。硬件资源基于用户定义配置文件的内容被分配,并且配置被定义(S1120)。实际上,“定义”被存储在801A的使用状态中。存储关于正被使用的硬件资源的信息的表821A和831A被构造,并且被存储在为块存储微控制器分配的控制存储器中(S1122)。系统被重新引导以修复配置(S1123)。
另外,管理程序被激活(S1124)。管理程序参考存储在与块存储微控制单元共享的存储器区域中的硬件管理信息801A,并且识别整个硬件(S1126)。管理程序将具有使用状态“未定义”的信息存储到其自身的存储器区域中(S1128)。管理程序认识到未定义的硬件资源可以被使用,并且为管理程序创建硬件管理信息表801B和811B(S1132)。管理程序重新引导其系统并且修复配置(S1134)。管理程序还构造表821B、将其分配给在管理程序中操作的多个OS,并且将分配的信息存储到表811B和821B(S1136)。
作为另一方法(图11C),管理程序被启动(S1142)。管理程序识别在存储子系统30中连接的所有硬件资源(S1144)。管理程序向块存储微控制单元发送管理程序被激活的报告(S1146)。已经接收到该报告的块存储微控制单元向管理程序提供存储在其存储器中的该单元使用的资源信息(S1148)。管理程序将接收到的信息存储在其自身的存储器区域中(S1150)。管理程序首先基于接收到的信息识别哪个硬件资源可以被使用,并且为管理程序分配存储器区域(S1152)。
用于管理程序的硬件管理信息表在分配的存储器区域中被创建并且被存储在其中(S1154)。管理程序然后被重新引导(S1156)。可以被使用的资源被分配给在管理程序中操作的多个OS(S1158)。分配的信息被分别存储在每个OS使用的存储器区域中(S1160)。现在,没有必要向块存储微控制单元提供管理程序侧资源分配信息。存在用于通过共享地址信息来共享信息或者用于执行存储器间复制的方法,作为将使用的硬件资源信息从块存储微控制单元移交给管理程序的方法。
从S1146到S1150的处理是现有技术的管理程序不执行的处理。管理程序为了向客户OS分配资源而执行的处理在现有技术中存在,但是从其他OS接收可用资源信息的处理和基于接收到的信息确定将被使用的资源的处理在现有技术中不存在。
存储器的分配通过指定存储器空间内的地址或者容量而被执行的。考虑到故障等,分配在重复的配置中被执行。
图12是示出了当资源被添加时用于定义配置的步骤的流程图。当硬件资源被添加时,用户在包括添加的资源的管理设备中再次创建配置文件,并且将其存储。ON(开启)状态中的块存储微控制器根据由用户定义的配置文件来识别正与之相连的硬件资源。用于识别的触发器可以作为命令被从用户输出到存储子系统30,或者可以是存储子系统30具有的检测手段。配置以与图11中的流程图类似的方式被定义。原则上,操作与分配添加的硬件资源有关,并且已经被使用的资源维持其初始分配的状态。在管理程序侧上执行的处理与从图11B中的S1126开始的步骤相同。
原则上,当资源被添加时,当前正被分配的资源维持分配的状态。添加的资源被分配给块存储微控制器侧并且被分配给其他侧。
本实施例与现有技术的不同之处在于:在资源的添加期间,管理程序不重新引导,而是通过块存储微控制器获取关于资源的添加和使用的能力的信息,并且执行对客户OS的分配。
接下来,下面将描述减少资源(即,删除资源)的处理。
如果作为删除目标的资源是存储器空间,则应当从存储器空间中的哪里删除存储器容量被确定。存储在将被删除的存储器空间中的数据和控制信息被保存在未正被删除的存储器空间中。对于后续步骤,复制目的地数据被使用。类似于图12中的流程图,用户将经由管理设备删除的存储器空间地址重新创建为配置文件并且将其记录。接下来的步骤与图12中的流程图相同。
如果作为删除目标的资源是处理器,则当删除命令被输出时,作为删除目标的处理器在正在进行的进程被完成和结束之前将不会启动新进程。在进程的间歇,正被删除的处理器所具有的诸如进程备用队列之类的数据被指派给另一处理器。指派有该数据的处理器使该信息与该处理器原先具有的进程队列合并,并且将该信息存储在其自身的存储器中。不可用(或者关闭)状态被存储在正被删除的资源的信息中。接下来的步骤与图12中的流程图类似。
盘的删除可以以与存储系统的现有技术方法类似的方式而被执行。
图13是示出了用于将块存储的硬件资源动态地重新分配给除块存储之外的系统的处理的流程图。
从在块存储侧中使用的硬件中的作为删除目标的资源的使用基于前述资源删除处理而被停止。正被删除的资源被设置为不可用状态等,并且被防止使用(S1310)。当用户重新创建配置文件时,作为删除目标的资源被指定为不被选择(S1312)。这例如可以通过不指定不可用的存储器地址来实现。基于由用户重新创建的配置文件,资源被从连接的硬件资源分配,并且配置被定义(S1316)。此后,被设置为不可用状态的硬件的使用状态被改变为可用状态(S1318)。后续步骤与图11B中的步骤S1126至S1136相同。
图14是示出了用于将由除块存储之外的单元使用的硬件资源动态地重新分配给块存储侧的处理的流程图。
例如,当硬件性能诸如由于在FOS侧缩减文件系统而变得过高时,硬件可以被从FOS侧释放并被重新分配给块存储侧。
删除硬件资源的处理经由早先描述的处理而被执行。管理程序启动删除处理(S1410),并且使各个OS执行删除处理(S1412)。在删除被执行之后,管理程序重新分配当前可被使用的资源(S1416),并且将信息存储在管理程序中(S1420)。接下来的配置文件的重新创建和对块存储侧的硬件资源的重新分配(添加)与图12中的流程图类似地被执行。
块存储微控制器和管理程序的合作处理之一是故障处理。传统上,OS被布置到存储子系统的每个外壳,并且每个OS存储环境系统程序或者用于执行故障管理的共有逻辑程序(诸如在图17中示出的故障程序316)。当故障已经在硬件侧上发生时,故障报告被发送给每个OS,并且故障响应程序在每个OS中被启动和执行。
根据本发明的存储系统,有必要组装已被存储在每个OS中的环境系统程序和共有逻辑程序。当由管理程序管理的硬件发生故障并且故障程序中的每个故障程序都被启动时,因为对可用性的容忍度与块存储子系统的不同,如果关于管理程序的故障的确定被采用,则块存储子系统的可用性被劣化。
另外,根据块存储微控制器侧处理,通过经过管理程序而引起开销,从而使得块存储子系统侧的处理能力可能被劣化。为了在不使块存储子系统的可用性劣化的情况下使能合作处理,故障处理的主动权被提供给块存储微控制器侧。由此,当故障被检测到时,首先向块存储微控制器侧报告的处理被执行。
然而,关于仅被管理程序侧使用的硬件,执行故障处理可能是不必要的。因此,作为故障处理目标的资源在块存储和管理程序之间被分离(负责资源的系统被确定)。当资源发生故障时,是在管理程序侧还是在块存储微控制单元上布置记录已经发生故障的信息(故障发生信息)的存储器区域被确定。如果资源故障与块存储微控制单元的故障处理有关,则故障发生信息被存储在块存储微控制单元侧的存储区域中,并且该信息由此被放置在参考该信息的控制单元的一侧。
接下来,将描述故障处理。类似地,在故障处理中,块存储微控制器和管理程序必须合作地执行处理。
当存储子系统30内的硬件发生故障时,作为用于检测故障的硬件的故障监视器检测故障。
目标硬件资源可以被分为以下四个类型。
(1)在块存储与除块存储之外的系统(管理程序和在该管理程序中操作的一组OS)之间共享的资源
(2)由块存储专用的资源
(3)在除块存储之外的管理程序中操作的OS之间共享的资源
(4)由在除块存储之外的管理程序中操作的OS专用的资源
每个硬件资源向预先设置的一侧通知故障,并且发出中断。在(1)和(2)的情况下,如在图21中示出,故障被通知到块存储微控制单元并且中断被发出。在(3)的情况下,如在图22中示出,故障被通知到管理程序并且中断被发出。在(4)的情况下,故障被通知到每个OS并且中断被发出。
为了这样做,每个硬件资源必须存储关于通知故障的目的地的通知目的地。故障处理的区域是存储器321内被分配,并且所有硬件资源的故障报告目的地被存储在信息管理表中,其中当故障被检测到时,信息管理表被参考并且故障的发生被通知到故障报告目的地。信息管理表在图23中被示出。例如,存储在CPU的故障管理表2300的2314中的用户信息将是故障通知目的地。如果用户是块,则响应被发送到块存储微控制器侧,并且如果用户是FOS,则响应被发送到FOS。
以上情况(1)的一个示例是硬盘故障。硬盘被块存储和诸如FOS之类的各种OS使用。因此,当硬盘故障发生时,因为盘控制侧不管理在故障部分中存储的数据属于哪个OS,所以故障的发生被通知到整个系统。
另外,在图23中示出的存储器的情况下,每个存储器单元经历故障与否被确定。在本情况下,存储器是共享的(在上面描述的(1)的情况下),故障被响应到使用存储器的块。
作为用于检测故障的方法,诸如CPU、存储器或者盘之类的硬件可以经由故障监视来识别内部故障。因为端口无法使其自身经受检测,所以工作可以被创建以使故障检测程序等按照一定间隔检查故障是否已经发生。当故障被发现时,记录故障报告目的地的信息管理表被参考,并且故障目的地被搜索以报告故障。端口向上面描述的(2)或者(4)报告。
当由在管理程序中操作的OS之一专用的资源发生故障,并且该OS必须执行故障转移时,故障被从其中安装有该OS的管理程序通知到块存储微控制单元。
传统上,管理程序识别出正与之相连的所有硬件资源,并且试图检测其故障。另外,块存储类似地试图检测所有硬件资源的故障。然而,在统一存储系统中,因为硬件资源被分为块存储侧和管理程序侧并且被相应地分配,所以故障处理也被以分离方式执行。换言之,在每个OS中被关闭的处理在该OS中被执行,而负责关于在两侧中共同使用的目标的处理的OS必须被预先确定。根据本方法,故障处理的主动权被具有高恢复性能的块存储微控制器侧拥有,但是关于与块存储微控制器侧无关的硬件,处理被每个OS或者管理程序执行。
关于配置的其他变体,第一变体具有仅被布置在管理程序上的故障程序,其中管理程序对管理程序和块存储控制侧两者进行管理。如果块存储在存储系统中不存在,则故障报告被发送到管理程序,并且管理程序中的故障处理程序被用来应对故障。这一故障处理在应对服务器或者文件系统的层级中被执行。
第二变体具有仅被布置在块存储微控制单元上的故障程序。这一示例对应于管理程序从一开始不存在的情况,或者管理程序在中途被删除的情况。块存储级故障处理程序被启动。在管理程序在中途被删除的情况下,作为用于删除该管理程序的预处理,已被管理程序执行的故障处理被块存储微控制单元接管。
本发明不局限于优选实施例,而是本发明可以在不脱离本发明的范围的情况下通过修改和实现组件来实现。可以通过适当地组合在本实施例中教导的多个组件来实现本发明的各种修改。例如,某些组件可以被从在实施例中示出的组件删除。另外,不同实施例的组件可以被任意组装。
在优选实施例中示出的组件、功能、处理单元、处理装置等的一部分或者全部可以诸如通过设计集成电路经由硬件被实现。另外,上面描述的配置和功能可以通过使处理解释并执行实现各个功能的每个程序来经由硬件被实现。诸如实现各个功能的程序、表和文件之类的信息可以被存储在诸如存储器、硬盘或者SSD(固态驱动器)之类的存储装置或者存储设备,或者诸如IC(集成电路)卡、SD存储卡或者DVD(数字多用途盘)等记录或存储介质中。
另外,根据以上优选实施例,只有被认为对描述是必需的控制线和信息线被例示,并且不是用于制造所需的所有控制线和信息线都被例示。所有组件都可以被相互连接。
标号列表
20:管理设备
30:存储子系统
31:控制处理器(CPU)
32:存储器
33:盘接口
34:物理设备
35:HBA
36:NIC
37:总线
39:维护管理接口
101:客户端设备
106、107:网络
108:管理网络

Claims (15)

1.一种存储系统,包括:
块存储侧OS和管理包括除所述块存储侧OS之外的多个OS的多个系统的OS群组,所述块存储侧OS和所述OS群组在管理程序上操作;
硬件资源,所述硬件资源包括:
第一资源部分,所述第一资源部分被直接由此分配给所述块存储侧OS,以及
第二资源部分,所述第二资源部分被所述管理程序使用逻辑分区分配给所述OS群组中的所述OS。
2.根据权利要求1所述的存储系统,其中
所述第一资源部分在所述管理程序分配所述第二资源部分之前被以优先化方式分配。
3.根据权利要求1所述的存储系统,其中
所述块存储侧OS和除所述块存储侧OS之外的所述OS被依次独立引导。
4.根据权利要求1所述的存储系统,其中
整个存储系统的处理被所述块存储侧OS主动执行。
5.根据权利要求1所述的存储系统,包括:
第一配置管理表,所述第一配置管理表由所述块存储侧OS基于用于设置所述硬件资源的配置的信息来创建以用于将所述第一资源部分分配给所述块存储侧OS;以及
第二配置管理表,所述第二配置管理表由所述管理程序基于所述第一配置管理表来创建以使所述管理程序将所述第二资源部分分配给所述OS群组中的所述OS。
6.根据权利要求1所述的存储系统,包括:
第一配置管理表,所述第一配置管理表由所述块存储侧OS基于用于设置所述硬件资源的配置的信息来创建以用于将所述第一资源部分分配给所述块存储侧OS;以及
第二配置管理表,所述第二配置管理表由所述管理程序通过从所述块存储侧OS接收所述第一资源部分的信息创建以使所述管理程序将所述第二资源部分分配给所述OS群组中的所述OS。
7.根据权利要求5所述的存储系统,其中
当添加硬件资源时;
所述块存储侧OS通过识别将被添加的所述硬件资源来重新构造所述第一配置管理表,并且如果所述硬件资源的一部分被用作所述第一资源部分,则将所述硬件资源的一部分分配给所述块存储侧OS;并且
所述管理程序基于所述第一配置管理表来重新构造所述第二配置管理表,并且使用所述硬件资源的剩余部分作为所述第二资源部分。
8.根据权利要求5所述的存储系统,其中
当删除硬件资源时,
所述块存储侧OS通过识别将被删除的所述硬件资源来重新构造所述第一配置管理表,并且如果正被删除的所述硬件资源被分配在其中,则将其状态设置为不可用状态;并且
所述管理程序基于所述第一配置管理表来重新构造第二配置管理表,并且如果正被删除的所述硬件资源被分配在其中,则将其状态设置为不可用状态。
9.根据权利要求5所述的存储系统,其中
如果被分配在所述块存储侧OS内的所述硬件资源将被动态地重新分配给除所述OS之外的目标,
则所述块存储侧OS将作为将被动态地重新分配的所述目标的所述硬件资源的状态设置为不可用状态,并且在重新构造所述第一配置管理表之后,将所述状态返回到可用状态;并且
所述管理程序基于所述第一配置管理表来重新构造所述第二配置管理表,并且分配处于所述可用状态中的所述硬件资源。
10.根据权利要求5所述的存储系统,其中
如果被分配给除所述块存储侧OS之外的所述OS群组内的所述OS中的任一个OS的所述硬件资源将被动态地重新分配给所述块存储侧OS,
则所述管理程序将被分配给所述OS群组内的所述OS中的所述一个OS的所述硬件资源的状态设置为不可用状态,并且在重新构造所述第二配置管理表之后,将所述状态返回到可用状态;并且
所述块存储侧OS基于所述第二配置管理表来重新构造所述第一配置管理表,并且分配处于所述可用状态中的所述硬件资源。
11.根据权利要求1所述的存储系统,其中
当在所述硬件资源中发生故障时:
如果其中已经发生了故障的所述硬件资源由所述块存储侧OS或者所述OS群组中的所述OS中的任一个OS所专有,则故障的发生被通知给专有所述硬件资源的所述OS;
如果其中已经发生了故障的所述硬件资源由所述块存储侧OS、所述管理程序和在所述管理程序中操作的所述OS群组共享,则故障的发生被通知给所述块存储侧OS;并且
如果其中已经发生了故障的所述硬件资源在所述管理程序上操作的所述OS中的多个OS之间被共享,则故障的发生被通知给所述管理程序。
12.一种用于在存储系统中分配硬件资源的方法,在所述存储系统中块存储侧OS和管理包括除所述块存储侧OS之外的文件系统的多个系统的OS群组共存,所述方法包括:
启动所述块存储侧OS的第一步骤,所述OS基于所述硬件资源的设置配置信息来创建第一配置管理表,并且然后分配由其自身使用的所述硬件资源;以及
在所述第一步骤之后执行的启动用于使除所述块存储侧OS之外的所述OS群组虚拟化的管理程序的第二步骤,所述管理程序基于所述第一配置管理表来创建第二配置管理表,并且将未被所述块存储侧OS分配的所述硬件资源分配为由其自身使用的所述硬件资源。
13.根据权利要求12所述的用于分配硬件资源的方法,其中所述方法还包括,当进一步添加硬件资源时:
识别正被添加的所述硬件资源并且重新创建所述第一配置管理表的第三步骤,其中如果所述硬件资源被其自身使用,则分配添加的所述硬件资源;以及
在所述第三步骤之后执行的基于所述第一配置管理表在所述管理程序中重新创建所述第二配置管理表的第四步骤,其中如果正被添加的硬件资源未被所述块存储侧OS分配,则将所述硬件资源分配为由其自身使用的所述硬件资源。
14.根据权利要求12所述的用于分配硬件资源的方法,其中所述方法还包括,当将由所述块存储侧OS分配的所述硬件资源动态地重新分配给另一目标时:
所述块存储侧OS将作为动态重新分配的所述目标的所述硬件资源设置为不可用状态、此后重新创建所述第一配置管理表并且然后将所述硬件资源返回到可用状态的第五步骤;以及
在所述第五步骤之后执行的由所述管理程序基于所述第一配置管理表重新创建所述第二配置管理表并且此后分配处于所述可用状态中的所述硬件资源的第六步骤。
15.根据权利要求12所述的用于分配硬件资源的方法,其中所述方法还包括,当将被分配在除所述块存储侧OS之外的所述OS群组中包括的所述OS中的任一个OS中的所述硬件资源动态地重新分配给所述块存储侧OS时:
由所述管理程序执行的将被分配在所述OS群组中包括的所述OS中的任一个OS内的所述硬件资源设置为不可用状态、重新创建所述第二配置管理表并且此后将所述硬件资源返回到可用状态的第七步骤;以及
由所述块存储侧OS在所述第七步骤之后执行的基于所述第二配置管理表来重新创建所述第一配置管理表并且然后分配处于可用状态中的所述硬件资源的第八步骤。
CN201380071281.3A 2013-01-28 2013-01-28 存储系统和用于分配资源的方法 Active CN104956310B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/000430 WO2014115188A1 (en) 2013-01-28 2013-01-28 Storage system and method for allocating resource

Publications (2)

Publication Number Publication Date
CN104956310A true CN104956310A (zh) 2015-09-30
CN104956310B CN104956310B (zh) 2019-03-05

Family

ID=47741223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380071281.3A Active CN104956310B (zh) 2013-01-28 2013-01-28 存储系统和用于分配资源的方法

Country Status (6)

Country Link
US (2) US9396029B2 (zh)
JP (1) JP5877552B1 (zh)
CN (1) CN104956310B (zh)
DE (1) DE112013006305T5 (zh)
GB (1) GB2524910A (zh)
WO (1) WO2014115188A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106959927A (zh) * 2016-01-08 2017-07-18 阿里巴巴集团控股有限公司 获取虚拟机中的逻辑分区的位置信息的方法及装置

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US20140181046A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to backup unprotected virtual machines
US9223597B2 (en) 2012-12-21 2015-12-29 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US20140196038A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine management in a data storage system
US20150074536A1 (en) 2013-09-12 2015-03-12 Commvault Systems, Inc. File manager integration with virtualization in an information management system, including user control and storage management of virtual machines
US9811427B2 (en) 2014-04-02 2017-11-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US10565067B2 (en) 2016-03-09 2020-02-18 Commvault Systems, Inc. Virtual server cloud file system for virtual machine backup from cloud operations
US10474548B2 (en) 2016-09-30 2019-11-12 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, using ping monitoring of target virtual machines
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10877851B2 (en) 2017-03-24 2020-12-29 Commvault Systems, Inc. Virtual machine recovery point selection
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
CN107273187A (zh) * 2017-06-29 2017-10-20 深信服科技股份有限公司 读取位置获取方法及装置、计算机装置、可读存储介质
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US10872069B2 (en) * 2019-01-22 2020-12-22 Commvault Systems, Inc. File indexing for virtual machine backups in a data storage management system
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11748143B2 (en) 2020-05-15 2023-09-05 Commvault Systems, Inc. Live mount of virtual machines in a public cloud computing environment
JP7100090B2 (ja) * 2020-07-31 2022-07-12 株式会社日立製作所 ストレージシステム、連携方法、およびプログラム
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US20220269424A1 (en) * 2021-02-19 2022-08-25 Vast Data Ltd. Resource allocation in a storage system
US11726827B2 (en) 2021-02-19 2023-08-15 Vast Data Ltd. Hierarchical workload allocation in a storage system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1123934A (zh) * 1994-05-13 1996-06-05 株式会社日立制作所 多处理机系统和用多处理机系统的磁盘控制器及维护方法
US20030023784A1 (en) * 2001-07-27 2003-01-30 Hitachi, Ltd. Storage system having a plurality of controllers
US20030236852A1 (en) * 2002-06-20 2003-12-25 International Business Machines Corporation Sharing network adapter among multiple logical partitions in a data processing system
US20100058335A1 (en) * 2008-08-28 2010-03-04 Weber Bret S Methods and systems for integrated storage and data management using a hypervisor
CN101013352B (zh) * 2003-10-23 2012-10-03 株式会社日立制作所 可以逻辑分割的存储装置和存储装置系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4704659B2 (ja) 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US7873700B2 (en) * 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
US20060149899A1 (en) 2004-12-30 2006-07-06 Zimmer Vincent J Method and apparatus for ongoing block storage device management
US7606868B1 (en) 2006-03-30 2009-10-20 Wmware, Inc. Universal file access architecture for a heterogeneous computing environment
US7774391B1 (en) 2006-03-30 2010-08-10 Vmware, Inc. Method of universal file access for a heterogeneous computing environment
US8307359B1 (en) 2006-06-23 2012-11-06 Emc Corporation Embedded virtual storage area network using a virtual block network fabric
US8386704B2 (en) * 2006-10-25 2013-02-26 HGST Netherlands B.V. Techniques for improving hard disk drive efficiency
US8127292B1 (en) * 2007-06-22 2012-02-28 Parallels Holdings, Ltd. Virtualization system with hypervisor embedded in bios or using extensible firmware interface
US8060685B2 (en) * 2007-07-31 2011-11-15 Hewlett-Packard Development Company, L.P. Electronic device data access system and method
US20100100718A1 (en) * 2008-10-20 2010-04-22 Novell, Inc. In-the-flow security services for guested virtual machines
US8914598B2 (en) * 2009-09-24 2014-12-16 Vmware, Inc. Distributed storage resource scheduler and load balancer
US8671414B1 (en) 2011-05-09 2014-03-11 Emc Corporation Accelerating data intensive computing applications by reducing overhead associated with communication protocols
US8683548B1 (en) 2011-09-30 2014-03-25 Emc Corporation Computing with policy engine for multiple virtual machines
US8726337B1 (en) 2011-09-30 2014-05-13 Emc Corporation Computing with presentation layer for multiple virtual machines

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1123934A (zh) * 1994-05-13 1996-06-05 株式会社日立制作所 多处理机系统和用多处理机系统的磁盘控制器及维护方法
US20030023784A1 (en) * 2001-07-27 2003-01-30 Hitachi, Ltd. Storage system having a plurality of controllers
US20030236852A1 (en) * 2002-06-20 2003-12-25 International Business Machines Corporation Sharing network adapter among multiple logical partitions in a data processing system
CN101013352B (zh) * 2003-10-23 2012-10-03 株式会社日立制作所 可以逻辑分割的存储装置和存储装置系统
US20100058335A1 (en) * 2008-08-28 2010-03-04 Weber Bret S Methods and systems for integrated storage and data management using a hypervisor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106959927A (zh) * 2016-01-08 2017-07-18 阿里巴巴集团控股有限公司 获取虚拟机中的逻辑分区的位置信息的方法及装置
CN106959927B (zh) * 2016-01-08 2020-08-25 阿里巴巴集团控股有限公司 获取虚拟机中的逻辑分区的位置信息的方法及装置

Also Published As

Publication number Publication date
DE112013006305T5 (de) 2015-09-10
JP2016508240A (ja) 2016-03-17
WO2014115188A1 (en) 2014-07-31
US9396029B2 (en) 2016-07-19
CN104956310B (zh) 2019-03-05
US9606745B2 (en) 2017-03-28
JP5877552B1 (ja) 2016-03-08
US20160239238A1 (en) 2016-08-18
US20140215482A1 (en) 2014-07-31
GB2524910A (en) 2015-10-07
GB201510088D0 (en) 2015-07-22

Similar Documents

Publication Publication Date Title
CN104956310A (zh) 存储系统和用于分配资源的方法
US11663029B2 (en) Virtual machine storage controller selection in hyperconverged infrastructure environment and storage system
US7546414B2 (en) Computer system, storage system, and device control method
US8458432B2 (en) Computer system, storage system and method for controlling power supply based on logical partition
US7895161B2 (en) Storage system and method of managing data using same
US8447924B2 (en) Computer system having an expansion device for virtualizing a migration source wherein the operation mode of the computer is set to a cache through or write after mode
WO2012147116A1 (en) Computer system and virtual machine control method
US20110219271A1 (en) Computer system and control method of the same
EP1785829A1 (en) Virtual volume control method involving device stop
US20080010234A1 (en) Storage system including plurality of storage apparatuses
JP2009043030A (ja) ストレージシステム
EP2864885A2 (en) System and method for datacenters disaster recovery
US8219760B2 (en) Storage subsystem and its control method
CN104956311A (zh) 存储系统以及存储控制方法
JP2005275829A (ja) ストレージシステム
JP2006285808A (ja) ストレージシステム
US20160026590A1 (en) Interconnection fabric switching apparatus capable of dynamically allocating resources according to workload and method therefor
US7529900B2 (en) Computer system and storage system and volume assignment method
JP5597266B2 (ja) ストレージシステム
JP5937772B1 (ja) ストレージシステム及びリソース割当て方法
US11971771B2 (en) Peer storage device messaging for power management
US20230236652A1 (en) Peer Storage Device Messaging for Power Management
JP2020086554A (ja) ストレージアクセス制御装置、ストレージアクセス制御方法、及び、ストレージアクセス制御プログラム
CN103765370A (zh) 访问对象存储系统的计算机系统

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant