Red Hat Training

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

25.8. 永続的な命名

Red Hat Enterprise Linux では、ストレージデバイスを識別する方法が複数あります。特にドライブへのインストール時やドライブの再フォーマット時に誤ったデバイスにアクセスしないようにするため、適切なオプションを使用して各デバイスを識別することが重要になります。

25.8.1. ストレージデバイスのメジャー番号およびマイナー番号

sd ドライバーが管理するストレージデバイスは、メジャーデバイス番号と関連するマイナー番号の集合により内部的に識別されます。この目的で使用される主要なデバイス番号は、連続した範囲ではありません。各ストレージデバイスは、メジャー番号とマイナー番号の範囲で表され、デバイス全体またはデバイス内のパーティションを識別するために使用されます。デバイスに割り当てられたメジャー番号とマイナー番号は、sd<letter(s)>[number(s)] の形式で直接関連付けられます。sd ドライバーが新しいデバイスを検出すると、常に利用可能なメジャー番号とマイナー番号の範囲が割り当てられます。オペレーティングシステムからデバイスを削除すると、メジャー番号およびマイナー番号の範囲が解放され、後で再利用できます。
メジャー番号とマイナー番号の範囲、および関連する sd 名は、検出されると各デバイスに割り当てられます。つまり、デバイスの検出順序が変わると、メジャー番号とマイナー番号の範囲、および関連する sd 名の関連付けが変わる可能性があります。これは、一部のハードウェア設定 (たとえば、内部 SCSI コントローラーとシャーシ内の物理的な場所によって割り当てられた SCSI ターゲット ID を持つディスク) ではまれですが、それでも発生する可能性があります。これが発生する可能性がある状況の例を以下に示します。
  • ディスクの電源がオンにならなかったり、SCSI コントローラーへの応答に失敗したりする場合があります。この場合は、通常のデバイスプローブにより検出されません。ディスクはシステムにアクセスできなくなり、後続のデバイスには、シフトダウンされた関連する sd 名を含むメジャー番号およびマイナー番号の範囲があります。たとえば、通常 sdb と呼ばれるディスクが検出されないと、sdc と呼ばれるディスクが sdb として代わりに表示されます。
  • SCSI コントローラー (ホストバスアダプター、または HBA) の初期化に失敗し、その HBA に接続したすべてのディスクが検出されない場合があります。その後プローブされる HBA に接続するディスクには、メジャー番号およびマイナー番号の範囲と、関連付けられているsd名が割り当てられます。
  • システムに異なるタイプの HBA が存在すると、ドライバーの初期化の順序が変更される可能性があります。これにより、これらの HBA に接続されたディスクが別の順序で検出されます。これは、HBA がシステム上の別の PCI スロットに移動した場合にも発生することがあります。
  • ストレージアレイや干渉するスイッチの電源が切れた場合など、ストレージデバイスがプローブされたときに、ファイバーチャネル、iSCSI、または FCoE アダプターを持つシステムに接続されたディスクがアクセスできなくなる可能性があります。これは、電源障害の後にシステムが再起動したときに、ストレージアレイのオンラインにかかる時間が、システムの起動にかかる時間よりも長くなる場合に発生します。ファイバーチャネルドライバーによっては、永続的な SCSI ターゲット ID を WWPN マッピングに指定するメカニズムに対応しているものもありますが、メジャー番号およびマイナー番号の範囲や関連するsd名は予約されず、一貫した SCSI ターゲット ID 番号のみが提供されます。
そのため、/etc/fstab ファイルなどにあるデバイスを参照するときにメジャー番号およびマイナー番号の範囲や関連する sd 名を使用することは望ましくありません。間違ったデバイスがマウントされ、データが破損する可能性があります。
しかし、場合によっては他のメカニズムが使用される場合でも sd 名の参照が必要になる場合もあります (デバイスによりエラーが報告される場合など)。これは、Linux カーネルはデバイスに関するカーネルメッセージでsd 名 (および SCSI ホスト、チャネル、ターゲット、LUN タプル) を使用するためです。