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

第 5 章 デバイスの管理 (概要と手順)

この章では、Solaris リリースのディスク、DVD ドライブ、テープデバイスなどの周辺デバイスを管理する方法について説明します。

この章の内容は以下のとおりです。

この章で説明する手順は次のとおりです。

Solaris リリースのデバイス管理には、通常、システムでの周辺デバイスの追加と削除、デバイスをサポートするための他社製のデバイスドライバの追加、システム構成情報の表示が含まれます。

デバイス管理の新機能

ここでは、Solaris リリースにおけるデバイス管理の新機能について説明します。

Solaris の新機能の一覧および Solaris リリースについての説明は、『Oracle Solaris 10 9/10 の新機能』を参照してください。

新しいホットプラグ機能

Oracle Solaris 10 9/10: この Solaris リリースでは、hotplug コマンドを使って、PCI Express (PCIe) および PCI SHPC (Standard Hot Plug Controller) デバイス上でホットプラグを実行可能な接続を管理できるようになりました。この機能は、USB や SCSI などの、ほかの種類のバスではサポートされません。

ホットプラグを実行可能な USB および SCSI デバイスの管理には、以前の Solaris リリースと同様に、引き続き cfgadm を使用します。このリリースでホットプラグ機能を使用する利点は、有効化と無効化の操作に加え、hotplug コマンドを使って対応する PCI デバイスをオフラインおよびオンラインにできることです。

詳細については、hotplug コマンドによる PCIe ホットプラグ」を参照してください。

x86: デバイス検出ツール

Solaris 10 5/08: デバイス検出ツールを使用すると、使用している x86 ハードウェアがこの Solaris リリースでサポートされているかどうかを確認できます。詳細は、次のサイトを参照してください。

http://www.sun.com/bigadmin/hcl/hcts/device_detect.jsp

PCI Express (PCIe) のサポート

Solaris 10 11/06: この Solaris リリースでは、PCI Express (PCIe) インターコネクトをサポートします。PCI Express (PCIe) インターコネクトは、SPARC システムと x86 システムの両方で、周辺デバイスをデスクトップ、エンタープライズ、モバイル、通信、組み込みの各アプリケーションに接続するために設計されています。

以前の Solaris 10 6/06 リリースでは、PCIe デバイスは x86 システムでのみ使用可能でした。

PCIe インターコネクトは、業界標準の高性能シリアル入出力バスです。PCIe 技術の詳細は次のサイトを参照してください。

http://www.pcisig.com/home

PCIe ソフトウェアは、この Solaris リリースで次の機能を提供します。

ホットプラグ対応 PCIe 周辺デバイスは、PCI 周辺デバイスと同じように cfgadm コマンドを使用して管理します。

使用しているハードウェアマニュアルを参照して、使用しているシステム上で PCIe および PCIe のホットプラグがサポートされているかどうかを確認します。また、アダプタを物理的にシステムに挿入する手順とシステムから取り外す手順、および該当する場合のデバイスの自動構成のセマンティクスについてよく確認してください。

PCIe 周辺デバイスでの cfgadm コマンドの使用方法については、cfgadm コマンドによる PCI または PCIe ホットプラグ (作業マップ)」を参照してください。

USB と 1394 (FireWire) サポートの機能拡張

Solaris 10 6/06: この Solaris リリースでは、非リムーバブル USB ストレージデバイスと 1394 大容量デバイスの両方がドライバレベルでホットプラグ対応デバイスとして識別されます。この新しい動作は、システムをリブートせずにこれらのデバイスを接続または取り外しできること、およびユーザーの介入なしで自動的に構成または構成解除できることを意味します。これらの変更は、カーネルレベルで行われているため、デバイスの使用には影響しません。たとえば、これらのデバイスのマウントおよびマウント解除は、リムーバブルメディア管理サービスによって制御されます。

また、 format ユーティリティーを使用して、非リムーバブル USB デバイスおよび 1394 大容量ストレージデバイスにアクセスしてラベルを付けることができます。ただし、/kernel/drv/scsa2usb.conf ファイル内の remvalue を true に設定することで、これらのデバイスの新しいホットプラグ機能を無効にすることができます。このパラメータを true に設定すると、この動作を優先する場合は、デバイスがドライバレベルでリムーバブルメディアとして扱われます。

これらのデバイスの使用方法については、scsa1394(7D) のマニュアルページと「USB 大容量ストレージデバイスの使用 (作業マップ)」を参照してください。

使用中デバイスのエラーチェック機能の向上

Solaris 10 6/06: この機能は、以前はマニュアルに書かれていませんでした。

次のユーティリティーが拡張されて、指定されたデバイスが使用中かどうかを検出するようになりました。

これらの拡張により、上記のユーティリティーが、次のような使用状況のシナリオをいくつか検出する可能性があります。

たとえば、format ユーティリティーを使用してアクティブデバイスにアクセスしようとすると、次のようなメッセージが表示されます。


# format
.
.
.
Specify disk (enter its number): 1
selecting c0t1d0
[disk formatted]
Warning: Current Disk has mounted partitions.
/dev/dsk/c0t1d0s0 is currently mounted on /. Please see umount(1M).
/dev/dsk/c0t1d0s1 is currently used by swap. Please see swap(1M).

ただし、これらのユーティリティーは、すべてのケースを同様に検出するわけではありません。たとえば、newfs コマンドを使用して、Live Upgrade の構成に含まれているデバイス上に新しいファイルシステムを作成できます。ただし、Live Upgrade の構成に含まれているデバイス上に、マウントされたファイルシステムも存在する場合は、newfs コマンドを使用して新しいファイルシステムを作成することはできません。

デバイス管理作業についての参照先

次の表に、デバイスのホットプラグの実行手順、およびシリアルデバイス (プリンタやモデムなど) や周辺デバイス (ディスク、DVD ドライブ、テープデバイスなど) の追加手順が説明されている参照先を示します。

表 5–1 デバイスを追加する場合の参照先

デバイス管理作業 

参照先 

ホットプラグ不可ディスクを追加します。 

第 12 章SPARC: ディスクの追加 (手順)または第 13 章x86: ディスクの追加 (手順)

SCSI または PCI デバイスのホットプラグを実行します。 

cfgadm コマンドによる SCSI ホットプラグ」 または cfgadm コマンドによる PCI または PCIe ホットプラグ」

USB デバイスのホットプラグを実行します。 

「USB 大容量ストレージデバイスの使用 (作業マップ)」

DVD ドライブまたはテープドライブを追加します。 

「周辺デバイスを追加する方法」

モデムを追加します。 

『Solaris のシステム管理 (上級編)』の第 1 章「端末とモデムの管理 (概要)」

プリンタを追加します。 

『Solaris のシステム管理 (印刷)』

デバイスをセキュリティー保護します。 

『Solaris のシステム管理 (セキュリティサービス)』の第 4 章「デバイスアクセスの制御 (作業)」

Solaris OS でのデバイス管理

以降の節では、Solaris OS でデバイスを管理する機能の概要を説明します。デバイスへのアクセスに関する情報については、「デバイスへのアクセス」を参照してください。

デバイスの電力管理

米国環境保護局では、エネルギー効率のよいコンピュータシステムの使用を奨励し、エネルギー生成に伴う大気汚染を削減する目的で、コンピュータ製品の省電力 (Energy Star) ガイドラインを作成しました。これらのガイドラインを満たすために、Sun のハードウェアは電力を効率的に使用するよう設計されています。また、電力管理設定を構成するための電力管理ソフトウェアも用意されています。

システムの電力管理方法については、お使いのハードウェアのマニュアルまたは power.conf(4) のマニュアルページを参照してください。

ファイバチャネルデバイスの電力管理

Sun システムの電源管理は、これまで多くの Solaris リリースで提供されてきました。たとえば、次のシステム上の内部ドライブは、デフォルトで電力管理対象になります。

/etc/power.conf ファイルのデフォルト設定を使用した場合、Energy Star 準拠が保証され、これらのシステムの電力管理が完全にサポートされます。

次のアダプタは、外部のファイバチャネルストレージデバイスを接続します。

上記アダプタと Sun システムを組み合わせて外部ファイルチャネルストレージデバイスを接続する場合、それらの外部ストレージデバイスもデフォルトで電力管理対象になります。

次の場合は、電力管理を無効にする必要があります。

上記の場合のように同一のデバイスを複数の Solaris システムが共有している可能性がある場合には、電力管理を有効にすることはできません。

システムの電力管理を無効にするには、/etc/power.conf ファイル内の autopm キーワードを次のように変更します。


autopm 		disable

続いて、電力管理を再構成するために、pmconfig コマンドを実行するか、システムをリブートします。

詳細については、power.conf(4)pmconfig(1M) のマニュアルページを参照してください。

デバイスドライバについて

コンピュータは通常、広範囲の周辺デバイスと大容量ストレージデバイスを使用します。たとえば、各システムには、SCSI ディスクドライブ、キーボードとマウス、磁気バックアップメディアなどがあります。これ以外に一般に使用されるデバイスには、次のようなものがあります。

Solaris ソフトウェアは、これらのデバイスと直接には通信を行いません。各タイプのデバイスに異なるデータ形式、プロトコル、および転送速度が必要になります。

「デバイスドライバ」は、オペレーティングシステムが特定のハードウェアと通信できるようにする低レベルのプログラムです。このドライバは、そのハードウェアに対するオペレーティングシステムの「インタプリタ」として機能します。

デバイスの自動構成

カーネルは、プラットフォーム固有の構成要素を備えた汎用コアと、一連のモジュールから成ります。カーネルは Solaris リリースで自動的に構成されます。

「カーネルモジュール」とは、システムで固有の作業を実行するために使用されるハードウェアまたはソフトウェアの構成要素のことです。「ロード可能」なカーネルモジュールの例としては、デバイスのアクセス時にロードされるデバイスドライバがあげられます。

プラットフォームに依存しないカーネルは /kernel/genunix です。プラットフォーム固有の構成要素は、/platform/`uname -m`/kernel/unix です。

カーネルモジュールについては、次の表で説明します。

表 5–2 Solaris カーネルモジュール

場所 

内容 

/platform/`uname -m`/kernel

プラットフォーム固有のカーネル構成要素 

/kernel

システムのブートに必要なすべてのプラットフォームに共通のカーネル構成要素 

/usr/kernel

特定の命令セット内にあるすべてのプラットフォームに共通のカーネル構成要素 

システムは、ブート時にどのデバイスが接続されるかを判断します。さらに、カーネルは、それ自体を動的に構成して、必要なモジュールだけをメモリーにロードします。ディスクデバイスやテープデバイスなどのデバイスがはじめてアクセスされると、対応するデバイスドライバがロードされます。このプロセスは、「自動構成」と呼ばれます。これは、すべてのカーネルモジュールが、必要に応じて自動的にロードされるためです。

/etc/system ファイルを修正することによって、カーネルモジュールがロードされる方法をカスタマイズできます。このファイルを修正する方法については、system(4) のマニュアルページを参照してください。

自動構成の機能と利点

自動構成の利点は次のとおりです。

自動構成プロセスは、新しいデバイス (およびドライバ) をシステムに追加するときに使用されます。デバイスがホットプラグ対応でない場合は、システムの再構成ブートを実行して、システムに新しいデバイスを認識させる必要があります。ホットプラグ対応デバイスについては、第 6 章デバイスの動的構成 (手順)を参照してください

標準サポートされていないデバイスを使用する場合

Solaris リリースには、各種の標準デバイスをサポートするために必要なデバイスドライバが組み込まれています。これらのドライバは、/kernel/drv および /platform/`uname -m`/kernel/drv ディレクトリにあります。

ただし Solaris で標準にサポートされていないデバイスを購入した場合は、その製造元から、デバイスを正しくインストール、保守、管理するために必要なソフトウェアを提供してもらう必要があります。

そのようなデバイス用ソフトウェアには、少なくともデバイスドライバとその関連設定 (.conf) ファイルが含まれます。.conf ファイルは、drv ディレクトリにもあります。また、サポートされていないデバイスは、Solaris で提供されるユーティリティーと互換性を持たないので、保守および管理用のユーティリティーが必要になる場合があります。

サポートされていないデバイスに必要な対策については、デバイスのご購入先にお問い合わせください。

デバイス構成情報の表示

システムとデバイスの構成情報を表示するには、次の 3 つのコマンドを使用します。

コマンド 

説明 

マニュアルページ 

prtconf

メモリーの総量、システムのデバイス階層によって記述されたデバイス構成を含む、システム構成情報を表示します。このコマンドによる出力は、システムのタイプによって異なります。 

prtconf(1M)

sysdef

システムハードウェア、疑似デバイス、ロード可能なモジュール、および指定のカーネルパラメータを含む、デバイス構成情報を表示します。  

sysdef(1M)

dmesg

最後のリブート以降にシステムに接続されたデバイスのリストと、システム診断情報を表示します。 

dmesg(1M)

システムのデバイスの識別に使用されるデバイス名については、「デバイス名の命名規則」を参照してください。

driver not attached メッセージ

次のドライバ関連メッセージが、prtconf コマンドと sysdef コマンドによって表示されることがあります。


device, instance #number (driver not attached)

このメッセージは、このデバイスのドライバが使用できないことをいつも示すわけではありません。このメッセージは、ノードにデバイスがないか、あるいはデバイスが使用中ではないために、デバイスインスタンスに「現在」接続されているドライバがないことを示します。ドライバは、デバイスがアクセスされると自動的にロードされます。それらのドライバは、デバイスが使用されなくなるとアンロードされます。

Procedureシステム構成情報を表示する方法

prtconf および sysdef コマンドの出力から、システムに接続されているディスク、テープ、および DVD デバイスを識別できます。デバイスインスタンスの出力の横に driver not attached メッセージが表示されます。これらのデバイスは、何らかのシステムプロセスによって常に監視されているため、「driver not attached」メッセージは通常、そのデバイスインスタンスにデバイスがないことを示す良い標識になります。

疑似デバイス、ロード可能なモジュール、および指定のカーネルパラメータを含むシステム構成情報を表示するには、sysdef コマンドを使用してください。

  1. システムおよびデバイスの構成情報を表示します。

    • システムに接続されているすべてのデバイスを表示します。

      たとえば、SunBlade 1000 に対する次の prtconf -v の出力は、システムに接続されているディスクデバイスを識別しています。ディスクの詳細情報は、Device Minor Nodes セクションの ssd/fp ドライバセクションに表示されます。


      $ /usr/sbin/prtconf -v | more
      .
      .
      .
                  Device Minor Nodes:
                     dev=(118,8)
                        dev_path=/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w210000
      2037bde864,0:a
                            spectype=blk type=minor
                            dev_link=/dev/dsk/c0t1d0s0
                        dev_path=/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w210000
      2037bde864,0:a,raw
                            spectype=chr type=minor
                            dev_link=/dev/rdsk/c0t1d0s0
                     dev=(118,9)
                        dev_path=/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w210000
      2037bde864,0:b
                            spectype=blk type=minor
                            dev_link=/dev/dsk/c0t1d0s1
                        dev_path=/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w210000
      2037bde864,0:b,raw
      .
      .
      .
    • システムに接続されている特定のデバイスに関する情報を表示します。

      たとえば、SunBlade 1000 に対する次の prtconf の出力は、/dev/dsk/c0t1d0s0ssd インスタンス番号を示しています。


      # prtconf -v /dev/dsk/c0t1d0s0
      ssd, instance #1
    • システムに接続されているデバイスだけを表示します。


      # prtconf | grep -v not
      
    • デバイスの使用状況を表示します。

      たとえば、次の fuser コマンドは、どのプロセスが /dev/console デバイスにアクセスしているかを示しています。


      # fuser -d /dev/console
      /dev/console:      346o     323o

例 5–1 システム構成情報の表示

SPARC システムでは、次の prtconf 出力が表示されます。


# prtconf
System Configuration:  Sun Microsystems  sun4u
Memory size: 512 Megabytes
System Peripherals (Software Nodes):

SUNW,Sun-Blade-1000
    scsi_vhci, instance #0
    packages (driver not attached)
        SUNW,builtin-drivers (driver not attached)
        deblocker (driver not attached)
        disk-label (driver not attached)
        terminal-emulator (driver not attached)
        obp-tftp (driver not attached)
        dropins (driver not attached)
        kbd-translator (driver not attached)
        ufs-file-system (driver not attached)
    chosen (driver not attached)
    openprom (driver not attached)
        client-services (driver not attached)
    options, instance #0
    aliases (driver not attached)
    memory (driver not attached)
    virtual-memory (driver not attached)
    SUNW,UltraSPARC-III, instance #0
    memory-controller, instance #0
    SUNW,UltraSPARC-III, instance #1
    memory-controller, instance #1
    pci, instance #0
        ebus, instance #0
            flashprom (driver not attached)
            bbc (driver not attached)
            ppm, instance #0
            i2c, instance #0
                dimm-fru, instance #0
                dimm-fru, instance #1
                dimm-fru, instance #2
                dimm-fru, instance #3
                nvram, instance #4
                idprom (driver not attached)
            i2c, instance #1
                cpu-fru, instance #5
                temperature, instance #0
                cpu-fru, instance #6
                temperature, instance #1
                fan-control, instance #0
                motherboard-fru, instance #7
                i2c-bridge (driver not attached)
            beep, instance #0
            rtc, instance #0
            gpio (driver not attached)
            pmc (driver not attached)
            floppy (driver not attached)
            parallel (driver not attached)
            serial, instance #0
        network, instance #0
        firewire, instance #0
        usb, instance #0
        scsi (driver not attached)
            disk (driver not attached)
            tape (driver not attached)
        scsi (driver not attached)
            disk (driver not attached)
            tape (driver not attached)
    pci, instance #1
        SUNW,qlc, instance #0
            fp (driver not attached)
                disk (driver not attached)
            fp, instance #1
                ssd, instance #1
                ssd, instance #0 (driver not attached)
                ssd, instance #2 (driver not attached)
                ssd, instance #3 (driver not attached)
                ssd, instance #4 (driver not attached)
                ssd, instance #5 (driver not attached)
                ssd, instance #6 (driver not attached)
    upa, instance #0
        SUNW,ffb, instance #0 (driver not attached)
    ppm, instance #0
    pseudo, instance #0

x86 システムからは、次の sysdef 出力が表示されます。


# sysdef
* Hostid
*
  29f10b4d
*
* i86pc Configuration
*
*
* Devices
*
+boot (driver not attached)
memory (driver not attached)
aliases (driver not attached)
chosen (driver not attached)
i86pc-memory (driver not attached)
i86pc-mmu (driver not attached)
openprom (driver not attached)
options, instance #0
packages (driver not attached)
delayed-writes (driver not attached)
itu-props (driver not attached)
isa, instance #0
	motherboard (driver not attached)
	pnpADP,1542, instance #0
	asy, instance #0
	asy, instance #1
	lp, instance #0 (driver not attached)
	fdc, instance #0
		fd, instance #0
		fd, instance #1 (driver not attached)
	kd (driver not attached)
	kdmouse (driver not attached)
.
.
.

システムへ周辺デバイスを追加する

プラグイン不可の新しい周辺デバイスを追加する場合、通常、次の作業が必要になります。

システムにホットプラグインできない次のデバイスを追加する場合は、「周辺デバイスを追加する方法」の手順に従ってください。

場合によっては、新しいデバイスをサポートするために、他社製のデバイスドライバを追加しなければなりません。

ホットプラグ対応デバイスについては、第 6 章デバイスの動的構成 (手順)を参照してください。

Procedure周辺デバイスを追加する方法

  1. スーパーユーザーになります。

  2. (省略可能) デバイスをサポートするためにデバイスドライバを追加する必要がある場合は、「デバイスドライバを追加する方法」の手順を実行します。

  3. /reconfigure ファイルを作成します。


    # touch /reconfigure
    

    この /reconfigure ファイルがあると、Solaris ソフトウェアは、次にシステムに電源を入れたときまたはブートしたときに、新しくインストールされたデバイスがないかどうかを検査します。

  4. システムをシャットダウンします。


    # shutdown -i0 -g30 -y
    
    -i0

    システムを init 0 状態に戻します。システムの電源を落としてデバイスの追加、削除を行うのに適した状態になります。

    -g30

    システムを 30 秒以内にシャットダウンします。デフォルト値は 60 秒です。

    -y

    ユーザーの介入なしに、システムのシャットダウンを続けます。このオプションを指定しないと、シャットダウンプロセスを続けるかどうか、プロンプトでたずねられます。

  5. システムがシャットダウンしたら、次のいずれかを選択して電源を落とします。

    • SPARC プラットフォームでは、ok プロンプトが表示されたら電源を落としても安全です。

    • x86 プラットフォームでは、type any key to continue プロンプトが表示されたら電源を落としても安全です。

  6. すべての周辺デバイスの電源を落とします。

    周辺デバイスの電源スイッチの位置については、各自の周辺デバイスに添付のハードウェアマニュアルを参照してください。

  7. 周辺デバイスをインストールして、追加するデバイスのターゲット番号がシステム上のほかのデバイスとは異なることを確認します。

    通常、ターゲット番号を選択するための小さいスイッチがディスクの裏側に付いています。

    デバイスの設置と接続については、周辺デバイスに添付のハードウェアマニュアルを参照してください。

  8. システムの電源を入れます。

    システムがブートされてマルチユーザーモードになり、ログインプロンプトが表示されます。

  9. 周辺デバイスにアクセスし、そのデバイスが追加されたことを確認してください。

    デバイスにアクセスする方法については、「デバイスへのアクセス」を参照してください。

Procedureデバイスドライバを追加する方法

この手順では、デバイスがすでにシステムに追加されていることを前提としています。追加されていない場合は、「標準サポートされていないデバイスを使用する場合」を参照してください。

  1. スーパーユーザーになります。

  2. テープ、フロッピーディスク、または DVD をドライブに入れます。

  3. ドライバをインストールします。


    # pkgadd [-d] device package-name
    
    -d device

    パッケージを含むデバイスのパス名を指定します。

    package-name

    デバイスドライバを含むパッケージ名を指定します。

  4. パッケージが正常に追加されたことを確認します。


    # pkgchk package-name
    #

    パッケージが正しくインストールされている場合は、何も表示されません。


例 5–2 デバイスドライバを追加する

次の例では、XYZdrv というパッケージをインストールして確認します。


# pkgadd XYZdrv
(licensing messages displayed)
.
.
.
Installing XYZ Company driver as <XYZdrv>
.
.
.
Installation of <XYZdrv> was successful.
# pkgchk XYZdrv
#

デバイスへのアクセス

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

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

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

デバイスの管理方法

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 章リムーバブルメディアへのアクセス (手順)を参照してください。