Solaris のシステム管理 (第 1 巻)

第 18 章 ボリューム管理の動作 (参照情報)

この章では、取り外し可能な媒体を格納するためにボリューム管理が作成するマウントポイントとシンボリックリンクについて説明します。

この章で説明する内容は次のとおりです。

すべての取り外し可能な媒体のマウント

ボリューム管理は、/vol/dev の下にあるすべての CD-ROM とフロッピーディスクのドライブへのアクセスを提供します。

Graphic

フロッピーディスクへのアクセス

ボリューム管理は、/vol/dev のサブディレクトリ、つまり diskette0rdiskette0 から、システムのフロッピーディスクドライブへのアクセスを提供します。

Graphic

システムに 2 番目のフロッピーディスクドライブがある場合、ボリューム管理は、diskette1rdiskette1 という 2 番目の対のディレクトリを作成します。3 つ目のフロッピーディスクドライブの場合は、diskette2rdiskette2 という対が作成されます。ドライブが追加されるたびに、同様に対のディレクトリが作成されます。

diskette ディレクトリからはファイルシステムに、rdiskette ディレクトリからは raw データに、それぞれアクセスできます。フロッピーディスク自体は、ドライブディレクトリの下にあるサブディレクトリに示されます。この章の図では、ノードのいくつかは説明をわかりやすくするためにグレーで示されています。これは構造上の違いを示すものではありません。

Graphic

CD へのアクセス

CD の場合は、フロッピーディスクの場合と似ていますが、ブロックディレクトリと raw ディレクトリにそれぞれ /dsk および /rdsk という名前が付けられている点が異なります。また、CD-ROM デバイスは、実際にはこれらよりも 1 つ下のディレクトリにあります。

Graphic

上記の図では、そのディレクトリは c0t6 と命名されています。これは、特定システムのデバイス命名規則を反映しています。このため、使用するシステムによっては、ディレクトリが同じ形式であってもディレクトリ名が異なる場合があります。

ただし、CD 自体は、それらのデバイスに属するディレクトリの下にマウントされるという点で、フロッピーディスクと似た規則に従っています。

Graphic

したがって、1 つのフロッピーディスクドライブと 1 つの CD-ROM ドライブを備えたシステムの /vol/dev ファイルシステムは、次のようになります。

Graphic

(実際には、/vol/dev には、aliases という名前のサブディレクトリが含まれますが、これについては後で説明します。)

アクセスを容易にするためのマウントポイント

アクセスをより容易にするために、ボリューム管理は、/floppy および /cdrom という 2 つの特殊なマウントポイントを使用します。

Graphic

ボリューム管理は、/vol/dev/diskette0 および /vol/dev/dsk/c0t6 というディレクトリを、/floppy および /cdrom にマウントします。

Graphic

これらのマウントポイントがあるため、フロッピーディスクを挿入すると、/floppy/diskette-name でアクセスできます。同様に、CD を挿入すると、/cdrom/cd-name でアクセスできます。

Graphic

ただし、これらのマウントポイントは、適切なフォーマットが必要です。フロッピーディスクがフォーマットされていればマウントは成功しますが、フォーマットされていないと、マウントは失敗して、フロッピーディスクは /vol/dev/diskette0 でしか使用できません。フロッピーディスクは、「UFS フロッピーディスクをフォーマットする方法」または 「DOS フロッピーディスクをフォーマットする方法」の説明に従ってフォーマットできます。

システムに複数のドライブがある場合は、/floppy/floppy0/floppy/floppy1/cdrom/cdrom0 などの並列のディレクトリにマウントされます。

2 種類ののシンボリックリンク

ボリューム管理は、さらに次の 2 つの個別のシンボリックリンクセットを作成します。

ファイルシステムアクセス用シンボリックリンク

ファイルシステムアクセス用のシンボリックリンクは、ディレクトリ /floppy/floppy0/cdrom/cdrom0 を、最初のフロッピーディスクドライブに挿入されたフロッピーディスクと、最初の CD-ROM ドライブに挿入された CD にリンクします。

/floppy/floppy0 --> /floppy/name --> /vol/dev/diskette0/name

/cdrom/cdrom0 --> /cdrom/name --> /vol/dev/dsk/c0t6/CD-name

これらのリンクを使用すると、名前を知らないフロッピーディスクや CD にアクセスすることができます。リンク名 floppy0 または cdrom0 を名前の代わりに使用できます。

後続のドライブに挿入されたフロッピーディスクと CD は、表 14-3 に要約した命名規則に従います。

raw デバイスアクセス用シンボリックリンク

raw デバイスへのアクセスをさらに容易にするために、ボリューム管理は、/vol/dev の下に aliases ディレクトリを作成します。

Graphic

ボリューム管理は、aliases ディレクトリの下に、ブロック型アクセス用に使用されるものに似たシンボリックリンクのセットを作成します。つまり、raw データをアクセスする場合、これらのディレクトリは同等に扱うことができます。

/vol/dev/aliases/floppy0 --> /vol/dev/rdiskette0/diskette-name

/vol/dev/aliases/cdrom0 --> /vol/dev/rdsk/c0t6d0/cd-name

ファイルシステムアクセス用シンボリックリンクと同様、これらのリンクの目的は、raw データフロッピーディスクまたは CD の名前を知らなくても、アクセスできるようにすることにあります。つまり、/vol/dev/aliases/floppy0 および /vol/dev/aliases/cdrom0 の各リンク名を使用します。

上記の例は、フロッピーディスク用と CD 用にそれぞれ 1 つずつシンボリックリンクがある場合を示しています。システムに 2 つのフロッピーディスクまたは 2 つの CD がある場合は、次に示すように、それぞれに 1 つずつシンボリックリンクが作成されます。

Graphic

UFS フォーマットによる制限

UFS フォーマットは、アーキテクチャが異なると互換性がないため、それらがフォーマットされたアーキテクチャ上で使用する必要があります。たとえば、SPARC システム用にフォーマットされた UFS CD は、IA システムでは認識されません。 同様に、 IA システム用にフォーマットされた UFS CD は、ボリューム管理によって SPARC システム上にマウントすることはできません。同じ制限が、フロッピーディスクにもあてはまります。

したがって、ボリューム管理は、SPARC システム上の IA UFS 媒体を認識してマウントすることはできません。また、IA システム上の SPARC UFS 媒体も認識できません。

ほとんどの CD は、ISO 9660 標準 (High Sierra File System - HSFS) に従ってフォーマットされます。これは、ボリューム管理をまったく制限しないため、 CD において互換性が問題になることはほとんどありません。

フロッピーディスクの場合、UFS の互換性の問題は、CD の場合よりも頻繁に起こる可能性があります。これは、ユーザーがフォーマットを設定できるためです。あるアーキテクチャで UFS フロッピーディスクをフォーマットした場合、それを別のアーキテクチャでは使用できないことに注意してください (「UFS フロッピーディスクをフォーマットする方法」を参照してください)。

混合 (ハイブリッド) フォーマットについて

いくつかの CD、特にインストール用 CD には、混合フォーマットが含まれます。つまり、一部が UFS で、一部 ISO 9660 です。異なるフォーマットを格納するために、CD は、実質的にハードディスクのパーティションに似たスライスに分割されます。9660 部分は移植可能ですが、UFS 部分はアーキテクチャに固有です。さらに、CD をいくつかの異なるアーキテクチャで使用できるようにするために (異なる PROM アーキテクチャがシステムのブートに使用される可能性のあるインストールの場合などのために)、複数の UFS フォーマットが CD にロードされます。

Graphic

この場合ボリューム管理は、ローカルシステムのアーキテクチャに固有ではない UFS フォーマットを無視して、適切な UFS スライスと ISO 9660 スライスをマウントします。

Graphic

これらのスライスは、サブディレクトリとして、/vol/dev/dsk/c0t6/cdrom/cdrom0 の両方の下に現れます。


$ ls /cdrom/cdrom0
S0  S2
$ ls /vol/dev/dsk/c0t6
S0 S2