JP2008250591A - デバイスを管理する計算機 - Google Patents

デバイスを管理する計算機 Download PDF

Info

Publication number
JP2008250591A
JP2008250591A JP2007090117A JP2007090117A JP2008250591A JP 2008250591 A JP2008250591 A JP 2008250591A JP 2007090117 A JP2007090117 A JP 2007090117A JP 2007090117 A JP2007090117 A JP 2007090117A JP 2008250591 A JP2008250591 A JP 2008250591A
Authority
JP
Japan
Prior art keywords
value
target
variable
device identification
space
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.)
Pending
Application number
JP2007090117A
Other languages
English (en)
Inventor
Tomoya Anzai
友矢 安齋
Takahiro Nakano
隆裕 中野
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 JP2007090117A priority Critical patent/JP2008250591A/ja
Priority to US12/007,639 priority patent/US7827269B2/en
Publication of JP2008250591A publication Critical patent/JP2008250591A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】対応テーブルを使用すること無くデバイスファイル名と異なるデバイス識別値とデバイスとの対応付けを固定化する。
【解決手段】計算機に、デバイスに関する値であるデバイス関連値(例えばLUN)を取得するデバイス関連値取得部と、デバイス関連値が代入される第一の変数を含んだ計算式と、取得されたデバイス関連値を第一の変数に代入することで、そのデバイス関連値に対応したデバイスのデバイス識別値を算出するデバイス識別値計算部と、電子的な情報資源に、算出したデバイス識別値と取得されたデバイス関連値とを登録する対応登録部とを備える。
【選択図】図9

Description

本発明は、デバイスの管理に関する。
例えば、SAN(Storage Area Network)に接続された一以上のストレージシステム及び一以上のサーバでコンピュータシステムが構成される。
一般に、ストレージシステムは、一以上のポートと、複数の物理的な記憶装置とを備える。それら複数の物理的な記憶装置が提供する記憶空間を基に、論理的な記憶装置として複数の論理ユニット(LU)が形成される。ストレージシステムでは、通常、各LUに対応した各LUN(Logical Unit Number)が管理される。
サーバに搭載されるOS(Operating System)としては、例えば、UNIX(登録商標)系のOS(以下、便宜上、「UNIX」と省略する)がある。UNIXでは、例えば、ストレージシステムのポートがターゲットとして認識され、LUがデバイスとして認識される。UNIXでは、SCSI(Small Computer System Interface)ドライバが、認識されたデバイスについてのマイナー番号及びデバイスファイル名を決定する。マイナー番号とは、デバイス番号のデータ空間を構成するメジャー空間(上位部分)とマイナー空間(下位部分)とのうちのマイナー空間(例えば20ビット)の一部(例えば16ビット)又は全部で表される値である。
UNIXでは、SCSIドライバは、各デバイスについてのマイナー番号及びデバイスファイル名を、認識したデバイスの順序で決定する。また、UNIXでは、一つのターゲットに属する一以上のデバイスを連続的に認識してから、別のターゲットに属する一以上のデバイスを連続的に認識することもある。これらの理由から、ストレージシステムでターゲット及び/又はデバイスの数が変更された後、UNIX(つまりOS)のリブートやフェイルオーバ等があると、マイナー番号及びデバイスファイル名とデバイスとの対応が変更されることがある。
具体的には、例えば、図1Aに例示するように、第一のストレージシステム0に、ターゲットとしてポート(P00)があり、P00にLU0及びLU1が属しており、サーバにおいて、UNIXが、P00及びP00に属するLU0及びLU1を認識できるとする。また、第二のストレージシステム1に、ターゲットとしてポート(P10)があり、P10にLU0及びLU1が属しており、サーバにおいて、UNIXが、P10及びP10に属するLU0及びLU1を認識できるとする。このような環境において、UNIXが、P00に属する複数のLUを、例えばLU0、LU1の順序で連続的に認識し、次に、P10に属する複数のLUを、例えば、LU0、LU1の順番で連続的に認識したとする。この場合、P10に属するLU0は、3番目に認識されたことになるので、マイナー番号として“2”が決定され(minor:2というのはマイナー番号が“2”であることを示す)、デバイスファイル名として、3番目に認識されたことに対応した値“/dev/sdc”が決定される。
この後に、例えば、図1Bに示すように、ストレージシステム0で、P00に属するLUとしてLU2が追加され、その後に、UNIXのリブートが行われたとする。そうすると、図1Aと同様の手順でLUが認識された場合、追加されたLU2が3番目に認識され、P10に属するLU0は4番目に認識されることになる。そのため、図1Bに示すように、P10に属するLU0のマイナー番号として、4番目に認識されたことを表す“3”が決定され、デバイスファイル名として、4番目に認識されたことに対応した値“/dev/sdd”が決定される。すなわち、P10に属するLU0について言えば、LU2の追加前と追加後で、対応付けられるマイナー番号及びデバイスファイル名が、マイナー番号“2”及びデバイスファイル名“/dev/sdc”から、マイナー番号“3”及びデバイスファイル名“/dev/sdd”に変更されたことになる。
同様に、例えば、図1Bに示した環境において、P00に属するLU2が障害などによりアクセス不能になった後、UNIXがリブートされた場合には、図1Aに示した環境になるため、そのような場合でも、マイナー番号及びデバイスファイル名とデバイスとの対応付けが変更される。
このように、マイナー番号及びデバイスファイル名とデバイスとの対応付けが変更されると、同一デバイスに必ずしもアクセスできない(例えば、同一のマイナー番号及びデバイスファイル名に対して異なるデバイスがマウントされる、或いは、マウントに失敗する)という問題が生じる。このため、例えば、サーバに対してクライアントが所望のデバイスに対応するデバイスファイル名を指定したアクセス要求を送信した場合、サーバでは、UNIXが、そのデバイスファイル名に対応付けられているLUを指定したアクセス要求を送信することになるが、上記のように、対応付けが変更されてしまっていると、対応付けの変更前と変更後とでは、異なるLUにアクセスすることになるか、或いは、アクセスできないことがあり得る。
デバイスファイル名については、デバイスとの対応付けを固定化する方法が知られている(例えば特許文献1)。特許文献1によれば、全てのデバイスにそれぞれ対応したシリアル番号等及びデバイスファイル名とが記録された対応テーブルが用意され、SCSIのinquiryコマンドでデバイスのシリアル番号等が取得され、そのシリアル番号等に対応したデバイスファイル名が対応テーブルからサーチされ、デバイスファイル名が見つかったならば、そのデバイスにそのデバイスファイル名が対応付けられる。
米国公開特許明細書2004/0064459号
上述した特許文献1には、デバイスファイル名とデバイスとの対応付けを固定化する方法の開示はあるものの、デバイス番号のマイナー番号とデバイスとの対応付けを固定化する方法については何も開示が無い。UNIXは、デバイスファイル名ではなくデバイス番号を指定した要求を受ける場合もある。この場合には、上述したような問題が生じ得る。
また、特許文献1では、ストレージシステムに存在する全てのデバイスについてシリアル番号等とデバイスファイル名とを記録した対応テーブルが必要となる。ストレージシステムの規模や台数などによっては、デバイスが多数(例えば数千〜数万)になることがある。この場合、対応テーブルのサイズは大きくなり、また、シリアル番号等に対応するデバイスファイル名のサーチの負荷が高くなる。
これらと同種の問題は、マイナー番号に限らず、デバイスファイル名と異なるデバイス識別値をデバイスに対応付けて管理する環境があれば、その環境で同様に存在し得る。
従って、本発明の目的は、対応テーブルを使用すること無くデバイスファイル名と異なるデバイス識別値とデバイスとの対応付けを固定化することにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
デバイス関連値が代入される第一の変数を含んだ計算式を準備し、取得されたデバイス関連値をその第一の変数に代入することで、そのデバイス関連値に対応したデバイスに固有のデバイス識別値を算出し、算出したデバイス識別値と上記取得されたデバイス関連値とを登録する。
一つの実施形態では、計算機が、デバイスに関する値であるデバイス関連値を取得するデバイス関連値取得部と、デバイス関連値が代入される第一の変数を含んだ計算式と、取得されたデバイス関連値を前記第一の変数に代入することで、そのデバイス関連値に対応したデバイスのデバイス識別値を算出するデバイス識別値計算部と、電子的な情報資源に前記算出したデバイス識別値と前記取得されたデバイス関連値とを登録する対応登録部と
を備えることができる。
一つの実施形態では、計算機が、ターゲットに関する値であるターゲット関連値を取得するターゲット関連値取得部を更に備えることができる。計算式が、ターゲット関連値が代入される第二の変数を更に含む。デバイス識別値計算部は、取得されたターゲット関連値を第二の変数に代入することで、デバイス識別値を算出することができる。
一つの実施形態では、計算機が、一つのターゲットについてのデバイスの最大数を表す予め用意された値であるデバイス最大数を取得するデバイス最大数取得部を更に備えることができる。計算式が、デバイス最大数が代入される第三の変数を更に含む。デバイス識別値計算部は、取得されたデバイス最大数を第三の変数に代入することで、デバイス識別値を算出することができる。
一つの実施形態では、計算式は、デバイス識別値=第二の変数×第三の変数+第一の変数、である。
一つの実施形態では、ターゲット関連値は、ターゲットの識別子であるターゲットIDである。ターゲットIDは、ターゲットのWWN(ワールドワイドネーム)にパーシステントバインディング設定で予め対応付けられているIDである。
一つの実施形態では、計算機が、算出されたデバイス識別値を含んだデバイスファイル名を作成するファイル名作成部を更に備えることができる。
一つの実施形態では、ターゲットの最大数を表す予め用意された値であるターゲット最大数と、デバイス最大数との積が、デバイス識別値の最大数以下である。
一つの実施形態では、計算機が、ターゲット最大数取得部と、判定部とを備えることができる。ターゲット最大数取得部は、ターゲットの最大数を表す予め用意された値であるターゲット最大数を取得することができる。判定部は、算出済みのデバイス識別値の数が、取得されたターゲット最大数と前記取得されたデバイス最大数との積より小さいか否かの判定を行うことができる。デバイス関連値取得部が、一のデバイスについてデバイス識別値が算出された場合に、別の一のデバイスについてのデバイス関連値を取得するよう構成される。デバイス識別値計算部が、判定の結果が否定的であれば、取得された一のデバイスのデバイス関連値についてのデバイス識別値を算出することなく終了とすることができる。
一つの実施形態では、計算機が、判定部と、フォーマット変更部とを備えることができる。判定部は、ターゲットの最大数を表す予め用意された値であるターゲット最大数と、前記デバイス最大数との積が、デバイス識別値の最大数より大きいか否かの判定を行うことができる。フォーマット変更部は、その判定の結果が肯定的な場合、デバイス識別値を含んだデバイス識別情報において、そのデバイス識別情報の空間サイズを変更することなく、デバイス識別値を表す空間サイズを大きくすることができる。
一つの実施形態では、計算機が、判定部と、フォーマット変更部とを備えることができる。その判定部は、デバイス識別値を含んだデバイス識別情報において、そのデバイス識別情報中に、デバイス識別値を表す空間にシフトすることが可能な空間であるシフト可能空間が存在するか否かの判定を行うことができる。フォーマット変換部は、その判定の結果が肯定的の場合に、デバイス識別情報中のシフト可能空間を、デバイス識別値を表す空間にシフトすることができる。
一つの実施形態では、デバイス識別情報の空間において、デバイス識別値の空間以外の或る空間を、有意でなく且つ連続した一以上の所定値が占めている場合に、該或る空間が、上記シフト可能空間である。
一つの実施形態では、計算機が、ターゲットID取得部と、LU最大数取得部とを更に備えることができる。ターゲットID取得部は、ストレージシステムのポートであるターゲットのWWN(ワールドワイドネーム)にパーシステントバインディング設定により前もって対応付けられたターゲットIDを取得することができる。LU最大数取得部は、ストレージシステムの一ポートについての論理ユニット(LU)の最大数を示す予め用意された値であるLU最大数を取得することができる。デバイス関連値取得部は、LUN(論理ユニット番号)を取得することができる。デバイス識別値は、UNIX系のOSで管理される、メジャー空間とマイナー空間とで構成された空間で表されるデバイス番号において、マイナー空間の所定位置の空間(例えば上位の連続した所定ビット分の空間)で表される特定の番号である。特定の番号とは、例えば、マイナー空間全体により表される番号(一般的には、この番号を「マイナー番号」と呼ぶ)のうちの所定部分(例えばパーティション番号と呼ばれる部分)を除いた部分の番号である。より具体的には、特定の番号とは、例えば、後述の第一及び第二の実施形態で、便宜上、「マイナー番号」と呼ぶ番号である。計算式は、特定の番号=第二の変数×第三の変数+第一の変数、である。第一の変数が、取得されたLUNが代入される変数である。第二の変数が、取得されたLU最大数が代入される変数である。第三の変数が、取得されたターゲット最大数が代入される変数である。
一つの実施形態では、計算機が、算出済みの上記特定の番号の数が、取得されたターゲット最大数と前記取得されたLU最大数との積より小さいか否かの判定を行う判定部、を更に備えることができる。デバイス関連値取得部が、一のデバイスである一のLUについて上記特定の番号が算出された場合に、別の一のLUについてのLUNを取得することができる。デバイス識別値計算部が、上記判定の結果が否定的であれば、取得された一のLUNについての上記特定の番号を算出することなく終了とすることができる。
一つの実施形態では、パーシステントバインディング設定が終了した後の上記OSの特定の処理中(例えば、OSのリブート中、又は、OSの設定の再読込み中)に、デバイス関連値取得部、デバイス識別値計算部及び対応登録部がそれぞれ所定の処理(つまり、前述した処理)を実行し、デバイス識別値計算部が終了となった後に、OSの上記特定の処理(例えば、OSのリブート、又は、OSの設定の再読込み)が完了する。OSが、SCSIドライバを有し、SCSIドライバが、デバイス関連値取得部、デバイス識別値計算部及び対応登録部を有することができる。
一つの実施形態では、計算機が、第一の判定部と、フォーマット変更部とを更に備えることができる。第一の判定部は、ターゲットの最大数を表す予め用意された値であるターゲット最大数と、LU最大数との積が、特定の番号の最大数である2(nは、特定の番号を表す空間のサイズとしてのビット数であり、自然数)より大きい場合に、特定の番号を表す空間である特定番号空間にシフト可能なk個(kは自然数)のビットがメジャー空間に存在するか否かの第一の判定を行うことができる。フォーマット変更部は、第一の判定の結果が肯定的の場合に、メジャー空間中のシフト可能なk個のビットを特定番号空間にシフトすることで、デバイス番号の空間サイズを変更することなく、特定番号空間のサイズをnビットからn+kビットに拡大することができる。
一つの実施形態では、計算機が、第二の判定部を更に備えることができる。第二の判定部は、第一の判定の結果が否定的の場合に、算出済みの特定の番号の数が、取得されたターゲット最大数と取得されたLU最大数との積より小さいか否かの第二の判定を行うことができる。デバイス関連値取得部が、一のデバイスである一のLUについて特定の番号が算出された場合に、別の一のLUについてのLUNを取得するよう構成されている。デバイス識別値計算部が、第二の判定の結果が否定的であれば、取得された一のLUNについての特定の番号を算出することなく終了とすることができる。
上述した複数の実施形態のうちの任意の二以上の実施形態を組み合わせても良い。また、上述した各部(例えば、デバイス関連値取得部、デバイス識別値計算部及び対応登録部等)は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
また、前述したデバイス関連値取得部、デバイス識別値計算部、対応登録部、ターゲット関連値取得部、デバイス最大数取得部、ファイル名作成部、ターゲット最大数取得部、判定部、第一の判定部、第二の判定部、フォーマット変更部、LU最大数取得部及びターゲットID取得部のうちの少なくとも一つで、後述するデバイス番号設定部を構成することができる。
以下、図面を参照して、本発明の幾つかの実施形態を詳細に説明する。
<第一の実施形態>。
図2は、本発明の第一の実施形態に係るコンピュータシステムの構成例を示す。
LAN(Local Area Network)102に、一以上のクライアント端末103と、管理端末101と、一以上のサーバ201とが接続されている。SAN(若しくは、例えばIP−SAN等)104に、一以上のサーバ201と一以上のストレージシステム401とが接続されている。LAN102とSAN104は、通常、それぞれ、異なる種類の通信ネットワークであるが、同じ種類の通信ネットワークであっても良い。また、LAN102とSAN104のように別れているのではなく、一つの通信ネットワークに、クライアント103、管理端末101、サーバ201及びストレージシステム401が接続されていてもよい。
クライアント103は、サーバ201に対してファイルアクセス要求を送信する計算機である。そのファイルアクセス要求では、例えば、デバイスファイル名或いはデバイス番号が指定される。
管理端末101は、一以上のサーバ201を管理する計算機である。管理端末101は、管理者からの要求により、サーバ201にアクセスし、後述のパーシステントバインディング設定等を行う。管理端末101からストレージシステム401が管理されても良い。
サーバ201は、例えば、クライアント103に対してファイルサービスを提供するファイルサーバ(一例としてNAS(Network Attached Storage)ヘッド)である。サーバ201は、例えば、複数個有り、複数のサーバ201のうちの少なくとも一つが、クライアント103に対して、複数のサーバ201が管理する複数の共有単位(論理的な公開単位、ファイルシステムの全部又は一部)を仮想的に一つの名前空間(グローバルネームスペース(GNS))として提供する機能を有しても良い。
サーバ201には、LAN102を介した通信を行うための通信インタフェース装置であるネットワークインタフェース209と、SAN104を介した通信を行うための通信インタフェース装置である一以上のホストバスアダプタ(例えば2つのHBA0、HBA1)215と、ハードディスクドライブ等のディスク型記憶装置(ディスク型記憶装置に限らず他種の記憶装置でも良い)であるローカルディスク205と、メモリ(他種の記憶装置でも良い)207と、CPU203とが備えられる。メモリ207には、CPU203で実行されるコンピュータプログラムとして、例えば、サーバソフトウェア211が記憶される。また、メモリ207には、番号ファイル名管理テーブル214と、マイナー番号管理テーブル213と、パーシステントバインディング(Persistent Binging)設定テーブル217とが記憶される。
SAN104は、一以上のFC(Fibre Channel)スイッチ301で構成される。FCスイッチ301の各々のポート303が、HBA215、他のFCスイッチ301、或いはストレージシステム401のポート403に接続される。
ストレージシステム401には、複数の物理的な記憶装置(例えば、ハードディスクドライブ或いはフラッシュメモリデバイス等)413と、複数の物理的な記憶装置413へのアクセスを制御するコントローラ406とが備えられている。
複数の物理的な記憶装置413により一又は複数のRAIDグループが構成される。RAIDグループは、RAID(Redundant Array of Independent (or Inexpensive) Disks)を構成する二以上の記憶装置である。RAIDグループが提供する記憶空間を基に、論理的な記憶装置として論理ユニット(LU)415が形成される。ストレージシステム401は、複数のLU415を備えても良い。
コントローラ406は、複数のポート403や、CPU405や、メモリ407や、物理的な記憶装置413との通信を制御する通信インタフェース装置であるストレージI/F411を備える。メモリ407は、例えば、CPUの処理結果を一時的に記憶するキャッシュメモリ領域や、ストレージシステム401の構成に関する構成情報等を記憶した制御領域を有する。制御領域には、例えば、構成情報の一つとして、LU管理テーブル409が記憶される。
以下、サーバソフトウェア211、番号ファイル名管理テーブル214、マイナー番号管理テーブル213、パーシステントバインディング設定テーブル217、ポート管理テーブル410及びLU管理テーブル409について説明する。
図3は、サーバソフトウェア211の構成例を示す。以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するCPUによって処理が行われるものとする。
サーバソフトウェア211には、例えば、ファイル共有プログラム245、サーバOS223が含まれる(ファイル共有プログラム245及びサーバOS223は、一つのパッケージである必要は無い)。ファイル共有プログラム245は、サーバOS223に含まれていても良い。
ファイル共有プログラム245は、一以上のクライアント103にファイル共有プロトコル(例えば、NFS(Network File System)或いはCIFS(Common Internet File System))を提供し、一以上のクライアント103の間でファイル共有機能を提供するものである。ファイル共有プログラム245は、クライアント103からファイルアクセス要求を受付け、サーバOS223に対して、そのファイルアクセス要求に従うファイルアクセス命令(write / read命令)を送信する。
サーバOS223は、例えばUNIX系のOS(Operating System)である。サーバOS223は、所定種類の照会コマンド(例えば、inquriyコマンド、Report LUNコマンド)を送信することで、ターゲット(例えば、ストレージシステム401のポート403)やデバイス(例えば、ストレージシステム401のLU415)を認識する。また、サーバOS223は、例えば、ファイル共有プログラム245からのファイルアクセス命令に応答して、そのファイルアクセス命令で指定されたファイルを構成するデータブロックにアクセスするためのブロックアクセス要求を作成し、そのブロックアクセス要求を、HBA215から送信する。サーバOS223は、例えば、要求受付部233と、デバイス番号設定部225と、パーシステントバインディング設定部227と、マックスターゲット229と、マックスLU231とを有する。マックスターゲット229は、認識可能なターゲットの最大数を示す情報である。マックスLU231は、一つのターゲットについての認識可能なLUの最大数を示す情報である。マックスターゲット229及びマックスLU231の少なくとも一つは、サーバOS223のソースコードに埋め込まれていても良いし、サーバOS223から独立してメモリ207に記憶されても良い。要求受付部233は、デバイスファイル名或いはデバイス番号を指定した要求を受け付けるコンピュータプログラムであり、番号ファイル名管理テーブル214を利用する。デバイス番号設定部225は、SCSIドライバに相当するコンピュータプログラムであり、マイナー番号管理テーブル213を利用する。パーシステントバインディング設定部227は、パーシステントバインディング設定をパーシステントバインディング設定テーブル217に対して行うコンピュータプログラムである。
図4Aは、番号ファイル名管理テーブル214の構成例を示す。
番号ファイル名管理テーブル214は、認識されたデバイスについてのデバイス番号とデバイスファイル名との対応を管理するためのテーブルである。番号ファイル名管理テーブル214における一つのエントリセット(一つの行)は、一つのデバイスに対応する。一つのエントリセットは、デバイス番号部分2141及びデバイスファイル名2142で構成される。デバイス番号部分2141とは、デバイス番号の一部分であり、ここでは、ドライバ種別番号及びマイナー番号のセットである。このセットには、更に、後述のパーティション番号が含まれていても良い。つまり、デバイス番号それ自体が登録されても良い。
図4Bは、マイナー番号管理テーブル213の構成例を示す。
マイナー番号管理テーブル213は、認識されたデバイスと決定されたマイナー番号との対応を管理するためのテーブルである。マイナー番号管理テーブル213における一つのエントリセット(一つの行)は、一つのデバイスに対応する。一つのエントリセット(行)は、マイナー番号2131、ターゲット(target)ID2132及びLUN2133で構成される。
図4Cは、パーシステントバインディング設定テーブル217の構成例を示す。
パーシステントバインディング設定テーブル217は、ターゲットのWWNとIDとの対応を管理するためのテーブルである。パーシステントバインディング設定テーブル217における一つのエントリセットは、一つのターゲットに対応する。一つのエントリセットは、アダプタ(Adapter)番号2171、WWN2172及びターゲット(target)ID2173で構成される。アダプタ番号2171は、HBA215を識別するための番号である。WWN2172は、ポート403のWWNである。ターゲットID2173は、WWN2172に対応付けられた、WWNとは別種の識別子である。
図5Aは、ポート管理テーブル410の構成例を示す。
ポート管理テーブル410は、ストレージシステム401に存在するポート403を管理するためのテーブルである。ポート管理テーブル410における一つエントリセットは、一つのポート403に対応する。一つのエントリセットは、ポート番号4101及びWWN4102で構成される。ポート番号4101は、ポート403を識別するための番号である。WWN4102は、ポート403のWWNである。
図5Bは、LU管理テーブル409の構成例を示す。
LU管理テーブル409は、ストレージシステム401に存在するLUを管理するためのテーブルである。LU管理テーブル409における一つエントリセットは、一つのLUに対応する。一つのエントリセットは、LDEV番号4091、ポート番号4092及びLUN4093で構成される。LDEV番号4091は、LU415を識別するためにストレージシステム401が使用する、LUの識別子である。一つのLUは、例えば、一以上の論理的なサブ記憶デバイス(LDEV)で構成されており、LDEV番号4091は、LDEVの番号である。ポート番号4092は、当該LDEVをLUとしてサーバにアクセスさせる際に経由させるポートの番号である。LUN4093は、所定の照会コマンドに応答して回答される、LUの番号である。
以上が、サーバソフトウェア211、マイナー番号管理テーブル213、パーシステントバインディング設定テーブル217、ポート管理テーブル410及びLU管理テーブル409についての説明である。
この第一の実施形態では、パーシステントバインディング設定と、マイナー番号及びデバイスファイル名の決定とが行われた後に、サーバ201の稼動となる。以下、それぞれの処理について詳細に説明する。
<<パーシステントバインディング設定>>。
例えば、管理端末101からの指示により、インストール後初めてサーバOS223がブートした場合、サーバOS223のパーシステントバインディング設定部227が、管理端末101から、パーシステントバインディング設定を受け付けることができる。パーシステントバインディング設定とは、各ポート403のWWNにターゲットIDを対応付けることである。パーシステントバインディング設定によれば、WWNとターゲットIDとの対応関係は固定化される。ポート403のWWNは、例えば、所定の或いは任意のHBA215を通じて所定の照会コマンドを発行することにより、その照会コマンドに対する応答として、取得することができる。パーシステントバインディング設定部227は、取得された各WWNを表示し、各WWNに対応付ける各ターゲットIDを管理端末101から受け付ける。パーシステントバインディング設定部227は、各WWNに対応付けられる各ターゲットIDが入力されたならば、各WWNについて、WWNに対応付けるターゲットIDと、そのWWNの通知を受けたHBAに対応したアダプタ番号とを、パーシステントバインディング設定テーブル217に登録する。これにより、パーシステントバインディング設定が完了する。なお、パーシステントバインディング設定部227は、各WWNに対応付ける各ターゲットIDを所定の規則で自動決定し、決定した各ターゲットIDをパーシステントバインディング設定テーブル217に登録してもよい。
パーシステントバインディング設定が完了したならば、サーバOS223は、特定の処理(例えば、リブート、又は、設定の再読込み)を実行し、該特定の処理中に、マイナー番号及びデバイスファイル名の決定のための処理(図8に示す処理)を実行することができる。
<<マイナー番号及びデバイスファイル名の決定>>。
サーバOS223によって管理されるデバイス番号のフォーマットは、例えば、図6Aに例示するようなフォーマットである。すなわち、デバイス番号は、32ビットの空間で表現され、その空間は、上位の空間であるメジャー空間と下位の空間であるマイナー空間とで構成されている。メジャー空間は、例えば12ビットであり、マイナー空間は、例えば20ビットである。メジャー空間で、所定の有意の情報、例えばドライバ種別番号が表現される。マイナー空間の上位(例えば16ビット)が、マイナー番号を表し、下位(例えば4ビット)が、パーティション番号を表す。マイナー番号は16ビットなので、216=65536個のマイナー番号を割り当て可能であり、パーティション番号は、4ビットなので、2=16個のパーティション(例えば、サーバOS223で認識されたLU415のパーティション)を作成可能である。なお、一般には、パーティション番号(4ビット)も含めた20ビットを「マイナー番号」と呼ぶが、第一の実施形態及び後述の第二の実施形態の説明では、便宜上、上位16ビットを「マイナー番号」と呼ぶことにする。
第一の実施形態では、マイナー番号は、図6Bに例示するマイナー番号計算式(以下の(1)式)で算出される。
マイナー番号(つまり、割当てる番号)=ターゲットID×マックスLU+LUN・・・(1)
このマイナー番号計算式には、ターゲットID、マックスLU及びLUNといった3つの変数がある。変数であるマックスLUには、サーバOS223で管理されているマックスLU231が代入される。
このマイナー番号計算式によれば、どのポート403に属するどのLU415であるかに基づいて、マイナー番号が決定される。一つのサーバ201において、パーシステントバインディング設定部217は、異なるWWNに同一のターゲットIDの対応付けを禁止し、故に、パーシステントバインディング設定テーブル217には、同一のターゲットIDが登録されることはない。このため、一つのサーバ201において、ターゲットID及びLUNの組み合わせは、他のそれと重複することのない、一意の組み合わせである。そして、上記(1)の計算式により、ターゲットID及びLUNの組み合わせに一意に対応したマイナー番号が算出される。
また、このマイナー番号計算式によれば、WWNではなくターゲットIDが変数として採用される。
図7A乃至図7Cを参照して、マイナー番号計算式の意義を説明する。
マイナー番号の空間のサイズをnビット(nは自然数)とした場合、マイナー番号の範囲のサイズ(以下、マイナー番号範囲サイズ)を、2(2のn乗)で表すことができる。本実施形態では、マイナー番号の空間のサイズは16ビットなので、マイナー番号範囲サイズは、前述したように、216=65536である。このサイズが表す範囲で、マイナー番号の割り当てが行われる。具体的には、上記のマイナー番号計算式によれば、マイナー番号範囲が、マックスLU231が示すサイズ毎に区切られ、区切りと区切りとの間であるサブ範囲が、一つのターゲットIDに割り当てられ、そのサブ範囲内で、そのサブ範囲に対応するターゲットIDに属した各LUにマイナー番号が割り当てられる。
以上の構成であるため、マックスLU231が示す値や、マックスターゲット229が示す値によって、マイナー番号範囲サイズが丁度となる、余る、或いは不足することがある。
マイナー番号範囲サイズが丁度となるケースとしては、図7Aに示すように、マックスLU231とマックスターゲット229の積が、マイナー番号範囲サイズと一致するケースである。図7Aは、マックスLU231=256で、マックスターゲット229=256の場合を示す。この場合、マイナー番号範囲が、256サイズずつ256個のサブ範囲に区切られ、一つのサブ範囲が、一つのターゲットIDに割り当てられる。つまり、一つのターゲットIDに、256個の固有のマイナー番号(つまり、一つのポートについての最大LU数分の固有のマイナー番号)が割り当てられることになる。
マイナー番号範囲サイズが余るケースとしては、図7Bに示すように、マックスLU231とマックスターゲット229の積が、マイナー番号範囲サイズ未満となるケースである。この場合、マイナー番号範囲において、216とマックスLU231及びマックスターゲット229の積との範囲が、余剰分となる。
マイナー番号範囲サイズが不足するケースとしては、図7Cに示すように、マックスLU231とマックスターゲット229の積が、マイナー番号範囲サイズを超えたケースである。この場合、マイナー番号範囲において、216とマックスLU231及びマックスターゲット229の積との範囲が、不足分となる。また、図7Cは、一つのターゲットID(例えば、ターゲットID=マックスターゲット229が示す値−1)についてマックスLU231分フルに割り当てられないこともあることを示している。
以下、図8を参照して、サーバOS223によって行われる、マイナー番号及びデバイスファイル名の決定の処理を説明する。なお、図8では、ステップを“S”と略記している。
この処理は、パーシステントバインディング設定が完了した後のサーバOS223の特定の処理中(例えば、リブート中、又は、設定の再読込み中)に行われる。
デバイス番号設定部225が、マックスLU231を取得しメモリ207のワーク領域に設定する(S101)。また、デバイス番号設定部225が、マイナー番号計算式を例えばCPU203内のレジスタに設定する(S102)。
次に、デバイス番号設定部225は、認識可能なHBAをサーチする処理であるアダプタスキャンを実行する(S103)。その結果、認識可能なHBA(未選択のHBA)があれば(S104:YES)、S105に進み、無ければ(S104:NO)、終了する。
S105で、デバイス番号設定部225は、認識可能なターゲットをサーチする処理であるターゲットスキャンを実行する。例えば、デバイス番号設定部225は、S103により認識されたHBAから、所定の照会コマンドを送信し、その照会コマンドに対する応答を受信し、解析する。このターゲットスキャンの結果、認識可能なターゲットが無ければ(S106:NO)、S103に戻り、認識可能なターゲットがあれば(例えばポート403のWWNを受信したならば)(S106:YES)、S108に進む。
S108で、デバイス番号設定部225は、パーシステントバインディング設定部227に、認識されたターゲット(ポート403)のWWNに対応したターゲットIDを問い合わせる。パーシステントバインディング設定部227は、そのWWNに対応したターゲットIDをパーシステントバインディング設定テーブル217から探し、見つかれば、見つかったターゲットIDをデバイス番号設定部225に返し、無ければ、その旨をデバイス番号設定部225に回答する。デバイス番号設定部225は、無しの旨を受けた場合(S108:NO)、S105に戻り、ターゲットIDを受けた場合(S108:YES)、ターゲットIDをメモリ207のワーク領域に設定し(S109)、S110に進む。
S110で、デバイス番号設定部225は、ターゲットスキャンにより取得されたWWNに属するLUをサーチする処理であるLUスキャンを実行する。具体的には、例えば、デバイス番号設定部225は、所定の照会コマンド(例えばReport LUN)を、そのWWNに対応するポート403を有したストレージシステム401に発行し、そのコマンドに対する応答をそのストレージシステム401から受信し、その応答を解析する。このLUスキャンの結果、デバイス番号設定部225は、認識可能なLUが無ければ(S111:NO)、S105に戻り、認識可能なLUが有れば(例えば一つのLUNを受けたならば)(S111:YES)、S112に進む。
S112で、デバイス番号設定部225は、マイナー番号の既割り当て数が216より少ないか否かの判定を行う。ここで言う「既割り当て数」とは、マイナー番号の実際に割り当てられた個数ではなく、前述したマイナー番号範囲(図7A乃至図7C参照)におけるどの位置まで現在使用されたかを示す値とみなすことができる。なぜなら、マイナー番号範囲における或るサブ範囲について、そのサブ範囲に対応したターゲットに属するLUの数(認識されたLUの数)が、S101で取得されたマックスLU231が示す数と同数であれば、サブ範囲の全てが使用されたことになるが、認識されたLUの数が、マックスLU231が示す数未満であれば、サブ範囲に未使用部分が生じるためである。
S112の判定の結果が、肯定的であれば(S112:YES)、S113に進み、S112の判定の結果が、否定的であれば(S112:NO)、終了となる。S112:NOによる終了となった場合、例えば、図7A又は図7Cに例示した結果となる。一方、それ以外の理由で終了になった場合、例えば、図7Bに例示した結果となる。つまり、この第一の実施形態では、マックスターゲット229の値に関わらず、既割り当て数がマイナー番号範囲より少ないか否かにより、S113に進むか終了になるかが決定される。
S113で、デバイス番号設定部225が、S101で取得されたマックスLU231と、S109で設定された一つのターゲットIDと、S110のLUスキャンにより取得された一つのLUNとを用いて、S102で設定されたマイナー番号計算式の計算を実行する。これにより、その一つのターゲットIDとその一つのLUNとの組み合わせに固有のマイナー番号が算出される。
S114で、デバイス番号設定部225が、その算出されたマイナー番号を含んだデバイスファイル名を作成し、そのデバイスファイル名を有したデバイスファイルを作成して、そのデバイスファイルを格納する。そのデバイスファイルの格納先は、例えば、ファイルシステムである。ファイルシステムが、例えば、ストレージシステム401のLU415に存在するならば、そのLU415にデバイスファイルが格納されるし、ローカルディスク205に存在するならば、そのローカルディスク205にデバイスファイルが格納される。
S115で、デバイス番号設定部225が、マイナー番号管理テーブル213に、算出されたマイナー番号2131と、そのマイナー番号2131の算出に使用したターゲットID2132及びLUN2133を登録する。また、デバイス番号設定部225が、そのマイナー番号とデバイス番号設定部225を表すドライバ種別番号とを含んだデバイス番号を生成し、そのマイナー番号及びドライバ種別番号のセットであるデバイス番号部分2141と、S114で生成したデバイスファイル名2142とを、番号ファイル名管理テーブル214に登録する。
このS115の後、S110に戻る。
以上の一連の処理が終了した後に、サーバOS223の特定の処理(例えば、リブート、又は、設定の再読込み)が完了し、サーバOS223が稼動状態となる。
以上の、マイナー番号及びデバイスファイル名の決定の処理の結果を、図9A及び図9Bに示す。図9Aは、ストレージシステム0のポート403(P00)に、LUN2に対応したLU(LU2)が追加される前(言い換えれば、LU2に障害があった後)の、LUとマイナー番号及びデバイスファイル名との対応の一例を示す。図9Bは、P00にLU2が追加された後(言い換えれば、LU2に障害がある前)の、LUとマイナー番号及びデバイスファイル名との対応の一例を示す。図9A及び図9Bによれば、図1A及び図1Bと違って、LU2の追加前と追加後で(言い換えれば、LU2に障害発生後と障害発生前で)、LUとマイナー番号との対応付けが固定化されている(つまり変更されていない)ことがわかる。マイナー番号が変更されないのは、マイナー番号は、前述した(1)式により算出されるためである。
また、この実施形態では、前述したように、算出されたマイナー番号を示す数値を含んだデバイスファイル名が、そのマイナー番号に対応したデバイスについて作成される。図示のデバイスファイル名においてアンダーラインを付した箇所が、マイナー番号に対応した数値である。デバイスファイル名には、マイナー番号を所定の規則(例えば16進数)で表した数値が含まれる。これにより、マイナー番号のみならず、デバイスファイル名とデバイスとの対応関係も固定化することができる。また、その固定化のために、対応テーブルや対応テーブル上のレコードを辿る処理を必要としないので、消費記憶容量やサーバ201の負荷を抑えることができる。また、デバイスファイル名を解析することで、そのデバイスファイル名から一意にマイナー番号を特定することが可能となる。
上記生成されたデバイスファイル名及びデバイス番号のうちの少なくとも一方が、サーバOS223の上位(例えばクライアント103)に通知される。これにより、サーバ201が稼動した後、デバイスファイル名或いはデバイス番号を指定した要求をサーバOS223が受けることができる。
<<サーバ201の稼動>>。
サーバ201が稼動している状態である場合、サーバOS223の要求受付部233が、デバイスファイル名或いはデバイス番号を指定した要求をクライアント103から受け付ける。
要求受付部233が受けた要求が、デバイスファイル名を指定した要求である場合、要求受付部233は、そのデバイスファイル名と一致するデバイスファイル名2142に対応したデバイス番号部分2141を番号ファイル名管理テーブル214から取得する。要求受付部233は、取得したデバイス番号部分2141におけるドライバ種別番号から、そのデバイス番号部分2141におけるマイナー番号の提供先ドライバを特定し、特定したドライバに、そのマイナー番号を提供する。ここでは、そのドライバは、SCSIドライバであるデバイス番号設定部225とする。デバイス番号設定部225は、要求受付部233から提供されたマイナー番号と一致するマイナー番号2131に対応したターゲットID2132及びLUN2133をデバイス番号管理テーブル213から取得する。そのターゲットID2132に一致するターゲットID2173に対応したWWN2172が、パーシステントバインディング設定部227により、パーシステントバインディング設定テーブル217から取得される。それにより、サーバOS223から、取得されたWWN2172と取得されたLUN2133とを含んだ要求が、そのWWN2172に対応したアダプタ番号2171に対応するHBA215から、送信される。
要求受付部233が受けた要求が、デバイス番号を指定した要求である場合、要求受付部233は、そのデバイス番号中のドライバ種別番号から、そのデバイス番号中のマイナー番号の提供先ドライバを特定し、特定したドライバに、そのマイナー番号を提供する。ここでは、そのドライバは、SCSIドライバであるデバイス番号設定部225とする。その後の処理は、要求受付部233が受けた要求が、デバイスファイル名を指定した要求である場合と同様である。
以上が、第一の実施形態についての説明である。なお、第一の実施形態では、デバイスファイル名に、マイナー番号に加えて、ドライバ種別番号が含まれても良い。これにより、番号ファイル名管理テーブル214を不要にすることができる。なぜなら、デバイスファイル名中の所定位置の文字列(コード群)から、ドライバ種別番号やマイナー番号を特定することが可能となるためである。
以上、上述した第一の実施形態によれば、パーシステントバインディング設定によりWWN及びターゲットIDの対応が固定され、そのターゲットIDと、マックスLUと、スキャンされたLUNとを用いた計算式で、そのターゲットIDとLUNとの組み合わせに固有のマイナー番号が算出される。これにより、デバイスとマイナー番号との対応を固定(不変)とすることができる。また、その固有のマイナー番号が上記のように計算式で算出されるので、消費記憶容量やサーバ201の負荷を抑えることができる。
<第二の実施形態>。
以下、本発明の第二の実施形態を説明する。その際、第一の実施形態との相違点を主に説明し、第一の実施形態との共通点については説明を省略或いは簡略する。
第二の実施形態では、マックスLU231とマックスターゲット229の積が、マイナー番号範囲サイズを超えたケースにおいて、図7Cの他に、図10のようなデバイス番号フォーマット変更処理で対応することが可能である。例えば、メジャー空間のうちの使用可能なmビット(mは自然数)をマイナー番号空間にシフトする(つまり、マイナー番号空間のサイズを(n+m)ビットとする)ことで、マイナー番号範囲のサイズを、2から2n+mに拡大する。
使用可能なmビットとは、例えば、メジャー空間のうちの、有意の情報(上記例ではドライバ種別番号)の表現に使用されている部分以外の部分を構成するビットである。使用可能なmビットは、例えば、連続したビットであり、全てが同じ数値(例えば1或いは0)である。使用可能なmビットは、メジャー空間の特定の位置(例えば、先頭から連続したmビット分の範囲、或いは、最後尾から連続したmビット分の範囲)にある。
以下、図11は、本発明の第二の実施形態における、マイナー番号及びデバイスファイル名の決定の処理の流れの一例を示す。
デバイス番号設定部225が、マックスLU231を取得しメモリ207のワーク領域に設定する(S201)。また、デバイス番号設定部225が、マックスターゲット229を取得しメモリ207のワーク領域に設定し、且つ、マイナー番号計算式を例えばCPU203内のレジスタに設定する(S202)。
次に、デバイス番号設定部225が、マイナー番号空間溢れが生じるか否かの判定を行う(S203)。具体的には、例えば、デバイス番号設定部225は、マックスターゲット229及びマックスLU231の積がマイナー番号範囲サイズ(216)を超えるか否かの判定を行う。この判定の結果が否定的であれば(S203:NO)、図8のS103以降の処理が行われる。この判定の結果が肯定的であれば(S203:YES)、S204に進む。
S204で、デバイス番号設定部225は、マイナー番号が追加可能か否かの判定を行う。具体的には、例えば、デバイス番号設定部225は、メジャー空間に使用可能なmビットがあり、且つ、そのmビットをマイナー番号空間にシフトすることで、マイナー番号範囲サイズをマックスターゲット229及びマックスLU231の積以上にすることが可能か否かの判定を行う。この判定の結果が否定的であれば、(S204:NO)、図8のS103以降の処理が行われる。この判定の結果が肯定的であれば(S204:YES)、S205に進む。
S205で、デバイス番号設定部225は、デバイス番号フォーマット変更を行う。具体的には、例えば、デバイス番号設定部225は、メジャー空間の使用可能なmビットをマイナー番号空間にシフトする。
その後、図8のS103、S104、S105、S106、S108、S109、S110、S111、S113、S114及びS115にそれぞれ対応したS206、S207、S208、S209、S211、S212、S213、S214、S215、S216及びS217が行われる。
この第二の実施形態によれば、マックスLU231及びマックスターゲット229の積がデフォルトのマイナー番号範囲サイズを超えても、メジャー空間に使用可能なmビットがあり、mの値によっては、デバイス番号のフォーマットを変更することで、そのマイナー番号範囲サイズをマックスLU231及びマックスターゲット229の積以上に拡大することができる。これにより、マックスLU231及びマックスターゲット229の積と同数のデバイスの各々に固有のマイナー番号を割り当て管理することができる。
以上、本発明の幾つかの好適な実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、LUN及びターゲットIDのうちの少なくとも一方は、必ずしも0から連続した番号である必要はない。また、例えば、サーバは、ファイルサーバである必要は無く、ストレージシステム401にとっての別種の上位装置、例えばホスト計算機であっても良い。ホスト計算機内にアプリケーションプログラムがあって、ホスト計算機内のOSが、そのアプリケーションプログラムから、デバイスファイル名或いはデバイス番号を指定した要求を受けても良い。
図1Aは、従来の方法でマイナー番号及びデバイスファイル名が付与された場合のLUとマイナー番号及びデバイスファイル名との対応の一例を示す。図1Bは、図1AにおいてLUが追加された場合の、LUとマイナー番号及びデバイスファイル名との対応の一例を示す。 図2は、本発明の第一の実施形態に係るコンピュータシステムの構成例を示す。 図3は、サーバソフトウェア211の構成例を示す。 図4Aは、番号ファイル名管理テーブル214の構成例を示す。図4Bは、マイナー番号管理テーブル213の構成例を示す。図4Cは、パーシステントバインディング設定テーブル217の構成例を示す。 図5Aは、ポート管理テーブル410の構成例を示す。図5Bは、LU管理テーブル409の構成例を示す。 図6Aは、デバイス番号のフォーマットの一例を示す。図6Bは、マイナー番号計算式を示す。 図7Aは、マックスターゲットとマックスLUの積がマイナー番号範囲サイズと同じであるケースにおけるマイナー番号範囲の取り扱いの一例を示す。図7Bは、マックスターゲットとマックスLUの積がマイナー番号範囲サイズ未満のケースにおけるマイナー番号範囲の取り扱いの一例を示す。図7Cは、マックスターゲットとマックスLUの積がマイナー番号範囲サイズを超えるケースにおけるマイナー番号範囲の取り扱いの一例を示す。 図8は、マイナー番号及びデバイスファイル名の決定の処理の流れの一例を示す。 図9Aは、本発明の第一の実施形態において、ストレージシステム0のポート(P00)にLU2が追加される前の、LUとマイナー番号及びデバイスファイル名との対応の一例を示す。図9Bは、P00にLU2が追加された後の、LUとマイナー番号及びデバイスファイル名との対応の一例を示す。 図10は、本発明の第二の実施形態において、マックスターゲットとマックスLUの積がマイナー番号範囲サイズを超えるケースでのマイナー番号範囲の取り扱いの一例を示す。 図11は、第二の実施形態での、マイナー番号及びデバイスファイル名の決定の処理の流れの一例を示す。
符号の説明
211…サーバソフトウェア 223…サーバOS 225…デバイス番号設定部 227…パーシステントバインディング設定部

Claims (20)

  1. デバイスに関する値であるデバイス関連値を取得するデバイス関連値取得部と、
    デバイス関連値が代入される第一の変数を含んだ計算式と、
    前記取得されたデバイス関連値を前記第一の変数に代入することで、そのデバイス関連値に対応したデバイスのデバイス識別値を算出するデバイス識別値計算部と、
    電子的な情報資源に前記算出したデバイス識別値と前記取得されたデバイス関連値とを登録する対応登録部と
    を備える計算機。
  2. ターゲットに関する値であるターゲット関連値を取得するターゲット関連値取得部、を更に備え、
    前記計算式が、ターゲット関連値が代入される第二の変数を更に含み、
    前記デバイス識別値計算部は、前記取得されたターゲット関連値を前記第二の変数に代入することで、前記デバイスに対応したデバイス識別値を算出する、
    請求項1記載の計算機。
  3. 一つのターゲットについてのデバイスの最大数を表す予め用意された値であるデバイス最大数を取得するデバイス最大数取得部、を更に備え、
    前記計算式が、デバイス最大数が代入される第三の変数を更に含み、
    前記デバイス識別値計算部は、前記取得されたデバイス最大数を前記第三の変数に代入することで、前記デバイスに対応したデバイス識別値を算出する、
    請求項2記載の計算機。
  4. 前記計算式は、デバイス識別値=前記第二の変数×前記第三の変数+前記第一の変数、である、
    請求項3記載の計算機。
  5. 前記ターゲット関連値は、ターゲットの識別子であるターゲットIDであり、
    前記取得されたターゲットIDは、前記ターゲットのWWN(ワールドワイドネーム)にパーシステントバインディング設定で予め対応付けられているIDである、
    請求項2記載の計算機。
  6. 前記算出されたデバイス識別値を含んだデバイスファイル名を作成するファイル名作成部、を更に備えた、
    請求項1記載の計算機。
  7. ターゲットの最大数を表す予め用意された値であるターゲット最大数と、前記ターゲット最大数との積が、デバイス識別値の最大数以下である、
    請求項1記載の計算機。
  8. ターゲットの最大数を表す予め用意された値であるターゲット最大数を取得するターゲット最大数取得部と、
    算出済みのデバイス識別値の数が、前記取得されたターゲット最大数と前記取得されたデバイス最大数との積より小さいか否かの判定を行う判定部と
    を更に備え、
    前記デバイス関連値取得部が、一のデバイスについてデバイス識別値が算出された場合に、別の一のデバイスについてのデバイス関連値を取得し、
    前記デバイス識別値計算部が、前記判定の結果が否定的であれば、前記取得された一のデバイスのデバイス関連値についてのデバイス識別値を算出することなく終了となる、
    請求項1記載の計算機。
  9. ターゲットの最大数を表す予め用意された値であるターゲット最大数と、前記デバイス最大数との積が、デバイス識別値の最大数より大きいか否かの判定を行う判定部と、
    前記判定の結果が肯定的な場合、デバイス識別値を含んだデバイス識別情報において、そのデバイス識別情報の空間サイズを変更することなく、デバイス識別値を表す空間サイズを大きくするフォーマット変更部と、を更に備える、
    請求項1記載の計算機。
  10. デバイス識別値を含んだデバイス識別情報において、そのデバイス識別情報中に、デバイス識別値を表す空間にシフトすることが可能な空間であるシフト可能空間が存在するか否かの判定を行う判定部と、
    前記判定の結果が肯定的の場合に、前記デバイス識別情報中の前記シフト可能空間を前記デバイス識別値を表す空間にシフトするフォーマット変更部と、を更に備える、
    請求項1記載の計算機。
  11. 前記デバイス識別情報の空間において、前記デバイス識別値の空間以外の或る空間を、有意でなく且つ連続した一以上の所定値が占めている場合に、該或る空間が、前記シフト可能空間である、
    請求項10記載の計算機。
  12. ストレージシステムのポートのターゲットのWWN(ワールドワイドネーム)にパーシステントバインディング設定により前もって対応付けられたターゲットIDを取得するターゲットID取得部と、
    前記ストレージシステムの一ポートについての論理ユニット(LU)の最大数を表す予め用意された値であるLU最大数を取得するLU最大数取得部と
    を更に備え、
    前記デバイス関連値取得部は、LUN(論理ユニット番号)を取得し、
    デバイス識別値は、UNIX系のOSで管理される、メジャー空間とマイナー空間とで構成された空間で表されるデバイス番号において、前記マイナー空間の所定位置の空間で表される特定の番号であり、
    前記計算式は、前記特定の番号=第二の変数×第三の変数+第一の変数、であり、
    前記第一の変数が、前記取得されたLUNが代入される変数であり、
    前記第二の変数が、前記取得されたLU最大数が代入される変数であり、
    前記第三の変数が、前記取得されたターゲット最大数が代入される変数である、
    請求項1記載の計算機。
  13. 算出済みの前記特定の番号の数が、前記取得されたターゲット最大数と前記取得されたLU最大数との積より小さいか否かの判定を行う判定部、を更に備え、
    前記デバイス関連値取得部が、一のデバイスである一のLUについて前記特定の番号が算出された場合に、別の一のLUについてのLUNを取得し、
    前記デバイス識別値計算部が、前記判定の結果が否定的であれば、前記取得された一のLUNについての前記特定の番号を算出することなく終了となる、
    請求項12記載の計算機。
  14. パーシステントバインディング設定が終了した後の前記OSの特定の処理中に、前記デバイス関連値取得部、前記デバイス識別値計算部及び前記対応登録部がそれぞれ処理を実行し、前記デバイス識別値計算部が行う処理が終了となった後に、前記OSの前記特定の処理が完了する、
    請求項12記載の計算機。
  15. 前記OSが、SCSIドライバを有し、前記SCSIドライバが、前記デバイス関連値取得部、前記デバイス識別値計算部及び前記対応登録部を有する、
    請求項12記載の計算機。
  16. ターゲットの最大数を表す予め用意された値であるターゲット最大数と、前記LU最大数との積が、前記特定の番号の最大数である2(nは、前記特定の番号を表す空間のサイズとしてのビット数であり、自然数)より大きい場合に、前記特定の番号を表す空間である特定番号空間にシフト可能なk個(kは自然数)のビットが前記メジャー空間に存在するか否かの第一の判定を行う第一の判定部と、
    前記第一の判定の結果が肯定的の場合に、前記メジャー空間中の前記シフト可能なk個のビットを前記特定番号空間にシフトすることで、デバイス番号の空間サイズを変更することなく、前記特定番号空間のサイズをnビットからn+kビットに拡大するフォーマット変更部と、を更に備える、
    請求項12記載の計算機。
  17. 前記第一の判定の結果が否定的の場合に、算出済みの前記特定の番号の数が、前記取得されたターゲット最大数と前記取得されたLU最大数との積より小さいか否かの第二の判定を行う第二の判定部、を更に備え、
    前記デバイス関連値取得部が、一のデバイスである一のLUについて前記特定の番号が算出された場合に、別の一のLUについてのLUNを取得し、
    前記デバイス識別値計算部が、前記第二の判定の結果が否定的であれば、前記取得された一のLUNについての前記特定の番号を算出することなく終了となる、
    請求項16記載の計算機。
  18. デバイスを有するストレージシステムと、
    前記ストレージシステムと通信する計算機と
    を備え、
    前記計算機が、
    前記デバイスに関する値であるデバイス関連値を取得するデバイス関連値取得部と、
    デバイス関連値が代入される第一の変数を含んだ計算式と、
    前記取得されたデバイス関連値を前記第一の変数に代入することで、そのデバイス関連値に対応したデバイスのデバイス識別値を算出するデバイス識別値計算部と、
    電子的な情報資源に前記算出したデバイス識別値と前記取得されたデバイス関連値とを登録する対応登録部と、を備える、
    コンピュータシステム。
  19. 前記計算機が、
    前記ストレージシステムのポートのターゲットのWWN(ワールドワイドネーム)にパーシステントバインディング設定により前もって対応付けられたターゲットIDを取得するターゲットID取得部と、
    前記ストレージシステムの一ポートについての論理ユニット(LU)の最大数である予め用意された値であるLU最大数を取得するLU最大数取得部と、を更に備え、
    前記デバイス関連値取得部は、LUN(論理ユニット番号)を取得し、
    デバイス識別値は、UNIX系のOSで管理される、メジャー空間とマイナー空間とで構成された空間で表されるデバイス番号において、前記マイナー空間の所定位置の空間で表される特定の番号であり、
    前記計算式は、前記特定の番号=第二の変数×第三の変数+第一の変数、であり、
    前記第一の変数が、前記取得されたLUNが代入される変数であり、
    前記第二の変数が、前記取得されたLU最大数が代入される変数であり、
    前記第三の変数が、前記取得されたターゲット最大数が代入される変数である、
    請求項18記載のコンピュータシステム。
  20. デバイスに関する値であるデバイス関連値を取得し、
    デバイス関連値が代入される第一の変数を含んだ計算式の該第一の変数に、前記取得されたデバイス関連値を代入することで、そのデバイス関連値に対応したデバイスのデバイス識別値を算出し、
    電子的な情報資源に前記算出したデバイス識別値と前記取得されたデバイス関連値とを登録する、
    デバイス管理方法。
JP2007090117A 2007-03-30 2007-03-30 デバイスを管理する計算機 Pending JP2008250591A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007090117A JP2008250591A (ja) 2007-03-30 2007-03-30 デバイスを管理する計算機
US12/007,639 US7827269B2 (en) 2007-03-30 2008-01-14 System and method for managing networked storage devices with a plurality of logical units

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007090117A JP2008250591A (ja) 2007-03-30 2007-03-30 デバイスを管理する計算機

Publications (1)

Publication Number Publication Date
JP2008250591A true JP2008250591A (ja) 2008-10-16

Family

ID=39796221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007090117A Pending JP2008250591A (ja) 2007-03-30 2007-03-30 デバイスを管理する計算機

Country Status (2)

Country Link
US (1) US7827269B2 (ja)
JP (1) JP2008250591A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013115028A1 (ja) * 2012-01-31 2013-08-08 京セラドキュメントソリューションズ株式会社 電子機器におけるマウント方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555048B2 (en) * 2008-05-17 2013-10-08 Hewlett-Packard Development Company, L.P. Computer system for booting a system image by associating incomplete identifiers to complete identifiers via querying storage locations according to priority level where the querying is self adjusting
JP5123800B2 (ja) * 2008-09-16 2013-01-23 株式会社リコー 情報処理装置、情報処理方法及びプログラム
US9021198B1 (en) * 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
JP6155861B2 (ja) * 2013-06-06 2017-07-05 富士通株式会社 データ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6684209B1 (en) * 2000-01-14 2004-01-27 Hitachi, Ltd. Security method and system for storage subsystem
US6754718B1 (en) * 2000-05-10 2004-06-22 Emc Corporation Pushing attribute information to storage devices for network topology access
US7103653B2 (en) * 2000-06-05 2006-09-05 Fujitsu Limited Storage area network management system, method, and computer-readable medium
JP4217273B2 (ja) * 2001-09-17 2009-01-28 株式会社日立製作所 ストレージシステム
US7080190B2 (en) * 2002-05-30 2006-07-18 Lsi Logic Corporation Apparatus and method for providing transparent sharing of channel resources by multiple host machines
US7328260B1 (en) * 2002-06-04 2008-02-05 Symantec Operating Corporation Mapping discovered devices to SAN-manageable objects using configurable rules
US7610295B2 (en) * 2002-10-01 2009-10-27 Hewlett-Packard Development Company, L.P. Method and apparatus for generating persistent path identifiers
JP4168277B2 (ja) * 2004-01-22 2008-10-22 日本電気株式会社 論理ユニット数拡張装置
US7039662B2 (en) * 2004-02-24 2006-05-02 Hitachi, Ltd. Method and apparatus of media management on disk-subsystem
JP4497957B2 (ja) * 2004-03-05 2010-07-07 株式会社日立製作所 記憶制御システム
JP4987307B2 (ja) * 2005-03-25 2012-07-25 株式会社日立製作所 ストレージシステム
US7484066B2 (en) * 2005-04-15 2009-01-27 Hitachi, Ltd. Assuring performance of external storage systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013115028A1 (ja) * 2012-01-31 2013-08-08 京セラドキュメントソリューションズ株式会社 電子機器におけるマウント方法
JP2013156879A (ja) * 2012-01-31 2013-08-15 Kyocera Document Solutions Inc 電子機器、画像形成装置、アプリケーションプログラム、およびマウント方法

Also Published As

Publication number Publication date
US7827269B2 (en) 2010-11-02
US20080244055A1 (en) 2008-10-02

Similar Documents

Publication Publication Date Title
US8103826B2 (en) Volume management for network-type storage devices
JP4932390B2 (ja) 仮想化システム及び領域割当て制御方法
US8566550B2 (en) Application and tier configuration management in dynamic page reallocation storage system
US9229645B2 (en) Storage management method and storage system in virtual volume having data arranged astride storage devices
JP4749140B2 (ja) データマイグレーション方法及びシステム
JP5047165B2 (ja) 仮想化ネットワークストレージシステム、ネットワークストレージ装置及びその仮想化方法
EP1837751B1 (en) Storage system, storage extent release method and storage apparatus
JP4451293B2 (ja) 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法
US7730259B2 (en) Method, computer and system for managing a storage subsystem configuration
US7673112B2 (en) Volume management system and method
US20080016311A1 (en) SAN/NAS integrated management computer and method
US20070079098A1 (en) Automatic allocation of volumes in storage area networks
EP1798658A2 (en) Storage apparatus and control method for the same, and computer program product
JP4285058B2 (ja) ネットワーク管理プログラム、管理計算機及び管理方法
US20060190550A1 (en) Storage system and controlling method thereof, and device and recording medium in storage system
CN113853778B (zh) 一种文件系统的克隆方法及装置
JP2008146212A (ja) 共有ディレクトリの設定情報を変更する方法、及びファイルサーバ装置
JP5999536B2 (ja) 計算機及びデータ読み出し方法
JP2008250591A (ja) デバイスを管理する計算機
JP5843888B2 (ja) 計算機システムの管理方法、計算機システム及び記憶媒体
JP2004355638A (ja) 計算機システム及びそのデバイスの割り当て方法
JP2007072521A (ja) 記憶制御システム及び記憶制御装置
US20070124366A1 (en) Storage control method for managing access environment enabling host to access data
US20190149423A1 (en) Storage apparatus, storage system, and storage apparatus management method
US8521954B2 (en) Management computer and volume configuration management method