3.1. SCSI のアドレスの付け方

Linux では、SCSI デバイスに対して、4 レイヤの階層的なアドレス付けをして います。

「LUN」は、SCSI の Logical Unit Number の略称です。[]の中の単語は、 擬似デバイスファイルシステム(devfs)が便宜上使用する名前です。以降の説明 では、「チャネル」よりも「バス」を主に用います。

SCSI アダプタ番号は、通常はコンピュータの内部入出力バス(PCI、PCMCIA、ISA など) にあるアダプタカードに対して、ある並びで付けられた番号です。 このようなアダプタを HBA(host bus adapter)と言う場合もあります。 SCSI アダプタの番号は、カーネルが 0 から昇順に発行します。

HBA はそれぞれ、SCSI バスを 1 つ以上制御します。様々なタイプの SCSI バス をAppendix Aに挙げています。

SCSI バスにはそれぞれ複数の SCSI デバイスが接続できます。SCSI 用語では HBA を「イニシエータ」と呼び、HBA は SCSI ID 番号(通常は 7)を 1 つ [1] 取ります。イニシエータは SCSI デバイスと呼ばれるターゲット(例えばディスク) とやり取りします。 SCSI のパラレルバスでは、ID の数は SCSI の幅と関連があります。 8 ビットのバス(「narrow」と呼ぶことがあります)は、8 つの SCSI ID を持ち、 その内 1 つは HBA に、残りの 7 つは SCSI デバイスになります。wide SCSI バスは 16 ビット幅で、最大で 15 個 の SCSI デバイス(ターゲット)を接続できます。 SCSI 3 規格のドラフトでは、もっとたくさんの ID を SCSI バス上に置けます。

各 SCSI デバイスは、複数の Logical Unit Number (LUN)を保持できます。 このような複数の LUN は、複数個の媒体をサポートしている、高級なテープ装置や CD-ROM 装置で使います。

というわけで、Linux における SCSI のアドレス付けの特徴は、4 レイヤの階層と なります。

<scsi(_adapter_number), channel, id, lun>
devfs の名前の付け方に習うと、これは下記のようになります。

<host, bus, target, lun>

Notes

[1]

SCSI 規格では、1 本のバス上に複数のイニシエータがあってもかまいません。 Linux ではうまくいきませんが、状況を改善するパッチがあります。