JP6019513B2 - 記憶リソースを共有する方法およびシステム - Google Patents

記憶リソースを共有する方法およびシステム Download PDF

Info

Publication number
JP6019513B2
JP6019513B2 JP2015549981A JP2015549981A JP6019513B2 JP 6019513 B2 JP6019513 B2 JP 6019513B2 JP 2015549981 A JP2015549981 A JP 2015549981A JP 2015549981 A JP2015549981 A JP 2015549981A JP 6019513 B2 JP6019513 B2 JP 6019513B2
Authority
JP
Japan
Prior art keywords
storage
read
data block
data
control module
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.)
Active
Application number
JP2015549981A
Other languages
English (en)
Other versions
JP2016507814A (ja
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2016507814A publication Critical patent/JP2016507814A/ja
Application granted granted Critical
Publication of JP6019513B2 publication Critical patent/JP6019513B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • 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/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、通信技術の分野、特に、記憶リソースを共有する方法およびシステムに関する。
クラウド・コンピューティング・アプリケーションにおいて、サーバ・クラスタ・システムは、コンピューティング・リソース、記憶リソース、およびネットワーク・リソースを統合し、仮想化のような技術を使用することによって、ネットワークを介して、使用のためにユーザにリソースを提供する。アプリケーションの形式は、例えば、仮想マシン(Virtual Machine、略して“VM”)、コンピューティング能力、記憶能力貸し、等である。
現在、異なる種類のリソース需要のような理由のため、サーバ・クラスタ・システムは一般に異なるデバイスを使用して記憶デバイスを提供し、記憶リソースのソースは多様化され、例えば、サーバノードに組み込まれた記憶リソース、および独立に配置された記憶リソースであり、ここで、独立に配置された記憶リソースは、例えば、ストレージ・エリア・ネットワーク(Storage Area Network、略して“SAN”)のような専用記憶アレイまたは記憶サーバとすることが可能である。
先行技術において、サーバ・クラスタ・システムの記憶デバイスは外部記憶サービスを独立に提供し、結果として、記憶リソースの低く結合された利用となる。さらに、企業によって本来蓄積された、ネットワーク記憶デバイスの、記憶リソースは、サーバ・クラスタ・システムによって再利用されることができず、途方もなく大きい浪費を引き起こす。
本発明の実施例は、記憶リソースを共有する方法およびシステムを提供し、これは、異種の記憶リソースを統合、共有、および利用するために使用され、それによって、記憶リソースの利用を向上させる。
第1の態様に従って、本発明の実施例は、サーバ・クラスタ・システムに適用される、記憶リソースを共有するための方法であって、
前記サーバ・クラスタ・システムはサーバノードおよびネットワーク記憶ノードを含み、前記サーバノードはハードディスクを含み、前記ネットワーク記憶ノードは記憶アレイを含み、前記方法は、
前記ハードディスクおよび前記記憶アレイの記憶リソースを複数の記憶パーティションに分割するステップであって、前記複数の記憶パーティションは共有記憶リソースのプールを形成する、ステップと、
各々の記憶パーティションに読み出し・書き込み制御モジュールを割り当てるステップと、
グローバルパーティション情報を生成するステップであって、前記グローバルパーティション情報は、前記共有記憶リソースのプールにおける各々の記憶パーティションと前記読み出し・書き込み制御モジュールとの間の対応関係を記録する、ステップと、
記憶要求メッセージを受信し、前記記憶要求メッセージに対応する記憶パーティションを決定するステップと、
前記グローバルパーティション情報に従って、前記記憶要求メッセージに対応する記憶パーティションに対応する読み出し・書き込み制御モジュールを決定するステップと、
前記読み出し・書き込み制御モジュールが前記記憶要求メッセージによって要求される操作を実行するように、前記決定された読み出し・書き込み制御モジュールに前記記憶要求メッセージを送信するステップと、
を含む方法を提供する。
第1の態様を参照して、第1の可能な実現形態において、前記記憶要求メッセージに対応する記憶パーティションを決定するステップは、
前記記憶要求メッセージに従って操作されるデータが配置されるユーザボリュームのID、および、前記操作されるデータの少なくとも1つのデータブロックの論理ブロックアドレスLBAを決定するステップと、
前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックに対応する記憶パーティションを決定するステップと、
を含む。
第1の態様の第1の可能な実現形態を参照して、第2の可能な実現形態において、前記方法は、前記共有記憶リソースのプールにおいて各々の記憶パーティションのメタデータをセットアップするステップであって、各々の記憶パーティションのメタデータは、前記記憶パーティションのIDと、前記記憶パーティションに割り当てられたデータブロックのIDとの間の対応関係を記録する、ステップをさらに含み、
前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックに対応する記憶パーティションを決定するステップは、
前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックのIDを決定し、各々の記憶パーティションのメタデータを問い合わせ、前記少なくとも1つのデータブロックに対応する記憶パーティションのIDを決定するステップ
を含む。
第1の態様または第1の態様の第1の可能な実現形態を参照して、第3の可能な実現形態において、前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックに対応する記憶パーティションを決定するステップは、
前記ユーザボリュームのIDおよび各々のデータブロックのLBAを使用することによって、各々のデータブロックのkey値を形成し、各々のデータブロックの前記key値に対応するvalue値を計算し、前記value値に従って各々のデータブロックに対応する記憶パーティションを決定するステップ
を含む。
第1の態様の第1の可能な実現形態、第1の態様の第2の可能な実現形態、または第1の態様の第3の可能な実現形態を参照して、第4の可能な実現形態において、記憶要求メッセージを受信することは、ユーザボリューム生成コマンドを受信することを含み、前記ユーザボリューム生成コマンドは前記ユーザボリュームのサイズを示し、
前記記憶要求メッセージに従って操作されるデータが配置されるユーザボリュームのID、および、前記操作されるデータの少なくとも1つのデータブロックの論理ブロックアドレスLBAを決定するステップと、前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックに対応する記憶パーティションを決定するステップと、は、
前記ユーザボリュームに前記ユーザボリュームのIDを割り当てるステップと、
前記ユーザボリュームのサイズに従って、前記ユーザボリュームに割り当てられる初期記憶リソースのサイズを決定し、前記初期記憶リソースのサイズに従って、前記少なくとも1つのデータブロックのLBAを決定するステップと、
前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックに対応する記憶パーティションを決定するステップと、
を含む。
第1の態様の第1の可能な実現形態、第1の態様の第2の可能な実現形態、または第1の態様の第3の可能な実現形態を参照して、第5の可能な実現形態において、記憶要求メッセージを受信することは、データ書き込み操作要求を受信することを含み、
前記データ書き込み操作要求において搬送されたファイル名に従って、現在の書き込み操作に対応するユーザボリュームのIDを決定するステップと、
書き込まれるデータを複数の書き込まれるデータブロックに分割し、各々の書き込まれるデータブロックにLBAを割り当てるステップと、
前記現在の書き込み操作に対応するユーザボリュームのID、および、各々の書き込まれるデータブロックのLBAに従って、各々の書き込まれるデータブロックに対応する記憶パーティションを決定するステップと、
前記グローバルパーティション情報に従って、各々の書き込まれるデータブロックに対応する記憶パーティションに対応する読み出し・書き込み制御モジュールを決定するステップと、
複数のデータブロック書き込みコマンドを生成するステップであって、各々のデータブロック書き込みコマンドは1つの書き込まれるデータブロックに対応し、各々のデータブロック書き込みコマンドは、前記書き込まれるデータブロック、および、前記書き込まれるデータブロックのIDを搬送する、ステップと、
各々の書き込まれるデータブロックに対応する読み出し・書き込み制御モジュールが記憶ハードウェアリソースに各々の書き込まれるデータブロックを書き込むように、各々の書き込まれるデータブロックに対応する読み出し・書き込み制御モジュールに各々のデータブロック書き込みコマンドを個々に送信するステップと、
を含む。
第1の態様の第1の可能な実現形態、第1の態様の第2の可能な実現形態、または第1の態様の第3の可能な実現形態を参照して、第5の可能な実現形態において、記憶要求メッセージを受信することは、データ読み出し操作要求を受信することを含み、前記データ読み出し操作要求はファイル名および読み出されるデータのオフセットを搬送し、
前記データ読み出し操作要求において搬送されたファイル名に従って、現在の読み出し操作に対応するユーザボリュームのIDを決定するステップと、
前記読み出されるデータのオフセット情報に従って複数の読み出されるデータブロックのLBAを決定するステップと、
前記現在の読み出し操作に対応するユーザボリュームのID、および、各々の読み出されるデータブロックのLBAに従って、各々の読み出されるデータブロックに対応する記憶パーティションを決定するステップと、
前記グローバルパーティション情報に従って、前記複数の読み出されるデータブロックに対応する記憶パーティションに対応する読み出し・書き込み制御モジュールを決定するステップと、
複数のデータブロック読み出しコマンドを生成するステップであって、各々のデータブロック読み出しコマンドは1つの読み出されるデータブロックに対応し、各々のデータブロック読み出しコマンドは、前記読み出されるデータブロック、および、前記読み出されるデータブロックのIDを搬送する、ステップと、
各々の読み出されるデータブロックに対応する読み出し・書き込み制御モジュールが各々の読み出されるデータブロックを読み出すように、各々の読み出されるデータブロックに対応する読み出し・書き込み制御モジュールに各々のデータブロック読み出しコマンドを個々に送信するステップと、
を含む。
第2の態様に従って、本発明の実施例は、サーバ・クラスタ・システムであって、前記サーバ・クラスタ・システムはサーバノードおよびネットワーク記憶ノードを含み、前記サーバノードはハードディスクを含み、前記ネットワーク記憶ノードは記憶アレイを含み、前記サーバノードにおいて分散記憶コントローラが動作し、前記分散記憶コントローラは、
前記ハードディスクおよび前記記憶アレイの記憶リソースを複数の記憶パーティションに分割するように構成されたメタデータ・コントローラを含み、前記複数の記憶パーティションは共有記憶リソースのプールを形成し、前記メタデータ・コントローラは、各々の記憶パーティションに読み出し・書き込み制御モジュールを割り当て、グローバルパーティション情報を生成するように構成され、前記グローバルパーティション情報は、前記共有記憶リソースのプールにおける各々の記憶パーティションと前記読み出し・書き込み制御モジュールとの間の対応関係を記録し、前記メタデータ・コントローラは、前記グローバルパーティション情報を仮想ブロック・サービス・モジュールに送出するように構成され、
前記分散記憶コントローラは、
サービス層に向かい、記憶要求メッセージを受信し、前記記憶要求メッセージに対応する記憶パーティションを決定し、前記グローバルパーティション情報に従って、前記記憶要求メッセージに対応する記憶パーティションに対応する読み出し・書き込み制御モジュールを決定し、前記決定された読み出し・書き込み制御モジュールに前記記憶要求メッセージを送信するように構成された前記仮想ブロック・サービス・モジュールと、
前記ハードディスクまたは前記ネットワーク記憶ノードに向かい、前記記憶要求メッセージによって要求される操作を実行するように構成された前記読み出し・書き込み制御モジュールと、
を含むサーバ・クラスタ・システムを提供する。
第2の態様を参照して、第1の可能な実現形態において、前記読み出し・書き込み制御モジュールはオブジェクト記憶デリゲートおよびSAN記憶エージェントを含み、
前記メタデータ・コントローラは、読み出し・書き込み制御モジュールとして前記オブジェクト記憶デリゲートをローカル・ハードディスクの記憶パーティションに割り当て、読み出し・書き込み制御モジュールとして前記SAN記憶エージェントを前記記憶アレイの記憶パーティションに割り当てるように特に構成され、
前記オブジェクト記憶デリゲートは、前記記憶要求メッセージを受信し、前記記憶要求メッセージに対応する物理アドレスを決定し、前記物理アドレスに従って前記ハードディスクにおいて前記記憶要求メッセージによって要求される操作を実行するように構成され、
前記SAN記憶エージェントは、前記記憶要求メッセージを受信し、前記ネットワーク記憶ノードの、前記記憶要求メッセージに対応する論理アドレスを決定し、前記論理アドレスに従って前記記憶アレイにおいて前記記憶要求メッセージによって要求される操作を実行するように構成される。
第2の態様を参照して、第2の可能な実現形態において、前記仮想ブロック・サービス・モジュールは、前記記憶要求メッセージに従って操作されるデータが配置されるユーザボリュームのID、および、前記操作されるデータの少なくとも1つのデータブロックの論理ブロックアドレスLBAを決定し、前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックに対応する記憶パーティションを決定するように特に構成される。
第2の態様の第2の可能な実現形態を参照して、第3の可能な実現形態において、前記仮想ブロック・サービス・モジュールは、前記共有記憶リソースのプールにおいて各々の記憶パーティションのメタデータをセットアップするように特に構成され、各々の記憶パーティションのメタデータは、前記記憶パーティションのIDと、前記記憶パーティションに割り当てられたデータブロックのIDとの間の対応関係を記録し、前記仮想ブロック・サービス・モジュールは、前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックのIDを決定し、各々の記憶パーティションのメタデータを問い合わせ、前記少なくとも1つのデータブロックに対応する記憶パーティションのIDを決定するように特に構成される。
第2の態様の第2の可能な実現形態を参照して、第4の可能な実現形態において、前記仮想ブロック・サービス・モジュールは、前記ユーザボリュームのIDおよび各々のデータブロックのLBAを使用することによって、各々のデータブロックのkey値を形成し、各々のデータブロックの前記key値に対応するvalue値を計算し、前記value値に従って各々のデータブロックに対応する記憶パーティションを決定するように特に構成される。
第2の態様および第2の態様のいずれか1つの可能な実現形態を参照して、第5の可能な実現形態において、前記仮想ブロック・サービス・モジュールは、ユーザボリューム生成コマンドを受信するように特に構成され、前記ユーザボリューム生成コマンドは前記ユーザボリュームのサイズを示し、前記仮想ブロック・サービス・モジュールは、前記ユーザボリュームに前記ユーザボリュームのIDを割り当て、前記ユーザボリュームのサイズに従って、前記ユーザボリュームに割り当てられる初期記憶リソースのサイズを決定し、前記初期記憶リソースのサイズに従って、前記少なくとも1つのデータブロックのLBAを決定し、前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックに対応する記憶パーティションを決定するように特に構成される。
第2の態様および第2の態様のいずれか1つの可能な実現形態を参照して、第6の可能な実現形態において、前記仮想ブロック・サービス・モジュールは、データ書き込み操作要求を受信し、前記データ書き込み操作要求において搬送されたファイル名に従って、現在の書き込み操作に対応するユーザボリュームのIDを決定し、書き込まれるデータを複数の書き込まれるデータブロックに分割し、各々の書き込まれるデータブロックにLBAを割り当て、前記現在の書き込み操作に対応するユーザボリュームのID、および、各々の書き込まれるデータブロックのLBAに従って、各々の書き込まれるデータブロックに対応する記憶パーティションを決定し、前記グローバルパーティション情報に従って、各々の書き込まれるデータブロックに対応する記憶パーティションに対応する読み出し・書き込み制御モジュールを決定し、複数のデータブロック書き込みコマンドを生成するように特に構成され、各々のデータブロック書き込みコマンドは1つの書き込まれるデータブロックに対応し、各々のデータブロック書き込みコマンドは、前記書き込まれるデータブロック、および、前記書き込まれるデータブロックのIDを搬送し、前記仮想ブロック・サービス・モジュールは、各々の書き込まれるデータブロックに対応する読み出し・書き込み制御モジュールに各々のデータブロック書き込みコマンドを個々に送信するように特に構成される。
第2の態様および第2の態様のいずれか1つの可能な実現形態を参照して、第7の可能な実現形態において、前記仮想ブロック・サービス・モジュールは、データ読み出し操作要求を受信するように特に構成され、前記データ読み出し操作要求はファイル名および読み出されるデータのオフセットを搬送し、前記仮想ブロック・サービス・モジュールは、前記データ読み出し操作要求において搬送されたファイル名に従って、現在の読み出し操作に対応するユーザボリュームのIDを決定し、前記読み出されるデータのオフセット情報に従って複数の読み出されるデータブロックのLBAを決定し、前記現在の読み出し操作に対応するユーザボリュームのID、および、各々の読み出されるデータブロックのLBAに従って、各々の読み出されるデータブロックに対応する記憶パーティションを決定し、前記グローバルパーティション情報に従って、前記複数の読み出されるデータブロックに対応する記憶パーティションに対応する読み出し・書き込み制御モジュールを決定し、複数のデータブロック読み出しコマンドを生成するように特に構成され、各々のデータブロック読み出しコマンドは1つの読み出されるデータブロックに対応し、各々のデータブロック読み出しコマンドは、前記読み出されるデータブロック、および、前記読み出されるデータブロックのIDを搬送し、前記仮想ブロック・サービス・モジュールは、各々の読み出されるデータブロックに対応する読み出し・書き込み制御モジュールに各々のデータブロック読み出しコマンドを個々に送信するように特に構成される。
第2の態様および第2の態様のいずれか1つの可能な実現形態を参照して、第8の可能な実現形態において、前記メタデータ・コントローラは、前記サーバノードにおけるオブジェクト記憶デリゲートおよびSAN記憶エージェントの配置状態を個々に決定し、前記決定された配置状態に従って前記読み出し・書き込み制御モジュールのビュー情報を生成するようにさらに構成され、前記読み出し・書き込み制御モジュールのビュー情報は、各々の読み出し・書き込み制御モジュールが配置されるサーバノードについての情報を示すために使用され、前記メタデータ・コントローラは、前記読み出し・書き込み制御モジュールのビュー情報を前記仮想ブロック・サービス・モジュールに送出するようにさらに構成され、
前記仮想ブロック・サービス・モジュールは、前記読み出し・書き込み制御モジュールのビュー情報に従って、前記読み出し・書き込み制御モジュールのルーティング情報を決定し、前記決定された読み出し・書き込み制御モジュールに前記記憶要求メッセージを送信するように特に構成される。
第2の態様の第8の可能な実現形態を参照して、第9の可能な実現形態において、前記メタデータ・コントローラは、前記サーバ・クラスタ・システムにおける、ハードディスクリソースを有するサーバノードにおいて前記オブジェクト記憶デリゲートを配置することを決定し、前記サーバ・クラスタ・システムにおける、少ない負荷を有するサーバノードにおいて前記SAN記憶エージェントを配置することを決定するように特に構成される。
第2の態様の第8の可能な実現形態を参照して、第10の可能な実現形態において、前記メタデータ・コントローラは、前記サーバノードのハードディスクの利用可能な記憶リソースおよび前記ネットワーク記憶ノードの記憶アレイの利用可能な記憶リソースを集め、前記ハードディスクおよび前記記憶アレイの利用可能な記憶リソースを複数の記憶パーティションに分割するようにさらに構成される。
第3の態様に従って、本発明の実施例は、コンピュータを提供する。
第4の態様に従って、本発明の実施例は、コンピュータ記憶媒体を提供する。
本発明の実施例において、ハードディスクおよび記憶アレイの記憶リソースは複数の記憶パーティションに分割され、複数の記憶パーティションは共有記憶リソースのプールを形成し、読み出し・書き込み制御モジュールが各々の記憶パーティションに割り当てられ、共有記憶リソースのプールにおける各々の記憶パーティションと読み出し・書き込み制御モジュールの間の対応関係を記録するためにグローバルパーティション情報が生成されることが上述の技術的解決手段から分かる。このようにして、記憶要求メッセージが続いて受信されるとき、記憶要求メッセージに対応する記憶パーティションが決定でき、記憶要求メッセージに対応する記憶パーティションに対応する読み出し・書き込み制御モジュールがグローバルパーティション情報に従って決定でき、最後に、記憶要求メッセージが、決定された読み出し・書き込み制御モジュールに送信でき、それによって、読み出し・書き込み制御モジュールは記憶要求メッセージによって要求される操作を実行する。本発明の実施例は異種の記憶リソースの迅速で簡単な統合を実現し、従って、各種の記憶リソースを効率的に使用し、コストを節約し、リソースの浪費を避けることができる。
本発明の実施例または先行技術における技術的解決手段をより明確に説明するために、下記は、実施例または先行技術を説明するために必要な添付図面を簡単に導入する。明らかに、下記の説明における添付図面は本発明のいくつかの実施例を表わす。
本発明の実施例に従う、サーバ・クラスタ・システムの概要のブロック図である。 本発明の実施例に従う、共有記憶リソースの分割を表わす概要図である。 本発明の実施例に従う、共有記憶リソースを使用するフローチャートである。 本発明の実施例に従う、共有記憶リソースを使用するもう1つのフローチャートである。 本発明の実施例に従う、共有記憶リソースを使用するもう1つのフローチャートである。 本発明の実施例に従う、サーバ・クラスタ・システムのもう1つの概要のブロック図である。 本発明の実施例に従う、コンピュータの構成図である。
本発明の実施例の目的、技術的解決手段、および利点をより明確にするために、以下は、本発明の実施例における添付図面を参照して、本発明の実施例における技術的解決手段を明確かつ十分に説明する。明らかに、説明された実施例は本発明の実施例のいくつかであるが全てではない。
さらに、この明細書における用語「および/または」は、関連付けされた対象を説明するために関連付けの関係のみを説明し、3つの関係が存在することが可能であることを表現する。例えば、Aおよび/またはBは次の3つの場合、Aのみが存在する、AとBの両方が存在する、Bのみが存在する、を表現することが可能である。さらに、この明細書における記号「/」は、この記号の前および後の関連付けされた対象が「または」の関係にあることを一般に表現する。
本発明の実施例によって提供される技術的解決手段において、分散コントローラは異種記憶リソースの統合を実現するためにサーバに配置され、それによって、異種の記憶および統合デバイスをさらに購入する必要なしで、異種の記憶リソースの統合および使用が実現でき、それによって、システムの価格/性能の比を向上させる。
本発明の実施例において、コンピューティング・リソースおよび記憶リソースが垂直に統合された後、各種の記憶リソースがそして水平に統合され、特に、異種の記憶リソースが統合および使用される。本発明の実施例において、分散記憶コントローラはサーバに配置され、各種の異種の記憶リソースは、統一された形態で記憶リソースを割り当ておよび管理するため、クラスタ共有記憶リソースのプールを形成するために使用される。この方法は、異種の記憶リソースの迅速で簡単な統合を実現でき、従って、各種の記憶リソースを効率的に使用し、コストを節約し、リソースの浪費を避けることができる。
本発明の実施例において言及される異種の記憶リソースは、2つまたはより多くの異なる種類の記憶デバイスを指す。具体的には、第1の種類の記憶デバイスは、ソリッド・ステート・ディスク(Solid State Disk、SSD)、機械的ハードディスク(Hard Disk、HD)、またはハイブリッド・ハードディスク(Hybrid Hard Disk、HHD)のようなサーバノードに組み込まれたローカル・ハードディスクを指し、第2の種類の記憶デバイスは、ネットワーク記憶ノードを指し、ここで、ネットワーク記憶ノードは、ストレージ・エリア・ネットワーク(Storage Area Network、SAN)記憶デバイスとすることが可能であり、ネットワーク接続ストレージ(Network Attached Storage、NAS)記憶デバイスとすることも可能であり、ネットワーク記憶ノードはサーバの外部ハードウェアデバイスであるが、サーバに組み込まれたデバイスではない。
図1は、本発明の実施例に従う、サーバ・クラスタ・システムの構成図である。サーバ・クラスタ・システムは、ネットワーク層を使用することによって、アプリケーションクライアントまたは記憶管理センターと通信する。サーバ・クラスタ・システムは、サーバノードおよびネットワーク記憶ノードを含み(この実施例は例としてSAN記憶デバイスを使用する)、1つまたはより多くのサーバノードおよび1つまたはより多くのネットワーク記憶ノードが存在することが可能であり、この実施例は例として2個のSAN記憶ノードを使用する。各々のサーバノードの物理デバイスは、CPU、メモリ、ネットワーク、ハードディスク、等を含み、ネットワーク記憶ノードの物理デバイスは、記憶アレイおよび記憶アレイのコントローラを含む。この実施例において、サーバ・クラスタ・システムに接続されるアプリケーションプログラムのためのコンピューティング・リソースを提供するために使用される、サーバノードのCPUおよびメモリのような物理デバイスは、サーバ・クラスタ・システムのコンピューティング・リソースと集合的に呼ばれ、コンピューティング層を形成する基礎を提供し、記憶リソース層に存在するサーバノードのハードディスクおよびネットワーク記憶ノードの記憶アレイは、サーバ・クラスタ・システムの記憶リソースと集合的に呼ばれる。
サーバ・クラスタ・システムは、使用のために異なるアプリケーションプログラムにコンピューティング・リソースを外部的に提供するために使用される。例えば、ウェブアプリケーションまたはHADOOP分散クラスタシステムはサーバ・クラスタ・システムにおいて動作することが可能である。サーバ・クラスタ・システムのコンピューティング・リソースは、複数の仮想マシンにさらに分離されることが可能であり、異なるアプリケーションプログラムは各々の仮想マシンにおいて動作し、または複数の仮想マシンは仮想マシンクラスタを形成して同じアプリケーションプログラムのためにサービスを提供する。この実施例は具体的な実現形式に限定を課さない。アプリケーションプログラムがサーバ・クラスタ・システムにおいて動作するとき、アプリケーションプログラムの関連するデータはサーバ・クラスタ・システムの記憶リソースにおいて記憶され、すなわち、サーバノードのハードディスクまたはSANノードの記憶アレイに記憶されることが可能であり、またはサーバノードのハードディスクおよびSANノードの記憶アレイの両方に記憶されることが可能である。
本発明のこの実施例におけるサーバ・クラスタ・システムは分散記憶コントローラをさらに動作させ、ここで、分散記憶コントローラは、サーバノードのハードディスクおよび(SANのような)ネットワーク記憶ノードによって提供される記憶アレイの記憶リソースを複数の記憶パーティションに分割するように構成され、ここで、複数の記憶パーティションはサーバ・クラスタ・システムの共有記憶リソースのプールを形成し、それによって、サーバ・クラスタ・システムにおいて動作するアプリケーションプログラムは共有記憶リソースのプールから分散記憶リソースのブロックを取得し、分散記憶リソースブロックを使用することが可能であり、それによって、記憶リソース、さらに記憶の分散の、より高い利用を保証し、記憶リソースの読み出し・書き込みの効率を向上させる。本発明のこの実施例において、分散記憶コントローラは、サーバのハードウェアデバイスにインストールされたソフトウェアモジュールを使用することによって実現され、従って、記憶制御デバイスとして追加のハードウェアデバイスを購入することを避けることができる。この解決手段はより経済的でコスト節約である。
本発明のこの実施例において説明される分散記憶コントローラは、各々のサーバノードにおいて動作する記憶制御機能モジュールのための一般的な用語であり、解決手段によって提供される分散記憶コントローラは異なる機能モジュールを含むことが可能である。しかし、実際の配置の間、各々のサーバノードは、サーバノードの機能および配置ポリシーに従って分散記憶コントローラの異なる機能モジュールを動作させることが可能である。すなわち、サーバ・クラスタ・システムの配置ポリシーに従って、分散記憶コントローラの異なる機能モジュールは、異なるサーバノードにおいて動作することが可能であり、各々のサーバノードは分散記憶コントローラの全ての機能モジュールを動作させることが可能であり、または分散記憶コントローラのいくつかの機能モジュールを動作させることが可能である。具体的な配置の形態は、以下で詳細に説明される。
分散記憶コントローラは、サーバ・クラスタ・システムのコンピューティング・リソースのためのデータ・アクセス・インタフェースを提供し、サーバ・クラスタ・システムの共有記憶リソースにおける管理および読み出し・書き込み制御を実行するように主に構成される。
具体的には、分散記憶コントローラは、次のモジュールに機能的に分割されることが可能である。
サーバノードのローカル・ハードディスクの記憶リソースおよびネットワーク記憶ノードの記憶アレイの記憶リソースを取得し、サーバノードの記憶リソースおよびネットワーク記憶ノードの記憶リソースを複数の記憶パーティション(partition)に分割し、各々の記憶パーティションに記憶パーティション識別子を割り当て、そして複数の記憶パーティションを使用することによって共有記憶リソースのプールを形成するように構成され、それによって、サーバ・クラスタ・システムにおいて動作するアプリケーションプログラムが共有記憶リソースを使用する、メタデータ・コントローラMDC。
具体的には、MDCは、サーバノードのハードディスクリソースおよびネットワーク記憶ノードの記憶アレイにおいてヘルスチェックをまず実行し、その利用可能な記憶リソースを収集して共有記憶リソースのプールを形成することが可能である。パーティション分割の間、MDCは、リソースを同じサイズの記憶パーティションに分割すること、例えば10GB単位での分割、が可能である。MDCによって収集される記憶リソースについての情報は、各々のハードディスクの容量およびID、各々のハードディスクが配置されたサーバのID、各々の記憶アレイに含まれる各々の論理記憶ユニットLUNの容量およびID、および各々のLUNが配置されたネットワーク記憶ノードのIDを含むことが可能である。
MDCによって収集される記憶リソースについての情報は、例えば次の通りである。
Disk ID=1,Disk Capacity=50GB,Server ID=1,
Disk ID=2,Disk Capacity=50GB,Server ID=1,
Disk ID=3,Disk Capacity=50GB,Server ID=2,
LUN=1,LUN Capacity=50GB,SAN ID=1,
LUN=2,LUN Capacity=50GB,SAN ID=1,
LUN=3,LUN Capacity=50GB,SAN ID=1
記憶リソースについての上述の情報を取集した後、MDCは、Disk1〜3およびLUN1〜3の記憶リソースを複数の記憶パーティションに分割し、ここで、記憶パーティションはサイズが等しいことが可能であり、またはサイズが等しくないことが可能である。例えば、記憶リソースは10GB単位で等しく分割され、DISKおよびLUNの記憶リソースは30個の記憶パーティションに分割され、ここで、各々の記憶パーティションのサイズは10GBであり、記憶パーティションのパーティション識別子は1〜30、すなわち、P1〜P30である。MDCは、記憶パーディションP1〜P30を使用することによって共有記憶リソースのプールを形成し、ここで、記憶パーティションP1〜P15は、サーバノードに組み込まれたハードディスクの記憶リソースを含み、記憶パーティションP16〜P30は、SANノードの記憶アレイの記憶リソースを含む。すなわち、共有記憶リソースは2種類の記憶パーティションを含み、ここで、第1の種類の記憶パーティションはP1〜P15であり、第2の種類の記憶パーティションはP16〜P30である。
分散記憶コントローラは読み出し・書き込み制御モジュールをさらに含み、ここで、この実施例における読み出し・書き込み制御モジュールはオブジェクト記憶デリゲート(Object Storage Delegate、OSD)およびSAN記憶エージェント(SAN Storage Agent、SSA)を含む。OSDは、サーバノードに組み込まれたハードディスクの記憶リソースにおける読み出し・書き込み制御を実行し、すなわち、サーバノードのローカル・ハードディスクにおけるデータ記憶およびサーバノードのローカル・ハードディスクからのデータ取得を実現するように構成され、例えば、この実施例においてOSDは記憶パーティションP1〜P15における読み出し・書き込み制御を実行する。SSAはSANノードの記憶アレイの記憶リソースにおける読み出し・書き込み制御を実行し、すなわち、SANノードの記憶アレイにおけるデータ記憶およびSANノードの記憶アレイからのデータ取得を実現し、例えば、この実施例においてSSAは記憶パーティションP16〜P30における読み出し・書き込み制御を実行する。OSDおよびSSAの両方は、分散記憶コントローラの機能モジュールであり、サーバ・クラスタ・システムの記憶リソースについての情報を収集した後、MDCは、記憶リソースの配置状態に従って、サーバ・クラスタ・システムにおいてOSDおよびSSAをどのように配置するかをさらに決定することが可能である。具体的には、MDCは、サーバ・クラスタ・システムにおける、ローカル・ハードディスクを有する各々のサーバノードにおいてOSDを動作させることが可能であり、MDCは、サーバ・クラスタ・システムにおける各々のサーバノードにおいてSSAを動作させることが可能であり、各々のサーバノードの負荷状態に従って、少ない負荷を有するサーバノードにおいてSSAを配置することも可能である。例えば、MDCは、統一された形態で、全てのサーバノードにおいてコンピューティング・リソースの負荷状態を計算し、各々のSAN記憶ノードの記憶アレイの容量および負荷に従って、大域的なSSA配置情報を生成することが可能である。この実施例において、例えば、MDCは、サーバノード1においてOSD1を動作させ、サーバノード2においてOSD2を動作させ、サーバノード2においてSSA1を動作させる。
OSDおよびSSAの配置状態を決定した後、MDCはOSDビュー情報およびSSAビュー情報をさらに記録することが可能である。OSDビュー情報は、OSDが対応して配置されたサーバを含み、これはOSDのルーティング情報を示すために使用され、さらに、OSDビューは、各々のOSD、各々のOSDに対応するステータス、および各々のOSDによって対応して管理されるDISKをさらに含むことが可能である。SSAビュー情報は、SSAが対応して配置されたサーバを含み、これはSSAのルーティング情報を示すために使用され、さらに、SSAビュー情報は、各々のSSAによって対応して管理される、SSA記憶アレイの、各々のSSAおよびLUNのステータスをさらに含む。例えば、次の表1および表2はそれぞれOSDビュー情報およびSSAビュー情報を表わす。
Figure 0006019513
Figure 0006019513
上述の表1および表2はそれぞれOSDビュー情報およびSSAビュー情報を記述し、この技術分野の当業者は、また、上述の表1および表2を1つの読み出し・書き込み制御モジュールのビュー情報に結合することが可能である。
記憶リソースを記憶パーティションに分割し、読み出し・書き込み制御モジュールの配置を決定した後、MDCは、各々の記憶パーティションについての対応する読み出し・書き込み制御モジュールをさらに構成定義することが可能である。割り当ての過程は、比較的柔軟とすることが可能であり、記憶パーティションの分割状態および実際の動作負荷に従ってMDCによって決定されることが可能である。例えば、記憶パーティションP1〜10はサーバノード1において対応して配置され、サーバノード1において動作するOSD1はその記憶パーティションのための読み出し・書き込み制御モジュールとしての役割を果たし、記憶パーティションP11〜20はサーバノード2において対応して配置され、サーバノード2において動作するOSD2はその記憶パーティションのための読み出し・書き込み制御モジュールとしての役割を果たし、記憶パーティションP21〜30はサーバノード2において対応して配置され、サーバノード2において動作するSSA1はその記憶パーティションのための読み出し・書き込み制御モジュールとしての役割を果たす。
さらに、MDCは、グローバルパーティション情報をさらに生成することが可能であり(グローバルパーティション情報テーブルは、本発明のこの実施例において例として使用される)、ここで、グローバルパーティション情報テーブルはサーバ・クラスタ・システムにおいて記憶パーティションの分散状態を記録する。図2および表3に表わされているように、グローバルパーティション情報テーブルは、各々の記憶パーティションに対応する読み出し・書き込み制御モジュール(OSDまたはSSA)を記録する。グローバルパーティション情報テーブルは各々の記憶パーティションに対応するソース記憶デバイスについての情報、例えば、磁気ディスク番号または物理アドレス情報をさらに記録することが可能である。
表3に表わされているように、P1に対応する読み出し・書き込み制御モジュールはOSD1であり、P1に対応するソース記憶ユニットはSERVER1におけるDISK1であり、P1に対応するソース物理アドレスは100〜199である。
Figure 0006019513
分散記憶コントローラは、仮想ブロックサービスVBSをさらに含む。記憶パーティションおよび読み出し・書き込み制御モジュールの配置を完了した後、MDCは、上述のグローバルパーティション情報テーブルおよび読み出し・書き込み制御モジュールのビュー情報をVBSにさらに送出することが可能である。VBSはMDCによって送出された情報に従ってI/Oビューを取得し、ここで、I/Oビューはグローバルパーティション情報テーブルの下位テーブルであり、各々の記憶パーティションに対応する実際の読み出し・書き込み制御モジュールを示すために使用され、記憶パーティションと読み出し・書き込み制御モジュールの間の対応関係を含む。I/OビューはMDCによってVBSに直接に送出されることが可能であり、MDCモジュールによって送出されるグローバルパーティション情報テーブルに従ってVBSによって生成されることも可能である。
VBSはサーバ・クラスタ・システムにおける各々のサーバノードにおいて動作することが可能であり、記憶ドライバ層として、サーバ・クラスタ・システムのアプリケーションモジュールのためのブロック・アクセス・インタフェース、例えば、SCSIに基づくブロック・デバイス・アクセス・インタフェースを提供するように構成される。上位層のアプリケーションによって送出されるデータ読み出し・書き込み要求を受信した後、VBSはデータ読み出し・書き込み要求に従って読み出され書き込まれる必要がある記憶パーティションを決定し、I/Oビューのビュー規則に従って現在のデータ読み出し・書き込み要求によって要求された記憶パーティションに対応する読み出し・書き込み制御モジュール(OSDおよびSSA)を決定し、対応する読み出し・書き込み制御モジュールに読み出し・書き込みデータ要求を送出してデータの読み出しおよび書き込みを完了する。
具体的には、VBSはグローバル・メタデータの管理をさらにサポートすることが可能であり、ここで、グローバル・メタデータは、サーバ・クラスタ・システムにおける共有記憶リソースのプールにおける記憶パーティションの大域的な使用状態、および、各々の記憶パーティションのメタデータを記録する。大域的な使用状態は、占有された記憶パーティションについての情報および空きの記憶パーティションについての情報を含む。各々の記憶パーティションのメタデータは各々の記憶パーティションの割り当て状態を示すために使用される。本発明のこの実施例において、記憶パーティションはブロックデータの記憶割り当ての形態で割り当てられる。すなわち、各々の記憶パーティションはデータブロック単位で使用され、記憶パーティションの使用は、読み出し、書き込み、割り当て、等を含む。例えば、記憶パーティションがユーザボリュームに割り当てられるとき、データブロックは割り当てのための単位として使用される。例えば、本発明のこの実施例において、各々の記憶パーティションはサイズで10GBであり、10GBの記憶パーティションは10240個のデータブロック(Block)に等しく分割されることが可能である。データが各々の記憶パーティションから読み出される、またはデータが各々の記憶パーティションに書き込まれるとき、データブロックは読み出しおよび書き込みのための単位として使用される。従って、各々の記憶パーティションのメタデータは、具体的には、各々の記憶パーティションに割り当てられたBlock IDとの間の対応関係を含み、ここで、複数のデータブロックが各々の記憶パーティションに割り当てられる。データブロックは統一サイズとすることが可能であり、またはサイズが制限されないことが可能である。本発明のこの実施例は、各々のデータブロックのサイズが1MBである例を使用する。さらに本発明のこの実施例において、各々のデータブロックのIDはデータブロックに対応するユーザボリュームのIDを含むことが可能であり、またはデータブロックに対応するユーザボリュームのIDおよび論理ブロックアドレス(Logical Block Address、LBA)を含むことが可能である。
各々の記憶パーティションのメタデータは、例えば、表4に表わされている。
Figure 0006019513
記憶パーティションと割り当てられたデータブロックとの間の対応関係はKey−Valueインデックス形式とすることが可能であり、ここで、データブロックのIDはKey値である。例えば、Key値はユーザボリュームの識別子およびデータブロックの論理ブロックアドレスに関し、記憶パーティションのIDはValue値である。Key−Valueインデック形式が使用されるならば、VBSは上述の表4を維持することなくアルゴリズムを使用することによって対応関係を直接に決定することも可能であることに注意すべきである。開始されるとき、VBSはサーバノードのハードディスクおよびSANノードの記憶アレイの磁気ディスクを横断することによって記憶リソースの割り当て情報を取得し、MDCによって送出されたグローバルパーティション情報テーブルに従って記憶されたメタデータを初期化することが可能である。
分散記憶コントローラは読み出し・書き込み制御モジュール、例えば、サーバノードのハードディスクリソースにおける読み出し・書き込み制御を実行するOSD、およびネットワーク記憶ノードの記憶アレイの記憶リソースにおける読み出し・書き込み制御を実行するSSAをさらに含む。
具体的には、OSDは、VBSから読み出し・書き込みコマンドを主に受信し、サーバノードのハードディスクにおけるデータ記憶およびサーバノードのハードディスクからのデータ取得を完了する。SSAは、VBSから読み出し・書き込みコマンドを主に受信し、SANノードのハードディスクにおけるデータ記憶およびSANノードのハードディスクからのデータ取得を完了する。SSAはホストにおけるSANデバイスのエージェントを実現するように構成される。SSAにおいて、各々の物理SANデバイスの記憶情報についてビューがセットアップされ、各々の物理SAN/NASデバイスへのアクセスはSSAのエージェントを使用することによって実行され、iSCSIインタフェース機能がSSAに追加される。
さらに、統一物理アドレスが共有記憶リソースのプールにおける記憶パーティションに割り当てられるならば、SSAは統一物理アドレスとSANノードにおける元のLUNアドレスの間の対応関係をさらに維持することが可能であり、ここで、SSAは対応関係に従って、読み出し・書き込み要求に対応する元のLUNのアドレスをさらに決定することが可能である。
上述のサーバ・クラスタ・システムは分散記憶コントローラを動作させ、ここで、分散記憶コントローラにおけるMDC、VBS、OSD、およびSSAは、異種の記憶リソースを統合および使用し、各種の異種の記憶リソースを使用することによってクラスタ共有リソースのプールを形成し、統一された形態で全ての記憶リソースを割り当ておよび管理することができ、それによって、記憶リソースの利用を向上させる。さらに、複数の記憶パーティションは同時に読み出されまたは書き込まれることができ、それによって、読み出し・書き込みの性能を向上させ、システムの関与率を増加させる。
図1への参照とともに、図3は、本発明の実施例に従う、異種の記憶リソースの統合を使用するサーバ・クラスタ・システムにおいてユーザボリュームを生成する処理過程である。
S301:サーバ・クラスタ・システムにおけるサーバノードに配置されたVBSは、アプリケーション側によって送信されたユーザボリューム生成コマンドを受信する。
具体的には、サーバ・クラスタ・システムにおいて動作するアプリケーション側のアプリケーションプログラム(例えば、仮想マシン)はユーザボリューム生成コマンドを開始し、ここで、コマンドは、アプリケーションマネージャによって、サーバ・クラスタ・システムにおけるいずれかのサーバノードに配置されたVBSに転送される(好ましい形態において、サーバノードにおけるVBSはユーザボリューム生成コマンドを受信し、ここで、コマンドを開始する仮想マシンのコンピューティング・リソースはサーバノードに配置される)。好ましくは、本発明のこの実施例におけるサーバ・クラスタ・システムが一次的なおよび二次的なVBSの機能をさらに提供するならば、ユーザボリューム生成コマンドを受信した後、VBSは、VBSがサーバ・クラスタ・システムにおける一次的なVBSであるかどうかをさらに決定することが可能である。そうでないならば、VBSはユーザボリューム生成コマンドを一次的なVBSに転送する。実際、VBSの配置は比較的柔軟である。サーバ・クラスタ・システムにおける全てのサーバノードにインストールされたVBSは等しい順位とすることが可能であり、この場合、全てのVBSの構成定義および機能は同一である。サーバ・クラスタ・システムにおける1つのVBSが一次的なVBSとして選択され、他のVBSが二次的なVBSとして使用されることも可能である。一次的なVBSは、ユーザボリューム/データブロックを割り当て、記憶パーティションのメタデータを管理するように構成され、二次的なVBSは、一次的なVBSにおけるメタデータを問い合わせ、一次的なVBSのコマンドに従って操作を実行するように構成される。本発明のこの実施例は、サーバ・クラスタ・システムが一次的なおよび二次的なVBSを実現する例を使用する。
S302:一次的なVBSは、ユーザボリューム生成コマンドによって示されるボリュームのサイズ情報に従って、グローバル・メタデータを問い合わせ、共有記憶リソースのプールにおける残りのリソースが要求条件を満たすかどうかを決定し、満たすならば、ユーザボリュームを生成し、すなわち、ユーザボリュームのボリューム識別子(ID)を決定し、ユーザボリュームに初期記憶パーティションを割り当て、初期記憶パーティションのメタデータにおいて、ユーザボリュームの識別子、および、割り当てられた初期記憶パーティションについての情報を記録する。
具体的には、ユーザボリューム生成コマンドがユーザボリュームのIDを指定するならば、一次的なVBSはユーザボリューム生成コマンドにおけるユーザボリュームのIDを直接に使用し、ユーザボリューム生成コマンドがユーザボリュームのIDを指定しないならば、VBSはユーザボリュームにユーザボリュームのIDを割り当てる。
ユーザボリュームを生成する過程において、VBSは、ユーザボリュームに初期記憶パーティションをさらに割り当てることが可能であり、すなわち、いくつかの記憶パーティションがユーザボリュームの初期記憶パーティションとして空きの記憶パーティションから選択される。ユーザボリュームの初期記憶リソースのサイズは、ユーザボリューム生成コマンドによって指定されるユーザボリュームの容量に従って柔軟に割り当てられることが可能である。ユーザボリューム生成コマンドによって指定されるユーザボリュームの全体の容量は、初期記憶パーティションの容量として使用されることが可能である。例えば、ユーザボリューム生成コマンドは5GBのユーザボリュームを生成するように要求し、VBSは初期記憶パーティションとしてユーザボリュームに全体の5GBを割り当てることが可能である。すなわち、5GBは1MBのサイズを有する5120個のデータブロックに分割され、5120個のデータブロックは分散された形態で記憶パーティションP1〜P30において配置され、この場合、初期記憶パーティションのサイズは5GBである。VBSは、薄い割り当て形態を使用して、共有記憶リソースのプールの実際の状態に従ってユーザボリュームに記憶リソースの一部を割り当てる、例えば、ユーザボリュームに1GBの初期記憶リソースを割り当てることも可能である。1GBの初期記憶リソースは1MBのサイズを有する1024個のデータブロックに分割され、1024個のデータブロックは分散された形態で記憶パーティションP1〜P30において配置され、この場合、初期記憶パーティションのサイズは1GBである。
VBSは、ユーザボリュームのID、および、グローバル・メタデータにおける各々の初期記憶パーティションのメタデータ情報において割り当てられた初期記憶パーティションについての情報を記録する。
ユーザボリュームに初期記憶パーティションを割り当てるとき、VBSは、また、対応するソース物理アドレスを各々のユーザボリュームの各々のデータブロックに割り当てる。
S303:一次的なVBSはユーザボリュームをマウントし、マウントが成功した後、仮想記憶デバイスを生成する。
S304:一次的なVBSは仮想記憶デバイスについての情報をアプリケーション側に返信する。
S305:一次的なVBSはグローバル・メタデータをサーバ・クラスタ・システムにおけるMDCに返信し、それによって、MDCはグローバル・メタデータに従ってグローバルパーティション情報テーブルを更新する。
S305は任意選択のステップであり、柔軟な順序で実現されることが可能である。
図1への参照とともに、図4は、本発明の実施例に従う、異種の記憶リソースの統合を使用するサーバ・クラスタ・システムにおいてユーザがデータを書き込む処理過程である。
S401:サーバ・クラスタ・システムにおいて動作するアプリケーションプログラムがデータ書き込み操作を開始した後、サーバ・クラスタ・システムにおけるVBSはデータ書き込み操作要求を受信する。
データ書き込み操作要求は、ファイル名および書き込まれるデータを搬送する。
S402:VBSは、データ書き込み操作要求において搬送されたファイル名に従って、現在の書き込み操作に対応するユーザボリュームのIDを決定する。
VBSは、書き込まれるデータに従って、書き込まれるデータのサイズをさらに計算することが可能である。
VBSは書き込まれるデータにLBAを割り当てる(このステップにおいてLBAを割り当てることは任意選択であり、このステップにおいてVBSは書き込まれるデータにLBAを割り当てないことも可能である)。
例えば、VBSは、現在の書き込み操作について、Volume ID 1、Size=1GB、LBA:001×−221×を決定する。
S403:VBSは書き込まれるデータを複数のデータブロックに区分し、各々のデータブロックにLBAを割り当てる。
VBSは単位に従って書き込まれるデータを等しく区分することが可能であり、例えば、データを1MBに従って区分し、すなわち、毎回、各々の記憶パーティションの使用単位に従ってデータを区分する。この実施例において、VBSは1GBのサイズを有する書き込まれるデータを1024個のデータブロックに区分し、ここで、各々のデータブロックのサイズは1MBである。残りの書き込まれるデータが1MBより小さいならば、最後のデータブロックのサイズは残りの書き込まれるデータの実際のサイズである。VBSは、各々のデータブロックに、対応するLBAをさらに割り当てる。
例えば、
Block1 LBA:0000−1024
Block2 LBA:1025−2048
・・・
S404:VBSは各々のデータブロックについて対応する記憶パーティションを決定する。
具体的には、VBSは、まず、各々の書き込まれるデータブロックの論理ブロックアドレス(LBA)を決定し、そして、ユーザボリュームのIDおよび各々のデータブロックのLBAを各々のデータブロックのKey値に結合し、ハッシュアルゴリズムのような分散記憶アルゴリズムに従って、各々のデータブロックに対応する記憶パーティションを決定する。ここで、LBAは元のLBAが処理された後の値とすることが可能であり、例えば、Block1に対応するLBA 0000−1024は1に対応し、Block2に対応するLBA 1025−2048は2に対応する。
S405:VBSは複数のデータブロック書き込みコマンドを生成し、ここで、各々のデータブロックは1つのデータブロック書き込みコマンドに対応し、各々のデータブロック書き込みコマンドは書き込まれるデータブロック、および書き込まれるデータブロックのIDを搬送する(例えば、Block IDはユーザボリュームのIDおよび書き込まれるデータブロックのLBAを含む)。
このステップは続くステップが完了した後に実行されることも可能であり、具体的な実現は時間的な順序を限定しない。
S406:VBSは、各々のデータブロックに対応する記憶パーティションに従って、各々のデータブロックに対応する読み出し・書き込み制御モジュールを決定する。
具体的には、VBSは、グローバルパーティション情報テーブルに従って、各々のデータブロックに対応する読み出し・書き込み制御モジュールを決定する。
S407:VBSは、各々のデータブロック書き込みコマンドを、各々のデータブロックに対応する読み出し・書き込み制御モジュールに送信し、それによって、各々のデータブロックに対応する読み出し・書き込み制御モジュールは各々のデータブロックを記憶ハードウェアリソースに書き込む。
具体的には、OSDがデータブロック書き込みコマンドを受信したならば、OSDは、書き込まれるデータブロックのIDに従って、OSDによって記憶されたデータブロックのメタデータを問い合わせ、データブロックのIDについてOSDによって実行される操作が第1の操作であるかどうかを決定する。それが第1の操作であるならば、OSDは実際の物理アドレスを書き込まれるデータブロックに割り当て、書き込まれるデータブロックを物理アドレスに対応する磁気ディスクに書き込み、OSDによって記憶されたデータブロックのメタデータを更新し、書き込まれるデータブロックのIDと物理アドレスの間の対応関係を記録する。それが第1の操作でないならば、OSDは、書き込まれるデータブロックのIDに従って、OSDによって記憶されたデータブロックのメタデータを問い合わせ、書き込まれるデータブロックに対応する物理アドレスを決定し、書き込まれるデータブロックを問い合わせによって得られた物理アドレスに書き込む。
SSAがデータブロック書き込みコマンドを受信したならば、SSAは、書き込まれるデータブロックのIDに従って、SSAによって記憶されたデータブロックのメタデータを問い合わせ、データブロックのIDについてSSAによって実行される操作が第1の操作であるかどうかを決定する。それが第1の操作であるならば、SSAは実際のSAN記憶ノードの記憶アレイにおける論理アドレスすなわちLUNアドレスを書き込まれるデータブロックに割り当て、書き込まれるデータブロックをLUNアドレスに対応する磁気ディスクに書き込み、SSAによって記憶されたデータブロックのメタデータを更新し、書き込まれるデータブロックのIDとLUNアドレスの間の対応関係を記録する。それが第1の操作でないならば、OSDは、書き込まれるデータブロックのIDに従って、OSDによって記憶されたデータブロックのメタデータを問い合わせ、書き込まれるデータブロックに対応するLUNアドレスを決定し、書き込まれるデータブロックを問い合わせによって得られたLUNアドレスに書き込む。
書き込み操作の間、OSDまたはSSAは、まず、データブロックをローカルキャッシュ層に書き込む、すなわち、応答メッセージを返信することが可能であり、それによって記憶の効率を向上させる。
図1への参照とともに、図5は、本発明の実施例に従う、異種の記憶リソースの統合を使用するサーバ・クラスタ・システムにおいてユーザがデータを読み出す処理過程である。
S501:サーバ・クラスタ・システムにおいて動作するアプリケーションプログラムがデータ読み出し操作を開始した後、サーバ・クラスタ・システムにおけるVBSはデータ読み出し操作要求を受信する。
データ読み出し操作要求は、読み出されるデータのファイル名およびオフセット情報を搬送する。
S502:VBSは、データ読み出し操作要求において搬送されたファイル名に従って、現在の読み出し操作に対応するユーザボリュームのIDを決定し、読み出されるデータのオフセット情報に従って、読み出されるデータのLBAを決定する。
S503:VBSは、ユーザボリュームのIDおよび読み出されるデータのLBAに従って、複数の読み出されるデータブロックを決定する。
具体的には、各々の読み出されるデータブロックのIDはユーザボリュームおよび各々のデータブロックのLBAを含み、ここで、各々のデータブロックのLBAは読み出されるデータの量および読み出されるデータのオフセットに従って決定されることが可能である。
S504:VBSは各々の読み出されるデータブロックについて対応する記憶パーティションを決定する。
具体的には、VBSは、まず、各々の読み出されるデータブロックの論理ブロックアドレス(LBA)を決定し、そして、ユーザボリュームのIDおよび各々のデータブロックのLBAを各々のデータブロックのkey値に結合し、ハッシュアルゴリズムのような分散記憶アルゴリズムに従って、各々のデータブロックに対応する記憶パーティションを決定する。
S505:VBSは複数のデータブロック読み出しコマンドを生成し、ここで、各々のデータブロックは1つのデータブロック読み出しコマンドに対応し、各々のデータブロック読み出しコマンドは読み出されるデータブロックのIDを搬送する(例えば、Block IDはユーザボリュームのIDおよび読み出されるデータブロックのLBAを含む)。
S506:VBSは、各々のデータブロックに対応する記憶パーティションに従って、各々のデータブロックに対応する読み出し・書き込み制御モジュールを決定する。
具体的には、VBSは、グローバルパーティション情報テーブルに従って、各々のデータブロックに対応する読み出し・書き込み制御モジュールを決定する。
S507:VBSは、各々のデータブロック読み出しコマンドを、各々のデータブロックに対応する読み出し・書き込み制御モジュールに送信し、それによって、各々のデータブロックに対応する読み出し・書き込み制御モジュールは記憶ハードウェアリソースから各々の読み出されるデータブロックを読み出す。
具体的には、OSDがデータブロック読み出しコマンドを受信したならば、OSDは、読み出されるデータブロックのIDに従って、OSDによって記憶されたデータブロックのメタデータを問い合わせ、読み出されるデータブロックに割り当てられた実際の物理アドレスを決定し、物理アドレスに対応する磁気ディスクから読み出されるデータブロックを読み出す。
SSAがデータブロック読み出しコマンドを受信したならば、SSAは、読み出されるデータブロックのIDに従って、SSAによって記憶されたデータブロックのメタデータを問い合わせ、読み出されるデータブロックに割り当てられた、SAN記憶ノードの記憶アレイにおける実際の論理アドレスすなわちLUNアドレスを決定し、LUNアドレスに対応する磁気ディスクから、読み出されるデータブロックを読み出す。
本発明のこの実施例に従う、コンピューティング、記憶、および統合のためにクラスタシステムを使用することによって、先行技術における専用のSANの使用による複雑な操作および高いコストの問題がハードウェアに関して解決される。複数の記憶デバイスが存在することが可能であり、キャッシュが各々の記憶デバイスに配置されることが可能であり、それによって、ハードウェアに関してストレージ側におけるキャッシュの拡張能力を大きく向上させる。記憶リソースは、コンピューティング・リソースに依存せず、独立に増加および減少されることができ、それによって、システムのスケーラビリティを向上させる。システムにおける永続的な磁気ディスクおよびキャッシュリソースは共有リソースのプールに仮想化され、全てのコンピューティングによって共有され、全てのコンピューティングおよびストレージはデータの読み出しおよびデータの書き込みに参加することが可能であり、同時性の向上によってシステムの記憶性能は向上される。さらに、本発明のこの実施例に従う、コンピューティング、記憶、および統合のためのクラスタシステムは、高速データ交換ネットワークを使用して通信を実行し、従って、データ交換速度はさらに増加される。
図6は、本発明の実施例に従う、サーバ・クラスタ・システムのもう1つの構成図である。サーバ・クラスタ・システムは、サーバノード1および2、およびネットワーク記憶ノード、すなわち、製造業者AのSANデバイスを含み、ここで、サーバノード1はハードディスク1および2を含み、サーバノード2はハードディスク3を含み、ネットワーク記憶ノードは、記憶アレイ、すなわち、LUN1およびLUN2を含み、分散記憶コントローラはサーバノードにおいて動作し、分散記憶コントローラは、
この実施例において2つのサーバノードに配置されたメタデータ・コントローラであって、ここで、サーバノード1に配置されたメタデータ・コントローラは一次的なMDCであり、サーバノード2に配置されたメタデータ・コントローラは二次的なMDCであり、メタデータ・コントローラは、ハードディスクおよび記憶アレイの記憶リソースを複数の記憶パーティションに分割し、ここで、複数の記憶パーティションは共有記憶リソースのプールを形成し、各々の記憶パーティションに読み出し・書き込み制御モジュールを割り当て、グローバルパーティション情報を生成し、ここで、グローバルパーティション情報は共有記憶リソースのプールにおける各々の記憶パーティションと読み出し・書き込み制御モジュールの間の対応関係を記録し、グローバルパーティション情報を仮想ブロック・サービス・モジュールに送出するように構成された、メタデータ・コントローラと、
仮想ブロック・サービス・モジュールであって、ここで、VBSはこの実施例において各々のサーバノードに配置され、サービス層に向かい、記憶要求メッセージを受信し、記憶要求メッセージに対応する記憶パーティションを決定し、グローバルパーティション情報に従って、記憶要求メッセージに対応する記憶パーティションに対応する読み出し・書き込み制御モジュールを決定し、決定された読み出し・書き込み制御モジュールに記憶要求メッセージを送信するように構成された、仮想ブロック・サービス・モジュールと、
ハードディスクまたはネットワーク記憶ノードに向かい、記憶要求メッセージによって要求される操作を実行するように構成された、読み出し・書き込み制御モジュールであって、この実施例における読み出し・書き込み制御モジュールは、サーバノード1に配置されたOSD1およびOSD2、および、サーバノード2に配置されたOSD3、SSA1、およびSSA2を含み、ここで、OSD1はハードディスク1における読み出し・書き込み制御を実行するように構成され、OSD2はハードディスク2における読み出し・書き込み制御を実行するように構成され、OSD3はハードディスク3における読み出し・書き込み制御を実行するように構成され、SSA1はLUN1における読み出し・書き込み制御を実行するように構成され、SSA2はLUN2における読み出し・書き込み制御を実行するように構成された、読み出し・書き込み制御モジュールと、を含む。
メタデータ・コントローラは、サーバノードにおけるオブジェクト記憶デリゲートおよびSAN記憶エージェントの配置状態を個々に決定し、決定された配置状態に従って読み出し・書き込み制御モジュールのビュー情報を生成し、ここで、読み出し・書き込み制御モジュールのビュー情報は、各々の読み出し・書き込み制御モジュールが配置されたサーバノードについての情報を示すために使用され、読み出し・書き込み制御モジュールのビュー情報を仮想ブロック・サービス・モジュールに送出するようにさらに構成される。
さらに、メタデータ・コントローラは、具体的には、サーバ・クラスタ・システムにおいてハードディスクリソースを有するサーバノードにオブジェクト記憶デリゲートを配置することを決定し、サーバ・クラスタ・システムにおいて少ない負荷を有するサーバノードにSAN記憶エージェントを配置することを決定するように構成される。
例えば、この実施例において、メタデータ・コントローラはサーバノード2にSSA1およびSSA2を配置する。
仮想ブロック・サービス・モジュールは、具体的には、読み出し・書き込み制御モジュールのビュー情報に従って読み出し・書き込み制御モジュールのルーティング情報を決定し、決定された読み出し・書き込み制御モジュールに記憶要求メッセージを送信するように構成される。
図6に表わされているこの実施例において、図3から図5のいずれか1つにおいて説明された方法がさらに実行されることが可能であり、これは本発明のこの実施例において再度詳細には説明されない。
図7は、本発明の実施例に従う、コンピュータの構成の概要の構成図である。本発明のこの実施例のコンピュータは、
プロセッサ701、メモリ702、システムバス70、および通信インタフェース70を含むことが可能であり、ここで、CPU 701、メモリ702、および通信インタフェース70はシステムバス70を使用することによって接続され、相互通信を完了する。
プロセッサ701は、シングル・コアまたはマルチ・コアの中央処理ユニット、または特定の集積回路とすることが可能であり、または本発明のこの実施例を実現する1つまたはより多くの集積回路として構成定義されることが可能である。
メモリ702は、高速RAMメモリとすることが可能であり、または不揮発性メモリ(non-volatile memory)、例えば、少なくとも1つの磁気ディスクメモリとすることが可能である。
メモリ702はコンピュータ実行命令70を記憶するように構成される。具体的には、コンピュータ実行命令70はプログラムコードを含むことが可能である。
コンピュータが動作するとき、プロセッサ701はコンピュータ実行命令70を動作させ、本発明の実施例のうちのいずれか1つの実施例によって提供される方法を実行することが可能である。より具体的には、本発明の実施例において説明された分散記憶コントローラがコンピュータコードを使用することによって実現されるならば、コンピュータは本発明の実施例の分散記憶コントローラの機能を実行する。
本発明の実施例において、「Aに対応するB」は、BがAと関連付けされ、BがAに従って決定されることが可能であることを示すと理解すべきである。しかし、Aに対応するBを決定することは、BがAのみに従って決定されることを意味せず、BはAおよび/または他の情報に従って決定されることも可能であるとさらに理解すべきである。
この技術分野の当業者は、この明細書に記載された実施例において説明された例と組み合わせて、ユニットおよびアルゴリズムのステップは、電子的なハードウェア、コンピュータソフトウェア、またはそれらの組み合わせによって実現されることが可能であることに気付くことが可能である。ハードウェアとソフトウェアの間の交換可能性を明確に説明するために、上記は、機能に従って各々の例の構成およびステップを広く説明した。機能がハードウェアによって実行されるか、またはソフトウェアによって実行されるかは、技術的解決手段の特定の適用および設計の制約条件に依存する。この技術分野の当業者は、各々の特定の適用のため、説明された機能を実現するために異なる方法を使用することが可能であるが、その実現は本発明の範囲を超えると考えるべきでない。
この適用において提供される実施例において、記載されたシステムは他の形態で実現されることが可能であることを理解すべきである。例えば、説明されたシステムの実施例は単に例示である。例えば、ユニットの分割は単に論理的な機能の分割であり、実際の実現において他の分割とすることが可能である。例えば、複数のユニットまたは構成要素が他のシステムに組み合わされ、または統合されることが可能であり、またはいくつかの特徴は無視され、または実行されないことが可能である。さらに、表示された、または説明された相互の結合または直接の結合または通信接続は、いくつかのインタフェースを通して実現されることが可能である。装置間またはユニット間の間接的な結合または通信接続は、電子的、機械的、または他の形式で実現されることが可能である。
別個の部分として説明されたユニットは、物理的に別個とし、または物理的に別個としないことが可能であり、ユニットとして表示された部分は、物理的なユニットとし、または物理的なユニットとしないことが可能であり、1つの位置に配置されることが可能であり、または複数のネットワークユニットに分散されることが可能である。ユニットのいくつかまたは全ては、本発明の実施例の解決手段の目的を達成するための実際の必要性に従って選択されることが可能である。
さらに、本発明の実施例における機能ユニットは、1つの処理ユニットに統合されることが可能であり、またはユニットの各々は物理的に単独で存在することが可能であり、または2つまたはより多くのユニットが1つのユニットに統合される。統合されたユニットは、ハードウェアの形式で実現されることが可能であり、またはソフトウェアの機能ユニットの形式で実現されることが可能である。
統合されたユニットが、ソフトウェアの機能ユニットの形式で実現され、独立の製品として販売または使用されるとき、統合されたユニットはコンピュータ読み取り可能な記憶媒体に記憶されることが可能である。そのような理解に基づいて、本質的に、本発明の技術的解決手段、または先行技術に貢献する部分、または技術的解決手段の全てまたは一部は、ソフトウェア製品の形式で実現されることが可能である。ソフトウェア製品は、記憶媒体に記憶され、本発明の実施例において説明された方法のステップの全てまたはいくつかを実行するように(パーソナルコンピュータ、サーバ、またはネットワークデバイスとすることが可能である)コンピュータデバイスに命令するためのいくつかの命令を含む。上述の記憶媒体は、USBフラッシュドライブ、取り外し可能なハードディスク、リード・オンリ・メモリ(ROM, Read-Only Memory)、ランダム・アクセス・メモリ(RAM, Random Access Memory)、磁気ディスク、または光ディスクのような、プログラムコードを記憶できるどのような媒体も含む。
上述した説明は、単に本発明の具体的な実施例であるが、本発明の保護範囲を限定することは意図されない。本発明において記載された技術的範囲内の、この技術分野の当業者によって容易に理解されるどのような修正または置換も本発明の保護範囲内にあるものである。従って、本発明の保護範囲は請求項の保護範囲に従うものである。
701 プロセッサ
702 メモリ
703 システムバス
704 通信インタフェース
705 プログラム

Claims (22)

  1. サーバ・クラスタ・システムに適用される、記憶リソースを共有するための方法であって、
    前記サーバ・クラスタ・システムはサーバノードおよびネットワーク記憶ノードを含み、前記サーバノードはハードディスクを含み、前記ネットワーク記憶ノードは記憶アレイを含み、前記方法は、
    前記ハードディスクおよび前記記憶アレイの記憶リソースを複数の記憶パーティションに分割するステップであって、前記複数の記憶パーティションは共有記憶リソースのプールを形成する、ステップと、
    各々の記憶パーティションに読み出し・書き込み制御モジュールを割り当てるステップと、
    グローバルパーティション情報を生成するステップであって、前記グローバルパーティション情報は、前記共有記憶リソースのプールにおける各々の記憶パーティションと前記読み出し・書き込み制御モジュールとの間の対応関係を記録する、ステップと、
    記憶要求メッセージを受信し、前記記憶要求メッセージに対応する記憶パーティションを決定するステップと、
    前記グローバルパーティション情報に従って、前記記憶要求メッセージに対応する記憶パーティションに対応する読み出し・書き込み制御モジュールを決定するステップと、
    前記読み出し・書き込み制御モジュールが前記記憶要求メッセージによって要求される操作を実行するように、前記決定された読み出し・書き込み制御モジュールに前記記憶要求メッセージを送信するステップと、
    を含む方法。
  2. 前記記憶要求メッセージに対応する記憶パーティションを決定するステップは、
    前記記憶要求メッセージに従って操作されるデータが配置されるユーザボリュームのID、および、前記操作されるデータの少なくとも1つのデータブロックの論理ブロックアドレスLBAを決定するステップと、
    前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックに対応する記憶パーティションを決定するステップと、
    を含む請求項1に記載の方法。
  3. 前記共有記憶リソースのプールにおいて各々の記憶パーティションのメタデータをセットアップするステップであって、各々の記憶パーティションのメタデータは、前記記憶パーティションのIDと、前記記憶パーティションに割り当てられたデータブロックのIDとの間の対応関係を記録する、ステップをさらに含み、
    前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックに対応する記憶パーティションを決定するステップは、
    前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックのIDを決定し、各々の記憶パーティションのメタデータを問い合わせ、前記少なくとも1つのデータブロックに対応する記憶パーティションのIDを決定するステップ
    を含む請求項2に記載の方法。
  4. 前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックに対応する記憶パーティションを決定するステップは、
    前記ユーザボリュームのIDおよび各々のデータブロックのLBAを使用することによって、各々のデータブロックのkey値を形成し、各々のデータブロックの前記key値に対応するvalue値を計算し、前記value値に従って各々のデータブロックに対応する記憶パーティションを決定するステップ
    を含む請求項2に記載の方法。
  5. 記憶要求メッセージを受信することは、データ書き込み操作要求を受信することを含み、
    前記記憶要求メッセージに従って操作されるデータが配置されるユーザボリュームのID、および、前記操作されるデータの少なくとも1つのデータブロックの論理ブロックアドレスLBAを決定するステップと、前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックに対応する記憶パーティションを決定するステップと、は、
    前記データ書き込み操作要求において搬送されたファイル名に従って、現在の書き込み操作に対応するユーザボリュームのIDを決定するステップと、
    書き込まれるデータを複数の書き込まれるデータブロックに分割し、各々の書き込まれるデータブロックにLBAを割り当てるステップと、
    前記現在の書き込み操作に対応するユーザボリュームのID、および、各々の書き込まれるデータブロックのLBAに従って、各々の書き込まれるデータブロックに対応する記憶パーティションを決定するステップと、
    を含む請求項2または3または4に記載の方法。
  6. 前記書き込まれるデータは、統一サイズの複数の書き込まれるデータブロックに分割される請求項に記載の方法。
  7. 前記グローバルパーティション情報に従って、前記記憶要求メッセージに対応する読み出し・書き込み制御モジュールを決定するステップと、前記読み出し・書き込み制御モジュールが前記記憶要求メッセージによって要求される操作を実行するように、前記決定された読み出し・書き込み制御モジュールに前記記憶要求メッセージを送信するステップと、は、
    前記グローバルパーティション情報に従って、各々の書き込まれるデータブロックに対応する記憶パーティションに対応する読み出し・書き込み制御モジュールを決定するステップと、
    複数のデータブロック書き込みコマンドを生成するステップであって、各々のデータブロック書き込みコマンドは1つの書き込まれるデータブロックに対応し、各々のデータブロック書き込みコマンドは、前記書き込まれるデータブロック、および、前記書き込まれるデータブロックのIDを搬送する、ステップと、
    各々の書き込まれるデータブロックに対応する読み出し・書き込み制御モジュールが記憶ハードウェアリソースに各々の書き込まれるデータブロックを書き込むように、各々の書き込まれるデータブロックに対応する読み出し・書き込み制御モジュールに各々のデータブロック書き込みコマンドを個々に送信するステップと、
    を含む請求項に記載の方法。
  8. 記憶要求メッセージを受信することは、データ読み出し操作要求を受信することを含み、前記データ読み出し操作要求はファイル名および読み出されるデータのオフセットを搬送し、
    前記記憶要求メッセージに従って操作されるデータが配置されるユーザボリュームのID、および、前記操作されるデータの少なくとも1つのデータブロックの論理ブロックアドレスLBAを決定するステップと、前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックに対応する記憶パーティションを決定するステップと、は、
    前記データ読み出し操作要求において搬送されたファイル名に従って、現在の読み出し操作に対応するユーザボリュームのIDを決定するステップと、
    前記読み出されるデータのオフセットに従って複数の読み出されるデータブロックのLBAを決定するステップと、
    前記現在の読み出し操作に対応するユーザボリュームのID、および、各々の読み出されるデータブロックのLBAに従って、各々の読み出されるデータブロックに対応する記憶パーティションを決定するステップと、
    を含む請求項2、3または4に記載の方法。
  9. 統一サイズの複数の読み出されるデータブロックは、前記読み出されるデータのオフセットに従って決定される請求項に記載の方法。
  10. 前記グローバルパーティション情報に従って、前記記憶要求メッセージに対応する読み出し・書き込み制御モジュールを決定するステップと、前記読み出し・書き込み制御モジュールが前記記憶要求メッセージによって要求される操作を実行するように、前記決定された読み出し・書き込み制御モジュールに前記記憶要求メッセージを送信するステップと、は、
    前記グローバルパーティション情報に従って、前記複数の読み出されるデータブロックに対応する記憶パーティションに対応する読み出し・書き込み制御モジュールを決定するステップと、
    複数のデータブロック読み出しコマンドを生成するステップであって、各々のデータブロック読み出しコマンドは1つの読み出されるデータブロックに対応し、各々のデータブロック読み出しコマンドは、前記読み出されるデータブロック、および、前記読み出されるデータブロックのIDを搬送する、ステップと、
    各々の読み出されるデータブロックに対応する読み出し・書き込み制御モジュールが各々の読み出されるデータブロックを読み出すように、各々の読み出されるデータブロックに対応する読み出し・書き込み制御モジュールに各々のデータブロック読み出しコマンドを個々に送信するステップと、
    を含む請求項に記載の方法。
  11. サーバ・クラスタ・システムであって、前記サーバ・クラスタ・システムはサーバノードおよびネットワーク記憶ノードを含み、前記サーバノードはハードディスクを含み、前記ネットワーク記憶ノードは記憶アレイを含み、前記サーバノードにおいて分散記憶コントローラが動作し、前記分散記憶コントローラは、
    前記ハードディスクおよび前記記憶アレイの記憶リソースを複数の記憶パーティションに分割するように構成されたメタデータ・コントローラを含み、前記複数の記憶パーティションは共有記憶リソースのプールを形成し、前記メタデータ・コントローラは、各々の記憶パーティションに読み出し・書き込み制御モジュールを割り当て、グローバルパーティション情報を生成するように構成され、前記グローバルパーティション情報は、前記共有記憶リソースのプールにおける各々の記憶パーティションと前記読み出し・書き込み制御モジュールとの間の対応関係を記録し、前記メタデータ・コントローラは、前記グローバルパーティション情報を仮想ブロック・サービス・モジュールに送出するように構成され、
    前記分散記憶コントローラは、
    サービス層に向かい、記憶要求メッセージを受信し、前記記憶要求メッセージに対応する記憶パーティションを決定し、前記グローバルパーティション情報に従って、前記記憶要求メッセージに対応する記憶パーティションに対応する読み出し・書き込み制御モジュールを決定し、前記決定された読み出し・書き込み制御モジュールに前記記憶要求メッセージを送信するように構成された前記仮想ブロック・サービス・モジュールと、
    前記ハードディスクまたは前記ネットワーク記憶ノードに向かい、前記記憶要求メッセージによって要求される操作を実行するように構成された前記読み出し・書き込み制御モジュールと、
    を含むサーバ・クラスタ・システム。
  12. 前記読み出し・書き込み制御モジュールはオブジェクト記憶デリゲートおよびSAN記憶エージェントを含み、
    前記メタデータ・コントローラは、読み出し・書き込み制御モジュールとして前記オブジェクト記憶デリゲートをローカル・ハードディスクの記憶パーティションに割り当て、読み出し・書き込み制御モジュールとして前記SAN記憶エージェントを前記記憶アレイの記憶パーティションに割り当てるように特に構成され、
    前記オブジェクト記憶デリゲートは、前記記憶要求メッセージを受信し、前記記憶要求メッセージに対応する物理アドレスを決定し、前記物理アドレスに従って前記ハードディスクにおいて前記記憶要求メッセージによって要求される操作を実行するように構成され、
    前記SAN記憶エージェントは、前記記憶要求メッセージを受信し、前記ネットワーク記憶ノードの、前記記憶要求メッセージに対応する論理アドレスを決定し、前記論理アドレスに従って前記記憶アレイにおいて前記記憶要求メッセージによって要求される操作を実行するように構成された請求項1に記載のシステム。
  13. 前記仮想ブロック・サービス・モジュールは、前記記憶要求メッセージに従って操作されるデータが配置されるユーザボリュームのID、および、前記操作されるデータの少なくとも1つのデータブロックの論理ブロックアドレスLBAを決定し、前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックに対応する記憶パーティションを決定するように構成された請求項1に記載のシステム。
  14. 前記仮想ブロック・サービス・モジュールは、前記共有記憶リソースのプールにおいて各々の記憶パーティションのメタデータをセットアップするように特に構成され、各々の記憶パーティションのメタデータは、前記記憶パーティションのIDと、前記記憶パーティションに割り当てられたデータブロックのIDとの間の対応関係を記録し、前記仮想ブロック・サービス・モジュールは、前記ユーザボリュームのIDおよび前記少なくとも1つのデータブロックのLBAに従って、前記少なくとも1つのデータブロックのIDを決定し、各々の記憶パーティションのメタデータを問い合わせ、前記少なくとも1つのデータブロックに対応する記憶パーティションのIDを決定するように特に構成された請求項1に記載のシステム。
  15. 前記仮想ブロック・サービス・モジュールは、前記ユーザボリュームのIDおよび各々のデータブロックのLBAを使用することによって、各々のデータブロックのkey値を形成し、各々のデータブロックの前記key値に対応するvalue値を計算し、前記value値に従って各々のデータブロックに対応する記憶パーティションを決定するように特に構成された請求項1に記載のシステム。
  16. 前記仮想ブロック・サービス・モジュールは、データ書き込み操作要求を受信し、前記データ書き込み操作要求において搬送されたファイル名に従って、現在の書き込み操作に対応するユーザボリュームのIDを決定し、書き込まれるデータを複数の書き込まれるデータブロックに分割し、各々の書き込まれるデータブロックにLBAを割り当て、前記現在の書き込み操作に対応するユーザボリュームのID、および、各々の書き込まれるデータブロックのLBAに従って、各々の書き込まれるデータブロックに対応する記憶パーティションを決定し、前記グローバルパーティション情報に従って、各々の書き込まれるデータブロックに対応する記憶パーティションに対応する読み出し・書き込み制御モジュールを決定し、複数のデータブロック書き込みコマンドを生成するように特に構成され、各々のデータブロック書き込みコマンドは1つの書き込まれるデータブロックに対応し、各々のデータブロック書き込みコマンドは、前記書き込まれるデータブロック、および、前記書き込まれるデータブロックのIDを搬送し、前記仮想ブロック・サービス・モジュールは、各々の書き込まれるデータブロックに対応する読み出し・書き込み制御モジュールに各々のデータブロック書き込みコマンドを個々に送信するように特に構成された請求項1から1のいずれか一項に記載のシステム。
  17. 前記仮想ブロック・サービス・モジュールは、データ読み出し操作要求を受信するように特に構成され、前記データ読み出し操作要求はファイル名および読み出されるデータのオフセットを搬送し、前記仮想ブロック・サービス・モジュールは、前記データ読み出し操作要求において搬送されたファイル名に従って、現在の読み出し操作に対応するユーザボリュームのIDを決定し、前記読み出されるデータのオフセット情報に従って複数の読み出されるデータブロックのLBAを決定し、前記現在の読み出し操作に対応するユーザボリュームのID、および、各々の読み出されるデータブロックのLBAに従って、各々の読み出されるデータブロックに対応する記憶パーティションを決定し、前記グローバルパーティション情報に従って、前記複数の読み出されるデータブロックに対応する記憶パーティションに対応する読み出し・書き込み制御モジュールを決定し、複数のデータブロック読み出しコマンドを生成するように特に構成され、各々のデータブロック読み出しコマンドは1つの読み出されるデータブロックに対応し、各々のデータブロック読み出しコマンドは、前記読み出されるデータブロック、および、前記読み出されるデータブロックのIDを搬送し、前記仮想ブロック・サービス・モジュールは、各々の読み出されるデータブロックに対応する読み出し・書き込み制御モジュールに各々のデータブロック読み出しコマンドを個々に送信するように特に構成された請求項1から1のいずれか一項に記載のシステム。
  18. 前記メタデータ・コントローラは、前記サーバノードにおけるオブジェクト記憶デリゲートおよびSAN記憶エージェントの配置状態を個々に決定し、前記決定された配置状態に従って前記読み出し・書き込み制御モジュールのビュー情報を生成するようにさらに構成され、前記読み出し・書き込み制御モジュールのビュー情報は、各々の読み出し・書き込み制御モジュールが配置されるサーバノードについての情報を示すために使用され、前記メタデータ・コントローラは、前記読み出し・書き込み制御モジュールのビュー情報を前記仮想ブロック・サービス・モジュールに送出するようにさらに構成され、
    前記仮想ブロック・サービス・モジュールは、前記読み出し・書き込み制御モジュールのビュー情報に従って、前記読み出し・書き込み制御モジュールのルーティング情報を決定し、前記決定された読み出し・書き込み制御モジュールに前記記憶要求メッセージを送信するように特に構成された請求項1から1のいずれか一項に記載のシステム。
  19. 前記メタデータ・コントローラは、前記サーバ・クラスタ・システムにおける、ハードディスクリソースを有するサーバノードにおいて前記オブジェクト記憶デリゲートを配置することを決定し、前記サーバ・クラスタ・システムにおける、少ない負荷を有するサーバノードにおいて前記SAN記憶エージェントを配置することを決定するように特に構成された請求項18に記載のシステム。
  20. 前記メタデータ・コントローラは、前記サーバノードのハードディスクの利用可能な記憶リソースおよび前記ネットワーク記憶ノードの記憶アレイの利用可能な記憶リソースを集め、前記ハードディスクおよび前記記憶アレイの利用可能な記憶リソースを複数の記憶パーティションに分割するようにさらに構成された請求項18に記載のシステム。
  21. プロセッサ、メモリ、バス、および通信インタフェースを含むコンピュータであって、
    前記メモリはコンピュータ実行命令を記憶するように構成され、前記プロセッサは前記バスを使用することによって前記メモリに接続され、前記コンピュータが動作するとき、前記コンピュータが、請求項1から1のいずれか一項に記載の、記憶リソースを共有するための方法を実行するように、前記プロセッサが前記メモリによって記憶されたコンピュータ実行命令を実行する、コンピュータ。
  22. コンピュータ実行命令を含むコンピュータ読み取り可能な媒体であって、コンピュータのプロセッサが前記コンピュータ実行命令を実行するとき、前記コンピュータが、請求項1から1のいずれか一項に記載の、記憶リソース共有するための方法を実行するコンピュータ読み取り可能な媒体。
JP2015549981A 2012-12-31 2013-12-31 記憶リソースを共有する方法およびシステム Active JP6019513B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2012/088109 2012-12-31
PCT/CN2012/088109 WO2014101218A1 (zh) 2012-12-31 2012-12-31 一种计算存储融合的集群系统
PCT/CN2013/091253 WO2014101896A1 (zh) 2012-12-31 2013-12-31 一种共享存储资源的方法和系统

Publications (2)

Publication Number Publication Date
JP2016507814A JP2016507814A (ja) 2016-03-10
JP6019513B2 true JP6019513B2 (ja) 2016-11-02

Family

ID=49866757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015549981A Active JP6019513B2 (ja) 2012-12-31 2013-12-31 記憶リソースを共有する方法およびシステム

Country Status (6)

Country Link
US (4) US10481804B2 (ja)
EP (2) EP2930910B1 (ja)
JP (1) JP6019513B2 (ja)
CN (1) CN103503414B (ja)
ES (1) ES2624412T3 (ja)
WO (2) WO2014101218A1 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190028542A1 (en) * 2016-02-03 2019-01-24 Surcloud Corp. Method and device for transmitting data
CN105657066B (zh) * 2016-03-23 2019-06-14 天津书生云科技有限公司 用于存储系统的负载再均衡方法及装置
CN105872031B (zh) * 2016-03-26 2019-06-14 天津书生云科技有限公司 存储系统
WO2014101218A1 (zh) 2012-12-31 2014-07-03 华为技术有限公司 一种计算存储融合的集群系统
US9882984B2 (en) 2013-08-02 2018-01-30 International Business Machines Corporation Cache migration management in a virtualized distributed computing system
EP4083777A1 (en) 2014-05-22 2022-11-02 Huawei Technologies Co., Ltd. Resource control node and method
CN104135514B (zh) * 2014-07-25 2017-10-17 英业达科技有限公司 融合式虚拟化存储系统
EP3128716B1 (en) * 2014-11-05 2019-09-04 Huawei Technologies Co., Ltd. Data processing method and apparatus
CN104486444A (zh) * 2014-12-30 2015-04-01 北京天云融创软件技术有限公司 云管理平台的异构api转化系统
US10425352B2 (en) * 2015-03-09 2019-09-24 International Business Machines Corporation Policy driven storage hardware allocation
US10552224B2 (en) * 2015-05-14 2020-02-04 Hitachi, Ltd. Computer system including server storage system
US10346237B1 (en) * 2015-08-28 2019-07-09 EMC IP Holding Company LLC System and method to predict reliability of backup software
WO2017113280A1 (zh) * 2015-12-31 2017-07-06 华为技术有限公司 分布式存储系统及管理元数据的方法
WO2017113329A1 (zh) * 2015-12-31 2017-07-06 华为技术有限公司 一种主机集群中缓存管理方法及主机
US10073725B2 (en) * 2016-02-11 2018-09-11 Micron Technology, Inc. Distributed input/output virtualization
CN106657356A (zh) * 2016-12-29 2017-05-10 郑州云海信息技术有限公司 一种云存储系统的数据写入方法、装置及云存储系统
US10768986B2 (en) 2017-01-06 2020-09-08 International Business Machines Corporation Management and utilization of storage capacities in a converged system
US10824355B2 (en) 2017-01-10 2020-11-03 International Business Machines Corporation Hierarchical management of storage capacity and data volumes in a converged system
US10938901B2 (en) 2017-01-11 2021-03-02 International Business Machines Corporation Management and utilization of data volumes in a converged system
US10394454B2 (en) * 2017-01-13 2019-08-27 Arm Limited Partitioning of memory system resources or performance monitoring
CN106844052A (zh) * 2017-01-22 2017-06-13 郑州云海信息技术有限公司 一种基于Windows Server构建融合集群的方法及装置
CN106919456A (zh) * 2017-03-01 2017-07-04 郑州云海信息技术有限公司 一种实现服务器串联的模块
US10454844B2 (en) * 2017-03-08 2019-10-22 A10 Networks, Inc. Dynamic capacity planning for application delivery platform across multiple cloud deployment
CN110325958B (zh) * 2017-10-13 2021-09-17 华为技术有限公司 分布式块存储系统中数据存储方法、装置及计算机可读存储介质
CN107729536B (zh) * 2017-10-31 2020-09-08 新华三技术有限公司 一种数据存储方法和装置
CN107807794B (zh) * 2017-10-31 2021-02-26 新华三技术有限公司 一种数据存储方法和装置
WO2019119212A1 (zh) 2017-12-18 2019-06-27 华为技术有限公司 识别osd亚健康的方法、装置和数据存储系统
US11194746B2 (en) * 2017-12-22 2021-12-07 Seagate Technology Llc Exchanging drive information
CN109039743B (zh) * 2018-08-03 2022-05-10 陕西中光电信高科技有限公司 分布式存储ceph群集网络的集中管理方法
CN109120556B (zh) * 2018-08-21 2019-07-09 广州市品高软件股份有限公司 一种云主机访问对象存储服务器的方法及系统
US11106378B2 (en) 2018-11-21 2021-08-31 At&T Intellectual Property I, L.P. Record information management based on self describing attributes
US11042411B2 (en) * 2019-03-15 2021-06-22 Toshiba Memory Corporation Data storage resource management
CN111786930A (zh) * 2019-04-03 2020-10-16 上海宽带技术及应用工程研究中心 虚拟现实的数据共享系统、方法、装置、终端、及介质
CN112099728B (zh) * 2019-06-18 2022-09-16 华为技术有限公司 一种执行写操作、读操作的方法及装置
CN111158595B (zh) * 2019-12-27 2023-05-23 中国建设银行股份有限公司 企业级异构存储资源调度方法及系统
CN111209253B (zh) * 2019-12-30 2023-10-24 河南创新科信息技术有限公司 分布式存储设备性能提升方法、装置及分布式存储设备
CN111459679B (zh) * 2020-04-03 2023-10-27 宁波大学 一种用于5g通信测试仪表测试数据的并行处理方法
CN111625401B (zh) * 2020-05-29 2023-03-21 浪潮电子信息产业股份有限公司 基于集群文件系统的数据备份方法、装置及可读存储介质
CN113946276A (zh) * 2020-07-16 2022-01-18 北京达佳互联信息技术有限公司 集群中的磁盘管理方法、装置及服务器
CN111949217A (zh) * 2020-08-21 2020-11-17 广东韶钢松山股份有限公司 超融合一体机及其软件定义存储sds处理方法和系统
CN112948300B (zh) * 2021-01-19 2023-02-10 浙江大华技术股份有限公司 服务器、存算一体设备以及服务器系统
US11016688B1 (en) * 2021-01-06 2021-05-25 Open Drives LLC Real-time localized data access in a distributed data storage system
CN113031858B (zh) * 2021-02-10 2022-09-20 山东英信计算机技术有限公司 一种基于多双活存储的数据处理方法、系统及介质
CN113342509B (zh) * 2021-08-03 2021-12-07 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备及存储介质
CN113821165B (zh) * 2021-08-20 2023-12-22 济南浪潮数据技术有限公司 一种分布式集群融合存储方法、系统及设备
CN114143190A (zh) * 2021-11-29 2022-03-04 中国建设银行股份有限公司 一种数据中心资源池构建方法及相关设备

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389503B1 (en) 1997-08-04 2002-05-14 Exabyte Corporation Tape drive emulation by removable disk drive and media formatted therefor
US6829610B1 (en) * 1999-03-11 2004-12-07 Microsoft Corporation Scalable storage system supporting multi-level query resolution
US6732166B1 (en) 1999-05-28 2004-05-04 Intel Corporation Method of distributed resource management of I/O devices in a network cluster
JP2001337850A (ja) 2000-05-25 2001-12-07 Hitachi Ltd 記憶装置および記憶装置の制御方法
WO2003007154A2 (en) * 2001-07-09 2003-01-23 Cable & Wireless Internet Services, Inc. Methods and systems for shared storage virtualization
CA2469624A1 (en) 2001-12-10 2003-06-19 Monosphere Limited Managing storage resources attached to a data network
US7379990B2 (en) 2002-08-12 2008-05-27 Tsao Sheng Ted Tai Distributed virtual SAN
JP2005539309A (ja) * 2002-09-16 2005-12-22 ティギ・コーポレイション 記憶システムアーキテクチャおよび多重キャッシュ装置
US7624170B2 (en) * 2002-09-26 2009-11-24 International Business Machines Corporation Integrated storage appliance
US7565566B2 (en) 2003-04-23 2009-07-21 Dot Hill Systems Corporation Network storage appliance with an integrated switch
WO2004095304A1 (en) 2003-04-23 2004-11-04 Dot Hill Systems Corporation Network storage appliance with integrated redundant servers and storage controllers
US7380039B2 (en) * 2003-12-30 2008-05-27 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
CN100337218C (zh) 2005-02-23 2007-09-12 北京邦诺存储科技有限公司 网络存储系统中的数据管理方法及其构建的网络存储系统
JP4718285B2 (ja) 2005-09-22 2011-07-06 株式会社日立製作所 ファイル管理機能を備えたコンピュータシステム、ストレージ装置およびファイル管理方法
CN101169725A (zh) * 2006-10-23 2008-04-30 国际商业机器公司 随需个人计算机供应系统和方法
US8091087B2 (en) * 2007-04-20 2012-01-03 Microsoft Corporation Scheduling of new job within a start time range based on calculated current load and predicted load value of the new job on media resources
US8706914B2 (en) * 2007-04-23 2014-04-22 David D. Duchesneau Computing infrastructure
US8396937B1 (en) * 2007-04-30 2013-03-12 Oracle America, Inc. Efficient hardware scheme to support cross-cluster transactional memory
US9824006B2 (en) * 2007-08-13 2017-11-21 Digital Kiva, Inc. Apparatus and system for object-based storage solid-state device
US20090049236A1 (en) * 2007-08-15 2009-02-19 Hitachi, Ltd. System and method for data protection management for network storage
CN101374192A (zh) 2007-09-26 2009-02-25 北京数字太和科技有限责任公司 一种利用数字电视网络下载并存储多媒体数据的方法
JP2009223442A (ja) * 2008-03-13 2009-10-01 Hitachi Ltd ストレージシステム
RU2507703C2 (ru) * 2008-05-21 2014-02-20 Телефонактиеболагет Л М Эрикссон (Пабл) Объединение ресурсов в сервере центра коммутации с кластером с электронными платами
CN100555206C (zh) * 2008-05-27 2009-10-28 中国科学院计算技术研究所 一种绑定计算资源和存储资源的装置
CN101730313A (zh) 2008-10-10 2010-06-09 中国移动通信集团公司 多载波移动通信系统中的通信方法、基站以及通信系统
US8525925B2 (en) * 2008-12-29 2013-09-03 Red.Com, Inc. Modular digital camera
JP5286192B2 (ja) * 2009-08-12 2013-09-11 株式会社日立製作所 ストレージシステムの容量を管理する管理計算機及びストレージシステムの容量管理方法
CN102696010B (zh) 2009-09-08 2016-03-23 才智知识产权控股公司(2) 用于将数据高速缓存在固态存储设备上的装置、系统和方法
US20110087833A1 (en) 2009-10-08 2011-04-14 Advanced Micro Devices, Inc. Local nonvolatile write-through cache for a data server having network-based data storage, and related operating methods
US20110153570A1 (en) * 2009-12-18 2011-06-23 Electronics And Telecommunications Research Institute Data replication and recovery method in asymmetric clustered distributed file system
US8290919B1 (en) * 2010-08-27 2012-10-16 Disney Enterprises, Inc. System and method for distributing and accessing files in a distributed storage system
CN102480791B (zh) 2010-11-30 2014-05-21 普天信息技术研究院有限公司 一种协作多点传输的调度方法
CN102076096B (zh) 2011-01-12 2013-08-28 上海华为技术有限公司 一种 CoMP的实现方法、装置及基站
CN102164177A (zh) 2011-03-11 2011-08-24 浪潮(北京)电子信息产业有限公司 一种集群共享存储池的方法、装置及系统
CN102223409B (zh) 2011-06-13 2013-08-21 浪潮(北京)电子信息产业有限公司 一种网络存储资源应用系统及方法
CN102521063B (zh) 2011-11-30 2013-12-25 广东电子工业研究院有限公司 一种适用于虚拟机迁移和容错的共享存储方法
CN102520883B (zh) 2011-12-12 2015-05-20 杭州华三通信技术有限公司 一种数据存取方法及其装置
WO2013112634A1 (en) * 2012-01-23 2013-08-01 The Regents Of The University Of California System and method for implementing transactions using storage device support for atomic updates and flexible interface for managing data logging
CN102664923A (zh) 2012-03-30 2012-09-12 浪潮电子信息产业股份有限公司 一种利用Linux全局文件系统实现共享存储池的方法
CN102739771A (zh) * 2012-04-18 2012-10-17 上海和辰信息技术有限公司 一种支持服务融合的云应用集成管理平台和方法
WO2014000271A1 (zh) 2012-06-29 2014-01-03 华为技术有限公司 一种pcie交换系统、装置及交换方法
WO2014101218A1 (zh) 2012-12-31 2014-07-03 华为技术有限公司 一种计算存储融合的集群系统
US10313251B2 (en) * 2016-02-01 2019-06-04 Netapp, Inc. Methods and systems for managing quality of service in a networked storage environment
US10048896B2 (en) * 2016-03-16 2018-08-14 Netapp, Inc. Methods and systems for determining performance capacity of a resource of a networked storage environment

Also Published As

Publication number Publication date
US20150301759A1 (en) 2015-10-22
CN103503414B (zh) 2016-03-09
WO2014101218A1 (zh) 2014-07-03
JP2016507814A (ja) 2016-03-10
US10481804B2 (en) 2019-11-19
ES2624412T3 (es) 2017-07-14
EP3188449B1 (en) 2018-09-19
EP2930910A4 (en) 2015-11-25
EP2930910B1 (en) 2017-02-22
CN103503414A (zh) 2014-01-08
WO2014101896A1 (zh) 2014-07-03
EP3188449A1 (en) 2017-07-05
US20140189128A1 (en) 2014-07-03
US10082972B2 (en) 2018-09-25
EP2930910A1 (en) 2015-10-14
US11042311B2 (en) 2021-06-22
US9733848B2 (en) 2017-08-15
US20170336998A1 (en) 2017-11-23
US20200065010A1 (en) 2020-02-27

Similar Documents

Publication Publication Date Title
JP6019513B2 (ja) 記憶リソースを共有する方法およびシステム
US10708356B2 (en) Cloud computing system and method for managing storage resources therein
CN103797770B (zh) 一种共享存储资源的方法和系统
JP5512833B2 (ja) ストレージの仮想化機能と容量の仮想化機能との両方を有する複数のストレージ装置を含んだストレージシステム
JP2014175009A (ja) 仮想マシンをサポートするフラッシュ・ベースのキャッシング・ソリューションでの動的キャッシュ共有のためのシステム、方法、およびコンピュータ可読媒体
US8954706B2 (en) Storage apparatus, computer system, and control method for storage apparatus
US20130036279A1 (en) Storage system using real data storage area dynamic allocation method
US10884622B2 (en) Storage area network having fabric-attached storage drives, SAN agent-executing client devices, and SAN manager that manages logical volume without handling data transfer between client computing device and storage drive that provides drive volume of the logical volume
US11409454B1 (en) Container ownership protocol for independent node flushing
WO2019000949A1 (zh) 分布式存储系统中元数据存储方法、系统及存储介质
US11899533B2 (en) Stripe reassembling method in storage system and stripe server
US20130185531A1 (en) Method and apparatus to improve efficiency in the use of high performance storage resources in data center
US8566541B2 (en) Storage system storing electronic modules applied to electronic objects common to several computers, and storage control method for the same
US20210349756A1 (en) Weighted resource cost matrix scheduler
CN111936960A (zh) 分布式存储系统中数据存储方法、装置及计算机程序产品
US11327895B1 (en) Protocol for processing requests that assigns each request received by a node a sequence identifier, stores data written by the request in a cache page block, stores a descriptor for the request in a cache page descriptor, and returns a completion acknowledgement of the request
CN112714910B (zh) 分布式存储系统及计算机程序产品
US11144445B1 (en) Use of compression domains that are more granular than storage allocation units
JP6657990B2 (ja) ストレージ装置、仮想ボリューム制御システム、仮想ボリューム制御方法および仮想ボリューム制御プログラム
WO2017163322A1 (ja) 管理計算機、および計算機システムの管理方法
JP2009211584A (ja) ファイルシステム制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160914

R150 Certificate of patent or registration of utility model

Ref document number: 6019513

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250