以降の節では、Solaris OS でデバイスを管理する機能の概要を説明します。デバイスへのアクセスに関する情報については、「デバイスへのアクセス」を参照してください。
米国環境保護局では、エネルギー効率のよいコンピュータシステムの使用を奨励し、エネルギー生成に伴う大気汚染を削減する目的で、コンピュータ製品の省電力 (Energy Star) ガイドラインを作成しました。これらのガイドラインを満たすために、Sun のハードウェアは電力を効率的に使用するよう設計されています。また、電力管理設定を構成するための電力管理ソフトウェアも用意されています。
システムの電力管理方法については、お使いのハードウェアのマニュアルまたは power.conf(4) のマニュアルページを参照してください。
Sun システムの電源管理は、これまで多くの Solaris リリースで提供されてきました。たとえば、次のシステム上の内部ドライブは、デフォルトで電力管理対象になります。
SunBlade 1000 または 2000
SunBlade 100 または 150
SunBlade 2500 または 1500
/etc/power.conf ファイルのデフォルト設定を使用した場合、Energy Star 準拠が保証され、これらのシステムの電力管理が完全にサポートされます。
次のアダプタは、外部のファイバチャネルストレージデバイスを接続します。
Sun StorEdge PCI Dual Fibre Channel Host Adapter
Sun StorEdge PCI Single Fibre Channel Network Adapter
上記アダプタと Sun システムを組み合わせて外部ファイルチャネルストレージデバイスを接続する場合、それらの外部ストレージデバイスもデフォルトで電力管理対象になります。
次の場合は、電力管理を無効にする必要があります。
SAN (Storage Area Network) に接続されたファイバチャネル接続ディスクがシステム上に存在している場合
SunCluster ソフトウェアなどを使ってマルチイニシエータ構成で使用されるファイバチャネル接続ディスクがシステム上に存在している場合
システムがファイバチャネルインタフェース経由で IP を使用している場合 (fcip(7D) のマニュアルページを参照)
上記の場合のように同一のデバイスを複数の Solaris システムが共有している可能性がある場合には、電力管理を有効にすることはできません。
システムの電力管理を無効にするには、/etc/power.conf ファイル内の autopm キーワードを次のように変更します。
autopm disable |
続いて、電力管理を再構成するために、pmconfig コマンドを実行するか、システムをリブートします。
詳細については、power.conf(4) と pmconfig(1M) のマニュアルページを参照してください。
コンピュータは通常、広範囲の周辺デバイスと大容量ストレージデバイスを使用します。たとえば、各システムには、SCSI ディスクドライブ、キーボードとマウス、磁気バックアップメディアなどがあります。これ以外に一般に使用されるデバイスには、次のようなものがあります。
DVD ドライブ
プリンタとプロッタ
ライトペン
タッチセンサー式画面
デジタイザー
タブレットとスタイラスのペア
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 |
メモリーの総量、システムのデバイス階層によって記述されたデバイス構成を含む、システム構成情報を表示します。このコマンドによる出力は、システムのタイプによって異なります。 | |
sysdef |
システムハードウェア、疑似デバイス、ロード可能なモジュール、および指定のカーネルパラメータを含む、デバイス構成情報を表示します。 | |
dmesg |
最後のリブート以降にシステムに接続されたデバイスのリストと、システム診断情報を表示します。 |
システムのデバイスの識別に使用されるデバイス名については、「デバイス名の命名規則」を参照してください。
次のドライバ関連メッセージが、prtconf コマンドと sysdef コマンドによって表示されることがあります。
device, instance #number (driver not attached) |
このメッセージは、このデバイスのドライバが使用できないことをいつも示すわけではありません。このメッセージは、ノードにデバイスがないか、あるいはデバイスが使用中ではないために、デバイスインスタンスに「現在」接続されているドライバがないことを示します。ドライバは、デバイスがアクセスされると自動的にロードされます。それらのドライバは、デバイスが使用されなくなるとアンロードされます。
prtconf および sysdef コマンドの出力から、システムに接続されているディスク、テープ、および DVD デバイスを識別できます。デバイスインスタンスの出力の横に driver not attached メッセージが表示されます。これらのデバイスは、何らかのシステムプロセスによって常に監視されているため、「driver not attached」メッセージは通常、そのデバイスインスタンスにデバイスがないことを示す良い標識になります。
疑似デバイス、ロード可能なモジュール、および指定のカーネルパラメータを含むシステム構成情報を表示するには、sysdef コマンドを使用してください。
システムおよびデバイスの構成情報を表示します。
システムに接続されているすべてのデバイスを表示します。
たとえば、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/c0t1d0s0 の ssd インスタンス番号を示しています。
# prtconf -v /dev/dsk/c0t1d0s0 ssd, instance #1 |
システムに接続されているデバイスだけを表示します。
# prtconf | grep -v not |
デバイスの使用状況を表示します。
たとえば、次の fuser コマンドは、どのプロセスが /dev/console デバイスにアクセスしているかを示しています。
# fuser -d /dev/console /dev/console: 346o 323o |
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) . . . |