Solaris のシステム管理 (デバイスとファイルシステム)

デバイスへのアクセス

コマンドを使用してディスク、ファイルシステムなどのデバイスを管理する場合、デバイス名を指定する方法を知っている必要があります。通常、論理デバイス名を使用して、システムに接続されたデバイスを表すことができます。論理デバイス名と物理デバイス名は、システム上でそれぞれ論理デバイスファイルと物理デバイスファイルによって表現されます。

デバイス情報が作成される方法

システムがブートされると、デバイス階層が作成されて、システムに接続されたすべてのデバイスが表示されます。カーネルは、このデバイス階層情報を使用して、ドライバを該当するデバイスに対応づけます。また、カーネルは、特定の操作を実行するドライバへの一連のポインタを提供します。

デバイスの管理方法

devfs ファイルシステムは、システム上のすべてのデバイスの名前空間である /devices ディレクトリを管理します。このディレクトリは、実際のバスとデバイスのアドレスから成る「物理」デバイスを表します。

dev ファイルシステムは、「論理」デバイス名の名前空間である /dev ディレクトリを管理します。

デフォルトでは、devfsadm コマンドはすべてのドライバをシステムに読み込もうとし、可能な限りすべてのデバイスインスタンスに接続しようとします。次に、devfsadm コマンドはデバイスファイルを /devices ディレクトリに作成し、論理リンクを /dev ディレクトリに作成します。devfsadm コマンドはまた、path_to_inst インスタンスデータベースの保守も行います。

動的再構成イベントまたはファイルシステムアクセスに対応する /dev および /devices ディレクトリの更新は、devfsadmd (devfsadm コマンドのデーモンバージョン) によって処理されます。このデーモンは、システムのブート時にサービス管理機能によって起動されます。

devfsadmd デーモンは再構成イベントによるデバイス構成の変化を自動的に検出するため、このコマンドを対話的に実行する必要はありません。

詳細は、次のマニュアルページを参照してください。

デバイス名の命名規則

Oracle Solaris OS では、デバイスは次の 3 つの方法で参照されます。

上記のデバイス名の情報は、次のコマンドによって表示できます。

論理ディスクデバイス名

論理デバイス名は、次の作業を行う場合に、ディスクデバイスにアクセスするために使用されます。

管理コマンドの多くは、ディスクスライスまたはファイルシステムを参照する引数を使用します。

シンボリックリンクされるサブディレクトリ(/dev/dsk または /dev/rdsk のどちらか) に続けて、特定のコントローラ、ディスク、およびスライスを識別する文字列を指定することによって、ディスクデバイスを参照してください。

図 5–1 論理デバイス名の説明

論理デバイス名の構成要素、 つまり raw ディスクデバイスディレクトリ、論理コントローラ、物理バスターゲット、ドライブ、スライスまたは fdisk パーティションを示しています。

ディスクサブディレクトリの指定

ディスクとファイルの管理コマンドには、raw (または「キャラクタ型」) デバイスインタフェースか、「ブロック」デバイスインタフェースを使用する必要があります。デバイスからどのような方法でデータを読み取るかによって使い分けます。

raw デバイスインタフェースは、一度に少量のデータだけを転送します。ブロックデバイスインタフェースには、大量のデータブロックが一度に読み取られるバッファーが含まれます。

コマンドによって、必要なインタフェースは異なります。

次の表に、一般的に使用されるディスクコマンドとファイルシステムコマンドの一部に必要なインタフェースを示します。

表 5–3 使用頻度の高いコマンドに必要なデバイスインタフェースのタイプ

コマンド 

インタフェースのタイプ 

使用例 

df(1M)

ブロック 

df /dev/dsk/c0t3d0s6

fsck(1m)

Raw 

fsck -p /dev/rdsk/c0t0d0s0

mount(1M)

ブロック 

mount /dev/dsk/c1t0d0s7 /export/home/ziggy

newfs(1M)

Raw 

newfs /dev/rdsk/c0t0d1s1

prtvtoc(1M)

Raw 

prtvtoc /dev/rdsk/c0t0d0s2

直接コントローラとバス指向コントローラ

ディスクのパーティションやスライスにアクセスする方法は、そのディスクデバイスが直接コントローラとバス指向コントローラのどちらに接続されているかによって異なる場合があります。一般的に、直接コントローラの論理デバイス名には「ターゲット」識別子が含まれません。

両方のタイプのコントローラについて、次の節で説明します。


注 –

コントローラ番号は、システム初期設定時に自動的に割り当てられます。この番号は、厳密に論理的なものであり、物理コントローラに直接対応するものではありません。


x86: 直接コントローラでアクセスされるディスク

x86 システムにおいて IDE コントローラでアクセスされるディスクにスライスを指定するには、下の図に示す命名規則に従ってください。

図 5–2 x86: 直接コントローラでアクセスされるディスク

この図は、論理コントローラ、ドライブ、スライスまたは fdisk パーティションを含む、直接コントローラでアクセスされるディスクのデバイス名を示しています。

Solaris fdisk パーティション全体を示すには、スライス 2 (S2) を指定してください。

システムにコントローラが 1 つしかない場合、w は、通常、0 になります。

バス指向コントローラでアクセスされるディスク

バス指向コントローラ (SCSI など) でアクセスされるディスクにスライスを指定するには、下の図に示す命名規則に従ってください。

図 5–3 バス指向コントローラでアクセスされるディスク

論理コントローラ、物理バスターゲット、ドライブ、スライス または fdisk パーティションを含む、バス指向コントローラでアクセスされるディスクのデバイス名

直接接続されるディスク (UltraSPARC システムの IDE ディスクなど) を備えている SPARC システムでは、バス指向コントローラを備えているシステムと同じ命名規則になります。

システムにコントローラが 1 つしかない場合、w は、通常、0 になります。

SCSI コントローラの場合、x はデバイスの背面にあるスイッチによって設定されたターゲットアドレス、y はターゲットに接続されたドライブの論理デバイス番号 (LUN) を示します。ディスクにコントローラが内蔵されている場合、y は、通常、0 になります。SPARC システム上の SCSI アドレスの詳細については、SunSolve Info Doc 48041 と、scsi_address(9S) のマニュアルページを参照してください。

ディスク全体を示すには、スライス 2 (S2) を指定してください。

論理テープデバイス名

論理テープデバイスファイルは、/devices ディレクトリからのシンボリックリンクとして /dev/rmt/* ディレクトリ内にあります。

図 5–4 論理テープデバイス名

この図は、磁気テープデバイスのディレクトリ、ドライブ、密度オプションの各値を含む論理テープデバイス名を示しています。

システムに接続された最初のテープデバイスは 0 (/dev/rmt/0) です。テープ密度の値 (lmhc、および u) の詳細は、第 29 章テープドライブの管理 (手順)を参照してください。

論理リムーバブルメディアデバイス名

リムーバブルメディアは、リムーバブルメディア管理サービスによって管理されるため、論理デバイス名は、手動でメディアをマウントしないかぎり、通常使用されません。

システムのリムーバブルメディアデバイスを表す論理デバイス名については、第 3 章リムーバブルメディアへのアクセス (手順)を参照してください。