特許第5996098号(P5996098)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特許5996098ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法
<>
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000002
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000003
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000004
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000005
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000006
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000007
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000008
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000009
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000010
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000011
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000012
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000013
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000014
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000015
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000016
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000017
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000018
  • 特許5996098-ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法 図000019
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5996098
(24)【登録日】2016年9月2日
(45)【発行日】2016年9月21日
(54)【発明の名称】ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法
(51)【国際特許分類】
   G06F 13/10 20060101AFI20160908BHJP
   G06F 3/06 20060101ALI20160908BHJP
【FI】
   G06F13/10 330C
   G06F3/06 301J
   G06F3/06 305C
   G06F3/06 540
【請求項の数】17
【全頁数】20
(21)【出願番号】特願2015-510544(P2015-510544)
(86)(22)【出願日】2012年12月13日
(65)【公表番号】特表2015-531090(P2015-531090A)
(43)【公表日】2015年10月29日
(86)【国際出願番号】JP2012007983
(87)【国際公開番号】WO2014091526
(87)【国際公開日】20140619
【審査請求日】2015年2月23日
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】特許業務法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】畑崎 恵介
(72)【発明者】
【氏名】愛甲 和秀
【審査官】 寺谷 大亮
(56)【参考文献】
【文献】 特開2009−187254(JP,A)
【文献】 特表2011−528469(JP,A)
【文献】 米国特許出願公開第2010/0058335(US,A1)
【文献】 米国特許出願公開第2012/0198174(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/10
G06F 3/06
(57)【特許請求の範囲】
【請求項1】
アプリケーションが動作するOSを有する第1の論理区画と、
RAID制御機能を有するストレージ制御部を有する第2の論理区画と、
RAID領域及びRAID構成に依存しない記憶領域であるRaw領域を含む記憶媒体と
を備える計算機であって、
前記第1の論理区画は、
前記アプリケーションからの第1のI/O要求に基づいて前記第2の論理区画を介さずに前記Raw領域にアクセスし、
前記アプリケーションからの第2のI/O要求に基づいて、前記第2の論理区画前記第2のI/O要求を送信し、
前記第2の論理区画は、
前記RAID制御機能により前記第2のI/O要求を処理し、前記RAID領域にアクセスする
ことを特徴とする計算機。
【請求項2】
請求項1記載の計算機であって、
前記第2の論理区画が、複数の論理ボリュームを提供し、
前記複数の論理ボリュームが、前記第1のRAID領域に関連付いた論理ボリュームである第1の論理ボリュームと、前記Raw領域に関連付いた論理ボリュームである第2の論理ボリュームとを含み、
前記第1の論理区画が、アプリケーションが動作するOSを有し、
前記第1のRAID領域に関連付けられた領域は、前記第1の論理ボリュームが関連付けられたデバイスと、前記第1のRAID領域が前記第2の論理区画非経由で関連付けられたデバイスと、の両方が関連付けられ前記アプリケーション又は前記OSから認識される第1の仮想デバイスであり、
前記Raw領域に関連付けられた領域は、前記第2の論理ボリュームが関連付けられたデバイスと、前記Raw領域が前記第2の論理区画非経由で関連付けられたデバイスと、の両方が関連付けられ前記アプリケーション又は前記OSから認識される第2の仮想デバイスである
ことを特徴とする計算機。
【請求項3】
請求項2記載の計算機であって、
前記第1の論理区画は、管理情報を有し、
前記第1の論理区画は、前記管理情報に基づき前記第2の論理区画を介して前記記憶媒体にアクセスするか、前記第2論理区画を介さずに前記記憶媒体にアクセスするかを判定し、
前記管理情報が、前記第1及び第2の仮想デバイスの各々について、論理ボリュームが関連付けられたデバイスを経由するパスである第1パスと、前記第2の論理区画非経由のデバイスを経由するパスである第2パスとのうちのいずれのパスを使用するかを含む
ことを特徴とする計算機。
【請求項4】
請求項2又は3記載の計算機であって、
前記複数の論理ボリュームが、RAID構成に依存した第2の記憶領域である第2のRAID領域が関連付いた論理ボリュームである第3の論理ボリュームを含み、
前記第1及び前記第2の仮想デバイスを含みそれぞれが前記アプリケーション又は前記OSから認識される複数の仮想デバイスが、前記第3の論理ボリュームに関連付いたデバイスのみが関連付けられた第3の仮想デバイスを含む
ことを特徴とする計算機。
【請求項5】
請求項記載の計算機であって、
前記1以上の記憶媒体は、第1の記憶媒体と、該第1の記憶媒体より低速かつ大容量の第2の記憶媒体を含み、
前記第1の記憶媒体は、前記第1のRAID領域及び前記Raw領域を含み、
前記第2の記憶媒体は、前記第2のRAID領域を含む
ことを特徴とする計算機。
【請求項6】
請求項1乃至5のうちのいずれか1項に記載の計算機であって、
前記第2の論理区画は、第1のRAID制御機能及び外部ストレージ制御機能を有し、
前記第2の論理区画は、
受信したI/O要求が前記第1のI/O要求の場合、前記第1のRAID制御機能により前記第1のRAID領域へアクセスし、
受信したI/O要求が前記第2のI/O要求の場合、前記外部ストレージ制御機能により前記Raw領域へアクセスする
ことを特徴とする計算機。
【請求項7】
請求項1乃至6のうちのいずれか1項に記載の計算機であって、
前記第1の論理区画は、第2のRAID制御機能を有し、
前記第1の論理区画は、前記第1のI/O要求について前記第1のRAID領域へ前記第2の論理区画非経由でアクセスする場合、前記第2のRAID制御機能により前記RAID領域へアクセスする
ことを特徴とする計算機。
【請求項8】
請求項記載の計算機であって、
前記第1の論理区画は、I/O要求キューI/O要求処理とのうちの少なくとも1つの状態に基づいて、前記第1及び第2の仮想デバイスの少なくとも1つについて、使用するパスとして前記管理情報に設定されているパスを、前記第1パスから第2パスへ、又は、前記第2パスから前記第1パスへ変更する
ことを特徴とする計算機。
【請求項9】
請求項記載の計算機であって、
前記I/O要求キュー及び前記I/O要求処理の各々の状態前記第1及び第2の仮想デバイスの少なくとも1つのアクセス頻度と、前記アプリケーション及び前記第2の論理区画の性能情報とに基づき算出される
ことを特徴とする計算機。
【請求項10】
請求項1乃至9のうちのいずれか1項に記載の計算機であって、
前記第1の論理区画は、
記第1のRAID領域に格納する前記I/O要求の対象のデータの一部にデータ分析の対象が含まれる場合、前記データ分析の対象を前記第1のRAID領域から前記Raw領域へ移行する
ことを特徴とする計算機。
【請求項11】
請求項1乃至10のうちのいずれか1項に記載の計算機であって、
前記第2の論理区画は、前記第2のI/O要求で指定の論理ブロックアドレスを物理ブロックアドレスに変換して前記第1のRAID領域へアクセスする
ことを特徴とする計算機。
【請求項12】
請求項1乃至11のうちのいずれか1項に記載の計算機であって、
前記1以上の記憶媒体は、第1の記憶媒体と、該第1の記憶媒体より低速かつ大容量の第2の記憶媒体とを含み、
前記第1の記憶媒体は、前記第1のRAID領域及び前記Raw領域を含み、
前記第2の記憶媒体は、第2のRAID領域を含み、
前記第2のRAID領域へのアクセスは、前記第2の論理区画経由ならば可能であるが、前記第2の論理区画非経由ならば不可能である
ことを特徴とする計算機。
【請求項13】
請求項3に記載の計算機であって、
前記第1の論理区画が、
前記管理情報が、前記第1及び第2の論理区画から共有される情報である、
ことを特徴とする計算機。
【請求項14】
請求項1乃至13のうちのいずれか1項に記載の計算機であって、
前記第2の論理区画が、第1の論理ボリュームを提供し、
前記第1の論理ボリュームに、いずれかのRAID領域が関連付けられ、
前記第1の論理ボリュームから前記Raw領域へデータが移行される場合、前記第2の論理区画が、
前記第1の論理ボリュームのミラーボリュームとしての第2の論理ボリュームを生成し、
いずれかのRaw領域が関連付けられる第3の論理ボリュームを生成し、
前記第1の論理区画が、
前記アプリケーション又は前記OSから認識される対象の仮想デバイスに対して、前記第2の論理ボリュームへのパスを前記第2の論理区画経由のパスである第1パスとして関連付け、前記いずれかのRaw領域へのパスを前記第2の論理区画非経由のパスである第2パスとして関連付け、
前記第3の論理ボリュームの前記第2の論理ボリュームとの同期の完了後に、前記対象の仮想デバイスから前記第2の論理ボリュームへのパスを前記第2の論理ボリュームから前記第3の論理ボリュームへと張り替える
ことを特徴とする計算機。
【請求項15】
アプリケーションが動作するOS及び前記アプリケーションから要求されるI/Oの送信先を有する管理情報を備える第1の論理区画、並びにRAID制御機能を有するストレージ機能を備える第2の論理区画に計算機を論理分割し、
RAID領域及びRAID構成に依存しない記憶領域であるRaw領域を含む記憶媒体と接続され、
前記アプリケーションから要求される第1のI/O要求に基づいて、前記管理情報を参照し、前記第2の論理区画を介さずに、前記第1の論理区画から前記Raw領域にアクセスし、
前記アプリケーションから要求される第2のI/O要求に基づいて、前記管理情報を参照し、前記第1論理区画から前記第2論理区画に前記第2のI/O要求を送信し、
前記第2論理区画が前記第2のI/O要求を受信した場合、前記RAID制御機能により前記第2のI/O要求を処理し、
前記第2の論理区画から前記記憶媒体にアクセスする
ことを特徴とする計算機のI/O要求処理方法。
【請求項16】
アプリケーションが動作するOS、及び第1のRAID構成情報を有するI/O制御部を備える第1の計算機と、
第2のRAID構成情報を有するストレージ制御部を備える第2の計算機と、
RAID領域及びRAID構成に依存しない記憶領域であるRaw領域を含む記憶媒体と
を備える計算機システムであって、
前記I/O制御部は、
前記アプリケーションからI/O要求を受信し、
前記I/O要求のアクセス先である前記RAID領域に、前記第2の計算機を介して前記記憶媒体にアクセスするか、前記ストレージ制御部を介さずに前記記憶媒体にアクセスするか、を決定し、
前記第2の計算機を介して前記記憶媒体にアクセスする場合、前記ストレージ制御部に前記I/O要求を送信し、
前記第2の計算機を介さずに前記記憶媒体にアクセスする場合、前記第1のRAID構成情報を用いて前記記憶媒体にアクセスし、
前記ストレージ制御部は、
前記I/O制御部から前記I/O要求を受信した場合、前記第1のRAID構成情報を用いて前記記憶媒体にアクセスする
ことを特徴とする計算機システム。
【請求項17】
請求項16記載の計算機システムであって、
前記第1の計算機が、第1の管理情報を有し、
前記第1の計算機が、前記第1の管理情報に基づき、前記I/O要求のアクセス先である前記RAID領域に、前記第2の計算機を介して前記記憶媒体にアクセスするか、前記ストレージ制御部を介さずに前記記憶媒体にアクセスするか、を決定し、
前記第2の計算機が、前記第1の管理情報と同期する第2の管理情報を有する
ことを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージデバイスのアクセス性能を引き出しつつデータ保護を実現する計算機、計算機システム、及びI/O要求処理方法に関する。
【背景技術】
【0002】
重要なデータに対するトランザクションなどの処理においては、高いデータ保護機能を備えるストレージシステムが必須である。一方で、リトライ処理が可能な一次処理や検索・分析処理などでは、高速性を重視する場合がある。
【0003】
現在、サーバやストレージに搭載する高速なデバイスとしては、SSD (Solid State Drive)をPCIe (PCI Express)等の高速なプロトコルで接続するPCIe-SSDなどの製品や、SSDのみを搭載するAll Flash Storageなどの製品が登場している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008-97225号公報
【特許文献2】米国特許2011/0289267号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1記載のように、HDD(Hard Disk Drive)などの低速デバイスとSSDなどの高速デバイスの両方を利用し、それぞれの特徴を活かした高性能なストレージシステムが提案されている。しかし、この場合、ストレージコントローラがボトルネックとなり、SSDなどの高速デバイスの性能が十分に引き出せないといった課題がある。一方、高速デバイスをサーバに直接接続することでストレージコントローラを経由せずに性能を引き出すことが可能であるが、ストレージコントローラが備えるデータ保護機能などのストレージ機能を活用できないといった課題がある。
【0006】
また、特許文献2記載のように、高速デバイスを活用してアプリケーションのRead性能を向上させるために、高速デバイスをサーバに直接接続し、該当高速デバイスはキャッシュ用途として利用し、アプリケーションからのWriteについては外部に接続したストレージ装置に対してライトスルーにてデータを書き込み、高速アクセスとデータ保護とを両立する方法があるが、全てのwriteデータを必ずしもデータ保護する必要はなく、Write性能が十分に引き出せないという課題がある。
【0007】
本発明の目的は、記憶デバイスに対するデータアクセスにおいて、ストレージコントローラの持つ機能性と、記憶デバイスの持つI/O性能を引出すことを両立することが可能なデータアクセス手段を提供することである。
【課題を解決するための手段】
【0008】
本発明では、上記課題の少なくとも一つを解決するために、計算機を論理分割して、コンピュート用の論理区画とストレージ用の論理区画を準備する。コンピュート区画からのI/Oについて、I/Oの内容に応じてストレージ用の論理区画を経由するか否かを判断してI/Oの振り分けを行い、ストレージデバイス群にアクセスする。
【0009】
また、本発明では、上記課題の少なくとも一つを解決するために、コンピュート用の計算機とストレージ用の計算機を準備し、コンピュート用の計算機からのI/Oについて、I/Oの内容に応じてストレージ用の計算機を経由するか否かを判断してI/Oの振り分けを行い、ストレージデバイス群にアクセスする。
【発明の効果】
【0010】
本発明によれば、ストレージデバイスに対して高速でアクセスしたい場合と、データ保護したい場合とで、ユーザニーズに応じた柔軟な利用が可能な計算機を提供することができる。
【図面の簡単な説明】
【0011】
図1】実施例1における計算機システムの構成例を説明するブロック図。
図2】実施例1におけるノードの論理構成例を模式的に示す図。
図3】実施例1におけるストレージ制御プログラムの構成例を示す図。
図4】実施例1における共有テーブルの構成例を示す図。
図5】実施例1におけるデバイス構成テーブルの構成例を示す図。
図6】実施例1におけるRAID構成テーブルの構成例を示す図。
図7】実施例1におけるボリューム構成テーブルの構成例を示す図。
図8】実施例1におけるI/O制御プログラムの構成例を示す図。
図9】実施例1における仮想デバイス構成テーブルの構成例を示す図。
図10】実施例1におけるストレージの論理構成例を模式的に示す図。
図11】実施例1における仮想デバイス構成部の処理例を示すフローチャート。
図12】実施例1におけるI/O振分部の処理例を示すフローチャート。
図13】実施例1におけるストレージ制御プログラムの論理構成例を模式的に示す図。
図14】実施例1におけるI/O処理のシーケンス図。
図15】実施例1におけるモード切り替え部の処理例を示すフローチャート。
図16】実施例1におけるデータ移行処理例を示すフローチャート。
図17】実施例1におけるデータ移行処理を模式的に示す図。
図18】実施例2における計算機システムの構成例を説明するブロック図。
【発明を実施するための形態】
【0012】
以下、本発明の実施例を、図を用いて説明する。
【0013】
なお、以下の実施例において、同一の構造部を持ち、同一の符号を付した部分は、原則として同一の動作を行うため、重複する説明を省略した。
【実施例1】
【0014】
以下、図1乃至図18を参照して本発明の第一の実施例を説明する。本実施例は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【0015】
図1は、本実施例における計算機システムの構成例を示すブロック図である。本実施例における計算機システムは、1つ以上のノード10を備える。ノード10は、ノード10に1つ以上のメモリ11、CPU(Central Processing Unit)12、I/O(Input/Output)デバイス13、NIC(Network Interface Card)14、ストレージデバイス群15及び16を備える。ここでストレージデバイス群15、16は、複数のストレージデバイスの集合である。また、ストレージデバイス群15と16とでは、種類が異なる。例えば、一方はHard Disk Drive(HDD)であり、一方はSolid State Drive(SSD)などである。また、I/Oデバイス13はHBA(Host Bus Adaptor)やCNA(Converged Network Adapter)、HCA(Host Channel Adaptor)、PCIeエクステンダなどである。なお、本実施例では、発明の好適な例として、高速なデバイスと低速なデバイスの2種類がノード10に接続する形で説明をするが、デバイスの種類は2種類に限られず、1種類でも3種類以上であっても良い。
【0016】
ノード10のメモリ11には、論理分割プログラム100、I/O制御プログラム110、ストレージ制御プログラム120、共有テーブル130、1つ以上のOS(Operating System)/アプリ150を備える。論理分割プログラム100は、1つ以上の論理区画をノード上に構築し、各論理区画では独立してOSを稼働できる。I/O制御プログラム110は、OS/アプリ150からのI/O要求を制御する。ストレージ制御プログラム120は、ストレージデバイス群15、16の管理機能とノード内およびノード外からのストレージI/Oを受け付け応答する共有ストレージ機能、およびデータ保護やデータコピー等の機能を提供する。共有テーブル130は、I/O制御プログラム110とストレージ制御プログラム120とで共有する情報を保持する。すなわち、メモリ11は、共有テーブル130を含む共用部分、コンピュート区画用の部分およびストレージ区画用の部分から構成されることになる。
【0017】
また、計算機システムには、ネットワーク20、および管理計算機30、管理計算機30のメモリ31、CPU32、NIC33、および管理プログラム35を備える。なお、管理計算機30およびネットワーク20は必須ではなく、例えばあるノード10に管理プログラム35を備え、計算機システム全体の管理を行っても良い。
【0018】
管理プログラム35は、本計算機システム全体を管理する。管理計算機30は、ネットワーク20を介して、ノード10から必要な情報の取得とノード10の制御ができる。
【0019】
また、ノード10には、ストレージ装置40が接続されている。ここでストレージ装置40とは、SAN(Storage Area Network)ストレージ装置40などの共有ストレージ装置である。なお、ストレージ装置40は必須でなない。なお、本実施例では、ストレージデバイスを記憶媒体として、ストレージ装置40を種々のストレージ機能を有する機器として用いる。
【0020】
図2は、ノード10の論理的な構成例を示す。本実施例では、ノード10には、論理分割プログラム100により論理区画としてコンピュート区画101とストレージ区画102が構築される。なお、ここで論理分割プログラム100は、ノード10の
備えるCPU12,メモリ11、I/Oデバイス13、ストレージデバイス群15、16などのハードウェアリソースを論理的に分割して各論理区画に割り当てることができる。なお、割り当て方法として、特定の論理区画に特定のハードリソースを優先して割り当てることで、該当リソースの性能保証や障害影響範囲の限定ができる。また、ハードリソースの共有も可能であり、特定の物理ハードリソースを複数の論理区画に対して共有に割り当てることにより実現する。
【0021】
本実施例では、コンピュート区画101においては、メモリ11上にI/O制御プログラム110およびOS/アプリ150を保持し、CPU12により実行される。ストレージ区画102にはストレージ制御プログラム120をメモリ11上に保持し、CPU12により実行される。また、ストレージ区画102には、ストレージデバイス群16が割り当てられている。また、コンピュート区画101、ストレージ区画102の両方に共有記憶部103およびストレージデバイス群15が割り当てられ、共有されている。ここで共有記憶部103はノード10のメモリ11の一部であり、共有テーブル130を保持する。なお、本実施例ではI/O制御プログラム110はコンピュート区画101に存在するが、I/O制御プログラム110が論理分割プログラム100の一部であっても良い。
【0022】
図3は、本実施例のストレージ制御プログラム120のブロック図を示す。
【0023】
デバイス管理部121は、ストレージ区画102に割り当てられたストレージデバイス群15及び16のデバイス構成とRAID(Redundant Array Inexpensive Disk)構成を管理する。ここでデバイス構成の管理とは、該当ストレージデバイスがストレージ区画102とコンピュート区画101とで共有可能か否か、該当ストレージデバイスをRAID構成で利用するか、及び直接アクセス(以下、Rawアクセスと呼ぶ)可能なデバイスとして利用するかを管理し、本管理情報はデバイス構成テーブル131に保持する。さらに、デバイス管理部121は、論理分割プログラム100に対して、ストレージデバイスの論理区画への割り当て変更を指示できる。また、RAID構成の管理とは、該当ストレージデバイスのRAIDレベルと構成を管理し、本管理情報はRAID構成テーブル132に保持する。なお、デバイス管理部121は、管理GUI(Graphical User Interface)やAPI(Application Programming Interface)を備える。
【0024】
I/O処理部122は、ホストからのI/O要求に対するキャッシュ制御とRAID構成部123および外部ストレージ接続部124へのI/OアクセスI/O要求と、ホストへの応答を実施する。さらに、I/O処理部122は、コピーやスナップショット、バックアップ、ミラーリング、ティアリングなどのストレージ装置特有の機能を備える。ここでホストとは、ノード10内のコンピュート区画101、または当該ストレージ制御プログラムを備えるノード10外部の別ノードやサーバである。
【0025】
RAID構成部123は、I/O要求に対して論理ブロックアドレスと物理ブロックアドレスへの変換処理を実施してストレージデバイスに対してI/O要求を実施する。
【0026】
外部ストレージ接続部124は、ストレージデバイスおよびストレージ装置40に対してRawアクセスを実施するため、該当ストレージデバイスおよびストレージ装置40に対応する論理ボリュームを構成し、I/O要求を該当ストレージデバイスおよびストレージ装置40に対して実施する。
【0027】
デバイスドライバ125は、ストレージデバイスのドライバ、コンピュート区画101との接続のためのドライバ、およびI/Oデバイス13のドライバである。
【0028】
図4は、本実施例の共有テーブル130のブロック図を示す。ボリューム構成テーブル126、デバイス構成テーブル131、RAID構成テーブル132、仮想デバイス構成テーブル133についてはそれぞれ図7図5図6、および図9にて詳細を述べる。
【0029】
図5は、本実施例のデバイス構成テーブル131を示す。カラム501は、ストレージデバイスの識別子501を保持する。ここでいうストレージデバイスは、たとえばSSD単位や、PCI-SSDボード単位、およびSR-IOV(Single Root I/O Virtualization)などでPCI-SSDボードを論理的に分割した単位である。ストレージデバイス識別子としては、たとえば該当デバイスのPCIのBus、Device、Functionなどの番号を利用する。もちろん識別が可能であれば、特定の識別子を付与しておき、これをストレージデバイス識別子としても良い。
【0030】
カラム502は、該当ストレージデバイスがストレージ区画102とコンピュート区画101とで共有可能か否かを保持する。本情報は、該当ストレージデバイスの仕様に基づき保持したり、APIにより取得したりする。カラム503は、該当ストレージデバイスをRAID構成で利用するか、Rawアクセスで利用するかを識別する。ここで“RAID”であればRAID構成、“Raw”であればRawアクセスで利用する。なお、本テーブル131はストレージ制御プログラム120やI/O制御プログラム110、管理プログラム35によって作成されても良いし、あらかじめ保存されていても良い。
【0031】
図6は、本実施例におけるRAID構成テーブル132を示す。カラム601は、アレイグループの識別子を保持する。カラム601は、該当アレイグループのRAIDレベル(RAID0,1,5,6等の情報)と、RAID構成としてデータドライブ数nとパリティドライブ数mを“nD+mP”として保持する。カラム603は、該当アレイグループに属するストレージデバイスの識別子を示す。このストレージデバイス識別子は、デバイス構成テーブル131のカラム501と対応する。なお、本テーブル132はストレージ制御プログラム120やI/O制御プログラム110、管理プログラム35によって作成されても良いし、あらかじめ保存されていても良い。
【0032】
図7は、本実施例におけるボリューム構成テーブル126を示す。カラム701はボリュームの識別子を保持する。カラム702は該当ボリュームに対応するストレージデバイスを保持する。ここで、RAID構成したストレージデバイスの場合であれば、アレイグループの識別子として“AG1”などと記載している。Rawアクセスのストレージデバイスの場合はストレージデバイスの識別子として“ストレージデバイス1”などと記載している。また、Rawアクセスのストレージでかつノード外部のストレージ装置40であれば“ストレージ装置x”などと記載している。さらに、特定のボリュームと同じ内容を持つミラーボリュームを論理的に構成する場合には、たとえばボリューム“VOL a”のミラーであれば“VOL aミラー”などと記載している。
【0033】
カラム703は割当先ホストの識別子を保持する。ここで割当とは、該当ボリュームが該当ホストからアクセス可能であることを示す。ここで、たとえばノード内のコンピュート区画101として、割当先の論理区画の識別子が“APP LPAR1”、さらに該当論理区画に対する論理的なボリュームの識別子(たとえばLUN(Logical Unit number)等)としてa,b,c…などの識別情報を組み合わせて、“APP LPAR1-a”などと記載している。また、ノード外のホストの場合は、WWNやSCSI Nameなどの識別子を保持する。さらに、割当先が存在しない場合は”なし”と記載している。なお、本テーブル126はストレージ制御プログラム120やI/O制御プログラム110、管理プログラム35によって作成されても良いし、あらかじめ保存されていても良い。
【0034】
図8は、本実施例のI/O制御プログラム110のブロック図を示す。
【0035】
仮想デバイス構成部111は、OS/アプリ150からアクセスするブロックデバイスとして、仮想デバイスを構成する。詳細フローは図11に述べる。
【0036】
モード切り替え部112は、OS/アプリ150からストレージへのI/Oアクセスのパスを切り替える機能を備える。
【0037】
I/O振分部113は、ストレージへのI/Oアクセスをモードによって振り分ける機能を備える。詳細フローは図12に述べる。
【0038】
RAID構成部114は、I/O要求に対して論理ブロックアドレスと物理ブロックアドレスへの変換処理を実施してストレージデバイスに対してI/O要求を実施する。
【0039】
デバイスドライバ115は、ストレージデバイスのドライバ、ストレージ区画102への接続のためのドライバ、およびストレージI/Oのドライバである。
【0040】
図9は、本実施例における仮想デバイス構成テーブル133を示す。カラム901は識別子として、ノード内のコンピュート区画101の論理区画の識別子を保持する。カラム902は該当論理区画における対象仮想デバイスの識別子を示す。この識別子は、I/O制御プログラム110の仮想デバイス構成部111が構成した仮想デバイスの識別子である。複数存在する場合は“,”により列挙する。カラム903は、該当仮想デバイスが複数パスを備えるか否かを保持する。本実施例では、備える場合は“あり”、備えない場合は“なし”と記載している。カラム904は該当仮想デバイスのモードを示す。
【0041】
ここで、“第一パス“とは、該当デバイスへのI/Oアクセスパスとして、ストレージ区画102のストレージ制御プログラム120を経由してストレージデバイスにアクセスする経路を利用する場合を示す。“第二パス”とは、コンピュート区画101から直接ストレージデバイスにアクセスする場合を示す。ここで、第一パスを利用する場合は、ストレージ制御プログラム120が備えるデータ保護機能やデータ制御機能などを活用できる。一方、第二パスを利用する場合は、ストレージ制御プログラム120をバイパスして直接ストレージデバイスにアクセスすることで、ストレージデバイスの性能を効果的に発揮できる。
【0042】
また、カラム905は、カラム904のパスで接続されるデバイスの識別子をI/Oのアクセス先として保持する。例えば、仮想デバイスBのI/Oのカラム904が第二パスであるため、送信先905は2bで識別されるデバイスとなる。
【0043】
カラム906は、該当仮想デバイスのRAIDレベルおよび構成を保持する。“Raw“であればRAID構成デバイスではない。RAIDが構成されているデバイスを対象とする場合、RAIDレベルと構成を”RAID5(4D+1P)”などと記載する。これはRAID構成テーブル132のカラム602と同等である。
【0044】
図10は、本実施例のストレージの論理的な構成を示す。ストレージデバイス群15には、RAIDが構成されたストレージデバイスの組としてRAID領域942と、直接アクセスが可能なストレージデバイスの組としてRaw領域943を備える。ストレージデバイス群16においても、RAID領域941を備える。RAID領域941、942、およびRaw領域943は、ストレージ区画102のストレージ制御プログラム120によりそれぞれボリューム931、932、および933に対応づけられる。さらに、ボリューム931、932、933は、それぞれコンピュート区画101のI/O制御プログラム110が認識するデバイス911、912、913に対応づけられる。また、RAID領域942、およびRaw領域943は、さらにコンピュート区画101のデバイス922、および923に対応づけられる。ここでRAID領域942およびデバイス922は複数のストレージデバイスであってもよい。
【0045】
I/O制御プログラム110が構成しOS/アプリ150に見せる仮想デバイス910はデバイス912、922が対応し、仮想デバイス920はデバイス913、923が対応し、仮想デバイス930はデバイス911が対応する。ここで、デバイス922が複数デバイスであった場合でも、I/O制御プログラム110のRAID構成部114により単一の仮想デバイス910へと変換される。仮想デバイス910と920は、第一パス1701、第二パス1702によるI/Oアクセス経路を備え、第一パスにおいてはI/O制御プログラム110はそれぞれデバイス912、913に対応づけたI/Oアクセスを実施し、第二パスにおいては、それぞれデバイス922、923に対応づけたI/Oアクセスを実施する。
【0046】
なお、図示はしていないが、デバイス922からRAID領域942のI/Oアクセスについては、コンピュート区画101上で動作するRAID構成部を介してRAID制御を行う。
【0047】
図11は、本実施例のI/O制御プログラム110における仮想デバイス構成部111の処理フローを示す。ステップ1001では、仮想デバイス構成部111は、デバイスの識別を実施する。ここでいう識別とは、該当コンピュート区画に対応づけられたデバイス(図10の911、912、913,922,923)が、ストレージ区画102のストレージ制御プログラム120により構成されたボリュームに対応するデバイス(図10の911、912、913)であるか、ストレージデバイスに直接対応づけられたデバイス(図10の922、923)であるかを識別することを指す。ここでは、仮想デバイス構成部111は、たとえばボリューム構成テーブル126を参照し、カラム703の論理的なボリュームの識別子(LUN等)とOSまたはデバイスドライバ125が認識するデバイス情報に基づいて、ストレージ区画102のストレージ制御プログラム120により構成されたボリュームに対応するデバイスを識別する。次に、ステップ1002では、仮想デバイス構成部111が各デバイスのストレージデバイス識別子を取得する。ここではまず、仮想デバイス構成部111は、ストレージ制御プログラム120により構成されたボリュームに対応するデバイス(図10の911、912、913)について、ボリューム構成テーブル126のカラム702と、RAID構成テーブル132のカラム601および603を参照し、ボリュームがアクセスするストレージデバイス識別子を特定する。たとえば、図7のボリューム“VOL c”の対象は“ストレージデバイス1”であり、ボリューム“VOL b”の対象“AG1”は図6のアレイグループ“AG1”に対応し、そのデバイス識別子は“ストレージデバイス3,4”である。次に、仮想デバイス構成部111は、ストレージデバイスに直接対応づけられたデバイス(図10の922、923)について、該当デバイスのストレージデバイス識別子を取得する。取得方法としては、たとえばデバイスドライバ経由や、OS経由、およびBIOSやEFIなどのファームウェア経由で取得する。
【0048】
ステップ1003では、仮想デバイス構成部111は、複数パスで同一ストレージデバイスに対応するデバイスの組が存在するか判定する。ここでは、仮想デバイス構成部111は、ステップ1002にて取得したストレージデバイス識別子が、ストレージ制御プログラム120により構成されたボリュームに対応するデバイス(図10の911、912、913)と、ストレージデバイスに直接対応づけられたデバイス(図10の922、923)とで一致しているデバイスの組を取得する。図10の例では、デバイス912と922、および913と923の組が該当する。もし、デバイスの組が存在する場合にはステップ1004へ移り、存在しない場合、仮想デバイス構成部111は、ステップ1005へ移る。ステップ1004では、仮想デバイス構成部111は、仮想デバイスを構成する。ここでは、仮想デバイス構成部111は、ステップ1003にて取得したデバイスの組に対応した仮想デバイスを構成する。図10の例では、デバイス912と922の組に対しては仮想デバイス910を構成し、デバイス913と923の組に対しては仮想デバイス920を構成する。ステップ1005では、仮想デバイス構成部111は、該当デバイスに対応する仮想デバイスを構成する。図10ではデバイス911に対応する仮想デバイス930を構成する。ただし、本ステップにおける仮想デバイスの構成は必須ではなく、デバイス911を直接OS/アプリ150が利用しても良い。
【0049】
ステップ1006では、仮想デバイス構成部111は、仮想デバイス構成テーブル133を更新する。ここで、カラム902には構成した仮想デバイスの識別子とし、ステップ1004にて仮想デバイスを構成した場合にはカラム903は“あり”、ステップ1005にて仮想デバイスを構成した場合にはカラム903は“なし”となる。また、カラム904および905については、ユーザ等が任意に設定するデフォルト設定に従ったパスを選択するものとする。カラム906にはRAIDレベル・構成を登録する。ステップ1004およびステップ1005で作成した仮想デバイスの対象デバイスに対してRAIDを構成している場合はRAIDレベルと構成を登録し、そうでない場合は“Raw“を登録する。ここでRAIDを構成しているか否かは、ステップ1001にて該当デバイスに対するボリューム構成テーブル126の対象(カラム702)がアレイグループ(“AG1”など)の場合である。ステップ1007では、仮想デバイス構成部111は、ステップ1001で検出したデバイスに対して、対応する仮想デバイスが構成されていない未構成のデバイスが存在する場合には、ステップ1002に移る。
【0050】
図12に本実施例におけるI/O振分部113の処理フローを示す。ステップ1101では、I/O振分部113は、OS/アプリ150より仮想デバイスに対するI/O要求を受信する。ステップ1102では、I/O振分部113は、該当仮想デバイスに対するアクセスモードを判定する。ここでは、I/O振分部113は、仮想デバイス構成テーブル133を参照し、該当仮想デバイスのモード(図9のカラム904)が“第一パス”であればステップ1103へ、“第二パス”であればステップ1104へと移る。なお、カラム905を参照して、送信先の識別子から判定しても良い。ステップ1103では、I/O振分部113は、該当仮想デバイスに対応する第一パスのデバイスへとI/Oアクセスを振り分ける。ここで第一パスのデバイスとは、ストレージ区画102のストレージ制御プログラム120により構成されたボリュームに対応するデバイス(図10のデバイス912、913)である。ステップ1104では、I/O振分部113は、アクセス先の仮想デバイスに対応するデバイスがRAIDを構成しているか否かを取得する。これには、仮想デバイス構成テーブル133の該当ホストの該当仮想デバイスに対するカラム906が“Raw”で無い場合を示す。
【0051】
なお、仮想デバイスに対するアクセスモードについて、システムの導入時はユーザがシステムのデータを利用するユースケースに応じてデータのアクセスパスを選択することが考えられる。“第一パス”を利用したい場合は、ユーザがストレージ制御プログラム120の備える機能を利用したい場合に選択する。ここでいう機能とは、主にスナップショット、バックアップ、ディザスタリカバリ、シンプロビジョニング、データ移行、及びストレージ階層の仮想化などが挙げられる。一方、“第二パス”を利用したい場合は、これら機能を利用せず、ユーザがデータアクセス機能を効果的に引出したい場合に選択する。
【0052】
ステップ1105では、I/O振分部113は、ステップ1104で取得した情報をもとに、RAIDが構成されている場合はステップ1106へ、そうでない場合はステップ1107へ移る。ステップ1106では、I/O振分部113は、該当仮想デバイスに対応する第二パスのデバイスに対して、RAID構成部123によるRAID領域アクセス処理を実施する。ここで第二パスのデバイスとは、ストレージデバイスに直接対応づけられたデバイスである。また、RAID領域アクセス処理においては、仮想デバイス構成テーブル133の該当ホストの該当仮想デバイスのカラム906が示すRAIDレベル・構成をもとに、I/Oアクセス要求をストレージデバイスの物理アドレスと論理アドレスとの変換、対象デバイスへのアクセス処理を適宜分割・集約の実施、書き込みアクセス時のパリティ計算とデバイスへの書き込み等の処理を実施する。これにより、RAIDが構成されたデバイスへの読み書きを実現する。ステップ1107では、I/O振分部113は、該当仮想デバイスに対応する第二パスのデバイスに対してI/Oアクセス要求を振り分ける。
【0053】
図13は、本実施例におけるストレージ制御プログラム120の論理的なブロック構成を示す。各ストレージデバイス群15、16に対応したデバイスドライバ125を経由して、RAIDを構成したストレージデバイス(図中941、942)に対してはRAID構成部123を経由してアクセスを実施し、Rawアクセスするストレージデバイス(図中943)や、外部のストレージ装置(図中ストレージ装置40)の場合は、外部ストレージ接続部124を経由してアクセスする。
【0054】
RawアクセスするVOL C(933)は、ストレージデバイス上でRaw領域943のため、RAID構成がない。そのため、RAID構成部123を介してRaw領域943にアクセスすると、データを正しく認識することができない。そのため、Raw領域943にアクセスする場合は本図のように、外部ストレージ接続部124を経由してアクセスすることで、ストレージ区画102を利用しながら、Raw領域943を利用することが可能となる。
【0055】
図14は、本実施例におけるI/Oアクセスのシーケンスを示す。OS/アプリ150からのI/O要求の対象仮想デバイスのモードが“第一パス”であり、RAID構成が“RAID“の場合(図中1301)はストレージ制御プログラム120を経由したストレージデバイスへのアクセスを実施する。一方I/O要求の対象仮想デバイスのモードが“第二パス”であり、RAID構成が“RAID”の場合(図中1302)は、ストレージ制御プログラム120を経由せず、I/O制御プログラム110のRAID構成部114を経由してストレージデバイスへのアクセスを実施する。また、I/O要求の対象仮想デバイスのモードが“第二パス”であり、RAID構成が“Raw”の場合(図中1303)は、ストレージ制御プログラム120やRAID構成部114を経由せずストレージデバイスにアクセスを実施する。これにより、I/Oアクセス性能は1301、1302、1303の順に高速となる一方、1301ではストレージ制御プログラム120の機能、1301,1302ではRAIDといった機能性を備える。
【0056】
図15は、本実施例のモード切り替え部112の処理フローを示す。ステップ1401では、モード切り替え部112は、モード切り替え要求を受け付ける。モード切り替え要求は、たとえばユーザやアプリケーションへのインタフェイス(GUI、APIなど)をモード切り替え部112が備え、該当インターフェイスにより要求を受け付ける。受付内容としては、モードの切り替えを実施する対象となる仮想デバイスと、切り替え先のモードの種類である。ステップ1402では、モード切り替え部112は、受け付けた要求が第二パスへのアクセスモードへの切り替えであればステップ1403へ移り、第一パスへの切り替えであればステップ1406へ移る。なお、仮想デバイス構成テーブル133を参照し、該当仮想デバイスのモードがすでに切り替え先のモードと同一であれば、モード切り替え部112の処理を終了する。
【0057】
ステップ1403では、モード切り替え部112は、コンピュート区画101におけるデバイスドライバ115のI/O完了をウエイトする。次に、ステップ1404では、モード切り替え部112は、ストレージ制御プログラム120において該当仮想デバイスに対応するボリュームに対するI/O要求の実行完了をウエイトする。ここで、完了通知はストレージ制御プログラム120とモード切り替え部112が情報交換インターフェイス等を通じて実施する。ステップ1405では、モード切り替え部112は、仮想デバイス構成テーブル133の該当仮想デバイスのモードを第二パスに変更する。一方、ステップ1406では、モード切り替え部112は、コンピュート区画101におけるデバイスドライバ115のI/O完了をウエイトする。次にステップ1407では、モード切り替え部112は、仮想デバイス構成テーブル133の該当仮想デバイスのモードを第一パスに変更する。
【0058】
なお、アクセスモードの切り替えは、I/O制御プログラム110が判別プログラムを有し、動的に変更するようにしてもよい。この場合、I/O制御プログラム110は、OS/アプリ150から仮想デバイスへのアクセス頻度や、OS/アプリ150、ファイルシステム、ドライバまたはストレージ制御プログラム120から性能情報を収集し、I/OキューやI/O処理ネックとなっている部分の検出を行う。これにより、予め定めた閾値よりI/Oアクセス頻度が高いデータやOS/アプリ150、ファイルシステム、ドライバにてI/O処理待ちが他と比較して多く発生しているデータに対して、第一パスから第二パスへ切り替えを行う。一方、予め定めた閾値よりI/Oアクセス頻度が低いデータや、I/O処理待ちが他と比較して少ないデータに対して、第二パスから第一パスへの切り替えを行う。これにより、データに応じてアクセスパスを最適化し、より高い性能向上を実現することができる。
【0059】
また、I/O制御プログラム110は、管理計算機30を介して、上記のパス切り替えを実施する閾値を指定するGUIをユーザに提供する。閾値の具体例としては、上記I/OキューやI/O処理ネックを判断する一指標としての閾値や、I/Oアクセス頻度の閾値である。
【0060】
ここまで、ストレージデバイス群15、16について、RAID領域941とRaw領域943として使い分ける方法を説明してきた。次に、RAID領域941やRaw領域943に保存したデータを、データ移動を行って別の領域に移動し、ストレージ制御プログラム120の利用の有無だけではなく、さらにデータの利用用途に従ってRAID領域941とRaw領域943まで使い分ける方法を、図16及び図17を用いて説明する。
【0061】
例えば、オンライントランザクション処理など、データ保護の重要性が高い処理や、コアシステムなどの重大処理のデータは、RAID領域941に保存し、これらのデータの一部を利用してデータ分析処理などを実施する場合に、データをRAID領域941からRaw領域943に移動するケースが考えられる。これにより、データの利用用途に応じた、さらに柔軟なシステムをユーザに提供することが可能となる。
【0062】
ここで、移行にあたってRAID領域941からRaw領域943へのデータ移行をする際、データ移行のためにシステムの処理は停止できないという課題がある。図16及び図17で説明する方法では、I/O制御プログラム110において、一時的に移行のためのデバイスに保持したデータをアクセスパスとして選定することでデータを無停止で移行し、上記課題も解決することが可能となる。
【0063】
図16は、本実施例における管理プログラム35において、データ移行処理を実施する処理フローである。ステップ1601では、管理プログラム35は、(1)ストレージ制御プログラム120に対して第一ボリュームのミラーボリュームとして第二ボリュームの作成を指示、ステップ1602では、管理プログラム35は、(2)I/O制御プログラム110に仮想デバイスを作成指示。ここで、該当仮想デバイスの第一パスとして第二ボリューム、第二パスとしてストレージデバイスのRaw領域943を対応付ける。ステップ1603では、管理プログラム35は、(3)ストレージ制御プログラム120にRaw領域943を外部ストレージとして接続した第三ボリュームを作成指示。ステップ1604では、管理プログラム35は、(4)ストレージ制御プログラム120に第二ボリュームと第三ボリュームの同期を指示。ステップ1605では、管理プログラム35は、(5)ステップ1604の同期完了後、I/O制御プログラム110に該当仮想デバイスの第一パスとして第三ボリュームへのマッピング変更を指示する。これにより、既存第一ボリュームに保存された内容をコンピュート区画101でアクセス可能としつつ、第二パスからアクセス可能な状態へと移行することができる。
【0064】
図17は、図16に示したデータ移行処理のブロック図である。ここで、第一ボリュームは外部のストレージ装置40に対応するボリュームであっても良い。図中1701は図16のステップ1601、1702はステップ1602、1703はステップ1604、1704はステップ1604、1705はステップ1605に対応する。
【0065】
また、Raw領域943からRAID領域941へデータを移行する場合も、同様の方法で実現が可能である。
【0066】
なお、図示はしていないが、上記のシステム及び装置は、例えばディスプレイやキーボードを代表とする入出力装置など、情報処理装置として処理を行う上で必要となる構成を備え、各部による処理はそれぞれのハードウェアが連関して行う。また、各処理は、集積回路化などして、それを行う処理部としてハードウェアで実現する事もできる。これについては以下の実施例についても同様である。
【実施例2】
【0067】
実施例2では、論理分割を利用せず、コンピュート区画とした論理区画とストレージ区画とした論理区画のそれぞれについて、ノードを分離して別々の計算機で実現するシステムであり、実施例1と同様、ストレージデバイスに対して高速でアクセスしたい場合と、データ保護したい場合とで、ユーザニーズに応じた柔軟な利用が可能な計算機システムを説明する。
【0068】
図18は、本発明の第二の実施例の構成例を示すブロック図である。実施例1と異なるのはストレージデバイス群15が、ノード間の共有バス1840を通じて、複数のノード10、1800で共有されている点と、ノード10にはストレージ制御プログラム120、ノード1800にはOS/アプリ150とI/O制御プログラム110、および各テーブルに実施例1の共有テーブル130と同等のテーブル1850を保持する点である。テーブル1850は、ノード間のネットワーク20、および共有バス1840を通じて内容を同期する。ここでノード1800は、実施例1のコンピュート区画101に相当する。
【0069】
これにより、OS/アプリ150とストレージ制御プログラム120とでリソースを分離することによって、リソースの干渉をなくすことが可能となる。
【0070】
なお、以上に記載した実施例では、I/O制御プログラム110がI/O振分手段を有するという形で説明したが、上記I/O振分手段を実現するプログラム及び関連する情報を、計算機に導入するという形をとっても良い。さらに、上記I/O振分手段を実現するプログラムは、あらかじめ計算機内の記憶装置や外部記憶装置に格納されていても良いし、着脱可能な記憶媒体や通信媒体(有線、無線、光などのネットワーク、又はそのネットワーク上の搬送波やデジタル信号)を介して、必要なときに外部記憶装置に導入されても良い。
【符号の説明】
【0071】
10…ノード、11…メモリ、12…CPU、13…I/Oデバイス、14…NIC、15、16…ストレージデバイス群

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18