この章では、Solaris 環境のディスク、CD-ROM、テープデバイスなどの周辺デバイスを管理する方法について説明します。
この章で説明する手順は次のとおりです。
この章の内容は次のとおりです。
周辺デバイスへのアクセスについては、第 30 章「デバイスへのアクセス (概要)」を参照してください。
Solaris 環境のデバイス管理には、通常、システムでの周辺デバイスの追加と削除、デバイスをサポートするための Sun 以外のデバイスドライバの追加、システム構成情報の表示が含まれます。
次の表に、デバイスをホットプラグしたり、シリアルデバイス (プリンタやモデムなど) や周辺デバイス (ディスク、CD-ROM、テープデバイスなど) を追加したりする手順を説明している参照先を示します。
表 27–1 デバイスを追加する場合の参照先
デバイス管理作業 |
参照先 |
---|---|
ホットプラグ不可ディスクの追加。 | |
SCSI または PCI デバイスのホットプラグ |
cfgadm コマンドによる SCSI ホットプラグまたは x86: cfgadm コマンドによる PCI ホットプラグ |
USB デバイスのホットプラグ | |
CD-ROM またはテープデバイスの追加 | |
モデムの追加 |
『Solaris のシステム管理 (上級編)』の「端末とモデムの管理 (概要)」 |
プリンタの追加 |
『Solaris のシステム管理 (上級編)』の「印刷サービスの管理 (概要)」 |
コンピュータは通常、広範囲の周辺デバイスと大量記憶デバイスを使用します。たとえば、各システムには、SCSI ディスクドライブ、キーボードとマウス、磁気バックアップメディアなどがあります。これ以外に一般に使用されるデバイスには、CD-ROM ドライブ、プリンタとプロッタ、ライトペン、タッチセンサー式画面、デジタイザー、タブレットとスタイラスのペアがあります。
Solaris ソフトウェアは、これらのデバイスと直接には通信を行いません。各タイプのデバイスに異なるデータ形式、プロトコル、および転送速度が必要になります。
「デバイスドライバ」は、オペレーティングシステムが特定のハードウェアと通信できるようにする低レベルのプログラムです。このドライバは、そのハードウェアに対するオペレーティングシステムの「インタプリタ」として機能します。
プラットフォーム固有の構成要素を備えた汎用コアと、一連のモジュールからなるカーネルは、Solaris 環境で自動的に構成されます。
カーネルモジュールとは、システムで固有の作業を実行するために使用されるハードウェアまたはソフトウェアの構成要素のことです。「ロード可能」なカーネルモジュールの例としては、デバイスのアクセス時にロードされるデバイスドライバがあげられます。
プラットフォームに依存しないカーネルは /kernel/genunix です。プラットフォーム固有の構成要素は、/platform/`uname -m`/kernel/unix です。
カーネルモジュールについては、次の表で説明します。
表 27–2 カーネルモジュール
保存場所 |
内容 |
---|---|
/platform/`uname -m`/kernel |
プラットフォーム固有のカーネル構成要素 |
/kernel |
システムのブートに必要なすべてのプラットフォームに共通のカーネル構成要素 |
/usr/kernel |
特定の命令セット内にあるすべてのプラットフォームに共通のカーネル構成要素 |
システムは、ブート時にどのデバイスが接続されるかを判断します。さらに、カーネルは、それ自体を動的に構成して、必要なモジュールだけをメモリーにロードします。ディスクデバイスやテープデバイスなどのデバイスが初めてアクセスされると、対応するデバイスドライバがロードされます。このプロセスは、「自動構成」と呼ばれます。これは、すべてのカーネルモジュールが、必要に応じて自動的にロードされるためです。
/etc/system ファイルを修正することによって、カーネルモジュールがロードされる方法をカスタマイズできます。このファイルを修正する方法については、system(4) のマニュアルページを参照してください。
自動構成の利点は次のとおりです。
モジュールが必要に応じてロードされるため、主メモリーをより効率的に使用できる。
新しいデバイスがシステムに追加されるときに、カーネルを再構成する必要がない。
カーネルを再構成しないでドライバをロード、テストして、システムをリブートすることができる。
自動構成プロセスは、システム管理者が新しいデバイス (およびドライバ) をシステムに追加するときに使用されます。これは、再構成ブートを実行することによって行われるため、システムは新しいデバイスを認識することができます。
Solaris 環境には、各種の標準デバイスをサポートするために必要なデバイスドライバが組み込まれています。これらのドライバは、/kernel/drv および /platform/`uname -m`/kernel/drv ディレクトリにあります。
ただし Solaris で標準にサポートされていないデバイスを購入した場合は、そのメーカーから、デバイスを正しくインストール、保守、管理するために必要なソフトウェアを提供してもらう必要があります。
そのようなデバイス用ソフトウェアには、少なくともデバイスドライバとその関連設定 (.conf) ファイルが含まれます。.conf ファイルは、drv ディレクトリにもあります。また、サポートされていないデバイスは、Solaris で提供されるユーティリティと互換性を持たないので、保守および管理用のユーティリティが必要になる場合があります。
詳細は、デバイスのご購入先にお問い合わせください。
システムとデバイスの構成情報を表示するには、次の 3 つのコマンドを使用します。
コマンド |
マニュアルページ |
説明 |
---|---|---|
prtconf |
prtconf(1M) |
メモリーの総量、システムのデバイス階層によって記述されたデバイス構成を含む、システム構成情報を表示します。このコマンドによる出力は、システムのタイプによって異なります。 |
sysdef |
sysdef(1M) |
システムハードウェア、疑似デバイス、ロード可能なモジュール、および指定のカーネルパラメータを含む、デバイス構成情報を表示します。 |
dmesg |
dmesg(1M) |
最後のリブート以降にシステムに接続されたデバイスのリストと、システム診断情報を表示します。 |
システムのデバイスの識別に使用されるデバイス名については、デバイス名の命名規則を参照してください。
次のドライバ関連メッセージが、prtconf コマンドと sysdef コマンドによって表示されることがあります。
device, instance #number (driver not attached) |
このメッセージは、このデバイスのドライバが使用できないことをいつも示すわけではありません。このメッセージは、ノードにデバイスがないか、あるいはデバイスが使用中ではないために、デバイスインスタンスに「現在」接続されているドライバがないことを示します。ドライバは、デバイスがアクセスされると自動的にロードされ、デバイスが使用されなくなると自動的にアンロードされます。
prtconf および sysdef コマンドの出力から、システムに接続されているディスク、テープ、および CD-ROM デバイスを識別できます。デバイスインスタンスの出力の横に driver not attached メッセージが表示されます。これらのデバイスは、何らかのシステムプロセスによって常に監視されているため、「driver not attached」メッセージは通常、そのデバイスインスタンスにデバイスがないことを示す良い標識になります。
たとえば、次の prtconf 出力は、instance #3 と instance #6 のデバイスを識別しています。これは、最初の SCSI ホストアダプタ (esp, instance #0) のターゲット 3 のディスクデバイスと、ターゲット 6 の CD-ROM デバイスを示しています。
$ /usr/sbin/prtconf . . . esp, instance #0 sd (driver not attached) st (driver not attached) sd, instance #0 (driver not attached) sd, instance #1 (driver not attached) sd, instance #2 (driver not attached) sd, instance #3 sd, instance #4 (driver not attached) sd, instance #5 (driver not attached) sd, instance #6 . . . |
同じデバイス情報は、sysdef 出力からも得られます。
システム構成情報を表示するには、prtconf コマンドを使用してください。
# /usr/sbin/prtconf |
疑似デバイス、ロード可能なモジュール、および指定のカーネルパラメータを含むシステム構成情報を表示するには、sysdef コマンドを使用してください。
# /usr/sbin/sysdef |
SPARC システムでは、次の prtconf 出力が表示されます。
# prtconf System Configuration: Sun Microsystems sun4u Memory size: 128 Megabytes System Peripherals (Software Nodes): SUNW,Ultra-5_10 packages (driver not attached) terminal-emulator (driver not attached) deblocker (driver not attached) obp-tftp (driver not attached) disk-label (driver not attached) SUNW,builtin-drivers (driver not attached) sun-keyboard (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) pci, instance #0 pci, instance #0 ebus, instance #0 auxio (driver not attached) power, instance #0 SUNW,pll (driver not attached) se, instance #0 su, instance #0 su, instance #1 ecpp (driver not attached) fdthree, 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) . . . |
デバイス情報は、dmesg コマンドを使用して表示してください。
# /usr/sbin/dmesg |
この dmesg 出力は、システムコンソール上のメッセージとして表示され、最後のリブート以降に接続されたデバイスを表示します。
SPARC システムからは、次の dmesg 出力が表示されます。
# dmesg Jan 3 08:44:41 starbug genunix: [ID 540533 kern.notice] SunOS Release 5.9 ... Jan 3 08:44:41 starbug genunix: [ID 913631 kern.notice] Copyright 1983-2002 ... Jan 3 08:44:41 starbug genunix: [ID 678236 kern.info] Ethernet address = ... Jan 3 08:44:41 starbug unix: [ID 389951 kern.info] mem = 131072K (0x8000000) Jan 3 08:44:41 starbug unix: [ID 930857 kern.info] avail mem = 121888768 Jan 3 08:44:41 starbug rootnex: [ID 466748 kern.info] root nexus = Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz) . . . # |
x86 システムからは、次の dmesg 出力が表示されます。
# dmesg Jan 2 07:21:46 naboo genunix: [ID 540533 kern.notice] SunOS Release 5.9 Version ... Jan 2 07:21:46 naboo genunix: [ID 913631 kern.notice] Copyright 1983-2002 ... Jan 2 07:21:46 naboo genunix: [ID 897550 kern.info] Using default device ... Jan 2 07:21:46 naboo unix: [ID 168242 kern.info] mem = 130684K (0x7f9f000) Jan 2 07:21:46 naboo unix: [ID 930857 kern.info] avail mem = 116547584 Jan 2 07:21:46 naboo rootnex: [ID 466748 kern.info] root nexus = i86pc Jan 2 07:21:46 naboo rootnex: [ID 349649 kern.info] pci0 at root: ... Jan 2 07:21:46 naboo genunix: [ID 936769 kern.info] pci0 is /pci@0,0 Jan 2 07:21:46 naboo genunix: [ID 678236 kern.info] Ethernet address = ... . . . |
新しい (ホットプラグイン不可の) 周辺デバイスを追加する場合、通常、次の作業が必要になります。
システムのシャットダウン
システムへのデバイスの接続
システムのリブート
システムにホットプラグインできない次のデバイスを追加する場合は、周辺デバイスを追加する方法の手順に従ってください。
CD-ROM
二次ディスクドライブ
テープドライブ
SBUS カード
場合によっては、新しいデバイスをサポートするために、Sun 以外のデバイスドライバを追加しなければなりません。
ホットプラグインデバイスについては、第 28 章「デバイスの動的構成 (手順)」を参照してください。
スーパーユーザーになります。
デバイスをサポートするためにデバイスドライバを追加する必要がある場合は、デバイスドライバを追加する方法の手順 2 と 3 を実行します。
/reconfigure ファイルを作成します。
# touch /reconfigure |
この /reconfigure ファイルがあると、Solaris ソフトウェアは、次にシステムに電源を入れたときまたはブートしたときに、新しくインストールされたデバイスがないかどうかをチェックします。
システムをシャットダウンします。
# shutdown -i0 -g30 -y |
-i0 |
システムを init 0 状態に戻す。システムの電源を落としてデバイスの追加、削除を行うのに適した状態になる。 |
-g30 |
システムを 30 秒以内にシャットダウンする。デフォルト値は 60 秒。 |
-y |
ユーザーの介入なしに、システムのシャットダウンを続ける。このオプションを指定しないと、シャットダウンプロセスを続けるかどうか、プロンプトでたずねられる。 |
システムがシャットダウンしたら、次のいずれかを選択して電源を落とします。
SPARC プラットフォームでは、ok プロンプトが表示されたら電源を落としても安全です。
x86 プラットフォームでは、type any key to continue プロンプトが表示されたら電源を落としても安全です。
電源スイッチの位置については、各システムに添付のハードウェアマニュアルを参照してください。
すべての外部デバイスの電源を落とします。
周辺デバイスの電源スイッチの位置については、各自の周辺デバイスに添付のハードウェアマニュアルを参照してください。
周辺デバイスをインストールして、追加するデバイスのターゲット番号がシステム上の他のデバイスとは異なることを確認します。
ターゲット番号を選択するために、ディスクの裏側にある小さいスイッチを見つけてください。
デバイスの設置と接続については、周辺デバイスに添付のハードウェアマニュアルを参照してください。
システムの電源を入れます。
システムがブートされてマルチユーザーモードになり、ログインプロンプトが表示されます。
周辺デバイスにアクセスし、そのデバイスが追加されたことを確認してください。
デバイスにアクセスする方法については、第 30 章「デバイスへのアクセス (概要)」を参照してください。
この手順では、デバイスがすでにシステムに追加されていることを前提としています。追加されていない場合は、標準サポートされていないデバイスを使用する場合を参照してください。
スーパーユーザーになります。
テープ、フロッピーディスク、または CD-ROM をドライブに入れます。
ドライバをインストールします。
# pkgadd -d device package-name |
-d device |
パッケージを含むデバイスのパス名を指定する。 |
package-name |
デバイスドライバを含むパッケージ名を指定する。 |
パッケージが正常に追加されたことを確認します。
# pkgchk package-name # |
次の例では、XYZdrv というパッケージをインストールして確認します。
# pkgadd XYZdrv (ライセンス関連のメッセージが表示される) . . . Installing XYZ Company driver as <XYZdrv> . . . Installation of <XYZdrv> was successful. # pkgchk XYZdrv # |