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 アレイに追加されましたが、オペレーティングシステムでまだ設定されていない場合は、sg 3_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 つの WWNN を実装しないファイバーチャネルストレージサーバーの場合は、sysfs で各 WWPN を検索して、正しい HBA 番号、HBA チャネル、および SCSI ターゲット ID を決定できます。
    HBA 番号、HBA チャネル、および SCSI ターゲット ID を決定する別の方法として、新しいデバイスと同じパスにすでに設定されているデバイスを参照する方法があります。これは、lsscsiscsi_idmultipath -lls -l /dev/disk/by-* などのさまざまなコマンドで実行できます。この情報と新しいデバイスの LUN 番号を上記のように使用して、新しいデバイスへのパスをプローブおよび設定できます。
  3. デバイスにすべての SCSI パスを追加したら、multipath コマンドを実行して、デバイスが適切に設定されていることを確認します。この時点で、デバイスを md、LVM、mkfs、または mount に追加できます。
上記の手順に従うと、実行中のシステムにデバイスを安全に追加できます。その際に、他のデバイスへの I/O を停止する必要はありません。オペレーティングシステムの状態を更新して現在のデバイス接続を反映させる SCSI バスの再スキャン (またはリセット) を伴うその他の手順は、ストレージ I/O の進行中は推奨しません。