あるゾーンのプロセスが別のゾーンで実行中のプロセスに干渉することがないよう、ゾーン内部で利用可能なデバイスセットには制限が課されています。たとえば、ゾーン内のプロセスが、カーネルメモリーおよびルートディスクの内容を変更することはできません。このため、デフォルトでは、ゾーン内で安全に利用可能であると見なされる特定の仮想デバイスだけを使用できます。zonecfg ユーティリティーを使用すると、利用可能なデバイスを特定のゾーンに追加できます。
devfs(7FS) のマニュアルページで説明されている devfs ファイルシステムは、Oracle Solaris システムによって /devices の管理に使用されます。この名前空間内の各要素は、ハードウェアデバイス、仮想デバイス、またはネクサスデバイスへの物理パスを表します。名前空間には、デバイスツリーが反映されます。したがって、ファイルシステムは、ディレクトリおよびデバイス特殊ファイルの階層により生成されます。
デバイスは相対 /dev 階層に従ってグループ化されます。たとえば、大域ゾーンの /dev の下のすべてのデバイスは、大域ゾーンのデバイスとしてグループ化されます。非大域ゾーンの場合、デバイスはゾーンのルートパスの下の /dev ディレクトリでグループ化されます。各グループは、/dev ディレクトリの下にマウントされた /dev ファイルシステムのインスタンスです。したがって、大域ゾーンのデバイスは /dev の下にマウントされ、my-zone という非大域ゾーンのデバイスは /my-zone/root/dev の下にマウントされます。
/dev ファイル階層は、dev ファイルシステム (dev(7FS) のマニュアルページに記載) によって管理されます。
注意 - /devices パス名に依存するサブシステムは、非大域ゾーンで実行できません。/dev パス名を使用するようにサブシステムを更新する必要があります。 |
注意 - 非大域ゾーンに /dev/zvol 内のデバイスと一致するデバイスリソースがある場合、非大域ゾーン内で名前空間の競合が発生する可能性があります。詳細は、dev(7FS) のマニュアルページを参照してください。 |
デバイスを特定のゾーンに割り当てることが必要な場合があります。特権のないユーザーがブロックデバイスにアクセスできるようにすると、これらのデバイスの使用が許可されて、システムパニックやバスリセットなどの不具合が生じる場合があります。この種の割り当てを行う前に、次の点を考慮してください。
SCSI テープデバイスを特定のゾーンに割り当てる前に、sgen(7D) のマニュアルページを参照してください。
物理デバイスを複数のゾーンに配置する場合、ゾーン間に隠れたチャネルが作成される場合があります。大域ゾーンアプリケーションでこの種のデバイスを使用すると、非大域ゾーンによるデータ整合性の損失や、データの破壊が発生する危険があります。
modinfo(1M) のマニュアルページに記載されているように、非大域ゾーン内で modinfo コマンドを使用して、ロードされたカーネルモジュールのリストを検査できます。
カーネル、デバイス、およびプラットフォームの管理に関係した大半の操作は、非大域ゾーンの内部では機能しません。これは、プラットフォームハードウェア構成を変更すると、ゾーンのセキュリティーモデルに違反するためです。これらの操作には、次のことが含まれます。
ドライバの追加および削除
カーネルモジュールの明示的な読み込みおよび読み込み解除
動的再構成 (DR) 操作の開始
物理プラットフォームの状態に影響を与える機能の使用
次のユーティリティーは、通常は使用できないデバイスに依存しているため、ゾーン内では動作しません。
add_drv (add_drv(1M) のマニュアルページを参照)
disks (disks(1M) のマニュアルページを参照)
prtconf (prtconf(1M) のマニュアルページを参照)
prtdiag (prtdiag(1M) のマニュアルページを参照)
rem_drv (rem_drv(1M) のマニュアルページを参照)
eeprom ユーティリティーをゾーン内で使用して、設定を表示できます。このユーティリティーを使用して、設定を変更することはできません。詳細は、eeprom(1M) および openprom(7D) のマニュアルページを参照してください。
allowed-raw-io が有効にされている場合、次のユーティリティーをゾーンで使用できます。セキュリティーに関する考慮事項を評価する必要があります。デバイスを追加する場合、制限およびセキュリティーの懸念事項については、非大域ゾーンでのデバイスの使用、非大域ゾーンでのアプリケーションの実行、および非大域ゾーン内の特権を参照してください。
cdrecord ( cderecord (1) のマニュアルページを参照してください)。
cdrw (cdrw(1) のマニュアルページを参照)。
rmformat (rmformat(1) のマニュアルページを参照)。