系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones

非全局区域中的设备使用

对区域中可用的一组设备进行了限制,以防止某个区域中的进程干扰在其他区域中运行的进程。例如,区域中的进程不能修改内核内存,也不能修改根磁盘的内容。因此,缺省情况下,只提供被视为可以在区域中安全使用的特定伪设备。在特定区域内,可使用 zonecfg 实用程序使其他设备变得可用。

/dev/devices 名称空间

Solaris 系统使用 devfs(7FS) 手册页中所述的 devfs 文件系统来管理 /devices。此名称空间中的每个元素都表示指向硬件设备、伪设备或 nexus 设备的物理路径。名称空间是设备树的一种表现形式。同样,文件系统由目录和特定于设备的文件分层结构填充。

现在作为 /(根)文件系统一部分的 /dev 文件分层结构由指向 /devices 中的物理路径的符号链接或逻辑路径组成。应用程序引用指向 /dev 中设备的逻辑路径。/dev 文件系统使用只读挂载回送挂载到区域。

/dev 文件分层结构由以下列出的组件所组成的系统进行管理:


注意 – 注意 –

在建立 /dev 路径名之前,依赖于 /devices 路径名的子系统不能在非全局区域中运行。


专用设备

可能拥有需要指定给特定区域的设备。允许非特权用户访问块设备可能会导致通过使用这些设备造成系统出现紧急情况、总线复位或其他不良影响。在进行此类指定之前,请考虑以下问题:

设备驱动程序管理

在非全局区域中,可以使用 modinfo(1M) 手册页中所述的 modinfo 命令来检查已装入的内核模块的列表。

大多数与内核、设备和平台管理相关的操作都不能在非全局区域内部执行,因为修改平台硬件配置会破坏区域安全模型。这些操作包括:

在非全局区域中无法使用或者修改的实用程序

无法在非全局区域中使用的实用程序

以下实用程序无法在区域中使用,因为它们所依赖的设备通常不存在:

SPARC: 修改为可在非全局区域中使用的实用程序

eeprom 实用程序可用于查看区域中的设置,但不能用于更改设置。有关更多信息,请参见 eeprom(1M)openprom(7D) 手册页。