ディスク、ファイルシステム、およびその他のデバイスを管理するには、デバイス名を指定する方法を知っている必要があります。通常、論理デバイス名を使用して、システムに接続されたデバイスを表すことができます。論理デバイス名と物理デバイス名は、システム上でそれぞれ論理デバイスファイルと物理デバイスファイルによって表現されます。
システムがブートされると、デバイス階層が作成されて、システムに接続されたすべてのデバイスが表示されます。カーネルは、このデバイス階層情報を使用して、ドライバを該当するデバイスに対応づけます。また、カーネルは、特定の操作を実行するドライバへの一連のポインタを提供します。
デバイスの階層は、次で構成されています。
/devices ディレクトリ – システム上のすべてのデバイスの名前空間。このディレクトリは、実際のバスとデバイスのアドレスから成る「物理」デバイスを表します。このディレクトリは devfs ファイルシステムによって管理されます。
/dev ディレクトリ – 論理デバイス名の名前空間。このディレクトリは dev ファイルシステムによって管理されます。
devfsadm コマンドは、次の操作を実行することによって、システムデバイスを管理します。
システム内のすべてのドライバを読み込んで、使用できるすべてのデバイスインスタンスに接続を試みます。
デバイスファイルを /devices ディレクトリに作成し、論理リンクを /dev ディレクトリに作成します。
devfsadmd デーモンは、動的再構成イベントまたはファイルシステムへのアクセスに対応して、/dev および /devices ディレクトリを自動的に更新します。このデーモンは、システムのブート時にサービス管理機能によって起動されます。
詳細は、次のマニュアルページを参照してください。
Oracle Solaris では、デバイスは次の 3 つの方法のいずれかで参照されます。
物理デバイス名 – デバイス情報階層の完全デバイスパス名を表します。物理デバイス名は、そのデバイスが最初にシステムに追加されるときまでに作成されます。 物理デバイスファイルは、/devices ディレクトリにあります。
インスタンス名 – システム上のデバイスすべてのカーネル短縮名を表します。たとえば、sd0 と sd1 は、2 つのディスクデバイスのインスタンス名を表します。インスタンス名は /etc/path_to_inst ファイルでマップされます。
論理デバイス名 – 論理デバイス名は、そのデバイスが最初にシステムに追加されるときまでに作成されます。論理デバイス名は、デバイスを参照する際に、ほとんどのファイルシステムコマンドで使用されます。論理デバイス名を使用するファイルコマンドの一覧は、表 2を参照してください。/dev ディレクトリ内の論理デバイスファイルは、/devices ディレクトリ内の物理デバイスファイルにシンボリックリンクされています。
デバイス名の情報は、次のコマンドによって表示できます。
dmesg
format
sysdef
prtconf
論理デバイス名は、次のタスクを実行するときに、ディスクデバイスにアクセスするために使用されます。
システムに新しいディスクを追加します。
システム間でディスクを移動します。
ローカルディスク上にあるファイルシステムにアクセスまたはそれをマウントします。
ローカルファイルシステムのバックアップをとります。
論理デバイスの名前には /dev/[r]dsk/cntndn[sn,pn] という形式を使用します。
デバイスのディレクトリ
Raw ディスクドライブのサブディレクトリ
論理コントローラ番号
物理バスのターゲット番号
ドライブ番号
スライス番号 (s0 から s7) または fdisk のパーティション番号 (p0 から p4)。
以降のセクションでは、これらの名前コンポーネントを詳細に説明しています。
一部のディスクとファイルの管理コマンドには、raw (またはキャラクタ型) デバイスインタフェースか、ブロックデバイスインタフェースを使用する必要があります。raw デバイスインタフェースは、一度に少量のデータだけを転送します。ブロックデバイスインタフェースには、大量のデータブロックが一度に読み取られるバッファーが含まれます。
指定するディスクのサブディレクトリは、コマンドが要求するデバイスのインタフェースによって異なります。
コマンドが raw デバイスインタフェースを必要とする場合は、/dev/rdsk サブディレクトリを指定してください。(rdsk の「r」は、「raw」を表します。)
コマンドがブロックデバイスインタフェースを必要とする場合は、/dev/dsk サブディレクトリを指定してください。
コマンドが /dev/dsk または /dev/rdsk のどちらを必要とするかがわからない場合は、そのコマンドのマニュアルページの説明を参照してください。
次の表に、一般的に使用されるディスクコマンドとファイルシステムコマンドの一部に必要なインタフェースを示します。
|
ディスクのパーティションやスライスにアクセスする方法は、そのディスクデバイスが直接コントローラとバス指向コントローラのどちらに接続されているかによって異なる場合があります。通常、直接コントローラは、論理デバイス名にターゲット識別子を含めません。
IDE コントローラがあるディスクでスライスを指定するには、命名規則 cndn[sn,pn] を使用します。
論理コントローラ番号
ドライブ番号
スライス番号 (s0 から s7) または fdisk のパーティション番号 (p0 から p4)
fdisk パーティション全体を示すには、スライス 2 (S2) を指定してください。
SCSI など、バス指向コントローラが搭載されたディスクでスライスを指定するには、命名規則 cntndn[sn,pn] を使用します。
論理コントローラ番号
物理バスのターゲット番号
ドライブ番号
スライス番号 (s0 から s7) または fdisk のパーティション番号 (p0 から p4)
ディスク全体を示すには、スライス 2 (S2) を指定してください。
論理テープデバイスファイルは、/devices ディレクトリからのシンボリックリンクとして /dev/rmt/* ディレクトリ内にあります。 命名規則は /dev/rmt/nd です。
デバイスのディレクトリ
Raw 磁気テープデバイスのディレクトリ
ドライブ番号 (0-n
オプションの密度。l (低)、m (中)、h (高)、u (超)、または c (圧縮) を指定できます。
システムに接続された最初のテープデバイスは 0 (/dev/rmt/0) です。テープの密度値については、テープドライブの管理のタスクで説明しています。
リムーバブルメディアは、リムーバブルメディア管理サービスによって管理されるため、論理デバイス名は、手動でメディアをマウントしないかぎり、通常使用されません。
システムのリムーバブルメディアデバイスを表す論理デバイス名については、リムーバブルメディアへのアクセスを参照してください。