Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

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

25.8.3. /dev/disk/by-* の udev メカニズムが管理するデバイス名

udev メカニズムは、主に 3 つのコンポーネントで設定されます。
カーネル
デバイスの追加、削除、または変更時にユーザー空間に送信されるイベントを生成します。
udevd サービス
イベントを受信します。
udev ルール
udev サービスがカーネルイベントを受信した場合の動作を指定します。
このメカニズムは、ストレージデバイスだけでなく、Linux のすべてのデバイスに使用されます。ストレージデバイスの場合、Red Hat Enterprise Linux には、/dev/disk/ディレクトリーにシンボリックリンクを作成するudevルールが含まれます。これにより、ストレージデバイスは、そのコンテンツ、一意の識別子、シリアル番号、またはデバイスへのアクセスに使用されるハードウェアパスによって参照されます。
/dev/disk/by-label/
このディレクトリーのエントリーは、デバイスに格納されているコンテンツ (つまりデータ) 内のラベルにより、ストレージデバイスを参照するシンボリック名を提供します。blkid ユーティリティーは、デバイスからデータを読み込み、デバイスの名前 (ラベル) を判断するために使用します。以下に例を示します。
/dev/disk/by-label/Boot
注記
情報はデバイスのコンテンツ (つまりデータ) から取得されるため、コンテンツが別のデバイスにコピーされても、ラベルは同じままになります。
このラベルは、以下の構文を使用して、/etc/fstab のデバイスを参照することもできます。
LABEL=Boot
/dev/disk/by-uuid/
このディレクトリーのエントリーは、デバイスに格納されているコンテンツ (つまりデータ) 内の 一意の ID により、ストレージデバイスを参照するシンボリック名を提供します。blkid ユーティリティーは、デバイスからデータを読み取り、デバイスの一意の識別子 (UUID) を取得するために使用されます。以下に例を示します。
UUID=3e6be9de-8139-11d1-9106-a43f08d823a6
/dev/disk/by-id/
このディレクトリーのエントリーは、(その他のすべてのストレージデバイスとは異なる) 固有の ID により、ストレージデバイスを参照するシンボリック名を提供します。この識別子はデバイスのプロパティーですが、デバイスのコンテンツ (つまりデータ) には保存されません。以下に例を示します。
/dev/disk/by-id/scsi-3600508e000000000ce506dc50ab0ad05
/dev/disk/by-id/wwn-0x600508e000000000ce506dc50ab0ad05
この id は、デバイスの World-Wide ID またはデバイスのシリアル番号から取得されます。/dev/disk/by-id/ エントリーには、パーティション番号も含まれます。以下に例を示します。
/dev/disk/by-id/scsi-3600508e000000000ce506dc50ab0ad05-part1
/dev/disk/by-id/wwn-0x600508e000000000ce506dc50ab0ad05-part1
/dev/disk/by-path/
このディレクトリーのエントリーは、シンボリック名を提供します。このシンボリック名は、PCI 階層内のストレージコントローラーへの参照から始まり、デバイスのアクセスに使用されるハードウェアパスによりストレージデバイスを参照し、SCSI ホスト、チャネル、ターゲット、LUN 番号、パーティション番号 (オプション) を含みます。これらの名前は、メジャー番号とマイナー番号またはsd名を使用するよりも推奨されますが、ターゲット番号がファイバーチャネル SAN 環境で (たとえば、永続的なバインディングを使用して) 変更されないように注意が必要で、ホストアダプターを別の PCI スロットに移動すると、名前が更新されます。また、HBA がプローブに失敗した場合、ドライバーが別の順序で読み込まれている場合、またはシステムに新しい HBA がインストールされている場合に、SCSI ホスト番号が変更する可能性があります。パス別の一覧表示の例を以下に示します。
/dev/disk/by-path/pci-0000:03:00.0-scsi-0:1:0:0
/dev/disk/by-path/ エントリーには、以下のようなパーティション番号を含めることもできます。
/dev/disk/by-path/pci-0000:03:00.0-scsi-0:1:0:0-part1

25.8.3.1. udev デバイス命名規則の制約

udev 命名規則の制約の一部は次のとおりです。
  • udevメカニズムは、udevイベントに対するudevルールの処理時にストレージデバイスにクエリーを実行する機能に依存している可能性があるため、クエリーの実行時にデバイスにアクセスできない可能性があります。これは、ファイバーチャネル、iSCSI、または FCoE ストレージデバイスといった、デバイスがサーバーシャーシにない場合に発生する可能性が高くなります。
  • カーネルはいつでもudevイベントも送信する可能性があり、ルールが処理され、デバイスにアクセスできない場合は /dev/disk/by-*/ リンクが削除される可能性があります。
  • udev イベントが生成されそのイベントが処理されるまでに遅延が生じる場合があります (大量のデバイスが検出され、ユーザー空間の udevd サービスによる各デバイスのルールを処理するのにある程度の時間がかかる場合など)。これにより、カーネルがデバイスを検出してから、/dev/disk/by-*/ 名が使用できるようになるまでに遅延が生じる場合があります。
  • ルールに呼び出される blkid などの外部プログラムによりデバイスが短期間開き、他の目的でデバイスにアクセスできなくなる可能性があります。