JP4315142B2 - ストレージシステム及びストレージシステムのアクセス方法 - Google Patents

ストレージシステム及びストレージシステムのアクセス方法 Download PDF

Info

Publication number
JP4315142B2
JP4315142B2 JP2005294275A JP2005294275A JP4315142B2 JP 4315142 B2 JP4315142 B2 JP 4315142B2 JP 2005294275 A JP2005294275 A JP 2005294275A JP 2005294275 A JP2005294275 A JP 2005294275A JP 4315142 B2 JP4315142 B2 JP 4315142B2
Authority
JP
Japan
Prior art keywords
port
host
name
host device
access
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.)
Expired - Fee Related
Application number
JP2005294275A
Other languages
English (en)
Other versions
JP2006092562A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005294275A priority Critical patent/JP4315142B2/ja
Publication of JP2006092562A publication Critical patent/JP2006092562A/ja
Application granted granted Critical
Publication of JP4315142B2 publication Critical patent/JP4315142B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ANSI X3T11で標準化されたファイバチャネルプロトコルを、上位装置とのインタフェースとして持つストレージサブシステム(ディスクサブシステム)に係り、複数の上位装置からストレージサブシステム及びストレージサブシステム内の記憶領域へのアクセスを選択的に制限することにより、不正アクセスを防止できるストレージサブシステムに関する。
ANSI X3T11で標準化されたファイバチャネルプロトコルでは、多数の装置が接続可能であり、かつSCSI、ESCON、TCP/IP等多種のプロトコルを同時に運用可能
な利点があるが、それに伴いセキュリテイの確保が困難となる性質も併せ持っている。
ストレージサブシステムに対する不正アクセスを防止する方法としては、例えば特開平10-333839号公報では、ファイバチャネルプロトコルを用いた方法が開
示されている。
この方法は、装置のインタフェース(ポートと呼ぶ)を、静的に一意に識別できるN_Port_Nameについて、上位装置を起動する前に予めストレージサブシステ
ム中に記憶させ、かつこのN_Port_Nameと、ストレージサブシステム中の特定ポ
ート、或いはN_Port_Nameとストレージサブシステム内部の任意の記憶領域とを
関連付けるテーブルを保持し、上位装置起動後は、この上位装置がストレージサブシステムにアクセスする際に発行するフレームという情報単位の内部を、ストレージサブシステムにおいてフレーム毎に逐一判定して、フレーム内に格納されたN_Port_Nameがテーブル内に存在する場合にアクセスを許可し、存在しない場
合はLS_RJTという接続拒否のフレームを上位に対して送出することによって、前記テーブル内に存在しないN_Port_Nameをもつ上位装置からのアクセスを拒否するというものである。
特開平10−333839号公報
しかし上記方法では、第一に接続可否の判定をフレーム毎に行う必要があるために通信性能が大幅に制限されること、第二にアクセス可否の対象がポートではなくストレージサブシステム内の部分領域である場合、上位装置から送出されるフレームすべてにN_Port_Nameを格納することが上位装置に要求されるため、上
位装置側に標準ファイバチャネルプロトコル範囲外の仕様の実装を強いることから、実際の製品に適用することは困難である。
本発明はANSI X3T11で標準化されたファイバチャネルプロトコルを上位装置とのインタフェースとしてもつストレージサブシステムにおいて、上位装置からストレージサブシステム内の記憶領域へのアクセスを選択的に制限することにより
、不正アクセスを防止することを目的とする。
またこの際、アクセスの可否を判定する際生じるオーバヘッドが最小限となる方法を提供し、かつ判定の条件を標準ファイバチャネルプロトコルの範囲のみで行える方法を提供することを目的とする。
上記課題を解決するために、上位装置又は上位装置のポートを静的に一意に識別する識別手段であるN_Port_Name或いはNode_Nameと、ストレージサブシステム内におけるアクセス可否判定の対象である各記憶領域とを対応づけたテーブルをストレージサブシステム内に保持し、さらにN_Port_Name或いはNode_Nameと、上位装置がファイバチャネルインタフェースを用いてストレージサブシステムと通信を行う際に、上位装置又は上位装置のポートを一意に識別する手段として、情報の送受信に先立つログインプロセスにより動的に割り当てられる情報であるS_IDとを関連付けたテーブルをストレージサブシステム内に保持し、上位装置からストレージサブシステム内の記憶領域に対する情報取得要求が、Inquiryコマ
ンドを用いて行われた契機で、要求フレームに含まれるS_IDを用いて、上記テーブルを検索及び比較することによって記憶領域に対するアクセス可否を判定する
本発明によって、上位装置から特定LUNに対するアクセスを、予め設定してあ
るN_Port_Name或いはNode_NameとLUNとのアクセス可否テーブル、PLOGIの際に判明するN_Port_Name或いはNode_NameとS_IDとの関係を用いて作成した関連テーブルの双方のテーブルを用いることによって、上位装置或いは上位装置のポートからのLUへの状態問い合わせがあった時点でアクセス可否を決定し返答することができるため、ストレージサブシステムへのアクセス制限を、LUN単位で、しかも
初回のみの判定プロセスで行うことができ、ファイバチャネル及びSCSIの規格上最も分解能の高いセキュリティを、高いパフォーマンスで確保することができる
以下、本発明の実施の形態について、図を用いて詳細に説明する。まず、本発明で使用するファイバチャネルの特徴について説明する。
ファイバチャネルは、独自のコマンドセットを持たないシリアルの転送方式をもつプロトコルであり、情報を非同期に送るために伝送媒体の帯域幅を有効に利用できる特色を持っている。そして独自のコマンドセットを持たないかわりに、物理転送方式を、従来のSCSI、ESCONといったコマンドセットの運搬路として使
用することにより、従来のソフトウェア資産を継承しながら、より高速かつ多彩なデータ転送を可能としている。
ファイバチャネルはチャネルとネットワークの特長を併せ持つインタフェースである。すなわち、ファイバチャネルでは一旦転送元と転送先が確定すれば、遅延が少ない高速な転送が行える。これはチャネルの特長である。また、通信を希望する機器は、任意の契機でファイバチャネルの通信系に参加し、通信の目的となる相手の機器と相互に情報を交換することにより、互いを認識して通信を開始することができる。これはネットワークの特徴である。ここで述べた相手の機器との情報交換の手続きを、とくにログインと呼ぶ。
ファイバチャネルのインタフェースを持つ機器をノードと呼び、実際のインタフェースにあたる部分をポートと呼ぶ。ノードは1つ以上のポートを持つことが可能である。ファイバチャネルの系全体に同時に参加できるポートの数は、最大で24ビットのアドレスの数すなわち約1677万個である。この接続を媒介するハードウェアをファブリックと呼ぶ。送信元及び送信先のポートは、ファブリックを意識せずに互いのポートに関する情報のみを考慮して動作すればよいので、ファブリックを論理的な媒体として議論する場合も多い。
各ノード及びポートには、標準化団体から一定のルールによって割り当てられる世界中でユニークな識別子が記憶されている。これはTCP/IPのMACアドレスに
相当するものであり、ハードウェア的に固定なアドレスである。このアドレスにはN_Port_Name、Node_Nameの2種類があり、それぞれ8バイトの領域を持つ。N_Port_Nameはポート毎に固有の値、Node_Nameはノード毎に固有の値となる。
ファイバチャネルでは、通信はOrdered Setと呼ばれる信号レベルの情報と、
フレームと呼ばれる固定のフォーマットを持った情報とで行われる。
図1はこのフレームの構造を示している。フレーム101は、フレームの始まりを示すSOF(Start of Frame)102と呼ばれる4バイトの識別子、リンク動作の制御
やフレームの特徴づけを行う24バイトのフレームヘッダ103、実際に転送される
目的となるデータ部分であるデータフィールド104、4バイトの巡回冗長コード(CRC)105、フレームの終わりを示すEOF(End of Frame)106と呼ばれる4バイト
の識別子からなる。データフィールド104は0〜2112バイトの間で可変である。
次に、図2を用いてフレームヘッダの内容について説明する。図2はフレームヘッダの構造について示している。ここではフレームヘッダ202の詳細構造203における、1ワードの23-0ビット領域にあたるS_ID204のみ説明する。S_ID(Source I
D)204は当該フレームを送信するポートを識別するための3バイトのアドレス識
別子であり、送受信されるすべてのフレームで有効な値を持つ。そして上位装置を動的に一意に識別できる情報であり、PLOGI時(後述)に上位装置より報告さ
れる値である。このS_IDは動的に変動する値であり、FC_PHではファブリックに
よって初期化手続き時に割り当てられることになっている。割り当てられる値は
、それぞれのポートが持つN_Port_Name、Node_Nameに依存する。
次に、送信元の機器と送信先の機器が互いに情報を交換する、ログイン手続きについて述べる。図3に、上位装置からストレージサブシステムへの通信要求で
あるPLOGIフレームの構造について示す。フレームヘッダ302の詳細構造304にお
いて、ワード1の23-0ビットがS_ID306である。また、データフィールド303の詳
細構造305において、先頭から21バイト目〜29バイト目までの8バイトの領域がN_Port_Name307を格納する領域であり、先頭から30バイト目〜38バイト目までの
8バイトの領域がNode_Name308を格納する領域である。
図4は、送信元(ログイン要求元)と送信先(ログイン要求先)との間に取り
交わされる情報を示したものである。ファイバチャネルのログイン手続きには数種類があるが、ここではクラス3のログインで取り交わされる情報を示す。
ログイン要求元は、PLOGIフレーム403をログイン要求先へ送信する。このフレームには、ログイン要求元のN_Port_Name、Node_Name、S_ID及びその他の情報が含まれている。要求先の装置では、このフレームに含まれている情報を取り出し
、ログインを受諾する場合はACC404と呼ばれるフレームをログイン要求元に対して送信する。
ログインを拒絶する場合は図5に示すように、PLOGIフレーム503に対して、ロ
グイン受信先はLS_RJT504と呼ばれるフレームをログイン要求元に対して送信する。
ログイン要求元は、自らが送信したPLOGIフレームに対するACCフレームの応答を受信すると、ログインが成功したことを知り、データ転送などのI/Oプロセス
を開始できる状態となる。LS_RJTを受信した場合はログインが成立しなかったため、ログイン要求先へのI/Oプロセスは不可となる。ここではクラス3のログイ
ンについて述べたが、他のログインにおいても、ログイン要求元からログイン要求先へ渡すことのできる情報の中に、N_Port_Name、Node_Name及びS_IDが含まれることは同様である。
次に、Inquiryコマンドについて説明する。Inquiryコマンドとは、I/Oプロセ
スを開始しようとする場合に先立ち、プロセスの対象となる論理デバイスに対して、その実装状態を問い合わせるコマンドである。例えば、上位装置からストレージサブシステムに含まれる記憶領域へのアクセス要求に先立つ情報問い合わせ要求のことである。本コマンドはSCSIでは必ずサポートされている標準コマンドである。
図6は、SCSI規格で定義されたInquiryコマンドを、ファイバチャネル規格のフレームで送信する場合のフレーム601のフォーマットである。フレームヘッダ602の詳細構造604において、本フレームに先立つPLOGIで割り当てられたS_ID605が
含まれている。データフィールド603にはFCP_LUN607、FCP_CNTL608、FCP_CDB609
、FCP_DL610と呼ばれる領域がある。ここではFCP_LUN607、及びFCP_CDB609につ
いて述べる。
FCP_LUN607の中には、フレーム送信元が状態を問い合わせようとする、フレーム送信先のポートに関連付けられた論理ボリュームの識別子が格納されている。この識別子をLUNという。FCP_CDB609の中には、SCSIコマンドセットを使用する
場合にはSCSIのコマンド記述ブロック(CDB)と呼ばれる命令情報が格納される
。このFCP_CDB609の中に、SCSIのInquiryコマンド情報が格納されて、前述のFCP_LUN607と共に、フレーム要求先へ情報が転送される。
次に、Inquiryコマンドを受信したフレーム要求先が、問い合わせへの応答と
してフレーム送信元へ返信する情報について述べる。この情報をInquiryデータ
と言う。図7にInquiryデータの抜粋を示す。ここでは、Inquiryデータ701のうちでクオイファイア702と、デバイス・タイプ・コード703の2つについて述べる。クオリファイア(Peripheral Qualifier)702は、指定された論理ユニットの現
在の状態を設定する3ビットの情報である。
図8はビットパターンによって示される論理ユニットの状態を列挙したものである。コード000(2進)802は、論理ユニットとして接続されている装置がデバ
イス・タイプ・コード703の領域に示される種類の入出力機器であることを示し
ている。本コードが設定されていても、その論理ユニットが使用可能、すなわちレディ状態であることを必ずしも示しているわけではないが、その論理ユニットを使用できる可能性があるのは本コードが設定されている場合に限る。
コード001(2進)803は、論理ユニットとして接続されている装置がデバイス
・タイプ・コード703の領域に示される種類の入出力機器であることを示してお
り、かつそのロジカルユニットには実際の入出力機器が接続されていないことを示している。これは例えばCD-ROMドライブが実装されているが、CD-ROMがドライブ内に挿入されていないような場合を示すことになる。コード011(2進)804は
、指定された論理ユニットがサポートされていないことを示す。従って指定された論理ユニットに装置が割り当てられることはない。本コードが設定されるときは、デバイス・タイプ・コード領域703にはかならず1F(16進)が設定されるこ
とが条件になっている。
デバイス・タイプ・コード(Peripheral Device Type)703は、指定された論
理ユニットに実際に割り当てられている入出力機器の種別を示す5ビットの情報である。
図9に各デバイスタイプ902に対応するに16進のコード901を示す。図9に示されている情報のうち、未定義又は未接続のデバイス903を表す1F(16進)904が設定されると、Inquiryコマンド送信元が問い合わせたデバイスは未定義或いは未接
続ということになり、当該論理ユニットは当該送信元からは使用できないことになる。
図10に、このInquiryコマンドを用いた論理ユニット問い合わせの手順を示す
。論理ユニットにアクセスしようとする上位装置1001は、アクセスしようとする論理ユニットをもつストレージサブシステム1002に対し、Inquiryコマンドを含
むフレーム1003を送信する。このフレームには、PLOGIで割り当てられた、上位
装置のS_IDと、問い合わせを行う論理ユニットの識別子であるLUNが含まれてい
る。なおここで、LUNについては、FCP_LUN領域の他に、FCP_CDB内のInquiryコマンド情報そのものの中にも設定することができる。どちらの値を使用しても得られる効果は同じであるが、本実施例ではLUNの値はFCP_LUNに格納された値を使用するものとする。
Inquiryコマンドを含むフレームを受信したストレージサブシステム1002は、
問い合わせに対する返答に必要なInquiryデータを準備し、作成したInquiryデータを含むフレーム1004を上位装置に対して送信する。このときInquiryデータを
格納するフレームを、FCP_DATAと呼ぶ。このとき、ストレージサブシステムが、問い合わせのあったロジカルユニット(論理ユニット)について、クオリファイア000(2進)、デバイスタイプ00〜09(16進)のいずれかを設定した場合、このInquiryデータを受信した上位装置は、ロジカルユニットに対するI/Oを試みることが可能となる。
また、図11に示すように、ストレージサブシステム1102が、クオリファイア00
1(2進)又は011(2進)、デバイスタイプ1F(16進)を設定した場合、このInqu
iryデータ1104を受信した上位装置は、ロジカルユニットに対するI/Oが不可能であることを検出する。これらのことから、Inquiryデータに格納するクオリファ
イア、及びデバイス・タイプ・コードを管理することによって、上位装置からのロジカルユニットへのアクセスの許可及び不許可を制御することが可能となる。
本発明では、上位装置からのアクセスを許可、或いは拒否する対象として、ストレージサブシステム内の一定領域を選択することを可能としている。この領域は上位装置から明示的にアドレス指定が可能な領域であり、LU(Logical Unit)と呼ばれる。LUの識別子をLUN(Logical Unit Number)と呼ぶ。SCSI-2ではLUNの個数は1ターゲットあたり8である。
次に、本発明による処理の流れについて説明する。
図12は、本発明の実施例となる装置の構成図である。本装置をストレージサブシステム1201と呼ぶ。ストレージサブシステム1201は、複数のファイバチャネルインタフェースを持つポート1202によって上位装置(ホストと呼ぶ)1203と接続されている。接続形態はファイバチャネル規約によりさまざまであるが、本発明では接続形態を問わないため一括してファイバチャネル1204として表記してある
上位装置1203もまたファイバチャネルインタフェースを持つポート1205を1つ以上備えており、それぞれのポート1205がストレージサブシステム1201上のポート1202とファイバチャネルプロトコルにより通信可能である。
ストレージサブシステム1201は中央演算装置1206を持ち、各種処理を行う。またストレージサブシステム1201は内部に不揮発メモリ1207を備えている。この不揮発メモリ1207は各種テーブルやN_Port_Name或いはNode_Nameを保持する保持手段としての役割を果たす。デバイスドライブ制御部1208はバス1209を介して情報を記憶しているドライブデバイスと接続されている。本図ではドライブデバイスを論理単位としてとらえ、論理ユニット(LU)1210として表示している。
また、ストレージサブシステム1201は通信制御部1211を持ち、通信回線1212を介して保守用装置1213の通信制御部1214と情報の送受信を行うことができる。保守用装置1213とは例えばパソコンのようなものであり、中央演算装置1215と入力手段1216及び表示手段1217を持つ。ユーザはこの保守用装置1213を用いて、ストレージサブシステム1201の保守を行う他、N_Port_Name或いはNode_NameとLU1210の特定の記憶領域とを関連付け上位装置1203に対するアクセス可否を定義した情報(アクセス可否テーブル)を設定する。このように保守用装置1213は設定手段の役割も果たす。不揮発メモリ1207はこのように定義したアクセス可否テーブルをN_Port_Name或いはNode_Nameと共に保持する。
更に不揮発メモリ1207は、中央演算装置1215で作成する関連テーブル(上位装置1203からストレージサブシステム1201への通信要求であるPLOGIを受け付けた際に、N_Port_Name或いはNode_Nameと上位装置1203とを動的に一意に識別できる情報であり、PLOGI時に上位装置1203より報告される値であるS_IDとを関連付け
、このS_IDを不揮発メモリ1207内に保持してあるN_Port_Name或いはNode_Nameと関連付けたテーブル)を保持する。
図13は、本発明によるLUNセキュリティの実現方法の概要を説明したものであ
る。まず手順1301では、ユーザは予めホストが持つN_Port_Nameを用いて、スト
レージサブシステムの各ポート毎に関連付けられたLUNと、そこにアクセスしう
るホストのN_Port_Nameを結び付けたアクセス可否テーブルを保守用装置(図12参照)などを用いて作成し、ストレージサブシステム内の記憶領域(図12に示す不揮発メモリ等)に保持する。ここで得られるN_Port_Nameは既知であるとする
次に、手順1302において、ホストがストレージサブシステムに対してログインを行う。ストレージサブシステムは、このログインのPLOGIフレームからホスト
のN_Port_Name及びS_IDを取り出し、N_Port_NameとS_IDとを関連付けた関連テーブルを作成する。作成された関連テーブルは、先のアクセス可否テーブルと同様にストレージサブシステム内の記憶領域に保持される。
次に、手順1303に移り、ホストはストレージサブシステム内の論理ユニットの状態を検査するためにInquiryコマンドを送信する。このInquiryコマンドを受信したストレージサブシステムは、Inquiryコマンドを格納しているフレームのヘ
ッダからS_IDを取り出し、また同フレームからInquiryコマンドの対象となるLUNを取り出す。そして関連テーブルを使用して、S_IDからN_Port_Nameを割り出し
、さらにアクセス可否テーブルからそのLUNがN_Port_Nameに対してアクセス許可されているか、もしくは不許可であるかの情報を取得する。
許可か不許可かの情報を用いて手順1304で中央演算装置はアクセス可否の判定をおこなう。結果が許可であった場合は、手順1305においてInquiryデータにLUが実装であることを設定し、不許可であった場合は、手順1307においてInquiryデータにLUが未実装であることを設定し、ホストに対して送信する。Inquiryデ
ータを受信したホストはデータを解析し、対象LUが実装である、すなわち対象LUへのアクセスが許可されていることをデータから得ると、手順1306に示すように
、それ以降当該LUに対してのI/O要求を行うことが出来るようになる。
対象LUが未実装であることを検出すると、以降当該LUへのI/O要求へのI/O要求を行うことはできない。以上の手順により、ストレージサブシステム内のLUに対するセキュリティの管理が実現できたことになる。
尚、N_Port_Namの代わりにNode_Nameを用いた場合も同様である。また、アク
セス可否の判断は中央演算装置ではなく、専用の処理装置を設けて判断手段としてもよい。
次に、各手順について詳細に説明する。
まず、最初の手順であるN_Port_NameとLUNとの対応づけを行うテーブル作成手順について説明する。
本発明におけるLUNに対するセキュリティ情報は、ストレージサブシステムに
存在するポートを単位として管理されるものとする。つまり、論理ユニットLUは各ポートに対して定義され、ホストはこれらのポートを通してLUへアクセスする
。したがって、セキュリティ情報もポート単位で管理されることになる。この場合必要な情報は、ホストを一意に特定できる情報、各LUの識別子であるLUN、及
びLUNに対するアクセスの可否を示す状態ビットである。
ホストを一意に特定できる情報とは、この時点ではN_Port_Nameとなる。N_Port_Nameは、ホストに存在するポート毎にユニークな値であるので、本発明
によればホストのポート毎に、ストレージサブシステムのポートにおけるLUに対するセキュリティを設定できることになる。N_Port_Nameの替わりに、Node_Nameを使用したテーブルを作成すれば、ホスト毎にセキュリティを設定することになる。LUに対するアクセス権限を与える対象がホストのポート毎であるか、ホスト毎であるかの相違であるので、本実施例ではN_Port_Nameについて説明する。す
なわち本実施例ではホストのポート毎にセキュリティを設定する方法を述べるが
、N_Port_Nameの記述をNode_Nameに読み替えることによって、容易にホスト単位のセキュリティ設定方式を得ることができる。また、本実施例では、ホスト上にあるポートのことを、簡略化のためにホストと呼ぶことにする。つまり、ホストという語はホストそのものと、ホスト上に存在するポートの双方、或いはいずれかを意味することになる。
図14に、本実施例で作成するアクセス可否テーブルを示す。本テーブルはストレージサブシステム上にあるポート毎に作成される。作成はストレージサブシステムと通信可能な保守用の装置から、入力手段とその入力結果を確認するための表示手段を用いて指示することにより行う。通信回線の種類により、LANを用い
ればストレージサブシステムに近い場所からの設定、電話回線を用いれば保守センタ等遠隔地からの設定が可能である。また内部バスを用いて保守用装置とストレージサブシステムを一体化させることも可能である。
LUN1402はポートに関連付けられたLUを示し、N_Port_Name1403の数はそのポート配下に存在するLUへアクセスする可能性のあるホストの数だけ存在する。LU及びホストの数は有限な数となる。テーブルの各要素において、本実施例では値"1
"がアクセス許可を、値"0"がアクセス拒否を意味することにする。図14では当該ポートにおいて、LUN 0へアクセス許可があるホストは、N_Port_Name "01234567
89ABCDEF" 1409 をもつホストのみであり、LUN 1 1405へアクセス許可があるホストは、N_Port_Name "01234567 89ABCDEE" 1410及び "01234567 89ABCDED" 141
1をもつホストである。またLUN n-1 1407へのアクセスが許可されているホスト
は存在しない。
図15に示すように、本テーブルは、セキュリティの設定が必要なポートすべてについて作成し、ストレージサブシステム内の記憶領域に保持する。このとき記憶領域に不揮発記憶領域を使用すれば、ストレージサブシステムの電源が切断された場合でも情報を保持することができる。また、初期値を0又は1としてテーブルを作成しておくことにより、テーブル作成を簡略化することができる。
次に、ホストからのログインの手順について詳細に説明する。本手順ではPLOG
Iに伴う情報から、ホストのN_Port_NameとホストのS_IDを結び付ける処理を行う
まず、図16の手順1602に示すように、ホストからのログイン手続きとして、PL
OGIフレームが送信される。手順1603においてストレージサブシステムでは、PLO
GIフレームのヘッダから、ホストのS_IDを取得する。また同時に、手順1604において、PLOGIフレームのデータ領域から、ホストのN_Port_Nameを取得する。手順1605において、この2つの値を結び付け、図17に示すような関連テーブルを作成
する。PLOGIはホストのポートと、ストレージサブシステム上のポートとの間で
交わされるログインであるので、本テーブルもストレージサブシステムのポート毎に作成されることになる。
手順1606でテーブルを更新することによって、本テーブルを用いて、S_ID1701が与えられれば該当するN_Port_Name1702を得ることが可能となる。本テーブル
も、ストレージサブシステム内の記憶領域に保持されることは図14で示したテーブルと同様である。ホストに対しては、手順1607でPLOGIに対する応答としてACCと呼ばれるフレームを送信し、ホストにログインが受理されたことを通知する。ACCフレームを受信したホストは、以降当該ポートに対してのInquiry等を発行することができるようになる。
次に、ホストからのInquiryコマンドの送信と、それに伴うセキュリティの応
答について図18を用いて詳細に説明する。Inquiryコマンドは、FCP_CMNDと呼ば
れる情報単位を含むフレームとしてホストからストレージサブシステムへ送信される。手順1802でホストからのデータフィールド内のFCP_CMNDフレームを受信したストレージサブシステムは、手順1803でFCP_CMNDフレームの内容を解析する。FCP_CMNDがInquiryコマンドでない場合は、それぞれに応じた処理1805に分岐す
る。FCP_CMNDがInquiryコマンドであった場合は、手順1806に遷移し、当該フレ
ームからS_IDを切り出す。また、同時に手順1807にてFCP_LUNからInquiryが対象としているLUNを取り出す。
次に、手順1808に移り、フレームから切り出したS_IDから、図17で示したテーブルを用いてN_Port_Nameを求める。さらに、求めたN_Port_Nameについて、図14で示したテーブルより、Inquiryコマンドが対象としているLUNについて、セキュリティを示したビットの状態を取得する。この時ホストから得られたS_IDが、FFFF01であり、Inquiryの要求するLUNが0であったとする。まず手順1808にて、
図17に示すテーブルよりS_IDFFFF01 1703に対応するN_Port_Name "01234567
89ABCDEF" 1706 を取得した後、手順1809に移り図14に示したテーブルよりN_Port_Name "01234567 89ABCDEF" 1409 に対するLUN 0 1404のセキュリティ "1
" を得る。
セキュリティ "1" は本実施例ではアクセス許可を意味するので、手順1811に
分岐し、ホストへ報告するInquiryデータとして、クオリファイアに000(2進)
、デバイスタイプに当該デバイスに対応するコードをセットする。例えばストレージサブシステムがハードディスクアレイサブシステムである場合は、デバイスタイプは00(16進)となる。ついでInquiryデータを格納したフレームを作成し
、手順1813でホストに対して送信をおこなう。さらに手順1814にて、返信が終了したことを示すFCP_RSPと呼ばれるフレームをホストに対して送信する。
この一連の返信データを受け取ったホストは、Inquiryの結果として当該LUN=0のLUに対してアクセスができることを検知したことになるため、以降は次回のInquiryコマンドを受け付けるまで、当該LUに対してセキュリティのチェックを
行う必要なくアクセスを行うことが可能となる。
次にアクセスを拒否する場合を説明する。Inquiryコマンドの送信によりホス
トから得られたS_IDがFFFF01であり、Inquiryの要求するLUNが1であったとする
。手順1808において、図17に示す関連テーブルよりS_IDFFFF011703に対応するN_Port_Name "01234567 89ABCDEF" 1706を取得した後、図14に示すアクセス可否テーブルよりN_Port_Name "01234567 89ABCDEF" 1409に対するLUN 1 1405のセキュリティ "0" を得る。
セキュリティ "0" は本実施例ではアクセス拒否を意味するので、手順1812へ
分岐し、ホストへ報告するInquiryデータとして、クオイファイアに001(2進)
又は011(2進)、デバイス・タイプ・コードに1F(16進)をセットしたInquiry
データを作成する。このInquiryデータを受信し、ついでFCP_RSPを受信したホストは、Inquiryの結果として当該LUN=1のLUが未実装であるという情報を得る。したがって、以降ホストは当該LUが実装されていないと判断するのでアクセス要求をすることはなくなる。
以上のようにして、N_Port_Name、S_ID、LUNを用いたテーブルを保持することで、ストレージサブシステム側のポート毎に、ホストの各ポートに対しての各LU
Nへのアクセスについてのセキュリティを、ログイン及びInquiryの際に判断することで、効率よく行うことができる。
ファイバチャネルプロトコルにおけるフレームの構造図である。 フレームヘッダの構造図である。 PLOGIフレームの構造図である。 PLOGIが受諾されるシーケンス図である。 PLOGIが拒否されるシーケンス図である。 SCSIのInquiryコマンドを含むフレームの構造図である。 Inquiryデータの構造図である。 Inquiryデータ中クオリファイアの内容定義図である。 Inquiryデータ中デバイス・タイプ・コードの内容定義図である。 InquiryデータにLU通常状態が設定される場合のシーケンス図である。 InquiryデータにLU未定義状態が設定される場合のシーケンス図である。 ストレージサブシステムの構成図である。 全体シーケンスのフローチャートである。 N_Port_Nameに対するLUアクセス可否の定義テーブルである。 LUアクセス可否定義テーブルの設定フローチャートである。 PLOGI処理のフローチャートである。 ホストN_Port_NameとS_IDを関連付けるテーブルである。 Inquiryコマンド処理のフローチャートである。
符号の説明
101…フレーム、102…SOF(Start of Frame)、103…フレームヘッダ、104…デ
ータフィールド、105…CRC、106…EOF(End of Frame)、201…フレーム、202…
フレームヘッダ、203…フレームヘッダ詳細、204…S_ID、301…フレーム、302…フレームヘッダ、303…データフィールド、304…フレームヘッダ詳細、305…デ
ータフィールド詳細、306…S_ID、307…N_Port_Name、308…Node_Name、401…ログイン要求元の動作、402…ログイン受信先の動作、403…PLOGIフレームの内容
、404…ACCフレーム、501…ログイン要求元の動作、502…ログイン受信先の動作
、503…PLOGIフレームの内容、504…LS_RJTフレーム、601…フレーム、602…フ
レームヘッダ、603…データフィールド、604…フレームヘッダ詳細、605…S_ID
、606…データフィールド詳細(FCP_CMND)、607…FCP_LUN、608…FCP_CNTL、60
9…FCP_CDB(Inquiry)、610…FCP_DL、701…Inquiryデータ抜粋、702…クオリ
ファイア、703…デバイス・タイプ・コード、801…クオリファイアの定義、802…000(2進)、803…001(2進)、804…011(2進)、901…デバイス・タイプ・
コード(16進)、902…デバイス・タイプ、903…1F(16進)、904未定義又は未
接続のデバイス、1001…上位装置(ホスト)のInquiry処理シーケンス、1002…
ストレージサブシステムのInquiry処理シーケンス、1003…Inquiryを含むフレーム(FCP_CMND)に格納される情報、1004…デバイス通常状態を通知するInquiryデ
ータ、1101…上位装置(ホスト)のInquiry処理シーケンス、1102…ストレージ
サブシステムのInquiry処理シーケンス、1103…Inquiryを含むフレーム(FCP_CMND)に格納される情報、1104…デバイス未定義状態を通知するInquiryデ
ータ、1201…ストレージサブシステム、1202…ストレージサブシステムのファイバチャネルポート、1203…上位装置(ホスト)、1204…ホストとストレージサブ
システムを接続するファイバチャネルプロトコル、1205…ホストのファイバチャネルポート、1206…中央演算装置、1207…不揮発メモリ、1208…デバイスドライブ制御部、1209…バス、1210…LU(論理ユニット)、1211…通信制御部、1212…
通信回線、1213…保守用装置、1214…通信制御部、1215…中央演算装置、1216…入力手段、1217…表示手段、1301…全体手順1、1302…全体手順2、1303…全体手順3、1304…全体手順4、1305…全体手順5、1306…全体手順6、1307…全体手順7
、1401…N_Port_Nameに対するLUアクセス可否定義テーブル、1402…LUN、1403…N_Port_Name、1404…LUN 0のLUに対する定義、1405…LUN1のLUに対する定義、14
06…LUN 2のLUに対する定義、1407…LUN n-1のLUに対する定義、1408…LUN nのL
Uに対する定義、1409,1410,1411…N_Port_Name、1601…PLOGI処理フローチャ
ート開始、1602…PLOGI処理手順1、1603…PLOGI処理手順2、1604…PLOGI処理手
順3、1605…PLOGI処理手順4、1606…PLOGI処理手順5、1607…PLOGI処理手順6、1
701…S_ID、1702…N_Port_Name、1703,1704,1705…S_ID、1706,1707,1708…N_Port_Name、1801…Inquiry処理フローチャート開始、1802…Inquiry処理手順1
、1803…Inquiry処理手順2、1804…Inquiry処理手順3、1805…Inquiry処理手順4
、1806…Inquiry処理手順5、1807…Inquiry処理手順6、1808…Inquiry処理手順7
、1809…Inquiry処理手順8、1810…Inquiry処理手順9、1811…Inquiry処理手順1
0、1812…Inquiry処理手順11、1813…Inquiry処理手順12、1814…Inquiry処理手順13。

Claims (8)

  1. 上位装置からの情報を記憶するドライブデバイスと、
    情報を記憶するメモリと、
    前記ドライブデバイスと接続され、前記ドライブデバイスを制御するデバイスドライブ制御部と、
    前記メモリと前記デバイスドライブに接続され、前記デバイスドライブ制御部を制御する演算部とを備え、
    前記メモリは、前記上位装置のポートを識別するN_Port_Nameと、当該上位装置が当該ポートを介してアクセス可能な前記ドライブデバイスの特定の領域を識別するLogical Unit Number(LUN)と、を関連付ける第1のテーブルを有し、
    前記上位装置からファイバチャネルプロトコルにおけるログイン要求を受け付けた場合、前記演算部は、前記ログイン要求に含まれる前記N_Port_Nameと前記ログイン要求を送信した上位装置のポートを識別するS_IDと、を関連付ける第2のテーブルを設定し、
    前記上位装置からファイバチャネルプロトコルにおけるアクセス要求を受け付けた場合、前記アクセス要求に含まれる前記S_IDと前記LUNと、前記第1のテーブルと前記第2のテーブルと、から前記上位装置のアクセス可否を判定することを特徴とするストレージシステム。
  2. 前記演算部と接続され、外部からアクセスできる通信制御部を有し、前記演算部は、前記通信制御部を介して受信される前記第1のテーブルを前記メモリに格納することを特徴とする請求項1記載のストレージシステム。
  3. 前記上位装置から送られる情報を送受信するポートを有し、
    前記第1のテーブルは、前記LUNと、前記N_Port_Nameと、を関連付けられるものであることを特徴とする請求項2記載のストレージシステム。
  4. 前記アクセス要求は、前記上位装置から前記デバイスドライブの前記特定の領域についての状態を検査するファイバチャネルプロトコルにおけるinquiry要求であって、
    前記inquiry要求を受け付けた場合、前記演算部は、前記第2のテーブルを使用して、前記inquiry要求に含まれる前記S_IDから前記N_Port_Nameを割り出した後、前記第1のテーブルを使用して前記割り出された前記N_Port_Nameから、前記上位装置のアクセス可否を判定することを特徴とする請求項2記載のストレージシステム。
  5. 前記演算部は、前記上位装置の前記inquiry要求を拒否する場合、記憶領域が実装されていないことを前記上位装置に送信することを特徴とする請求項記載のストレージシステム。
  6. 前記演算部は、前記上位装置のアクセスを許可する場合、前記アクセス要求に応答することを特徴とする請求項記載のストレージシステム。
  7. 前記デバイスドライブの特定の領域は、論理ユニットであることを特徴とする請求項記載のストレージシステム。
  8. 上位装置からの情報を記憶するドライブデバイスと、情報を記憶するメモリと、前記ドライブデバイスを制御するデバイスドライブ制御部と、前記デバイスドライブ制御部を制御する演算部を有するストレージシステムのアクセス制御方法であって、
    前記上位装置のポートを識別するN_Port_Nameと、当該上位装置が当該ポートを介してアクセス可能な前記ドライブデバイスの特定の領域を識別するLogical Unit Number(LUN)と、を関連付ける第1のテーブルを前記メモリに設定し、
    前記上位装置からファイバチャネルプロトコルにおけるログイン要求を受け付けた場合、前記ログイン要求に含まれる前記N_Port_Nameと前記ログイン要求を送信した前記上位装置のポートを識別するS_IDと、を関連付ける第2のテーブルを前記メモリに設定し、
    前記上位装置からファイバチャネルプロトコルにおけるアクセス要求を受け付けた場合、前記アクセス要求に含まれる前記S_IDと前記LUNと、前記第1のテーブルと前記第2のテーブルと、から前記上位装置のアクセス可否を判定することを特徴とするストレージシステムのアクセス制御方法。
JP2005294275A 2005-10-07 2005-10-07 ストレージシステム及びストレージシステムのアクセス方法 Expired - Fee Related JP4315142B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005294275A JP4315142B2 (ja) 2005-10-07 2005-10-07 ストレージシステム及びストレージシステムのアクセス方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005294275A JP4315142B2 (ja) 2005-10-07 2005-10-07 ストレージシステム及びストレージシステムのアクセス方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP08539399A Division JP3744248B2 (ja) 1999-03-29 1999-03-29 ファイバチャネル接続ストレージサブシステム及びそのアクセス方法

Publications (2)

Publication Number Publication Date
JP2006092562A JP2006092562A (ja) 2006-04-06
JP4315142B2 true JP4315142B2 (ja) 2009-08-19

Family

ID=36233407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005294275A Expired - Fee Related JP4315142B2 (ja) 2005-10-07 2005-10-07 ストレージシステム及びストレージシステムのアクセス方法

Country Status (1)

Country Link
JP (1) JP4315142B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8667098B2 (en) * 2010-12-03 2014-03-04 Hitachi, Ltd. Cluster storage setting method, system, and management system
JP6343716B2 (ja) * 2015-06-24 2018-06-13 株式会社日立製作所 計算機システム及び記憶制御方法
CN115114617B (zh) * 2021-03-23 2024-09-27 奇安信科技集团股份有限公司 登录结果检测方法及系统

Also Published As

Publication number Publication date
JP2006092562A (ja) 2006-04-06

Similar Documents

Publication Publication Date Title
JP3993773B2 (ja) ストレージサブシステム、記憶制御装置及びデータコピー方法
JP4311637B2 (ja) 記憶制御装置
US6684209B1 (en) Security method and system for storage subsystem
JP4719957B2 (ja) 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
JP4651230B2 (ja) 記憶システム及び論理ユニットへのアクセス制御方法
JP3744248B2 (ja) ファイバチャネル接続ストレージサブシステム及びそのアクセス方法
US7260636B2 (en) Method and apparatus for preventing unauthorized access by a network device
US7917751B2 (en) Distributed filesystem network security extension
JP4512179B2 (ja) ストレージ装置及びそのアクセス管理方法
US20070079092A1 (en) System and method for limiting access to a storage device
JP2002519781A (ja) ネットワークと接続している記憶システムへの接続を認証するための方法および装置
JP2003006048A (ja) ホストコンピュータの認証を行う記憶装置システム
JP4598248B2 (ja) 記憶サブシステムのセキュリティシステム
JP4315142B2 (ja) ストレージシステム及びストレージシステムのアクセス方法
JP2005157826A (ja) アクセス制御装置及び方法
US20050251684A1 (en) Storage control system and storage control method
JP2005322254A (ja) 計算機システム、及び該計算機システムに用いられる計算機並びに記憶装置
JP4564035B2 (ja) 計算機システム、及び該計算機システムに用いられる計算機並びに記憶装置
JP2007200356A (ja) 計算機システム、及び該計算機システムに用いられる計算機並びに記憶装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060131

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060131

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20090210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090403

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: 20090428

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090511

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130529

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130529

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees