この章では、システム管理者がシステム上のデバイスにアクセスする方法について説明します。
この章の内容は次のとおりです。
デバイスの構成についての概要は、第 19 章「デバイス管理の概要と手順」を参照してください。
システム管理者は、コマンドを使用してディスク、ファイルシステムなどのデバイスを管理する場合、デバイス名を指定する方法を知っている必要があります。通常システム管理者は、論理デバイス名を使用してシステムに接続されたデバイスを表現します。論理デバイス名と物理デバイス名は、システム上でそれぞれ論理デバイスファイルと物理デバイスファイルによって表現されます。
システムがブートされると、デバイス階層が作成されて、システムに接続されたすべてのデバイスが表示されます。カーネルは、このデバイス階層情報を使用して、ドライバを該当するデバイスに対応づけて、特定の操作を実行するドライバへの一連のポインタを与えます。デバイス階層情報の詳細については、『OpenBoot 3.x コマンド・リファレンスマニュアル』を参照してください。
Solaris 環境では、デバイスは次の 3 つの方法で参照されます。
物理デバイス名 - デバイス情報階層の完全デバイスパス名を表します。物理デバイス名は、次のコマンドを使用して表示できます。
dmesg
format
sysdef
prtconf
物理デバイスファイルは、/devices ディレクトリにあります。
インスタンス名 - システム上のデバイスすべてのカーネル短縮名を表します。たとえば、sd0 と sd1 は、2 つのディスクデバイスのインスタンス名を表します。インスタンス名は、/etc/path_to_inst ファイルにマップされて、次のコマンドにより表示できます。
dmesg
sysdef
prtconf
論理デバイス名 - システム管理者が、デバイスを参照するために使用します。論理デバイス名を使用するファイルコマンドは、表 20-1 に記載されています。/dev ディレクトリの論理デバイスファイルは、/devices ディレクトリの物理デバイスファイルにシンボリックリンクされています。
論理デバイス名は、次の場合に、ディスクデバイスにアクセスするために使用されます。
システムに新しいディスクを追加する。
あるシステムから別のシステムへディスクを移動する。
ローカルディスク上にあるファイルシステムにアクセス (またはマウント) する。
ローカルファイルシステムのバックアップをとる。
管理コマンドの多くは、ディスクスライスまたはファイルシステムを参照する引数を使用します。
シンボリックリンクされるサブディレクトリ (/dev/dsk または /dev/rdsk のいずれか) に続けて、特定のコントローラ、ディスク、およびスライスを識別する文字列を指定することによって、ディスクデバイスを参照してください。
ディスクとファイルの管理コマンドには、raw (または「キャラクタ型」) デバイスインタフェースか、「ブロック」デバイスインタフェースを使用する必要があります。この区別は、データがデバイスから読み取られる方法によって決まります。
raw デバイスインタフェースは、一度に少量のデータだけを転送します。ブロックデバイスインタフェースには、大量のデータブロックが一度に読み取られるバッファが含まれます。
コマンドによって、必要なインタフェースは異なります。
コマンドが raw デバイスインタフェースを必要とする場合は、/dev/rdsk サブディレクトリを指定してください。(rdsk の "r" は、"raw" を表します。)
コマンドがブロックデバイスインタフェースを必要とする場合は、/dev/dsk サブディレクトリを指定してください。
コマンドが /dev/dsk または /dev/rdsk のどちらを必要とするかがわからない場合は、そのコマンドのマニュアルページの説明を参照してください。
表 20-1 は、一般的に使用されるディスクコマンドとファイルシステムコマンドの一部に必要なインタフェースを示しています。
表 20-1 使用頻度の高いコマンドに必要なデバイスインタフェースのタイプ
コマンド |
インタフェースのタイプ |
使用例 |
---|---|---|
ブロック |
df /dev/dsk/c0t3d0s6 |
|
raw |
fsck -p /dev/rdsk/c0t0d0s0 |
|
ブロック |
mount /dev/dsk/c1t0d0s7 /export/home/ziggy |
|
raw |
newfs /dev/rdsk/c0t0d1s1 |
|
raw |
prtvtoc /dev/rdsk/c0t0d0s2 |
特定のスライスを特定のディスクで識別するために使用する文字列は、コントローラのタイプが、直接かバス指向のどちらであるかによって決まります。表 20-2 は、コントローラが直接かバス指向かによって、プラットフォームが何になるかを示しています。
表 20-2 コントローラのタイプ
直接コントローラ |
バス指向コントローラ |
---|---|
Xylogics (SPARC) |
SCSI (SPARC/x86) |
IDE (x86) |
IPI (SPARC) |
両方のタイプのコントローラについて、次の項で説明します。
コントローラ番号は、システム初期設定時に自動的に割り当てられます。この番号は、厳密に論理的なものであり、物理コントローラに直接対応するものではありません。
SPARC システムにおいて直接コントローラでアクセスされるディスクにスライスを指定するには、図 20-1 に示す命名規則に従ってください。
ディスク全体を示すには、スライス 2 (S2) を指定してください。
システムにコントローラが 1 つしかない場合、x は常に 0 になります。
x86 システムにおいて IDE コントローラでアクセスされるディスクにスライスを指定するには、図 20-2 に示す命名規則に従ってください。
Solaris fdisk パーティション全体を示すには、スライス 2 (s2) を指定してください。
システムにコントローラが 1 つしかない場合、w は常に 0 になります。
SPARC システムにおいてバス指向コントローラ (SCSI など) でアクセスされるディスクにスライスを指定するには、図 20-3 に示す命名規則に従ってください。
システムにコントローラが 1 つしかない場合、w は常に 0 になります。
SCSI コントローラの場合、x はデバイスの背面にあるスイッチによって設定されたターゲットアドレス、y はターゲットに接続されたドライブの論理デバイス番号 (LUN) を示します。ディスクに組み込みコントローラがある場合、y は通常 0 になります。
ディスク全体を示すには、スライス 2 (s2) を指定してください。
x86 システムにおいて SCSI コントローラでアクセスされるディスクにスライスを指定するには、図 20-4 に示す命名規則に従ってください。
システムにコントローラが 1 つしかない場合、v は常に 0 になります。
SCSI コントローラの場合、w はデバイスの背面にあるスイッチによって設定されたターゲットアドレス、x はターゲットに接続されたドライブの論理デバイス番号 (LUN) を示します。ディスクに組み込みコントローラがある場合、x は通常 0 になります。
Solaris fdisk パーティション全体を示すには、スライス 2 (s2) を指定してください。
論理テープデバイスファイルは、/devices ディレクトリからのシンボリックリンクとして、/dev/rmt/* ディレクトリにあります。
システムに接続された最初のテープデバイスは 0 (/dev/rmt/0) であり、これは、QIC-11、QIC-24、QIC-150、または Exabyte のいずれかのタイプになります。テープ密度の値 (l、m、h、c、u) については、第 38 章「テープドライブの管理手順」を参照してください。
システム上の最初の CD-ROM デバイスを表す論理デバイス名は、/dev/dsk/c0t6d0s0 です。
CD-ROM はボリューム管理によって管理されるため、論理 CD-ROM デバイス名は、CD を手作業でマウントする必要がある場合以外は使用しません。CD-ROM デバイスへのアクセスについては、第 11 章「CD とフロッピーディスクの使用方法の概要」を参照してください。