Solaris zone的安装管理
来源:互联网 发布:监狱的公主 知乎 编辑:程序博客网 时间:2024/04/29 09:08
第 19 章 关于安装、停止和卸载非全局区域(概述)
本章介绍如何在您的 Solaris 系统上安装区域,同时还介绍管理虚拟平台和应用程序环境的两个进程,zoneadmd 和 zsched。此外,还提供了有关停止、重新引导和卸载区域的信息。
本章包含以下主题:
-
区域安装概念
-
区域构建
-
zoneadmd 守护进程
-
zsched 区域调度程序
-
区域应用程序环境
-
关于停止、重新引导和卸载区域
有关如何安装和引导非全局区域,或者停止或卸载非全局区域,请参见第 20 章,安装、引导、停止和卸载非全局区域(任务)。
区域安装概念
zoneadm(1M) 手册页中所述的 zoneadm 命令是用于安装和管理非全局区域的主要工具。必须从全局区域运行使用 zoneadm 命令的操作。可以使用 zoneadm 命令执行以下任务:
-
检验区域
-
安装区域
-
引导区域
-
显示有关正在运行的区域的信息
-
停止区域
-
重新引导区域
-
卸载区域
有关区域安装和检验过程,请参见第 20 章,安装、引导、停止和卸载非全局区域(任务)和 zoneadm(1M) 手册页。有关区域配置过程,请参见第 18 章,规划和配置非全局区域(任务)和 zonecfg(1M) 手册页。区域状态在非全局区域状态模型中介绍。
如果您打算为区域生成 Solaris 审计记录,请在安装非全局区域之前阅读在区域中使用 Solaris 审计。
区域构建
在配置了非全局区域之后,应检验是否可以在系统配置中安全安装此区域。然后您可以安装此区域。区域的根文件系统所需的文件由系统安装在区域的根路径下。成功安装了区域之后,便可进行初始登录和引导。
在 Solaris 安装中用于初始安装软件包的方法也可用于填充非全局区域。
全局区域必须包含填充非全局区域所需的所有数据。填充区域包括创建目录、复制文件以及提供配置信息。
从全局区域中填充区域时,只会使用在全局区域中通过软件包创建的信息或数据。有关更多信息,请参见 pkgparam(1) 和 pkginfo(4) 手册页。
安装区域时,不引用或复制以下数据:
-
未安装的软件包
-
修补程序
-
CD 和 DVD 上的数据
-
网络安装映像
-
区域的任何原型或其他实例
此外,以下信息类型(如果在全局区域中存在)也不会复制到正在安装的区域:
-
/etc/passwd 文件中的新用户或已更改的用户
-
/etc/group 文件中的新组或已更改的组
-
网络服务(例如 DHCP 地址分配、UUCP(UNIX 对 UNIX 复制)或 sendmail)的配置
-
网络服务(例如命名服务)的配置
-
新的或已更改的 crontab、打印机和邮件文件
-
系统日志、消息和记帐文件
如果使用 Solaris 审计,则可能需要对从全局区域复制的审计文件进行修改。有关更多信息,请参见在区域中使用 Solaris 审计。
不能在非全局区域中配置以下功能:
-
Solaris Live UpgradeTM 引导环境
-
Solaris Volume Manager 元设备
-
DHCP 地址分配
-
SSL 代理服务器
当区域从已安装状态转换为就绪状态时,便会添加在配置文件中指定的资源。系统会指定唯一的区域 ID。还将挂载文件系统,检测网络接口并配置设备。转换到就绪状态后,虚拟平台便准备好开始运行用户进程了。在就绪状态下,会启动 zsched 和 zoneadmd 进程来管理虚拟平台。
-
zsched 是一个类似于 sched 的系统调度进程,用于跟踪与区域关联的内核资源。
-
zoneadmd 是区域管理守护进程。
处于就绪状态的区域中不存在任何正在执行的用户进程。就绪区域与正在运行的区域之间的主要差异在于,正在运行的区域中至少有一个进程正在执行。有关更多信息,请参见 init(1M) 手册页。
zoneadmd 守护进程
区域管理守护进程 zoneadmd 是管理区域虚拟平台的主要进程。此守护进程还负责管理区域引导和关闭。对于系统上的每个活动(就绪、正在运行或正在关闭)区域,都有一个 zoneadmd 进程在运行。
zoneadmd 守护进程将按照区域配置中指定的方式设置区域。此过程包括以下操作:
-
分配区域 ID 并启动 zsched 系统进程。
-
设置区域范围的资源控制。
-
准备区域配置中指定的区域设备。有关更多信息,请参见 devfsadmd(1M) 手册页。
-
探测虚拟网络接口。
-
挂载回送文件系统和常规文件系统。
-
实例化和初始化区域控制台设备。
除非 zoneadmd 守护进程已经运行,否则它会由 zoneadm 自动启动。因此,如果此守护进程因某种原因没有运行,则调用 zoneadm 来管理区域时将重新启动 zoneadmd。
zoneadmd 守护进程的手册页为 zoneadmd(1M)。
zsched 区域调度程序
活动区域是指处于就绪状态、正在运行状态或正在关闭状态的区域。每个活动区域都有一个关联的内核进程 zsched。代表区域执行操作的内核线程由 zsched 所拥有。通过 zsched 进程,区域子系统可跟踪每个区域的内核线程。
区域应用程序环境
引导区域类似于引导常规的 Solaris 系统。zoneadm 命令用于创建区域应用程序环境。
在首次引导非全局区域之前,必须创建区域的内部配置。内部配置指定要使用的命名服务、缺省语言环境 (locale) 和时区、区域的超级用户口令,以及应用程序环境的其他方面。通过响应出现在区域控制台上的一系列提示来建立应用程序环境,如内部区域配置中所述。请注意,可以独立于全局设置来配置区域的缺省语言环境和时区。
关于停止、重新引导和卸载区域
本节概述了停止、重新引导和卸载区域的过程,还提供了区域在需要时无法停止的疑难解答提示。
停止区域
zoneadm halt 命令用于删除区域的应用程序环境和虚拟平台。然后,区域便恢复为已安装状态。将中止所有进程,取消设备配置,取消检测网络接口,卸载文件系统,以及破坏内核数据结构。
halt 命令不在区域内运行任何关闭脚本。有关如何关闭区域,请参见如何使用 zlogin 关闭区域。
如果无法破坏与区域关联的系统状态,则停止操作会中途失败。区域便会陷于中间状态,即介于正在运行和已安装状态之间。在此状态下,不存在任何活动的用户进程或内核线程,也无法创建它们。当停止操作失败时,您必须手动干预来完成此过程。
最常见的故障原因是系统无法卸载所有的文件系统。与破坏系统状态的传统 Solaris 系统关闭不同,区域一旦停止,就必须确保在引导区域或继续进行区域操作时没有执行任何挂载。即使 zoneadm 可确保区域中没有执行任何进程,但是如果全局区域中的进程在此区域中具有打开的文件,则卸载操作也会失败。请使用 proc(1)(请参见 pfiles)和 fuser(1M) 手册页中所述的工具来查找这些进程,并采取相应的操作。处理了这些进程之后,重新调用 zoneadm halt 会完全停止区域。
重新引导区域
zoneadm reboot 命令用于重新引导区域。区域将停止,然后再次引导。重新引导区域之后,区域 ID 会更改。
区域 autoboot
如果您在区域配置中将 autoboot 资源属性设置为 true,则引导全局区域时便会自动引导此区域。缺省设置为 false。
请注意,对于要自动引导的区域,还必须启用区域服务 svc:/system/zones:default。
卸载区域
zoneadm uninstall 命令用于卸载区域根文件系统下的所有文件。除非还使用了 -F(强制)选项,否则该命令会提示您确认此操作以继续执行。使用 uninstall 命令时应谨慎,因为此操作是无法恢复的。
- Solaris zone的安装管理
- Solaris zone的安装管理实例
- solaris 10 zone 安装
- Solaris zone的配置
- Solaris zone的配置实例
- Solaris 10的新特性Zone技术
- 不看死不瞑目的文档 :Solaris container - Solaris Zone
- 不看死不瞑目的文档 :Solaris container - Solaris Zone Example
- 备份Solaris local zone
- Solaris 10 zone(转)
- Solaris 下分zone
- Solaris系统下的虚拟环境-Zone
- 在Solaris zone的 /usr 下添加可写目录
- [Solaris] 将global zone的目录导出到local zone中
- Solaris的内存管理
- solaris的内存管理
- 登陆到Solaris local zone
- Solaris的gcc安装
- C语言基础教程(二)数据类型、变量和运算符
- 普通Dos命令应用
- 图灵机与计算问题
- ASP.NET视图状态验证MAC失败 解决办法
- 图灵机
- Solaris zone的安装管理
- 支持多线程的CLOG类
- 呵呵,今天开始开博,自己庆祝一下!
- DWR初学者笔记
- 中国的数据库什么时候才能到来!
- 构建线程安全类的几点总结
- Solaris zone的安装管理实例
- 事隔一年写第二篇文章
- 多线程:一个理解wait()与notify()的例子