説明

ディスクアレイシステム及びセキュリティ方法

【課題】ディスクアレイシステムから抜去されたディスクドライブからの情報漏洩を簡易かつ低コストで防止する。
【解決手段】ディスクアレイシステムは、ディスクアレイシステムに固有の第一のキーデータを格納するメモリと、ディスクドライブへのデータ入出力を制御するディスクコントローラを備える。ディスクドライブは、何れかのディスクアレイシステムに固有の第二のキーデータを格納するシステム領域、及びユーザデータを格納するデータ領域を有するディスク媒体と、システム領域及びデータ領域へのデータ入出力を制御するHDDコントローラを備える。HDDコントローラは、ディスクドライブがディスクアレイシステムに搭載されると、第一のキーデータと第二のキーデータと比較し、両者が一致しない場合には、ディスクコントローラからデータ領域へのリードアクセスを禁止する動作モードを実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は複数のディスクドライブを搭載可能なディスクアレイシステム、及びディスクドライブのセキュリティ方法に関する。
【背景技術】
【0002】
データセンタのような大規模なデータを取り扱うデータベースシステムでは、ホストシステムとは別に構成されたストレージシステムを用いてデータを管理する。このようなストレージシステムとして、例えば、ディスクアレイシステムが知られている。ディスクアレイシステムは、アレイ状に配列された多数のディスクドライブをRAID(Redundant Array of Independent Inexpensive Disks)管理する。ディスクドライブ群が提供する物理的な記憶領域上には、少なくとも1つ以上の論理ユニットが形成され、この論理ユニットがホストシステムに提供される。ホストシステムは、論理ユニットを一つの物理的なデバイスとして認識し、論理ユニットへのデータアクセスを行う。
【0003】
この種のディスクアレイシステムでは、保守管理等の目的でディスクアレイシステムからディスクドライブを抜去又は輸送することがある。抜去されたディスクドライブに格納されているデータを不正に読み出すことができる解析ツールなどが市販されており、情報漏洩を防止するための対応策の重要性が増している。具体的な対応策としては、例えば、ディスクアレイシステムから抜去されたディスクドライブを物理的に破壊する、或いはディスクドライブに格納されている全データを米国政府の規定で定められた方式で消去する、などの方法がある。
【0004】
尚、ストレージデバイスの不正アクセスを防止する技術に言及した文献として、特開2002−41362号公報、特開2001−35092号公報などが知られている。
【特許文献1】特開2002−41362号公報
【特許文献2】特開2001−35092号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、ディスクドライブを物理的に破壊することは、運用上の工数追加となるため、顧客若しくはメーカに余分なコスト増大をもたらす。また、ディスクドライブを再利用することができなくなり、総じてディスクアレイシステムの運用コストの高騰を招くという問題が生じる。また、ディスクドライブに格納されている全データを米国政府の規定で定められた方式で消去するには、全データ領域の上書きを何度も繰り返す必要があるので、データ消去に長時間を要するという問題がある。
【0006】
そこで、本発明は、ディスクアレイシステムから抜去されたディスクドライブからの情報漏洩を簡易かつ低コストで防止することを課題とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するため、本発明のディスクアレイシステムは、複数のディスクドライブを搭載可能なディスクアレイシステムである。このディスクアレイシステムは、ディスクアレイシステムに固有の第一のキーデータを格納するメモリと、ディスクドライブへのデータ入出力を制御するディスクコントローラと、を備える。ディスクドライブは、何れかのディスクアレイシステムに固有の第二のキーデータを格納するシステム領域、及びユーザデータを格納するデータ領域を有するディスク媒体と、システム領域及びデータ領域へのデータ入出力を制御するHDDコントローラとを備える。HDDコントローラは、ディスクドライブがディスクアレイシステムに搭載されたことを契機として、第一のキーデータと第二のキーデータと比較し、両者が一致しない場合には、少なくともディスクコントローラからデータ領域へのリードアクセスを禁止する動作モードを実行する。
【0008】
本発明の他の観点に従うディスクアレイシステムは、ホストシステムに接続され、かつ複数のディスクドライブを搭載可能なディスクアレイシステムである。このディスクアレイシステムは、ホストシステムが生成した第一の証明書データを格納するメモリと、ディスクドライブへのデータ入出力を制御するディスクコントローラと、を備える。ディスクドライブは、何れかのホストシステムが生成する第二の証明書データを格納するシステム領域、及びユーザデータを格納するデータ領域を有するディスク媒体と、システム領域及びデータ領域へのデータ入出力を制御するHDDコントローラとを備える。HDDコントローラは、ディスクドライブがディスクアレイシステムに搭載されたことを契機として、第一の証明書データと第二の証明書データとを比較し、両者が一致しない場合には、少なくともディスクコントローラからディスクドライブのリードアクセスを禁止する動作モードを実行する。
【発明の効果】
【0009】
本発明によれば、ディスクアレイシステムから抜去されたディスクドライブからの情報漏洩を簡易かつ低コストで防止することができる。
【発明を実施するための最良の形態】
【0010】
以下、各図を参照しながら本発明の実施形態について説明する。
図1は本実施形態に係るディスクアレイシステム200のシステム構成を示す。ディスクアレイシステム200は、通信ネットワーク601を介して一つ以上のホストシステム100に接続している。
【0011】
ホストシステム100は、例えば、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ等である。ホストシステム100は、証明書発行プログラム110、及びアプリケーションプログラム130等を実装している。証明書発行プログラム110は、ホストシステム100又はアプリケーションプログラム130を認証するための証明書データ(デジタル証明書)120を生成する。アプリケーションプログラム130は、例えば、Webアプリケーションソフトウェア、ストリーミングアプリケーションソフトウェア、eビジネスアプリケーションソフトウェア、データベースソフトウェア等である。
【0012】
通信ネットワーク601としては、SAN(Storage Area Network)、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、専用回線、公衆回線等を挙げることができる。ホストシステム100がSANを介してディスクアレイシステム200に接続する場合、ホストシステム100は、ファイバチャネルプロトコル又はiSCSI(internet Small Computer System Interface)等のプロトコルにより、ブロック単位でのデータ入出力を要求する。ホストシステム100がLANを介してディスクアレイシステム200に接続する場合、ホストシステム100は、NFS(Network File System)やCIFS(Common Interface File System)等のファイル転送プロトコルにより、ファイル名を指定してファイル単位でのデータ入出力を要求する。ディスクアレイシステム200がホストシステム100からのファイルアクセス要求を受け付けるためには、ディスクアレイシステム200にNAS(Network Attached Storage)機能が搭載されている必要がある。
【0013】
ディスクアレイシステム200は、CPU210、メモリ220、キャッシュメモリ230、ディスクコントローラ240、通信インターフェース250、管理インターフェース260、及びディスクドライブ300を備える。
【0014】
CPU210は、ホストシステム100とディスクアレイシステム200との間のホストインターフェースを制御する。メモリ220は、CPU210のマイクロプログラムを格納する他、ディスクドライブ300の不正アクセスを防止するための各種テーブルやプログラム(証明書データ120、キーデータテーブル221、ユーザ設定テーブル222、及び暗号化プログラム223)を格納する。キーデータテーブル221、ユーザ設定テーブル222、及び暗号化プログラム223の詳細については、後述する。キャッシュメモリ230は、ディスクドライブ330に読み書きされるデータを一時的に格納する。キャッシュメモリ230は、電源バックアップされており、ディスクアレイシステム200に電源障害が発生した場合でもキャッシュデータロストを防ぐ不揮発性メモリとして構成されている。ディスクコントローラ240は、ホストシステム100からのデータ入出力要求に応答して、ディスクドライブ300へのI/O処理(ライトアクセス、又はリードアクセス)を制御する。通信インターフェース250は、ホストインターフェースの通信プロトコルを制御するネットワークコンポーネントである。管理インターフェース260は、管理LAN602の通信プロトコルを制御するネットワークコンポーネントである。
【0015】
ディスクドライブ300は、FC(Fibre Channel)ディスクドライブ、SATA(Serial Advanced Technology Attachment)ディスクドライブ、PATA(Parallel Advanced Technology Attachment)ディスクドライブ、FATA(Fibre Attached Technology Adapted)ディスクドライブ、SAS(Serial Attached SCSI)ディスクドライブ或いはSCSI(Small Computer System Interface)ディスクドライブ等のストレージデバイスである。
【0016】
ディスクドライブ300は、HDDコントローラ310、及びディスク媒体340を備える。ディスク媒体340上には、システム領域320、及びデータ領域330が形成されている。HDDコントローラ310は、メモリ311を備えており、システム領域320やデータ領域330へのデータ入出力を制御する。メモリ311には、例えば、上述したユーザ設定テーブル222等が格納される。システム領域320には、キーデータ221bや上述した証明書データ120等が格納される。データ領域330には、ユーザデータ331が格納される。
【0017】
管理サーバ280は、管理LAN602を介してサービスプロセッサ(SVP)270に接続されている。管理LAN602は、例えば、インターネット、或いは専用線等である。管理LAN602を介して行われる、管理サーバ280とサービスプロセッサ270との間の通信は、例えば、TCP/IP等の通信プロトコルに基づいて行われる。
【0018】
サービスプロセッサ270は、ディスクアレイシステム200を管理するための管理端末である。システム管理者は、管理サーバ280を入力操作することにより、ディスクアレイシステム200を管理するためのコマンドをサービスプロセッサ270に送信する。ディスクアレイシステム200を管理するためのコマンドとして、例えば、ディスクドライブ300の増設或いは減設、又はRAID構成の変更を指示するためのコマンド、ホストシステム100とディスクアレイシステム200との間の通信パスを設定するためのコマンド、CPU210のマイクロプログラムをメモリ220にインストールするためのコマンド、ディスクアレイシステム200の動作状態の確認や故障部位を特定するためのコマンド等がある。
【0019】
尚、証明書発行プログラム120は、ホストシステム100ではなく、管理サーバ280に実装されていてもよい。
【0020】
図2はキーデータテーブル221のテーブル構造を示す。キーデータテーブル221はキーデータ221a及び暗号化キーデータ221bを保持する。キーデータ221aは、ディスクアレイシステム200に固有の識別情報である。ディスクアレイベンダは、製品出荷時にキーデータ221aを設定し、キーデータテーブル221に格納する。キーデータ221aとして、例えば、製品番号などの文字列を用いることができるが、これに限られるものではない。キーデータ221aは、外部インターフェースからは、参照されないように、メモリ221上に格納されるのが望ましい。暗号化キーデータ221bは、暗号化プログラム223によってキーデータ221aを暗号化することにより得られる。暗号化プログラム223の暗号アルゴリズムとしては、特に限定されることなく、任意の暗号アルゴリズムを適用できる。
【0021】
図3はユーザ設定テーブル222のテーブル構造を示す。ユーザ設定テーブル222はセキュリティチェック処理において、不正アクセスがなされていると判定されたときに実行される動作モードに対応する値を保持する。ここでは、3つの値を例示する。値Aは、ディスクドライブ300をリード/ライト不可の動作モードに設定することを示す(再利用不可能なロック機能)。値Bは、ディスクドライブ300をリード不可の動作モードに設定することを示す(再利用可能なロック機能)。値Bの設定では、ディスクドライブ300へのライトアクセスは可能なので、再フォーマットが可能である。再フォーマットによりシステム領域320のキーデータ221bや証明書データ120も含めて、ユーザデータ331が消去されるので、ディスクドライブ300の再利用が可能である。値Cは、ディスクドライブ300に電源が供給されている間は、データ領域330内のユーザデータ331に「0」データ又は「1」データを強制的に上書きし、ユーザデータ331の読み出しを不可能にする動作モードに設定することを示す。この動作モードが実行されると、ユーザからは、ユーザデータ331の上書きを中止させることができない。
【0022】
これらの値A,B,Cは、システム管理者が管理サーバ280又はホストシステム100を入力操作することによって、ディスクアレイシステム200のメモリ220に格納される。即ち、システム管理者は、値A,B,Cのうち何れかを選択することで、セキュリティチェック処理において、不正アクセスがなされていると判定されたときに実行される動作モードを指定することができる。
【0023】
尚、セキュリティチェック処理において、不正アクセスがなされていると判定されたときに実行される動作モードとしては、ディスクドライブ300を再利用することができ、しかも、ディスクドライブ300からデータの読み出しをできなくする動作モードであればよく、上述の3種類の動作モードに限られるものではない。
【0024】
ディスクドライブ300のセキュリティチェックに使用する情報としては、暗号化キーデータ221bと証明書データ120の何れか一方を使用してもよく、或いは両者を併用して使用してもよい。勿論、暗号化キーデータ221bに替えて、キーデータ221aを用いてもよい。暗号化キーデータ221b又はキーデータ221aは、主として、ディスクドライブ300とディスクアレイシステム200との関連性をチェックし、何れかのディスクアレイシステム200に使用されたディスクドライブ300が他のディスクアレイシステムで使用されないようにセキュリティをかけるのに対し、証明書データ120は、主として、ディスクドライブ300とホストシステム100(又はアプリケーションプログラム130)との関連性をチェックし、何れかのホストシステム100(又はアプリケーションプログラム130)に使用されたディスクドライブ300が他のホストシステムで使用されないようにセキュリティをかけられる点で、両者は異なる。
【0025】
但し、セキュリティチェックに使用する情報として、証明書データ120を用いれば、ディスクアレイシステム200が障害等の理由で他のシステムに交換された場合、或いはアップグレードのシステムに交換された場合でも、証明書データ120を新規にアップロードすれば、セキュリティチェックが可能になる点で利便性に優れている。
【0026】
図4は暗号化キーデータ221bをディスクドライブ300に書き込む処理ルーチンを示す。本処理ルーチンは、ディスクアレイシステム200を初めて立ち上げるとき、又はディスクドライブ300が初めてディスクアレイシステム200に搭載されたときに実行される。
【0027】
本処理ルーチンが呼び出されると、ディスクコントローラ240は、メモリ220に格納されているキーデータテーブル221にある暗号化キーデータ221bをディスクドライブ300のシステム領域320のX番地に書き込む(S101)。
【0028】
次に、ディスクコントローラ240は、メモリ220に格納されているユーザ設定テーブル222に設定されている値(値A、値B、又は値Cのうち何れかの値)をディスクドライブ300のメモリ311に格納されているユーザ設定テーブル222に格納する(S102)。
【0029】
図5は証明書データ120をディスクドライブ300に書き込む処理ルーチンを示す。ホストシステム100の証明書発行プログラム110は、システム管理者の指示、又はスクリプトからの契機により、証明書データ120を生成する(S201)。
【0030】
次に、CPU210は、ホストシステム100から受信した証明書データ120をメモリ220にデステージする(S202)。
【0031】
次に、ディスクコントローラ240は、ディスクドライブ300のシステム領域320に証明書データ120をデステージする(S203)。
【0032】
次に、ディスクコントローラ240は、証明書データ120がデステージされたアドレスをシステム領域320のX番地に書き込む(S204)。このとき、システム領域320のX番地にキーデータ221a又は暗号化キーデータ221bが既に書き込まれている場合には、X番地のキーデータ221a又は暗号化キーデータ221bを削除し、証明書データ120が書き込まれたシステム領域320のアドレスをX番地に書き込んでもよい。もとより、システム領域320のX番地にキーデータ221a又は暗号化キーデータ221bが既に書き込まれている場合には、X番地のキーデータ221a又は暗号化キーデータ221bを削除することなく、証明書データ120が書き込まれたシステム領域320のアドレスをシステム領域320のY番地に書き込んでもよい。
【0033】
次に、ディスクコントローラ240は、メモリ220に格納されているユーザ設定テーブル222に設定されている値(値A、値B、又は値Cのうち何れかの値)をディスクドライブ300のメモリ311に格納されているユーザ設定テーブル222に格納する(S205)。
【0034】
図6乃至図7はセキュリティチェック処理ルーチンを示す。本処理ルーチンは、ディスクドライブ300がディスクアレイシステム200に搭載されたことを契機として、実行される。
【0035】
ディスクドライブ300がディスクアレイシステム200に搭載されると、HDDコントローラ310は、ディスクドライブ300の起動処理を開始する(S301)。
【0036】
次に、ディスクコントローラ240は、ディスクアレイシステム200のメモリ220に証明書データ120が存在するか否かをチェックする(S302)。
【0037】
次に、証明書データ120がメモリ220に存在する場合には(S302;YES)、ディスクコントローラ240は、ホストシステム100に存在する証明書データ120とディスクアレイシステム200に存在する証明書データ120とが一致するか否かをチェックする(S303)。
【0038】
両者が一致する場合には(S303;YES)、ディスクコントローラ240は、証明書データ120をホストシステム100、或いはメモリ220からディスクドライブ300のメモリ311にデステージする(S304)。一方、両者が一致しない場合には(S303;NO)、ディスクコントローラ240は、ディスクドライブ300の起動を中止し、ホストシステム100にエラーメッセージを返す(S318)。
【0039】
証明書データ120がメモリ220に存在しない場合には(S302;NO)、ディスクコントローラ240は、メモリ220に格納されているキーデータテーブル221にある暗号化キーデータ221bをディスクドライブ300のメモリ311にデステージする(S305)。
【0040】
次に、ディスクコントローラ240は、上述のS302〜S305の処理によって、ディスクドライブ300のメモリ311に証明書データ120又は暗号化キーデータ221bが書き込まれたか否かをチェックする(S306)。
【0041】
次に、ディスクアレイシステム200が本実施形態のセキュリティチェック機構を備えている場合には、上述のS302〜S305の処理によって、ディスクドライブ300のメモリ311に証明書データ120又は暗号化キーデータ221bが書き込まれるので(S306;YES)、ディスクコントローラ240は、ディスクドライブ300のシステム領域320のX番地にデータが書き込まれているか否かをチェックする(S307)。
【0042】
ディスクドライブ300のシステム領域320のX番地にデータが書き込まれていない場合には(S307;NO)、ディスクコントローラ240は、ディスクドライブ300が初めてディスクアレイシステム200に搭載されたものと判定して、キーデータ書き込み処理(図4)を実行する(S308)。
【0043】
一方、ディスクドライブ300のシステム領域320のX番地にデータが書き込まれている場合には(S307;YES)、ディスクコントローラ240は、X番地に書き込まれているデータがアドレスであるか否かをチェックする(S309)。
【0044】
X番地に書き込まれているデータがアドレスでないならば(S309;NO)、HDDコントローラ310は、X番地に書き込まれているデータが暗号化キーデータ221bであると判断し、ディスクドライブ300のメモリ311に書き込まれている暗号化キーデータ221bと、ディスクドライブ300のシステム領域320のX番地に書き込まれている暗号化キーデータ221bとを比較する(S310)。
【0045】
X番地に書き込まれているデータがアドレスであるならば(S309;YES)、HDDコントローラ310は、X番地に書き込まれているアドレスが示す位置に格納されている証明書データ120と、ディスクドライブ300のメモリ311に書き込まれている証明書データ120とを比較する(S311)。
【0046】
S310又はS311の処理で、両者が一致する場合は(S312;YES)、HDDコントローラ310は、通常の起動処理を続行する。
【0047】
一方、S310又はS311の処理で、両者が一致しない場合(S312;NO)、或いは、ディスクアレイシステム200が本実施形態のセキュリティチェック機構を備えていない場合には(S306;NO)、HDDコントローラ310は、メモリ311に書き込まれているユーザ設定テーブル222を参照し、値A,値B,値Cのうち何れの値が設定されているかをチェックする(S314)。
【0048】
メモリ311に書き込まれているユーザ設定テーブル222に値Aが設定されている場合は、HDDコントローラ310は、ディスクドライブ300のリード/ライト処理を不可に設定する(S315)。
【0049】
メモリ311に書き込まれているユーザ設定テーブル222に値Bが設定されている場合は、HDDコントローラ310は、ディスクドライブ300のリード処理を不可に設定する(S316)。
【0050】
メモリ311に書き込まれているユーザ設定テーブル222に値Cが設定されている場合は、HDDコントローラ310は、ディスクドライブ300のデータ領域330に「0」データ又は「1」データを強制的に上書し、ユーザデータ331の読み出しを不可能にする(S317)。
【0051】
図8はディスクドライブ300、RAIDグループ401〜403、及び論理ユニット501〜506の関係を示す。RAIDグループ401〜403は、例えば、4つのディスクドライブ300を一組としてグループ化することにより(3D+1P)、或いは8つのディスクドライブ300を一組としてグループ化することにより(7D+1P)、定義される。即ち、複数のディスクドライブ300のそれぞれが提供する記憶領域が集合して一つのRAIDグループが定義される。各論理ユニット501〜506は、各RAIDグループ401〜403上に少なくとも一つ以上定義することができる。各RAIDグループ401〜403は、同一サブシステム上に存在する場合もあり、異なるディスクアレイ間に存在する場合もある。
【0052】
各論理ユニット501〜506は、ホストシステム100が認識する論理的な記憶単位である。例えば、ホストシステム100がUNIX(登録商標)系のシステムである場合には、各論理ユニット501〜506は、デバイスファイル(Device File)に対応付けられる。或いは、ホストシステム100がWindows(登録商標)系のシステムである場合には、各論理ユニット501〜506は、ドライブレター(ドライブ名)に対応付けられる。各論理ユニット501〜506には、固有のLUN(Logical Unit Number)がアサインされる。ホストシステム100は、LUNや論理ブロックアドレスを指定することにより、所望の論理ユニットにアクセスする。
【0053】
上述の説明では、上述したセキュリティチェック処理で不正アクセスが判定されたときに実行される動作モードをディスクドライブ300毎に設定する例を示したが、当該動作モードは、ある一つのRAIDグループに属する全てのディスクドライブ300に共通のものとして設定してもよい。例えば、RAIDグループ401に属する全てのディスクドライブ300の動作モードに対応する値として、A値を設定し、RAIDグループ402に属する全てのディスクドライブ300の動作モードに対応する値として、B値を設定し、RAIDグループ403に属する全てのディスクドライブ300の動作モードに対応する値として、C値を設定する、という具合である。
【0054】
また、ホストシステム100が複数のアプリケーションプログラム130−1〜130−3を実装している場合に、各アプリケーションプログラム130−1〜130−3が使用する論理ユニットが定義されているRAIDグループ毎に当該動作モードを設定してもよい。例えば、アプリケーションプログラム130−1が使用する論理ユニット501が定義されているRAIDグループ401に属する全てのディスクドライブ300の動作モードに対応する値として、A値を設定し、アプリケーションプログラム130−2が使用する論理ユニット503が定義されているRAIDグループ402に属する全てのディスクドライブ300の動作モードに対応する値として、B値を設定し、アプリケーションプログラム130−3が使用する論理ユニット506が定義されているRAIDグループ403に属する全てのディスクドライブ300の動作モードに対応する値として、C値を設定する、という具合である。
【0055】
図9はRAIDグループ管理テーブル224を示す。装置番号は、ディスクアレイシステム200を識別するための番号である。RAIDグループ番号は、RAIDグループを識別するための番号である。LU番号は、論理ユニットを識別するための番号である。ホスト識別子は、ホストシステム100を識別するための識別情報である。アプリ識別子は、アプリケーションプログラム130を識別するための識別情報である。値は、A値、B値、又はC値を示す。HDDコントローラ310は、ユーザ設定テーブル222に替えてRAIDグループ管理テーブル224を用いることで、ディスクドライブ単位だけでなく、RAIDグループ単位、LU単位、ホストシステム単位、アプリケーションプログラム単位で動作モードを設定することができる。例えば、HDDコントローラ310は、同一のRAIDグループに属する全てのディスクドライブ300の動作モードを共通に設定できる他、同一のRAIDグループに属する複数の論理ユニットのそれぞれについて、各論理ユニットを使用するホストシステム100又はアプリケーションプログラム130毎に異なる動作モードを設定することもできる。
【0056】
図10はユーザがRAIDグループ管理テーブル224を設定するための設定画面を示す。この設定画面は、管理サーバ280のディスプレイに表示される。
【0057】
LU単位で動作モードを設定し、複数の論理ユニット間でデータマイグレーション又はデータコピーを実行する場合の関係を示す。例えば、図8において、論理ユニット501に設定された動作モードがA値であり、論理ユニット503に設定された動作モードがB値である場合を考える。論理ユニット501のデータを論理ユニット503にデータマイグレーションすると、論理ユニット501に設定された動作モードは、A値からB値に変更され、論理ユニットに設定された動作モードは、B値からA値に変更される。運用例としては、セキュリティレベルの変更に伴い、LUに設定された動作モードを変更する場合など(例えば、データロストの危険性がある動作モード「値C」からデータ保存性が保証されている動作モード「値A」への変更)が考えられる。例えば、ユーザにとっての業務データの重要度や、時間とともに変化するデータの重要性に応じてデータの格納先を変える、データライフサイクル管理という手法がある。重要度の高いデータを、高信頼・高性能・高コストな構成(例えばRAID10(4D+4P)、ファイバチャネルディスクドライブ使用)に格納していて、セキュリティ要件も高いため動作モードを「値C」に設定していたとする。このデータの重要度がユーザ都合により変化し、データを低コストな構成(RAID5(4D+1P)、SATAディスクドライブ使用)にアーカイブデータとして保管する場合、データの保護のみを行う「値A」に設定した低コスト構成のドライブにデータマイグレーションする場合などが考えられる。複数の論理ユニット間でデータコピーを実行することで、動作モードを変更することもある。データコピーの場合には、片方のボリュームがマスタデータであり、もう片方のボリュームがバックアップデータであることが考えられる。この場合、最もデータセキュリティ効果の高い「値C」の設定では、人的なオペレーションミスによりデータロストを招く可能性があるため、マスタデータのLUは、「値A」や「値B」に設定するのが運用上望ましい。
【0058】
尚、データマイグレーションを用いた動作モードの変更では、移動先LUのLU番号と移動元LUのLU番号との入れ替えが行われるため、ホストシステム100は、複数の論理ユニット間のデータ移動を認識しない。故に、ホストシステム100は、論理ユニットにアクセスする際に、論理ユニットの切り替え操作を行う必要がない。一方、データコピーを用いた動作モードの変更では、移動先LUのLU番号と移動元LUのLU番号との入れ替えは行われないため、ホストシステム100は、複数の論理ユニット間のデータ移動を認識する。故に、ホストシステム100は、論理ユニットにアクセスする際に、論理ユニットの切り替え操作が必要になる。
【0059】
図11はディスクアレイシステム200に他のディスクアレイシステム800が外部接続された概要を示すシステム構成図である。同図において、図1に示した符号と同一符号のデバイス等は同一のデバイス等を示すものとして、その詳細な説明を省略する。ディスクアレイシステム200には、通信ネットワーク602を介して他のディスクアレイシステム800が外部接続されている。
【0060】
ディスクアレイシステム800は、CPU810、メモリ820、キャッシュメモリ830、ディスクコントローラ840、通信インターフェース850、管理インターフェース860、及びディスクドライブ900を備える。
【0061】
メモリ820は、CPU810のマイクロプログラムを格納する他、ディスクドライブ900の不正アクセスを防止するための各種テーブルやプログラム(証明書データ120、キーデータテーブル821、ユーザ設定テーブル822、及び暗号化プログラム823)を格納する。キーデータテーブル821は、後述するキーデータ821bを格納する。キーデータ821bは、ディスクアレイシステム800に固有の識別情報又はこれを暗号化した情報である。
【0062】
ディスクドライブ900は、HDDコントローラ910、及びディスク媒体940を備える。ディスク媒体940上には、システム領域920、及びデータ領域930が形成されている。HDDコントローラ910は、メモリ911を備えており、システム領域920やデータ領域930へのデータ入出力を制御する。メモリ911には、例えば、上述したユーザ設定テーブル822等が格納される。システム領域920には、キーデータ821bや上述した証明書データ120等が格納される。データ領域930には、ユーザデータ931が格納される。
【0063】
ディスクアレイシステム200は、仮想デバイス700を備えている。仮想デバイス700は、実記憶領域を有しない仮想的な存在であり、データを記憶する実体は、ディスクアレイシステム800のディスクドライブ900に存在する。即ち、ディスクアレイシステム200が有する記憶階層に、ディスクアレイシステム800の有するディスクドライブ900がマッピングされることにより、仮想デバイス700が構築されている。マッピングとは、各デバイスのアドレス空間を対応付けることをいう。対応付けられるデバイスは、実デバイスでもよく、或いは仮想デバイスでもよい。ディスクアレイシステム200は、ディスクドライブ900を自己の内部デバイスとして取り込み、これを論理ユニットとして、ホストシステム100に提供する。ディスクアレイシステム200の外部に存在するディスクドライブ900をディスクアレイシステム200の内部に存在する仮想デバイス700にマッピングする技術は、特開2005−107645号公報に開示されている。
【0064】
ディスクアレイシステム800におけるセキュリティチェック処理は、ディスクアレイシステム200におけるセキュリティチェック処理と同様である。但し、ディスクアレイシステム800におけるセキュリティチェック処理に用いられる証明書データ120は、ホストシステム100からディスクアレイシステム200を経由して、ディスクアレイシステム800に提供される。
【0065】
尚、上述の外部接続技術を用いれば、ディスクアレイシステム200に搭載されているディスクドライブ300からディスクアレイシステム800に搭載されているディスクドライブ900へ、キーデータ221b又は証明書データ120を除いて、ユーザデータ331のみをコピーすることができる。ホストシステム100又は管理サーバ280からの指令により、かかるコピーを実行する場合には、ユーザデータ331のみのコピーが可能になる旨の警告をシステム管理者に報知するのが好ましい。
【0066】
また、ディスクアレイシステム200に搭載される複数のディスクドライブ300のうち何れか一部をデータディスクとして、他の一部をスペアディスクとして運用することができる。例えば、データディスクの障害発生時に当該データディスクからスペアディスクにコレクションコピーを行い、或いはデータディスクのエラー率が所定の閾値を越えたときに、当該データディスクからスペアディスクにダイナミックスペアリングを行うこともできる。但し、コレクションコピーやダイナミックスペアリングを行う際には、データディスクからスペアディスクにキーデータ221b又は証明書データ120をコピーする必要はない。その理由は、スペアディスクが初めてディスクアレイシステム200に搭載されたときに、キーデータ221b又は証明書データ120がスペアディスクに書き込まれるからである。同様に、同一筺体内であるデータディスクから他のデータディスクにコピーする場合も、キーデータ221b又は証明書データ120をコピーする必要はない。
【0067】
また、ディスク媒体340のシステム領域320のX番地に不正アクセスがあったときに、A値、B値、又はC値に対応する動作モードを実行してもよい。
【図面の簡単な説明】
【0068】
【図1】本実施形態に係るディスクアレイシステムのシステム構成図である。
【図2】本実施形態に係るキーデータテーブルの説明図である。
【図3】本実施形態に係るユーザ設定テーブルの説明図である。
【図4】キーデータの書き込み処理ルーチンを示すフローチャートである。
【図5】証明書データの書き込み処理ルーチンを示すフローチャートである。
【図6】セキュリティチェック処理ルーチン示すフローチャートである。
【図7】セキュリティチェック処理ルーチン示すフローチャートである。
【図8】ディスクドライブ、RAIDグループ、及び論理ユニットの関係を示す説明図である。
【図9】本実施形態に係るRAIDグループ管理テーブルの説明図である。
【図10】動作モードの設定画面を示す図である。
【図11】ディスクアレイシステムの外部接続の概要を示すためのシステム構成図である。
【符号の説明】
【0069】
100…ホストシステム 120…証明書データ 200…ディスクアレイシステム 220…メモリ 221…キーデータテーブル 222…ユーザ設定テーブル 300…ディスクドライブ 310…HDDコントローラ 311…メモリ 320…システム領域 330…データ領域


【特許請求の範囲】
【請求項1】
複数のディスクドライブを搭載可能なディスクアレイシステムであって、
前記ディスクアレイシステムに固有の第一のキーデータを格納するメモリと、
前記ディスクドライブへのデータ入出力を制御するディスクコントローラと、
を備え、
前記ディスクドライブは、何れかのディスクアレイシステムに固有の第二のキーデータを格納するシステム領域、及びユーザデータを格納するデータ領域を有するディスク媒体と、前記システム領域及び前記データ領域へのデータ入出力を制御するHDDコントローラとを備えており、
前記HDDコントローラは、前記ディスクドライブが前記ディスクアレイシステムに搭載されたことを契機として、前記第一のキーデータと前記第二のキーデータと比較し、両者が一致しない場合には、少なくとも前記ディスクコントローラから前記データ領域へのリードアクセスを禁止する動作モードを実行する、ディスクアレイシステム。
【請求項2】
請求項1に記載のディスクアレイシステムであって、前記動作モードは、(1)前記ディスクコントローラから前記データ領域へのリードアクセスを禁止する動作モード、(2)前記ディスクコントローラから前記データ領域へのリードアクセス及びライトアクセスを共に禁止する動作モード、(3)前記ユーザデータ上に0データ又は1データを強制的に上書きする動作モードのうち何れかの動作モードである、ディスクアレイシステム。
【請求項3】
請求項1に記載のディスクアレイシステムであって、前記第二のキーデータは、前記ディスクドライブが何れかのディスクアレイシステムに初めて搭載されたことを契機として、前記システム領域に格納される、ディスクアレイシステム。
【請求項4】
請求項1に記載のディスクアレイシステムであって、前記動作モードは、同一のRAIDグループに属する全てのディスクドライブに共通に設定されている、ディスクアレイシステム。
【請求項5】
ホストシステムに接続され、かつ複数のディスクドライブを搭載可能なディスクアレイシステムであって、
前記ホストシステムが生成した第一の証明書データを格納するメモリと、
前記ディスクドライブへのデータ入出力を制御するディスクコントローラと、
を備え、
前記ディスクドライブは、何れかのホストシステムが生成する第二の証明書データを格納するシステム領域、及びユーザデータを格納するデータ領域を有するディスク媒体と、前記システム領域及び前記データ領域へのデータ入出力を制御するHDDコントローラとを備えており、
前記HDDコントローラは、前記ディスクドライブが前記ディスクアレイシステムに搭載されたことを契機として、前記第一の証明書データと前記第二の証明書データとを比較し、両者が一致しない場合には、少なくとも前記ディスクコントローラから前記ディスクドライブのリードアクセスを禁止する動作モードを実行する、ディスクアレイシステム。
【請求項6】
請求項5に記載のディスクアレイシステムであって、前記動作モードは、(1)前記ディスクコントローラから前記データ領域へのリードアクセスを禁止する動作モード、(2)前記ディスクコントローラから前記データ領域へのリードアクセス及びライトアクセスを共に禁止する動作モード、(3)前記ユーザデータ上に0データ又は1データを強制的に上書きする動作モードのうち何れかの動作モードである、ディスクアレイシステム。
【請求項7】
請求項5に記載のディスクアレイシステムであって、前記動作モードは、同一のRAIDグループに属する全てのディスクドライブに共通に設定されている、ディスクアレイシステム。
【請求項8】
ディスクドライブがディスクアレイシステムに搭載されたことを検出するステップと、
前記ディスクアレイシステムのメモリに格納されている、前記ディスクアレイシステムに固有の第一のキーデータを読み取るステップと、
前記ディスクドライブのシステム領域に格納されている、何れかのディスクアレイシステムに固有の第二のキーデータを読み取るステップと、
前記第一のキーデータと前記第二のキーデータとを比較するステップと、
前記第一のキーデータと前記第二のキーデータとが一致しない場合に、(1)前記ディスクアレイシステムから前記ディスクドライブへのリードアクセスを禁止する動作モード、(2)前記ディスクアレイシステムから前記ディスクドライブへのリードアクセス及びライトアクセスを共に禁止する動作モード、(3)前記ディスクドライブのユーザデータ上に0データ又は1データを強制的に上書きする動作モードのうち何れかの動作モードを実行するステップと、
を備える、セキュリティ方法。
【請求項9】
請求項8に記載のセキュリティ方法であって、前記第二のキーデータは、前記ディスクドライブが何れかのディスクアレイシステムに初めて搭載されたことを契機として、前記ディスクドライブのシステム領域に格納される、セキュリティ方法。
【請求項10】
請求項8に記載のセキュリティ方法であって、前記動作モードは、同一のRAIDグループに属する全てのディスクドライブに共通に設定されている、セキュリティ方法。
【請求項11】
請求項8に記載のセキュリティ方法であって、
前記ディスクアレイシステムに接続されているホストシステムが生成する第一の証明書データを読み取るステップと、
前記ディスクドライブのシステム領域に格納されている、何れかのホストシステムが生成した第二の証明書データを読み取るステップと、
前記第一の証明書データと前記第二の証明書データとを比較するステップと、
前記第一の証明書データと前記第二の証明書データとが一致しない場合に、前記動作モードを実行するステップと、
を更に備える、セキュリティ方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2007−140962(P2007−140962A)
【公開日】平成19年6月7日(2007.6.7)
【国際特許分類】
【出願番号】特願2005−334584(P2005−334584)
【出願日】平成17年11月18日(2005.11.18)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】