Solaris 移行ガイド

第 7 章 デバイスの管理

この章では、SunOS 5.7 のデバイス命名規則について説明し、さらにディスクに関する情報の表示、システムへのデバイスの追加、ボリュームマネージャなど、デバイスに関連する作業の変更について説明します。

デバイス命名規則

SunOS 5.7 プラットフォームのデバイス命名規則は、SunOS 4 から変更されました。さらに、特殊なデバイス名を含む /dev ディレクトリは、平坦なディレクトリからデバイスの種類ごとに個別のサブディレクトリを持つ階層型ディレクトリに変更されました。たとえば、ディスクデバイスファイルは /dev/dsk にあり、raw ディスクは /dev/rdsk にあります。

デバイス名を引数として使用する SunOS 5.7 コマンドは、SunOS 5.7 のデバイス命名規則に従う必要があります。ただし、SunOS/BSD ソース互換パッケージをインストールしている場合は、SunOS 4 のデバイス名を使用し、認識することができます。詳細については、『Source Compatibility Guide』を参照してください。

ディスクに関する規則

ディスクパーティションスライス番号 (0 から 7) は、前の SunOS リリースのパーティションの a から h に相当します。

Graphic
注 -

ほとんどの SCSI ディスクにはコントローラが組み込まれています。これは、ドライブ番号は常に「0」で、ターゲット番号が変わることを意味します。たとえば、外部ディスクドライブの後部スイッチが「2」に設定されている場合、第 1 番目のスライスのデバイス名は /dev/dsk/c0t0d2s0 ではなく /dev/dsk/c0t2d0s0 です。


SCSI ターゲット 0 と 3 の名前は、一部の Sun4c システムでは予約されているため、デバイス名が混乱する可能性があります。SunOS 4.1.x ソフトウェアでは、SCSI ターゲット 3 は sd0() となっていましたが、現在では c0t3d0 となっています。SCSI ターゲット 0 は sd3() となっていましたが、現在は c0t0d0 です。他のSCSI ディスク名は、規則どおりに変換されます。たとえば、SunOS 5.7 ソフトウェアの sd2a は、c0t2d0s0 となり、sd2bc0t2d0s1 となります。

テープドライブに関する規則

Graphic

表 7-1 に、SunOS 4 と SunOS 5.7 のデバイス命名規則を比較した例をいくつか示します。

表 7-1 SunOS 4 と SunOS 5.7 のデバイス名

デバイスの種類 

SunOS 4 デバイス名 

SunOS 5.7 デバイス名

ディスクデバイス

/dev/sd0g

/dev/dsk/c0t3d0s6

 

/dev/rsd3b

/dev/rdsk/c0t0d0s1

 

/dev/rsd3a

/dev/rdsk/c0t0d0s0

磁気テープデバイス 

/dev/nrmt8

/dev/rmt/8hn

 

/dev/rst0

/dev/rmt/0

CD-ROM デバイス

/dev/sr0

/dev/dsk/c0t6d0s2

ディスク情報の表示

SunOS 5.7 では、ディスク情報を表示するコマンドが変更されています。df(1M)du(1M) はまだ使用できますが、変更されています。dkinfo(8)devinfo(1M)prtvtocsysdef -d に置き換えられました。この節ではこれらの変更について概要を説明します。

互換パッケージをインストールしている場合は、SunOS 4 のコマンドが /usr/ucb/df/usr/ucb/du の中にあります。

df コマンド

df コマンドは VFS アーキテクチャをサポートするために変更されました。他の VFS コマンドと同様に、これらのコマンドには汎用バージョンとファイルシステムバージョンがあります。SunOS 5.7 コマンドの構文は、SunOS 4 で使用されていたものとは大幅に異なります (詳細は、付録 A 「コマンドリファレンス」 を参照してください)。 VFS の詳細については、「仮想ファイルシステムアーキテクチャ」を参照してください。

df コマンドはキロバイト単位ではなく、512 バイトのブロック単位でディスク空間の状況を表示しますが、-k オプションを使用するとキロバイト単位で表示することができます。また、-t オプションの機能が異なっています。以前このオプションは、指定した形式 (たとえば、"nfs" または "4.2") のファイルシステムに出力を制限していました。SunOS 5.7 では、合計値を含めた完全なリストを表示します。

最後に、このコマンドに特殊デバイス名を指定するときは、SunOS 5.7 のデバイス命名規則を使用してください。詳細は、「デバイス命名規則」を参照してください。

du コマンド

du コマンドは、df コマンド同様に、キロバイト単位ではなく 512 バイトのブロック単位でディスクの使用状況を表示します。また、ディレクトリを読み込んだり、ファイルをオープンすることができない場合に、通常「何も出力しない」コマンドにメッセージを出力させる -r オプションもあります。

dkinfo コマンド

SunOS 4 の dkinfo コマンドは削除されました。デバイス情報を印刷するには、dkinfo ではなく prtvtoc(1M) を使用します。

prtvtoc コマンドは、ディスクのパーミッション情報を含む、ディスクのラベルに記録されている重要な情報を表示します。prtvtoc の詳細については、『Solaris のシステム管理 (第 1 巻)』を参照してください。

例 7-1 は、SunOS 5.7 prtvtoc コマンドの出力例を示します。


例 7-1 SunOS 5.7 prtvtoc コマンドの出力


# prtvtoc /dev/rdsk/c0t2d0s2
* /dev/rdsk/c0t2d0s2 partition map
*
* Dimensions:
*     512 bytes/sector
*      36 sectors/track
*       9 tracks/cylinder
*     324 sectors/cylinder
*    1272 cylinders
*    1254 accessible cylinders
*
* Flags:
*   1: unmountable
*  10: read-only
*                        First   Sector      Last         Mount
* Partition  Tag  Flags  Sector   Count    Sector     Directory
       0       0     00       0   32724    32723         /
       1       0     00   32724   65448    98171
       2       0     00       0  406296   406295
       6       0     00   98172  308124   406295         /usr

devinfo コマンド

SunOS 4 の devinfo は、SunOS 5.7 とは互換性がありません。SunOS 4 に似た出力を作成するには、-v オプションを付けて prtconf を使用してください。

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

ブート時に、システムは接続されているすべてのデバイスのセルフテストとチェックを行います。システムに新しいデバイスを追加した後、boot -r を使用してカーネルの動的な再構成を行なってください。再構成スクリプトが実行されて、モジュールのディレクトリに登録されているすべてのデバイスドライバをロードし、対応するハードウェアノードを作成します。詳細は kernel(1M) のマニュアルページを参照してください。

また、boot -a を使用してシステムにドライバまたはモジュールを対話形式で追加することができますが、この場合は、何をブートするのか、ルートファイルシステムはどこにあるのかなど、他のブートパラメータを入力するように求められますので注意してください。

システムファイルとカーネルモジュールへのパスは、/etc/system に格納されています。システムをブートすると、/etc/system にある情報を読み出し、どのモジュールをロードするかを決定します。system(4) ファイルの MODDIR 構文、または boot -a を使用すれば、別のパスを指定できます。

boot(1m) またはデバイスとドライバの追加についての詳細は、『Solaris のシステム管理 (第 1 巻)』を参照してください。

動的再構成

Solaris 7 をインストールした特定の SPARC サーバで動的再構成を使用できます。この編成では、サービスプロバイダが実行中のシステムでホットプラグ対応のシステム I/O ボードを着脱できるので、リブートする必要はありません。また、交換したボードをただちに使用できない場合、システム管理者は、動的再構成でそのボードを無効にしたままシステムの動作を継続させることが可能です。

使用中のサーバが動的再構成をサポートしているかどうかについては、ハードウェア製造業者のマニュアルを参照してください。

ボリュームマネージャの使用

Solaris 2.2 ソフトウェア以降、ソフトウェアの新しいレイヤであるボリュームマネージャが CD-ROM やフロッピーディスク装置を管理しています。このソフトウェアは、ユーザと CD およびフロッピーディスク間のやりとりを自動化します。

OpenWindows と CDE のファイルマネージャは、ボリュームマネージャを使用できるように変更されており、ファイルシステムを持つ CD とフロッピーディスクにユーザがすばやくアクセスできるように、ファイルマネージャが変更されています。ファイルマネージャの新しい機能についての詳細は、『OpenWindows ユーザーズガイド』を参照してください。

また、システム上でボリュームマネージャの管理に役立つ新しいコマンドもいくつか追加されています。

ボリュームマネージャは、取り外し可能な媒体がデバイスに挿入されると、CD とフロッピーディスクのファイルシステムを自動的にマウントします。CD またはフロッピーディスクにファイルシステムがある場合は、 表 7-2 に示す位置に自動的にマウントされます。

表 7-2 ファイルシステムをもつ CD-ROM とフロッピーディスクの位置

媒体 

位置 

CD

/cdrom/cdrom_name

フロッピーディスク

/floppy/floppy_name

CD またはフロッピーディスクにファイルシステムがない場合は、表 7-3 に示す位置でアクセスできます。

表 7-3 ファイルシステムのない CD-ROM とフロッピーディスクの位置

媒体 

位置 

CD

/vol/dev/aliases/cdrom0

フロッピーディスク

/vol/dev/aliases/floppy0

セキュリティ上の理由から、これらのファイルシステムは setuid を有効にしてマウントされます。このマウントオプションとその他のマウントオプションについての詳細は、 mount(1M) のマニュアルページを参照してください。

ボリュームマネージャの構成およびフロッピーディスクと CD-ROM の使用方法についての詳細は、『Solaris のシステム管理 (第 1 巻)』を参照してください。

ボリュームマネージャの各コマンドのマニュアルページも用意されています。以下のマニュアルページを参照してください。

rmmount(1)rmmount.conf(4)volcancel(1)
volcheck(1)vold(1M)volmgt(3)
vold.conf(4)volfs(7)volmissing(1)


注 -

現在、ボリュームマネージャは、次の CD-ROM パスを制御します。

/dev/dsk/c0t6d0s0

/dev/rdsk/c0t6d0s0

次のフロッピーディスクパスを制御します。

/dev/diskette

/dev/rdiskette

これらのパスを使用して CD やフロッピーディスクをマウントまたはアクセスしようとすると、エラーメッセージが表示されます。


表 7-4 に示すように、ボリュームマネージャの管理用に新しいコマンドが追加されています。

表 7-4 ボリュームマネージャのコマンド

コマンド 

説明 

rmmount(1)

取り外し可能な媒体のマウンタ。CD やフロッピーディスクがインストールされたときに vold によって使用され、/cdrom および /floppy を自動的にマウントする。

volcancel(1)

特定の CD やフロッピーディスクにアクセスするユーザの要求をキャンセルする。 

volcheck(1)

インストールされたについてドライブをチェックする。デフォルトでは、/dev/diskette によって示されたドライブをチェックする。

volmissing(1)

ドライブにない CD やフロッピーディスクにアクセスを試みると、ユーザにそのことを通知する。 

vold(1)

/etc/vold.conf によって制御されるボリュームマネージャのデーモン

また、ボリュームマネージャの動作を定義するため、2 つの構成ファイル、/etc/vold.conf/etc/rmmount.conf があります。これらのファイルの説明については rmmount.conf(4)rmmount.conf(4) のマニュアルページを参照してください。また、CD-ROM とフロッピーディスクの管理については、『Solaris のシステム管理 (第 1 巻)』を参照してください。