第28章 永続的な命名
オペレーティングシステムは、アクセスに使用するパスを参照してストレージデバイスへの I/O を発行します。SCSI デバイスの場合、パスは以下で構成されます。
- ホストバスアダプター(HBA)の PCI 識別子
- HBA 上のチャンネル番号
- リモート SCSI ターゲットアドレス
- 論理ユニット番号(LUN)
このパスベースのアドレスは永続的ではありません。(このマニュアルの説明のように、オンライン再設定、またはシステムのシャットダウン、再設定、および再起動時など)に、システムが再設定されるたびに変更する可能性があります。物理再設定が行われていない場合や、システムの起動時に検出プロセスのタイミングをタイミングで差異したり、バスの再スキャンを行うときなど、パス識別子が変更する可能性があります。
オペレーティングシステムは、ストレージデバイスへのこれらのアクセスパスを表す永続的な名前を複数提供します。もう 1 つは /dev/sd 名です。もう 1 つは major:minor 番号です。3 つ目は、
/dev/disk/by-path/
ディレクトリーにあるシンボリックリンクです。このシンボリックリンクは、パス識別子から現在の /dev/sd 名にマッピングします。たとえば、ファイバーチャネルデバイスの場合、PCI 情報 およびホスト:BusTarget:LUN info は以下のようになります。
pci-0000:02:0e.0-scsi-0:0:0:0 -> ../../sda
iSCSI デバイスの場合は、ターゲット名とポータル情報から sd 名までパス / 名前でマッピングされます。
通常、これらのパスベースの名前を使用するアプリケーション には適していません。これは、これらのパスを参照するストレージデバイスが変更され、これにより誤ったデータがデバイスに書き込まれる可能性があるためです。パスベースの名前はマルチパスデバイスには適していません。これは、パスベースの名前が別のストレージデバイスで間違いとなる可能性があるため、データのアクセスと意図しない変更が生じる可能性があるためです。
また、パスベースの名前はシステム固有の名前です。これにより、クラスターなど、複数のシステムでデバイスにアクセスすると、意図しないデータが変更する可能性があります。
このような理由から、デバイスを識別する永続的なシステムに依存しない方法が複数開発されました。以下のセクションでは、これらについて詳しく説明します。
28.1. WWID
World Wide Identifier (WWID)は、確実に識別するデバイスで使用することができます。これは、SCSI 標準がすべての SCSI デバイスに必要な、永続的なシステムに依存しない ID です。各ストレージデバイスの WWID 識別子は一意となることが保証され、デバイスのアクセスに使用されるパスに依存しません。
この識別子を取得するには、SCSI Inquiry を実行して Device Identification Vital Product Data (ページ
0x83
)または Unit Serial Number(ページ 0x80
)を取得します。これらの WWID から現在の /dev/sd 名へのマッピングは、/ dev/disk/by-id/
ディレクトリーにあるシンボリックリンクで確認できます。
例28.1 WWID
たとえば、ページ
0x83
の識別子を持つデバイスには、以下が含まれます。
scsi-3600508b400105e210000900000490000 -> ../../sda
または、ページ
0x80
の識別子を持つデバイスには、以下が含まれます。
scsi-SSEAGATE_ST373453LW_3HW1RHM6 -> ../../sda
Red Hat Enterprise Linux では、WWID ベースのデバイス名から、そのシステムの現在の /dev/sd 名への正しいマッピングを自動的に維持します。デバイスへのパスが変更したり、別のシステムからそのデバイスへのアクセスがあった場合にも、アプリケーションはディスク上のデータ参照に
/dev/disk/by-id/
名を使用できます。
システムからデバイスへのパスが複数あると、device -mapper-multipath はこれを 検出するのに WWID を使用します。device-mapper-multipath は、
/dev/mapper/3600508b400105df70000e00000ac0000
など、/dev/mapper/wwid
に単一の「pseudo-device」を表示します。
コマンド multipath -l は、非永続的な識別子へのマッピングです。ホスト:Channel:ターゲット:LUN、/dev/sd 名、および major:minor 番号が表示されます。
3600508b400105df70000e00000ac0000 dm-2 vendor,product [size=20G][features=1 queue_if_no_path][hwhandler=0][rw] \_ round-robin 0 [prio=0][active] \_ 5:0:1:1 sdc 8:32 [active][undef] \_ 6:0:1:1 sdg 8:96 [active][undef] \_ round-robin 0 [prio=0][enabled] \_ 5:0:0:1 sdb 8:16 [active][undef] \_ 6:0:0:1 sdf 8:80 [active][undef]
device -mapper-multipath は、各 WWID ベースのデバイス名の対応する /dev/sd 名への適切なマッピングを自動的に維持します。これらの名前は、パスが変更しても持続し、他のシステムからデバイスにアクセスする際に一貫性を保持します。
user_friendly_names 機能( device-mapper-multipath)機能を使用すると、WWID は
/dev/mapper/mpathn
の形式の名前にマッピングされます。デフォルトでは、このマッピングは /etc/multipath/bindings
ファイルに保持されています。これらの mpathn
名は、そのファイルが維持されている限り永続的です。
重要
user_friendly_names を使用する場合は、クラスター内で一貫した名前を取得するために追加の手順が必要です。『 『Using DM Multipath Configuration and Administration』の「Consistent Multipath』 Device Names in a Cluster」セクションを参照してください。
システムにより提供される永続的な名前のほかに、udev ルールを使用して独自の永続的な名前を実装し、ストレージの WWID にマップすることもできます。これに関する詳細情報は、を参照してください http://kbase.redhat.com/faq/docs/DOC-7319。