aboutsummaryrefslogtreecommitdiff
path: root/documentation/manual-pages/ja/man4/scsi.4
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/manual-pages/ja/man4/scsi.4')
-rw-r--r--documentation/manual-pages/ja/man4/scsi.4299
1 files changed, 299 insertions, 0 deletions
diff --git a/documentation/manual-pages/ja/man4/scsi.4 b/documentation/manual-pages/ja/man4/scsi.4
new file mode 100644
index 0000000000..632e9cb906
--- /dev/null
+++ b/documentation/manual-pages/ja/man4/scsi.4
@@ -0,0 +1,299 @@
+.\" %Id: scsi.4,v 1.12 1998/10/16 04:28:39 ken Exp %
+.\" $FreeBSD$
+.\" Copyright (c) 1996
+.\" Julian Elischer <julian@freebsd.org>. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\"
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.Dd October 15, 1998
+.Dt SCSI 4
+.Os FreeBSD 3.0
+.Sh 名称
+.Nm SCSI ,
+.Nm CAM
+.Nd CAM SCSI サブシステム
+.Sh 書式
+.Cd "controller scbus0"
+.Cd "controller scbus1 at ahc0"
+.Cd "controller scbus3 at ahc1 bus 0"
+.Cd "controller scbus2 at ahc1 bus 1"
+.Cd "device cd0"
+.Cd "device ch0"
+.Cd "device da0"
+.Cd "device pass0"
+.Cd "device pt0"
+.Cd "device sa0"
+.Cd "device ch1 at scbus0 target 4 unit 0"
+.Cd options CAMDEBUG
+.Cd options "CAM_DEBUG_BUS=-1"
+.Cd options "CAM_DEBUG_TARGET=-1"
+.Cd options "CAM_DEBUG_LUN=-1"
+.Cd options "CAM_DEBUG_FLAGS=CAM_DEBUG_INFO|CAM_DEBUG_CDB"
+.Cd options "CAM_MAX_HIGHPOWER=4"
+.Cd options SCSI_NO_SENSE_STRINGS
+.Cd options SCSI_NO_OP_STRINGS
+.Cd options SCSI_DELAY=8000
+.Sh 解説
+CAM
+.Tn SCSI
+サブシステムは、
+各種の
+.Tn SCSI
+デバイスを制御するドライバや、ホストアダプタドライバを経由して異なる
+.Tn SCSI
+ホストアダプタを利用するドライバを実装するための、
+均質でモジュール化されたシステムを提供します。
+システムが
+.Tn SCSI
+バスをプローブし、発見したデバイスを適切なドライバにアタッチします。
+.Xr pass 4
+ドライバがカーネルに組み込まれていれば、すべての
+.Tn SCSI
+デバイスがアタッチされます。
+.Sh カーネルの設定
+CAM
+.Tn SCSI
+サブシステム用に一般的なカーネル設定オプションがいくつかあります:
+.Bl -tag -width SCSI_NO_SENSE_STRINGS
+.It Dv CAMDEBUG
+このオプションは、CAM デバッグ用の printf コードを有効にします。
+実際には、このオプションだけではデバッグ情報は出力されません。
+出力するためには追加設定が必要です。詳細は下記を参照して下さい。
+.It Dv "CAM_MAX_HIGHPOWER=4"
+同時使用できる "high power" コマンドの最大数を設定します。
+"high power" コマンドとは、
+他のコマンドに比べて、実行するのにより多くの電力を必要とするコマンドです。
+その一例は
+.Tn SCSI
+START UNIT コマンドです
+(現在のところ "high power" の烙印を押されている唯一のコマンドです)。
+SCSI ディスクを起動するには、通常のディスク操作に比べて
+かなり大きな電力を消費します。
+このオプションで、コンピュータの電源に負荷をかけ過ぎずに
+"high power" コマンドを同時にいくつまで発行できるかを指定できます。
+.It Dv SCSI_NO_SENSE_STRINGS
+.Tn SCSI
+Additional Sense Code と Additional Sense Code Qualifier の組についての
+解説文をすべて除去します。
+この文は本当に大きなテキストデータベースなので、
+除去すれば、カーネルのサイズを少し削減できます。
+このオプションは、主としてブートフロッピや、
+他のディスク空間あるいはメモリ空間が小さい環境で必要となります。
+他の環境でも、
+多くの場合はこのオプションを有効にすべきです。
+.Tn SCSI
+のエラーメッセージの解釈を速めることになるからです。
+カーネルを無用に膨張 ("kernel bloat") させることばかりに熱中しないで、
+あなたのカーネルに解説文を残さないようにしましょう!
+.It Dv SCSI_NO_OP_STRINGS
+.Tn SCSI
+opcode の解説文をすべて無効にします。
+このオプションは、前述した sense 文字列と場合と同様、主として
+カーネルサイズが重要なブートフロッピのような環境で役に立ちます。
+通常の使用環境でこのオプションを有効にすることは推奨されません。
+.Tn SCSI
+の障害のデバッグを遅らせるからです。
+.It Dv SCSI_DELAY=8000
+.Tn SCSI
+のバスが安定するまでの遅延 ("bus settle delay") です。
+CAM の場合、
+.Em ミリ秒
+単位で指定します。
+以前の
+.Tn SCSI
+層で使われていた秒単位ではありません。
+カーネルはブート時にバスリセットを各
+.Tn SCSI
+バスに送り、各デバイスが転送ネゴシエーションやその他の設定を
+デフォルトの状態に自分自身でリセットするよう通知します。
+ほとんどの
+.Tn SCSI
+デバイスは、バスリセットから復帰するのに、ある程度の時間を必要とします。
+最近のディスクは 100ms 程度の短かい時間しか必要としませんが、
+古くて遅いデバイスはもっと長い時間を必要とするかもしれません。
+.Dv SCSI_DELAY
+を指定しなければ、デフォルトでは 2 秒になります。
+.Dv SCSI_DELAY
+の最小値は "100"、すなわち 100ms です。
+唯一特殊なケースは
+.Dv SCSI_DELAY
+に 0 を指定した場合で、"できるだけ小さい値" を意味します。
+この場合、
+.Dv SCSI_DELAY
+は 100ms にリセットされます。
+.El
+.Pp
+すべてのデバイスおよび SCSI バスはブート時の割当てをサポートしているので、
+上位の番号のデバイスおよびコントローラを設定する必要はありません;
+.Cd "device da0"
+は任意の番号のディスクドライバに対して十分な記述です。
+.Pp
+デバイスは、特定のデバイスユニットとして認識される
+.Em wired
+(束縛される) か、
+その次に有効な未使用ユニットとして認識される
+.Em counted
+(数え上げられる) のどちらかです。
+.Pp
+カーネル内のドライバがデバイスを束縛しないように設定するには、
+.Cd "device ch0"
+のような設定行を記述して、チェンジャドライバを組み込んで下さい。
+.Pp
+ユニットを束縛するには、
+.Cd "device ch1 at scbus0 target 4 unit 0"
+のような設定行を記述して、
+チェンジャ 1 を SCSI バス 0 上の SCSI ID 4、SCSI 論理ユニット 0 の
+チェンジャに割り当てます。
+各 SCSI バスを指定したコントローラに束縛するには、
+.Cd "controller scbus0 at ahc0"
+のように設定行を記述します。
+これは、SCSI バス 0 を ahc ドライバを用いる最初のユニットに割り当てます。
+複数のバスをサポートするコントローラの場合、
+特定のバスを
+.Cd "controller scbus3 at ahc1 bus 1"
+の形式で指定できます。
+これは、SCSI バス 1 を ahc1 デバイス上で 2 番目にプローブされたバスに
+割り当てます。
+.Pp
+wired デバイスと counted デバイスが混在している場合、
+そのデバイスタイプについての最初の非 wired ユニットから数え始めます。
+すなわち、wired ディスク
+.Em "device da1"
+があると、最初の非 wired ディスクは
+.Em da2
+として認識されることになります。
+.Sh アダプタ
+このシステムでは、たくさんの種類の異なるアダプタに
+共通のデバイスドライバを使用することが可能です。
+アダプタは上位層から要求を受けて、
+.Em SCSI
+バスとシステムの間のすべての IO を実行します。
+転送の最大サイズはアダプタによって支配されます。
+ほとんどのアダプタが一度の操作で 64KB を転送できますが、
+多くのアダプタはもっと大量に転送できるかもしれません。
+.Sh ターゲットモード
+いくつかのアダプタは、
+.Em ターゲットモード
+をサポートしています。
+このモードでは、
+システムをひとつのデバイスとして操作することが可能となり、
+別のシステムが発行した操作に応答するようになります。
+ターゲットモードは、いくつかのアダプタでサポートされていますが、
+このバージョンの CAM
+.Tn SCSI
+サブシステムではまだ完全ではありません。
+.Sh 関連ファイル
+他の SCSI デバイスのエントリを参照して下さい。
+.Sh 診断
+カーネルが options CAMDEBUG 付きでコンパイルされている場合、
+XPT_DEBUG CCB を用いれば、
+任意の指定したデバイスに関して、さまざまな量のトレース情報を
+取得可能になります。
+トレースされていないデバイスはトレース情報を生成しません。
+現在は 4 つのデバッグフラグをオンにできます:
+.Bl -tag -width CAM_DEBUG_SUBTRACE
+.It Dv CAM_DEBUG_INFO
+該当するデバイス (群) について一般的な情報の printf 出力が可能になります。
+.It Dv CAM_DEBUG_TRACE
+関数レベルでのコマンドフローのトレースが可能になります。
+すなわち、関数の入口と出口でカーネルの printf 出力が発生します。
+.It Dv CAM_DEBUG_SUBTRACE
+関数内部でのデバッグ出力が可能になります。
+.It Dv CAM_DEBUG_CDB
+特定のデバイス (群) に送信されたすべての
+.Tn SCSI
+コマンドをカーネルが印字するようになります。
+.El
+.Pp
+これらのフラグのうち、特に
+.Dv CAM_DEBUG_TRACE
+と
+.Dv CAM_DEBUG_SUBTRACE
+は膨大な量のカーネルの printf 出力を発生しますので、
+あまり有益ではありません。
+.Dv CAM_DEBUG_INFO
+のレベルでログ出力されるものは多くはありませんので、
+これもそれほど有益ではありません。
+最も有益なデバッグフラグは
+.Dv CAM_DEBUG_CDB
+フラグです。
+以下のカーネルオプションを使用して、
+カーネル設定ファイルからデバッグを有効にできます:
+.Bl -tag -width CAM_DEBUG_TARGET
+.It Dv CAMDEBUG
+CAM のデバッグを有効にします。
+このオプションなしでは、ユーザランドから
+.Xr camcontrol 8
+を経由してデバッグを有効にすることもできません。
+.It Dv CAM_DEBUG_FLAGS
+上に述べたような各種のデバッグフラグを、
+カーネル設定ファイルで設定することが可能になります。
+フラグの論理和を取れば、
+複数のデバッグレベルでの printf 出力を見ることもできます。
+.It Dv CAM_DEBUG_BUS
+デバッグの対象とするバスを指定します。
+すべてのバスをデバッグするには、この値を -1 に設定します。
+.It Dv CAM_DEBUG_TARGET
+デバッグの対象とするターゲットを指定します。
+すべてのターゲットをデバッグするには、この値を -1 に設定します。
+.It Dv CAM_DEBUG_LUN
+デバッグの対象とする論理ユニット番号を指定します。
+すべての論理ユニット番号をデバッグするには、この値を -1 に設定します。
+.El
+.Pp
+あるバス、ターゲット、もしくは論理ユニット番号を指定する場合には、
+上述した 3 つのバス/ターゲット/論理ユニット番号のオプションを
+すべて指定することが必須となります。
+ワイルドカードを使用すれば、
+ほとんどの機器についてデバッグを有効にすることができます。
+.Pp
+.Dv CAMDEBUG
+オプションを設定ファイルに含めていれば、
+.Xr camcontrol 8
+ユーティリティを使用して、起動中に printf デバッグを有効にすることもできます。
+詳細は
+.Xr camcontrol 8
+を参照して下さい。
+.Sh 関連項目
+.Xr aha 4 ,
+.Xr ahb 4 ,
+.Xr ahc 4 ,
+.Xr bt 4 ,
+.Xr cd 4 ,
+.Xr ch 4 ,
+.Xr da 4 ,
+.Xr pass 4 ,
+.Xr pt 4 ,
+.Xr sa 4 ,
+.Xr xpt 4 ,
+.Xr camcontrol 8
+.Sh 歴史
+CAM
+.Tn SCSI
+サブシステムは
+.Fx 3.0
+で初めて登場しました。
+.Sh 作者
+CAM
+.Tn SCSI
+サブシステムは Justin Gibbs と Kenneth Merry によって書かれました。