Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

25.11. ストレージデバイスまたはパスの追加

デバイスを追加する際には、システムが新しいデバイスに割り当てるパスベースのデバイス名 (/dev/sd 名、major:minor 番号、および /dev/disk/by-path 名など) が、すでに削除されたデバイスで、かつて使用されていた可能性があることに注意してください。そのため、パスベースのデバイス名への古い参照がすべて削除されていることを確認してください。新しいデバイスを古いデバイスと間違える可能性があります。

手順25.13 ストレージデバイスまたはパスの追加

  1. ストレージデバイスまたはパスを追加する最初の手順は、新規ストレージデバイス、または既存デバイスへの新規パスへのアクセスを物理的に有効にすることです。これは、ファイバーチャネルまたは iSCSI ストレージサーバーで、ベンダー固有のコマンドを使用して実行します。その際、ホストに提示される新しいストレージの LUN 値をメモしてください。ストレージサーバーがファイバーチャネルの場合は、ストレージサーバーの WWNN (World Wide Node Name) も確認し、ストレージサーバーのすべてのポートに 1 つの WWNN があるかどうかを判断します。そうでない場合は、新しい LUN へのアクセスに使用される各ポートの World Wide Port Name (WWPN) をメモします。
  2. 次に、オペレーティングシステムが新しいストレージデバイス、または既存のデバイスへのパスを認識するようにします。推奨されるコマンドは以下のとおりです。
    $ echo "c t l" >  /sys/class/scsi_host/hosth/scan
    
    上記の例では、h は HBA 番号、c は HBA のチャンネル、t は SCSI ターゲット ID、l は LUN です。
    注記
    このコマンドの古い形式である echo "scsi add-single-device 0 0 0 0" > /proc/scsi/scsi は非推奨となりました。
    1. ファイバーチャネルハードウェアによっては、ループ初期化プロトコル (LIP) 操作が実行されるまで、RAID アレイで新しく作成された LUN がオペレーティングシステムに表示されない場合があります。実行手順については、「ストレージの相互接続のスキャン」 を参照してください。
      重要
      LIP が必要な場合は、この操作の実行中に I/O を停止する必要があります。
    2. 新しい LUN が RAID アレイに追加されましたが、オペレーティングシステムで設定されていない場合は、sg3_utils パッケージに含まれる sg_luns コマンドを使用して、アレイでエクスポートされている LUN の一覧を確認します。これにより、SCSI REPORT LUNS コマンドを RAID アレイに発行し、存在する LUN の一覧を返します。
    すべてのポートに単一の WWNN が実装されているファイバーチャネルストレージサーバーの場合は、sysfs で WWNN を検索することで、正しい hc、および t の値 (すなわち、HBA 番号、HBA チャンネル、SCSI ターゲット ID) を決定することができます。

    例25.5 正しいhc、およびt の値を決定する

    たとえば、ストレージサーバーの WWNN が 0x5006016090203181 の場合は、次のコマンドを使用します。
    $ grep 5006016090203181 /sys/class/fc_transport/*/node_name
    
    これにより、以下のような出力が表示されます。
    /sys/class/fc_transport/target5:0:2/node_name:0x5006016090203181 
    /sys/class/fc_transport/target5:0:3/node_name:0x5006016090203181 
    /sys/class/fc_transport/target6:0:2/node_name:0x5006016090203181 
    /sys/class/fc_transport/target6:0:3/node_name:0x5006016090203181
    これは、このターゲットへのファイバーチャネルルートが 4 つあることを示しています (それぞれ2つのストレージポートにつながるシングルチャネル HBA が 2 つ)。LUN の値が 56 であるとすると、次のコマンドが最初のパスを設定します。
    $ echo "0 2 56" >  /sys/class/scsi_host/host5/scan
    
    これは、新規デバイスへのパスごとに行う必要があります。
    すべてのポートに 1 つの WWN が実装されていないファイバーチャネルストレージサーバーの場合は、sysfs で各 WWPN を検索することで、正しい HBA 番号、HBA チャネル、および SCSI ターゲット ID を決定できます。
    HBA 番号、HBA チャネル、および SCSI ターゲット ID を決定する別の方法として、新しいデバイスと同じパスにすでに設定されているデバイスを参照する方法があります。これは、lsscsiscsi_idmultipath -l、および ls -l /dev/disk/by-* などのさまざまなコマンドで実行できます。この情報と新しいデバイスの LUN 番号を上記のように使用して、新しいデバイスへのパスをプローブおよび設定できます。
  3. デバイスにすべての SCSI パスを追加したら、multipath コマンドを実行して、デバイスが適切に設定されていることを確認します。この時点で、デバイスは md、LVM、mkfs、または mount に追加できます。
上記の手順に従うと、実行中のシステムにデバイスを安全に追加できます。その際に、他のデバイスへの I/O を停止する必要はありません。オペレーティングシステムの状態を更新して現在のデバイス接続を反映させる SCSI バスの再スキャン (またはリセット) を伴うその他の手順は、ストレージ I/O の進行中はお勧めしません。