本章介绍如何安装和引导 lx 标记区域,还介绍了以下其他任务:
使用克隆在同一系统上安装区域
停止、重新引导和卸载区域
从系统中删除区域
任务 |
说明 |
参考 |
---|---|---|
获取 Linux 归档文件。 |
在安装 lx 标记区域之前,必须先获取 Linux 归档文件。 | |
安装已配置的 lx 标记区域。 |
安装处于已配置状态的区域。 | |
(可选)安装可用软件包的子集。 |
在从 CD 或 ISO 映像中进行安装时,可以安装安装介质中的软件包的子集。 | |
(可选)在区域中启用联网功能。 |
联网功能在缺省情况下处于禁用状态,如果需要此功能,则必须先启用此功能。 | |
获取区域的通用唯一标识符 (universally unique identifier, UUID)。 |
在安装区域时指定的这个单独的标识符是标识区域的另一种方法。 | |
(可选)将已安装的区域转换为就绪状态。 |
如果您要引导区域并立即使用,则可以跳过此过程。 | |
引导 lx 标记区域。 |
引导区域时会将此区域置于运行状态。既可以从就绪状态引导区域,也可以从已安装状态引导区域。 | |
在单用户模式下引导区域。 |
仅引导至里程碑 svc:/milestone/single-user:default。此里程碑相当于 init 级别 s。请参见 init(1M) 和 svc.startd(1M) 手册页。 |
使用 zoneadm(1M) 手册页中所述的 zoneadm 命令,可以执行非全局区域的安装任务。
在安装 lx 标记区域之前,必须先获取 Linux 归档文件。归档文件通过以下形式分发:
压缩的 tar 归档文件 (tarball)
一组 CD-ROM 或 DVD 光盘
一组 ISO 映像
使用以下方法之一获取 Linux 分发:
要下载 tarball,请访问 http://hub.opensolaris.org/bin/view/Community+Group+brandz/applications。按照下载站点中的说明操作。
要获取一组 CD-ROM 或 DVD 光盘,请转到位于 http://www.centos.org 的 CentOS 站点或位于 http://www.redhat.com 的 Red Hat 站点。
要获取 ISO 映像,请转到位于 http://www.centos.org 的 CentOS 站点或位于 http://www.redhat.com 的 Red Hat 站点。
此过程用于安装已配置的 lx 标记区域。安装区域后,所有软件配置和管理工作都必须由区域管理员在区域内使用 Linux 工具来执行。
有关使用不同分发路径的区域安装命令行的示例,请参见示例 35–1、示例 35–2 和示例 35–3。如果从光盘或 ISO 映像安装,则必须指定 Sun 软件包簇类别。有关软件包簇类别的信息,请参见lx 标记区域安装方法。
请注意,可以在安装一个区域之前检验该区域。如果您跳过此过程,则会在安装区域时自动执行检验。(可选)如何在安装已配置的区域之前检验该区域中介绍了此过程。
要执行此过程,您必须是全局区域中的全局管理员。
在步骤 3 中,如果 zonepath 在 ZFS 上,zoneadm install 命令将在安装区域时自动为 zonepath 创建 ZFS 文件系统(数据集)。可以通过添加 -x nodataset 参数阻止此操作。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
(可选)如果要从 DVD 或 CD 进行安装,请在系统中启用 volfs 并检验它是否正在运行。
global# svcadm enable svc:/system/filesystem/volfs:default |
global# svcs | grep volfs |
将显示以下类似信息:
online 17:30 svc:/system/filesystem/volfs:default |
通过将 zoneadm 命令与 install 选项和归档文件路径结合使用来安装已配置区域 lx-zone。
安装区域,如果 zonepath 在 ZFS 上,则自动创建一个 ZFS 文件系统。
global# zoneadm -z lx-zone install -d archive_path |
系统将显示:
A ZFS file system has been created for this zone. |
安装 zonepath 在 ZFS 上的区域,但不自动创建 ZFS 文件系统。
global# zoneadm -z lx-zone install -x nodataset -d archive_path |
当区域的根文件系统所需的文件和目录以及软件包文件安装在区域的根路径下时,您将看到各种消息。
如果不指定 archive_path,则缺省值为 CD。
(可选)如果显示错误消息并且无法安装区域,请键入以下命令来获取区域状态:
global# zoneadm -z lx-zone list -iv |
如果显示为已配置状态,请执行消息中指定的更正操作,并再次尝试执行 zoneadm install 命令。
如果显示为未完成状态,请首先执行以下命令:
global# zoneadm -z lx-zone uninstall |
然后执行消息中指定的更正操作,并再次尝试执行 zoneadm install 命令。
当安装完成时,使用带有 -i 和 -v 选项的 list 子命令来列出已安装的区域并检验状态。
global# zoneadm list -iv |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - lx-zone installed /export/home/lx-zone lx shared |
global# zoneadm -z lx-zone install -d /export/centos_fs_image.tar.bz2 |
对于 CD 或 DVD 安装,必须在系统中启用 volfs。必须指定一个软件簇软件包。例如,使用 development 安装完整环境,或键入特定簇的名称。如果不指定簇软件包,缺省情况下将安装 desktop。CD 设备为 /cdrom/cdrom0。
global# zoneadm -z lx-zone install -d /cdrom/cdrom0 development |
必须指定一个软件簇软件包。使用 development 安装完整环境,或指定特定簇。如果不指定簇软件包,缺省情况下将安装 desktop。CentOS ISO 映像驻留在目录 /export/centos_3.7 中。
global# zoneadm -z lx-zone install -d /export/centos_3.7 development |
有关数据集的更多信息,请参见《Oracle Solaris ZFS 管理指南》。
如果区域安装中断或失败,则此区域会处于未完成状态。请使用 uninstall -F 将此区域重置为已配置状态。
在从 CD 或 ISO 映像中进行安装时,可以安装安装介质中的软件包的子集。可用子集有 core、server、desktop、developer 和 all。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
只安装服务器软件包:
global# zoneadm -z lx-zone install -d archive_path server |
安装 lx 标记区域时,会禁用联网。使用类似如下的过程可以启用联网。
只有区域管理员可以执行此过程。
编辑区域中的 /etc/sysconfig/network 文件。
NETWORKING=yes HOSTNAME=your.hostname |
要设置 NIS 域,请添加类似于以下内容的行:
NISDOMAIN=domain.Sun.COM |
有关配置联网或命名服务的更多信息,请查看有关 Linux 分发的相关文档。
安装区域时,会为其指定一个通用唯一标识符 (universally unique identifier, UUID)。通过将 zoneadm 与 list 子命令和 -p 选项一起使用,可以获取 UUID。UUID 是显示的第五个字段。
查看已安装区域的 UUID。
global# zoneadm list -p |
将显示以下类似信息:
0:global:running:/::native 1:centos38:running:/zones/centos38:27fabdc8-d8ce-e8aa-9921-ad1ea23ab063:lx |
global# zoneadm -z lx-zone -u 61901255-35cf-40d6-d501-f37dc84eb504 list -v |
如果 -u uuid-match 和 -z zonename 都存在,则先根据 UUID 执行匹配。如果找到具有指定 UUID 的区域,则使用该区域并忽略 -z 参数。如果找不到具有指定 UUID 的区域,则系统将按区域名称进行搜索。
可以卸载区域,然后以相同的名称重新安装,但内容不同。也可以对区域进行重命名,而不更改内容。由于以上原因,UUID 比区域名称更可靠。
有关更多信息,请参见 zoneadm(1M) 和 libuuid(3LIB)。
如果对系统的管理性更改导致区域不可用或不一致,则可以将已安装区域的状态更改为未完成。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
将区域 testzone 标记为未完成。
global# zoneadm -z testzone mark incomplete |
使用带有 -i 选项和 -v 选项的 list 子命令检验状态。
global# zoneadm list -iv |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - testzone incomplete /export/home/testzone lx shared |
将区域标记为未完成的操作是无法恢复的。可对标记为未完成的区域执行的唯一操作是卸载该区域,使其返回已配置状态。请参见如何卸载标记区域。
转换为就绪状态之后,虚拟平台便可开始运行用户进程。处于就绪状态的区域中没有执行任何用户进程。
如果您要引导区域并立即使用,则可以跳过此过程。引导区域时便会自动从就绪状态进行转换。
引导区域会将该区域置于运行状态。既可以从就绪状态引导区域,也可以从已安装状态引导区域。处于已安装状态的区域经透明引导,会从就绪状态转换为正在运行状态。允许登录到处于正在运行状态下的区域。
要执行此过程,您必须是全局区域中的全局管理员。
请注意,不能在启用标签的 Trusted Solaris 系统中引导标记区域。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
使用带有 -z 选项、区域名称 lx-zone 以及 boot 子命令的 zoneadm 命令引导区域。
global# zoneadm -z lx-zone boot |
当引导完成时,使用带有 -v 选项的 list 子命令检验状态。
global# zoneadm list -v |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 lx-zone running /export/home/lx-zone lx shared |
global# zoneadm -z lx-zone boot -- -i /path/to/process |
如果显示一条消息,指出系统找不到要用于在区域配置中指定的 IP 地址的网络掩码,请参见引导区域时显示 netmasks 警告。请注意,此消息只是警告,而命令已成功执行。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
在单用户模式下引导区域。
global# zoneadm -z lx-zone boot -- -s |
要登录到区域并查看配置,请参见登录到 lx 标记区域。
任务 |
说明 |
参考 |
---|---|---|
停止区域。 |
停止过程用于删除区域的应用程序环境和虚拟平台。此过程可将区域从就绪状态返回到已安装状态。有关如何干净地关闭区域,请参见如何使用 zlogin 关闭 lx 标记区域。 | |
重新引导区域。 |
重新引导过程会停止区域,然后再次引导它。 | |
卸载区域。 |
此过程可删除区域根文件系统中的所有文件。请慎重使用本过程。此操作无法撤消。 | |
根据同一系统中某个现有区域的配置置备新的非全局区域。 |
克隆区域是安装区域的另外一种更快速的方法。在安装新区域之前,仍然需要先对其进行配置。 | |
从系统中删除非全局区域。 |
此过程将从系统中完全删除区域。 |
停止过程用于删除 lx 标记区域的应用程序环境和虚拟平台。有关如何干净地关闭区域,请参见“如何使用 zlogin 关闭 lx 标记区域”。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
列出系统上正在运行的区域。
global# zoneadm list -v |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 lx-zone running /export/home/lx-zone lx shared |
使用带有 -z 选项、区域名称(例如 lx-zone)以及 halt 子命令的 zoneadm 命令停止给定区域。
global# zoneadm -z lx-zone halt |
再次列出系统上的区域,以检验是否已停止 lx-zone。
global# zoneadm list -iv |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - lx-zone installed /export/home/lx-zone lx shared |
如果您要重新启动区域,请引导它。
global# zoneadm -z lx-zone boot |
如果区域没有正常停止,请参见区域无法停止以获得疑难解答提示。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
列出系统上正在运行的区域。
global# zoneadm list -v |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 lx-zone running /export/home/lx-zone lx shared |
使用带有 -z reboot 选项的 zoneadm 命令重新引导区域 lx-zone。
global# zoneadm -z lx-zone reboot |
再次列出系统上的区域,以检验是否已重新引导 lx-zone。
global# zoneadm list -v |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 lx-zone running /export/home/lx-zone lx shared |
请注意,lx-zone 的区域 ID 已更改。区域 ID 通常会在重新引导后更改。
此过程会删除区域根文件系统中的所有文件。此操作是无法恢复的。
区域不能处于正在运行状态。uninstall 操作对于正在运行的区域无效。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
列出系统上的区域。
global# zoneadm list -v |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared - lx-zone installed /export/home/lx-zone lx shared |
使用带有 -z uninstall 选项的 zoneadm 命令删除区域 lx-zone。
您还可以使用 -F 选项强制执行操作。如果未指定此选项,则系统将提示进行确认。
global# zoneadm -z lx-zone uninstall -F |
请注意,针对 zonepath 卸载具有自己的 ZFS 文件系统的区域时,将销毁该 ZFS 文件系统。
再次列出系统上的区域,以检验是否不再列出 lx-zone。
global# zoneadm list -v |
将显示以下类似信息:
ID NAME STATUS PATH BRAND IP 0 global running / native shared |
如果区域卸载中断,则此区域停留在未完成状态。请使用 zoneadm uninstall 命令将此区域重置为已配置状态。
使用 uninstall 命令时应谨慎,因为此操作是无法恢复的。
克隆用于通过从源 zonepath 向目标 zonepath 复制数据来在系统上置备新区域。
在安装新区域之前,必须先对其进行配置。传递给 zoneadm create 子命令的参数是要克隆的区域名称。必须停止此源区域。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
停止要克隆的源区域,在此过程中该区域为 lx-zone。
global# zoneadm -z lx-zone halt |
通过将源区域 lx-zone 的配置导出到文件(例如 master),开始配置新区域。
global# zonecfg -z lx-zone export -f /export/zones/master |
也可以通过使用如何配置区域中的过程而不是通过修改现有配置来创建新区域配置。如果使用此方法,请在创建区域后,直接跳到步骤 6。
编辑文件 master。至少要为新区域设置一个不同的 zonepath 和 IP 地址。
通过使用文件 master 中的命令创建新区域 zone1。
global# zonecfg -z zone1 -f /export/zones/master |
通过克隆 lx-zone 安装新区域 zone1。
global# zoneadm -z zone1 clone lx-zone |
系统将显示:
Cloning zonepath /export/home/lx-zone... |
列出系统上的区域。
global# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - lx-zone installed /export/home/lx-zone lx shared - zone1 installed /export/home/zone1 lx shared |
可以从克隆区域时最初捕获的现有快照多次克隆源区域。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
配置区域 zone2。
指定要使用现有快照来创建 new-zone2。
global# zoneadm -z zone2 clone -s zeepool/zones/lx-zone@SUNWzone1 lx-zone |
系统将显示:
Cloning snapshot zeepool/zones/lx-zone@SUNWzone1 |
zoneadm 命令从快照 SUNWzone1 中验证软件并克隆快照。
列出系统上的区域。
global# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - lx-zone installed /zeepool/zones/lx-zone lx shared - zone1 installed /zeepool/zones/zone1 lx shared - zone2 installed /zeepool/zones/zone1 lx shared |
可以使用此过程指定复制 zonepath,从而阻止在 ZFS 文件系统上自动克隆区域。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”。
指定复制 ZFS 上的 zonepath 而不是进行 ZFS 克隆。
global# zoneadm -z zone1 clone -m copy lx-zone |