古いスタイルのデバイス命名規則とオペレーティング・システムの Version 5.0 で導入された新しいデバイス命名規則の比較 (A.1 節)
新しい命名規則を使用した,デバイス特殊ファイル名の作成 (A.2 節)
デバイス名の割り当て方法 (既存のディスクを移動し,新しいディスクを追加したときに割り当てられるデバイス名の例を含む) (A.3 節)
フル・インストレーションの際のデバイス名の保護 (A.4 節)
アップデート・インストレーションでの,古いデバイス名と新しいデバイス名のマッピング方法 (A.5 節)
システムに接続されているデバイスの詳細情報の取得方法 (A.6 節)
Version 5.0 より前のバージョンのオペレーティング・システムでは,すぺてのデバイスは
/dev
ディレクトリに存在しており,表 A-1
に示すような名前が使用されていました。
表 A-1: 古いデバイス命名規則
デバイス・タイプ | ディレクトリ | 命名規則 |
汎用 | /dev |
std,drum,kmem,mem,null,trace,tty,local |
ディスク | /dev |
rz*,ra*,re* |
テープ | /dev |
tz*,ta* |
端末 | /dev |
pty |
プリンタ | /dev |
- |
オペレーティング・システムの Version 5.0 以降では,表 A-2
のように,デバイスのクラスごとに別のサブディレクトリが用意されています。
表 A-2: Version 5.1B のデバイス命名規則
デバイス・タイプ | ディレクトリ | 命名規則 |
汎用 | /dev/generic |
|
ディスク | /dev/disk,/dev/rdisk |
dsk,floppy,cdrom,worm,optical |
テープ | /dev/tape,/dev/ntape |
9trk,qic,8mm,3480,dlt,dat |
端末 | /dev/term |
serial,ptm,pts,ptm_v,pts_v |
プリンタ | /dev/printer |
lp |
Logical Storage Manager (LSM) | /dev/vol ,
/dev/rvol |
rootdg/root_vol, rootdg/swap_vol, rootdg/usr_vol |
ディレクトリ名と実際のデバイス名は,実体を推測しやすい名前になっています。 ただし,注意が必要な例外がいくつかあります。
disk,rdisk
disk
サブディレクトリは,ブロック型デバイスのノードを表しています。
rdisk
サブディレクトリは,キャラクタ型デバイスのノードを表しています。
tape,ntape
tape
サブディレクトリは,クローズ時にリワインドされるタイプのデバイスのノードを表しています。
ntape
サブディレクトリは,クローズ時にリワインドされないタイプのデバイスのノードを表しています。
表 A-3
に,古いスタイルのデバイス名と現在のデバイス名の対応を示します。
表 A-3: 古いスタイルのデバイス名と新しいスタイルのデバイス名の対応
デバイス | 古いデバイス名 | 新しいデバイス名 |
システム・ディスク,キャラクタ型デバイス | /dev/rrz0a |
/dev/rdisk/dsk0a |
システム・ディスク,ブロック型デバイス | /dev/rz0a |
/dev/disk/dsk0a |
フロッピィ・ドライブ | /dev/fd0c |
/dev/disk/floppy0c |
CD-ROM | /dev/rz4c |
/dev/disk/cdrom0c |
システムをブートするたびに,システムのハードウェアが走査され,新しいデバイス特殊ファイルが自動的に作成されます。
新しいデバイスをシステムに追加した場合に,システムをリブートすることなくデバイス特殊ファイルを作成したいときは,hwmgr
コマンドを使用します。
たとえば,次のコマンドを実行すると,新しいデバイスが追加されていないか
SCSI
バスが走査され,新しいデバイスのデバイス特殊ファイルが自動的に作成されます。
# hwmgr -scan scsi
注意
Version 5.0 のオペレーティング・システム以降では,
/dev/MAKEDEV
コマンドを使用してデバイス特殊ファイルを作成することはできなくなりました。
新しいデバイスが作成されると,そのデバイスには次に利用可能なデバイス名が割り当てられます。
システムが最初にインストールされたときに,システム上に存在するデバイスを確認するために,ハードウェアがチェックされます。
ハードウェアのチェックはバス 0/ターゲット 0 から始まり,バス 0 上の次のターゲットへと続きます。
その後,チェックはバス 1 へと続き,ターゲット 0 から開始して,すべてのターゲットがチェックされます。
新しいデバイスが検出されるたびに,そのデバイスには次に利用可能なデバイス名 (0 から開始) が割り当てられます。
表 A-4
に,この割り当ての例を示します。
表 A-4: デバイス名の割り当て
バス番号 | ターゲット番号 | 古いデバイス名 | 新しいデバイス名 | ワールドワイド ID |
0 |
0 |
rz0 |
dsk0 |
DEC100
[脚注 13]
|
0 |
4 |
rz4 |
dsk1 |
DEC101 |
1 |
3 |
rz11 |
dsk2 |
DEC102 |
1 |
6 |
rz14 |
dsk3 |
DEC103 |
1 |
7 |
rz15 |
dsk4 |
DEC104 |
物理ディスクにデバイス名が割り当てられた後は,バス上での位置が変っても,そのディスクのデバイス名は変わりません。
各物理ディスクには,製造時に固有のワールドワイド識別子が付与されています。
物理ディスクを新しいデバイス名に対応付けるときに使用されるのは,このワールドワイド識別子です。
つまり,ディスクは,デバイス名が変わることなく,バス上のスロット間で移動させることができます。
このため,ディスクをあるスロットから別のスロットへ移動したとしても,同じデバイス名でこのディスクを参照できます。
表 A-4
の例で,dsk0
というディスクをバス 0/ターゲット 0 からバス 1/ターゲット 4 に移動しても,そのディスクのデバイス名はもとのままです。
以前のリリースでは,このデバイスを
rz12
としてアクセスする必要がありましたが,新しいリリースではデバイス名は
dsk0
のままです。
これは,デバイス名がワールドワイド識別子に結び付いており,バス上でのディスクの位置には結び付いていないためです。
デバイスに新しいデバイス名が割り当てられた後は,システムをリブートしてもデバイスの名前は変わりません。
新しいデバイスには,次に利用できるデバイス名が割り当てられます。
表 A-4
の例では,DEC100
デバイス (dsk0
) がバス 0/ターゲット 0 からバス 1/ターゲット 4 に移動されたとします。
また,新しいデバイス (DEC099
) が,バス 0/ターゲット 0 でシステムに追加されたとします。
表 A-5
に,システムをリブートした時点での,新しいデバイス名を示します。
表 A-5: デバイスの移動および追加後のデバイス名割り当て
バス番号 | ターゲット番号 | 古いデバイス名 | 新しいデバイス名 | ワールドワイド ID |
0 | 0 | rz0 | dsk5 | DEC099 [脚注 14] |
0 |
4 |
rz4 |
dsk1 |
DEC101 |
1 |
3 |
rz11 |
dsk2 |
DEC102 |
1 | 4 | rz12 | dsk0 | DEC100 |
1 |
6 |
rz14 |
dsk3 |
DEC103 |
1 |
7 |
rz15 |
dsk4 |
DEC104 |
表 A-5
では,DEC100
デバイスは,別のバス/ターゲットに移動されたにもかかわらず,dsk0
というデバイス名のままであることを示しています。
新しいデバイス (DEC099
) には,次に利用可能なデバイス名 (dsk5
) が割り当てられています。
オペレーティング・システムからのデバイス情報の取得方法については,A.6 節を参照してください。
A.4 フル・インストレーションにおけるデバイス名の保護
フル・インストレーションを実行すると,既存のデバイス名データベースは失われます。 つまり,デバイスが検出された順に,新しいデバイス名が割り当てられます。 この新しい命名方法は,古いオペレーティング・システムで使用されていた命名方法と異なることがあります。 ただし,古い情報をフル・インストレーションの際に保存する方法があります。 この機能は,既存のデバイス名を使用するアプリケーションを,新しいバージョンのオペレーティング・システム上で使用したい場合に特に便利です。 デバイス命名データベースを保護しないと,アプリケーションが誤ったデバイスにアクセスする可能性があります。 フル・インストレーションの際にデバイス名を保護するには,次の手順を使用します。
システムをシャットダウンして,コンソール・モードにします。
# shutdown -h now
bootdef_dev
コンソール変数を調べます。
>>> show bootdef_dev
/
(ルート) ファイル・システムの置かれているディスクが
bootdef_dev
変数の値に設定されている場合は,フル・インストレーション・プロシージャが自動的にハードウェア・デバイス・データベースを保護するため,何もする必要はありません。
設定されていない場合は,次のステップに進みます。
bootdef_dev
変数の値が
/
ファイル・システムの置かれているディスクに設定されていない場合は,次のコマンドで設定します。
>>> set bootdef_dev dka0
フル・インストレーションを実行します。
フル・インストレーション・プロシージャは,以前のバージョンのオペレーティング・システムのデバイス・データベースを保護します。
この保護は,bootdef_dev
変数で指定されたデバイスをマウントし,必要なデバイス・データベース・ファイルを保存することによって行われます。
これらのファイルは,後で新しく作成されたシステム上に置かれます。
つまり,新しいシステムのデバイスは,以前のインストレーションの場合と全く同じようにマッピングされます。
以前のインストレーションのデバイス名を引き継ぎたくない場合は,bootdef_dev
コンソール変数に
" "
(二重引用符) を設定します。
A.5 アップデート・インストレーションでのデバイス名
アップデート・インストレーション・プロシージャは,古いデバイス名を,新しいデバイス名にマッピングします。
このため,新しいシステムには,古い
rz*
形式のデバイスと新しい
dsk*
形式のデバイスの両方が存在します。
古いデバイス名から新しいデバイス名へのマッピングは,/etc/dfsl.dat
ファイルにあります。
このマッピングは,システムのブートのたびに動的に決定されます。
これは,新しいデバイス名が変わることはありませんが,古いデバイス名はバスとターゲットの位置に従って変わるためです。
このため,ディスクをあるバスから別のバスへ移動した場合,古いデバイス名は変わりますが,新しいデバイス名は変わりません。
デバイスの命名規則についての詳細は,表 A-2
を参照してください。
注意
/etc/dfsl.dat
ファイルは変更しないでください。 このファイルは,カーネルがシステム・デバイスにアクセスするために使用するデータベースです。 このファイルを変更すると,デバイスが動作しなくなることがあります。
Version 5.1B より前のリリースでは,カーネルは同じデバイスを複数回マウントすることはありませんでした。
たとえば,以前のリリースでは,/dev/rz0a
を
/mnt
にマウントしてから,/dev/rz0a
を
/mnt1
にマウントすることはできませんでした。
この制限は,新しいリリースでも適用されます。
つまり,古いデバイス名をマウントしている状態で,新しいデバイス名を使用して同じデバイスをマウントしようとすると,このマウントは失敗します。
たとえば,/dev/rz0a
と
/dev/disk/dsk0a
が同じ物理ディスクにマッピングされている場合,/dev/rz0a
と
/dev/disk/dsk0a
を同時にマウントすることはできません。
A.6 デバイスの詳細情報の取得
ハードウェアの状態に関する情報を取得するには,次のようにします。
SysMan Station を使用すると,1 つのシステムまたはシステムのグループをモニタし,システム・リソースを管理できます。 システムに接続されているすべてのハードウェアを表示するように表示内容を設定することもできます。
root
ユーザとしてログインした場合は,SysMan Station はCDE のフロント・パネル上のアイコンから利用できます。
SysMan Station をコマンド行からオープンするには,次のように入力します。
# /usr/sbin/sysman -station &
Hardware Manager を使用すると,ハードウェア構成要素と,ハードウェア構成要素に関する情報を維持するハードウェア・サブシステムを管理できるようになります。
ハードウェア構成要素には,ディスクやテープなどのストレージ・デバイスや,CPU やバスなどのシステム構成要素があります。
hwmgr
ユーティリティを使用すると,シングル・システムとクラスタのどちらでもハードウェア構成要素を管理できます。
hwmgr
ユーティリティには,内部コマンドと汎用コマンドの 2 種類があります。
内部コマンドでは,コマンド・ラインでサブシステム ID を指定しません。
汎用コマンドでは,コマンド名の後にサブシステム ID を指定します。
Hardware Manager は,次のような汎用コマンド構文を使用します。
/sbin/hwmgr
command
[subsystem]
[parameters]
たとえば,次のコマンドを使用すると,システムに接続されているディスクのワールドワイド ID を調べることができます。
# hwmgr -get attribute -category disk
ユーティリティについての詳細や,コマンド・ラインのその他の例については,
hwmgr
(8)