Go to main content
Oracle® Solaris 11.3 でのデバイスの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

デバイスへのアクセス

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

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

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

デバイスの階層は、次で構成されています。

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

  • /dev ディレクトリ – 論理デバイス名の名前空間。このディレクトリは dev ファイルシステムによって管理されます。

devfsadm コマンドは、次の操作を実行することによって、システムデバイスを管理します。

  • システム内のすべてのドライバを読み込んで、使用できるすべてのデバイスインスタンスに接続を試みます。

  • デバイスファイルを /devices ディレクトリに作成し、論理リンクを /dev ディレクトリに作成します。

  • path_to_inst インスタンスデータベースを保守します。

devfsadmd デーモンは、動的再構成イベントまたはファイルシステムへのアクセスに対応して、/dev および /devices ディレクトリを自動的に更新します。このデーモンは、システムのブート時にサービス管理機能によって起動されます。

デバイス名の命名規則

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

  • 物理デバイス名 – デバイス情報階層の完全デバイスパス名を表します。物理デバイス名は、そのデバイスが最初にシステムに追加されるときまでに作成されます。 物理デバイスファイルは、/devices ディレクトリにあります。

  • インスタンス名 – システム上のデバイスすべてのカーネル短縮名を表します。たとえば、sd0sd1 は、2 つのディスクデバイスのインスタンス名を表します。インスタンス名は /etc/path_to_inst ファイルでマップされます。

  • 論理デバイス名 – 論理デバイス名は、そのデバイスが最初にシステムに追加されるときまでに作成されます。論理デバイス名は、デバイスを参照する際に、ほとんどのファイルシステムコマンドで使用されます。論理デバイス名を使用するファイルコマンドの一覧は、表 2を参照してください。/dev ディレクトリ内の論理デバイスファイルは、/devices ディレクトリ内の物理デバイスファイルにシンボリックリンクされています。

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

  • dmesg

  • format

  • sysdef

  • prtconf

論理ディスクデバイス名

    論理デバイス名は、次のタスクを実行するときに、ディスクデバイスにアクセスするために使用されます。

  • システムに新しいディスクを追加します。

  • システム間でディスクを移動します。

  • ローカルディスク上にあるファイルシステムにアクセスまたはそれをマウントします。

  • ローカルファイルシステムのバックアップをとります。

論理デバイスの名前には /dev/[r]dsk/cntndn[sn,pn] という形式を使用します。

dev

デバイスのディレクトリ

[r]dsk

Raw ディスクドライブのサブディレクトリ

cn

論理コントローラ番号

tn

物理バスのターゲット番号

dn

ドライブ番号

[sn,pn]

スライス番号 (s0 から s7) または fdisk のパーティション番号 (p0 から p4)。

以降のセクションでは、これらの名前コンポーネントを詳細に説明しています。

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

一部のディスクとファイルの管理コマンドには、raw (またはキャラクタ型) デバイスインタフェースか、ブロックデバイスインタフェースを使用する必要があります。raw デバイスインタフェースは、一度に少量のデータだけを転送します。ブロックデバイスインタフェースには、大量のデータブロックが一度に読み取られるバッファーが含まれます。

指定するディスクのサブディレクトリは、コマンドが要求するデバイスのインタフェースによって異なります。

  • コマンドが raw デバイスインタフェースを必要とする場合は、/dev/rdsk サブディレクトリを指定してください。(rdsk の「r」は、「raw」を表します。)

  • コマンドがブロックデバイスインタフェースを必要とする場合は、/dev/dsk サブディレクトリを指定してください。

  • コマンドが /dev/dsk または /dev/rdsk のどちらを必要とするかがわからない場合は、そのコマンドのマニュアルページの説明を参照してください。

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

表 2  使用頻度の高いコマンドに必要なデバイスインタフェースのタイプ
コマンドリファレンス
インタフェースタイプ
使用例
ブロック
dumpadm -d /dev/zvol/dsk/rpool/dump
Raw
prtvtoc /dev/rdsk/c0t0d0s0
ブロック
swap -a /dev/zvol/dsk/rpool/swap

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

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


注 -  コントローラ番号は、システム初期設定時に自動的に割り当てられます。この番号は、厳密に論理的なものであり、物理コントローラに直接対応するものではありません。
  • IDE コントローラがあるディスクでスライスを指定するには、命名規則 cndn[sn,pn] を使用します。

    cn

    論理コントローラ番号

    dn

    ドライブ番号

    [sn,pn

    スライス番号 (s0 から s7) または fdisk のパーティション番号 (p0 から p4)

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

  • SCSI など、バス指向コントローラが搭載されたディスクでスライスを指定するには、命名規則 cntndn[sn,pn] を使用します。

    cn

    論理コントローラ番号

    wn

    物理バスのターゲット番号

    dn

    ドライブ番号

    [sn,pn

    スライス番号 (s0 から s7) または fdisk のパーティション番号 (p0 から p4)

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

論理テープデバイス名

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

dev

デバイスのディレクトリ

rmt

Raw 磁気テープデバイスのディレクトリ

n

ドライブ番号 (0-n

d

オプションの密度。l (低)、m (中)、h (高)、u (超)、または c (圧縮) を指定できます。

システムに接続された最初のテープデバイスは 0 (/dev/rmt/0) です。テープの密度値については、テープドライブの管理のタスクで説明しています。

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

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

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