JF Linux Kernel 3.x/2.6 Documentation: /usr/src/linux/Documentation/cciss.txt

cciss.txt

Compaq の SMART アレイコントローラの使用に関する情報 [プレインテキスト版]


このドライバは Compaq の SMART アレイコントローラ向けです。

サポートされるカード -
----------------------

このドライバは次のカードで動作実績があります -

        * SA 5300
        * SA 5i
        * SA 532
        * SA 5312
        * SA 641
        * SA 642
        * SA 6400
        * SA 6400 U320 Expansion Module
        * SA 6i
        * SA 6422
        * SA V100

ノードが /dev/cciss ディレクトリ内にまだ作成されていない場合

# mkdev.cciss [ctlrs]

ここで ctlrs はあなたが持っているコントローラの数です (指定されない場
合、1 がデフォルトになります)。

デバイスの名前付け -
--------------------

/dev の中に cciss デバイス用のエントリがいくつか必要です。mkdev.cciss
スクリプトはデバイスノードを自動的に作ることができます。現状デバイスの
設定は以下の通りです -

メージャー番号 -
        104     cciss0	
        105     cciss1	
        106     cciss2 
        など...

マイナー番号 -
        b7 b6 b5 b4 b3 b2 b1 b0
        |----+----| |----+----|
             |           |
             |  パーティション ID (0=デバイス全体, 1-15 パーティション)
             |
             +- 論理ボリューム番号

推奨されるデバイスの名前付けのスキームは -
/dev/cciss/c0d0           コントローラ 0, ディスク 0, デバイス全体
/dev/cciss/c0d0p1         コントローラ 0, ディスク 0, パーティション 1
/dev/cciss/c0d0p2         コントローラ 0, ディスク 0, パーティション 2
/dev/cciss/c0d0p3         コントローラ 0, ディスク 0, パーティション 3

/dev/cciss/c1d1           コントローラ 1, ディスク 1, デバイス全体
/dev/cciss/c1d1p1         コントローラ 1, ディスク 1, パーティション 1
/dev/cciss/c1d1p2         コントローラ 1, ディスク 1, パーティション 2
/dev/cciss/c1d1p3         コントローラ 1, ディスク 1, パーティション 3

SCSI テープドライブおよびメディアチェンジャのサポート
-----------------------------------------------------

SCSI シーケンシャルアクセスデバイスおよびメディアチェンジャデバイスは
サポートされ、適切なデバイスノードは自動的に作成されます (例えば、
/dev/st0, /dev/st1 など。詳しくは "st" の man ページを参照してください)。
Smart Array 5xxx コントローラで SCSI テープドライブを使用可能にするに
は、カーネル設定で "SCSI tape drive support for Smart Array 5xxx" およ
び "SCSI support" を有効にしなければなりません。

さらにドライバは init 時 SCSI core を組込まない (engage しない) ことに
注意してください。実行時にドライバの "ブロック" 側が
/proc/driver/cciss/cciss* として作成する /proc ファイルシステムエント
リを介して、動的に SCSI core を組込むようドライバへ指示しなければなり
ません。この理由はドライバの init 時、SCSI core が (ドライバがブロック
ドライバのため) まだ初期化されていないからで、SCSI core の登録をしよう
とした場合、ハングをひき起こすでしょう。初期化スクリプトによる方法が一
番です (一般的に /etc/init.d の中ですが、ディストリビューションによっ
ては違うところにあります)。
例 -

        for x in /proc/driver/cciss/cciss[0-9]*
        do
                echo "engage scsi" > $x
        done

SCSI core がドライバにより組込まれると、解放することはできません (モ
ジュールとしてリンクされていた場合の、ドライバのアンロードを除きます)。

注記、シーケンシャルアクセスデバイスもしくはメディアチェンジャが検出さ
れなかった場合、上記スクリプトの動作により SCSI core が組込まれること
はありません。

SCSI テープドライブ用ホットプラグのサポート
-------------------------------------------

SCSI テープドライブのホットプラグは注意事項がありますが、サポートされ
ます。cciss ドライバに SCSI バスの変更があったことを通知し、さらに
SCSI の中間層にも通知しなければなりません。これは /proc ファイルシステ
ムを介して行うことができます。例 -

        echo "rescan" > /proc/scsi/cciss0/1

これは、物理的な SCSI バスや fibre channel arbitrated loop の変更に関
してはアダプタに、またシーケンシャルアクセスデバイスやメディアチェンジャ
の追加や削除についてはドライバに、問合せを行います。ドライバは、どのデ
バイスが追加や削除されたかと、そのデバイスに対応するコントローラ、バス、
ターゲット、lun の ID を、示すメッセージを出力します。これを行った後、
SCSI の中間層に仮想デバイスの変更を通常の方法で通知できます。例 -

        echo scsi add-single-device 3 2 1 0 > /proc/scsi/scsi

これは コントローラ 3, バス 2, ターゲット 1, lun 0 のデバイスを追加し
ます。注記、ドライバは仮想 SCSI バス上のデバイス位置を保持するよう努力
しているので、テープドライブを同じアダプタ上で動かすだけで、アダプタに
対しテープドライブの追加や削除をしないなら、SCSI の中間層への通知は必
要ありません。

/proc ファイルシステムエントリの名前付けの決まりはドライブ名に加えて数
字を含むことに注意してください (例えば "cciss" としてあなたが期待する
ものは "cciss0" になります)。これは、ドライバはドライバごとではなく、
一つのインスタンスに付き一つの SCSI の中間層を登録しなければならないと
いう PCI ホットプラグに関する 2.4 カーネル PCI インターフェースの仕様
変更が理由です。

注記 - シーケンシャルアクセスデバイスとメディアチェンジャだけが cciss
ドライバにより SCSI デバイスとして SCSI の中間層に提示されます。特に、
物理的な SCSI ディスクドライブは SCSI の中間層に提示されません。物理的
な SCSI ディスクドライブはアレイコントローラのハードウェアにより直接制
御されるので、OS がこれらのデバイスに直接アクセスしようとすることは防
がなければなりません。私たちが許す SCSI テープドライブへのアクセス方法
では、アレイコントローラは単なる SCSI コントローラのようになります。

======================================================================
翻訳団体:JF プロジェクト < http://www.linux.or.jp/JF/ >
最終更新:2004/05/10
日本語訳:野本浩一 <hng(a)ps.ksky.ne.jp>
    更新:JF プロジェクト

Linux カーネル 3.x/2.6 付属文書一覧へ戻る