Oracle Solaris のシステム管理 (Oracle Solaris コンテナ : 資源管理と Oracle Solaris ゾーン)

非大域ゾーンでのデバイスの使用

あるゾーンのプロセスが別のゾーンで実行中のプロセスに干渉することがないよう、ゾーン内部で利用可能なデバイスセットには制限が課されています。たとえば、ゾーン内のプロセスが、カーネルメモリーおよびルートディスクの内容を変更することはできません。このため、デフォルトでは、ゾーン内で安全に利用可能であると見なされる特定の仮想デバイスだけを使用できます。zonecfg ユーティリティーを使用すると、利用可能なデバイスを特定のゾーンに追加できます。

/dev および /devices 名前空間

devfs(7FS) のマニュアルページで説明されているように、Solaris システムでは /devices の管理に devfs ファイルシステムが使用されます。この名前空間内の各要素は、ハードウェアデバイス、仮想デバイス、またはネクサスデバイスへの物理パスを表します。名前空間には、デバイスツリーが反映されます。したがって、ファイルシステムは、ディレクトリおよびデバイス特殊ファイルの階層により生成されます。

現在はルート (/) ファイルシステムの一部になっている /dev ファイル階層は、/devices 内に存在する物理パスへのシンボリックリンク (論理パス) で構成されています。アプリケーションは、/dev 内に存在するデバイスへの論理パスを参照します。/dev ファイルシステムは、読み取り専用のマウントを使用して、ゾーン内にループバックマウントされます。

/dev ファイル階層を管理するシステムは、次に示す構成要素で構成されます。


注意 – 注意 –

/devices パス名に依存するサブシステムは、/dev パス名が確立されるまで、非大域ゾーンでは実行できません。


排他使用のデバイス

デバイスを特定のゾーンに割り当てることが必要な場合があります。特権のないユーザーがブロックデバイスにアクセスできるようにすると、これらのデバイスの使用が許可されて、システムパニックやバスリセットなどの不具合が生じる場合があります。この種の割り当てを行う前に、次の点を考慮してください。

デバイスドライバの管理

modinfo(1M) のマニュアルページに記載されているように、非大域ゾーン内で modinfo コマンドを使用して、読み込まれたカーネルモジュールのリストを検査できます。

カーネル、デバイス、およびプラットフォームの管理に関係した大半の操作は、非大域ゾーンの内部では機能しません。これは、プラットフォームハードウェア構成を変更すると、ゾーンのセキュリティーモデルに違反するためです。これらの操作には、次のことが含まれます。

非大域ゾーンで動作しないか、変更されるユーティリティー

非大域ゾーンで動作しないユーティリティー

次のユーティリティーは、通常は使用できないデバイスに依存しているため、ゾーン内では動作しません。

SPARC: 非大域ゾーンでの使用に合わせて変更されたユーティリティー

eeprom ユーティリティーをゾーン内で使用して、設定を表示できます。このユーティリティーを使用して、設定を変更することはできません。詳細は、eeprom(1M) および openprom(7D) のマニュアルページを参照してください。