LUN 検出手順

このセクションでは、Linux ホスト・システムの LUN 検出手順について説明します。

LUN 0 以外の LUN が自動的に構成されない Linux ドライバーの場合は、SCSI 中間層ドライバーで使用されているパラメーターと設定に応じて、他の LUN を手動で構成することができます。図 1 は、各ホスト・アダプター・ポートの最初の LUN である LUN 0 のみが構成されている Linux ホストの /proc/scsi/scsi ファイルの例を示しています。
図 1. LUN 0 のみが構成されている Linux ホストの /proc/scsi/scsi ファイルの例
# cat proc/scsi/scsi
...
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: IBM-PSG  Model: DPSS-318350M  F  Rev: S9HA
  Type:   Direct-Access                             ANSI SCSI revision: 03
Host: scsi0 Channel: 00 Id: 15 Lun: 00
  Vendor: IBM      Model: TP4.6 V41b3      Rev: 4.1b
  Type:   Processor                        ANSI SCSI revision: 02
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: IBM      Model: 2105800          Rev: .294
  Type:   Direct-Access                             ANSI SCSI revision: 03
Host: scsi3 Channel: 00 Id: 00 Lun: 00
  Vendor: IBM      Model: 2105800          Rev: .294
  Type:   Direct-Access                             ANSI SCSI revision: 03
Host: scsi3 Channel: 00 Id: 01 Lun: 00
  Vendor: IBM      Model: 2105800          Rev: .294
  Type:   Direct-Access                             ANSI SCSI revision: 03
LUN 0 しか構成されていないという問題の対応策として 2 つの方法があります。
  1. スクリプトを作成して、/proc/scsi/scsi に手動で装置を追加する
  2. 初期 RAM ディスク (initrd) を変更することにより、システムのブート時に LUN を自動的に検出する

スクリプトを作成して /proc ファイル・システムをエコーする場合

scsi add-single-device コマンドを使用して、ホスト・システムに 割り当てられているすべての LUN を順次構成します。 各ホスト・アダプターの各 ID 上にあるそれぞれの LUN につい て、scsi add-single-device コマンドが繰り返されるように スクリプト作成します。このスクリプトは、すべてのホスト・アダプター・ ポートをスキャンして、各ポートに割り当てられているすべての LUN を識別する必要があります。

スクリプトを実行すると、/proc/scsi/scsi ファイルにすべての割り当て済み LUN を表示できます。

図 2 は、スクリプトですべての LUN を構成した後の、Linux ホストの /proc/scsi/scsi ファイルの例を抜粋して示しています。

図 2. LUN が構成された Linux ホストの /proc/scsi/scsi ファイルの例
# cat proc/scsi/scsi
...
Host: scsi3 Channel: 00 Id: 00 Lun: 00
  Vendor: IBM      Model: 2105800          Rev: .294
  Type:   Direct-Access                             ANSI SCSI revision: 03
Host: scsi3 Channel: 00 Id: 01 Lun: 00
  Vendor: IBM      Model: 2105800          Rev: .294
  Type:   Direct-Access                             ANSI SCSI revision: 03
Host: scsi3 Channel: 00 Id: 00 Lun: 01
  Vendor: IBM      Model: 2105800          Rev: .294
  Type:   Direct-Access                             ANSI SCSI revision: 03
Host: scsi3 Channel: 00 Id: 00 Lun: 02
  Vendor: IBM      Model: 2105800          Rev: .294
  Type:   Direct-Access                             ANSI SCSI revision: 03
Host: scsi3 Channel: 00 Id: 00 Lun: 03
  Vendor: IBM      Model: 2105800          Rev: .294
  Type:   Direct-Access                             ANSI SCSI revision: 03
Host: scsi3 Channel: 00 Id: 00 Lun: 04
  Vendor: IBM      Model: 2105800          Rev: .294
  Type:   Direct-Access                             ANSI SCSI revision: 03
...

システムのブート時に LUN を自動的に検出する場合

LUN 0 しか構成されていない Linux システムで LUN を構成する第 2 の方法では、SCSI バスのスキャンでスキャンされる LUN の数を制御する、SCSI 中間層ドライバーのパラメーターを設定します。 次の手順は 2.4 と 2.6 カーネルの両方に使用できますが、この手順は、SCSI 中間層ドライバーが scsi_mod モジュールとしてコンパイルされ、システムのブート時に自動的にロードされることを前提としています。 Linux 2.4 カーネルの場合、Linux でディスク装置の最大数を設定して、すべてのボリュームを正しく検出できるようにするには、SCSI 中間層ドライバーの max_scsi_luns オプションを設定する必要があります。たとえば、max_scsi_luns を 1 に設定すると、SCSI バスのスキャンは LUN 0 のみに限定されます。この値は、各カーネルがサポートできるそれぞれのディスク最大数 (例えば、128 または 256 など) に設定する必要があります。 Linux 2.6 カーネルでも同じ手順が適用されますが、このパラメーター名が max_scsi_luns から max_luns に変更されています。
  1. /etc/modules.conf ファイルを編集します。
  2. 次の行を追加します。
    • options scsi_mod max_scsi_luns=128
    注: modules.conf ファイルにすでに max_scsi_lun オプションがある場合は、その値が 128 または 256 に設定されていることを確認します。2.6 カーネル配布を使用している場合は、max_scsi_luns を max_luns と置き換えます。
  3. このファイルを保管します。
  4. mkinitrd コマンドを実行して、現行カーネルに関連付けられた RAM ディスクを再ビルドします。ご使用のオペレーティング・システムでどの mkinitrd コマンドを実行するか判断するには、次の図の例を使用してください。 <kernel> は「uname –r」出力を示し、この出力には現在実行されているカーネル・レベル (例えば、2.4.21-292-smp) が表示されます。
    SUSE ディストリビューションの場合は、次のコマンドを使用します。
    図 3. SUSE の mkinitrd コマンドの例
    cd /boot
    mkinitrd –k vmlinuz-<kernel> -i initrd-<kernel>
    Red Hat ディストリビューションの場合は、次のコマンドを使用します。
    図 4. Red Hat の mkinitrd コマンドの例
    cd /boot
    mkinitrd –v initrd-<kernel>.img <kernel>
  5. ホストをリブートします。
ライブラリー | サポート | ご利用条件 | フィードバック
© Copyright IBM Corporation 2004, 2006. All Rights Reserved.