本章论述登录到区域、使用 sysidcfg 完成系统标识、对 /etc/system 进行修改以及在 solaris8 区域中使用 ssh X11 转发。
请注意,当您首次登录到 sys-unconfig 区域时,需要执行内部区域配置。《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的“内部区域配置”对此进行了介绍。
当系统询问时间是否正确时,请不要修改显示的时间。如果修改该时间,系统识别将失败并返回到时间设置提示处,这是因为缺省情况下非全局区域不能修改系统时钟。对于共享 IP 区域,您还必须接受在 zonecfg 中指定的网络配置。
如果打算使用 /etc/sysidcfg 文件执行初始区域配置(如《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的“如何使用 /etc/sysidcfg 文件执行初始区域配置”所述),请在引导区域之前创建 sysidcfg 文件并将其放在该区域的 /etc 目录中。
要执行此过程,您必须是全局区域中的全局管理员。
成为超级用户或承担主管理员角色。
使用带有 C 选项和区域名称(在此过程中为 -s8-zone)的 zlogin 命令。
global# zlogin -C s8-zone |
从其他终端窗口中引导区域。
global# zoneadm -z s8-zone boot |
将在 zlogin 窗口中显示以下类似信息:
[NOTICE: Zone booting up] |
首次登录到控制台时,系统会提示您回答一系列问题。将显示以下类似信息:
SunOS Release 5.8 Version Generic_Virtual 64-bit Copyright 1983-2000 Sun Microsystems, Inc. All rights reserved Use is subject to license terms. Hostname: s8-zone Select a Language 0. English 1. fr Please make a choice (0 - 1), or press h or ? for help: Select a Locale 0. English (C - 7-bit ASCII) 1. Canada-English (ISO8859-1) 2. Thai 3. U.S.A. (en_US.ISO8859-1) 4. U.S.A. (en_US.ISO8859-15) 5. Go Back to Previous Screen Please make a choice (0 - 5), or press h or ? for help: What type of terminal are you using? 1) ANSI Standard CRT 2) DEC VT52 3) DEC VT100 4) Heathkit 19 5) Lear Siegler ADM31 6) PC Console 7) Sun Command Tool 8) Sun Workstation 9) Televideo 910 10) Televideo 925 11) Wyse Model 50 12) X Terminal Emulator (xterms) 13) Other Type the number of your choice and press Return: 12 . . . |
有关必答问题的大致列表,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的“内部区域配置”。
(可选)如果未按步骤 3 所述使用两个窗口,则可能已错过关于配置信息的初始提示。如果您在进行区域登录时看到的不是提示而是以下系统消息:
[connected to zone zonename console] |
请按回车键再次显示提示。
如果您输入的响应不正确并尝试重新启动配置,则可能会在再次尝试此过程时遇到问题。这是因为 sysidtools 可以存储先前的响应。
如果发生这种情况,请在全局区域中使用以下解决方法来重新启动配置过程。
global# zlogin -S zonename /usr/sbin/sys-unconfig |
有关 sys-unconfig 命令的更多信息,请参见 sys-unconfig(1M) 手册页。
使用与独立系统上相同的过程,可以从容器内部将 Solaris 8 修补程序应用到 Solaris 8 环境中。获取修补程序并运行 patchadd 以安装修补程序(在 Solaris 8 区域中运行)。请注意,由于内核实际上是 Solaris 10 内核,因此用来改变任何 Solaris 8 内核位的修补程序都不会生效。在这种情况下,如果需要,可以在全局区域中应用等效的 Solaris 10 修补程序。即使用来提供内核更新的 Solaris 8 修补程序在区域内不起作用,但仍然需要它们来满足修补程序依赖性。
有关修补 Solaris 8 系统的更多信息,请参见《System Administration Guide, Volume 1》中的第 22 章,"Patch Administration (Overview)"。
在 Solaris 8 中,可以通过修改 /etc/system 并重新引导计算机以使修改生效,来对 System V 和文件描述符限制加以调节。在 Solaris 10 中,这些限制可以通过资源控制进行动态调节。
对于 solaris8 标记区域,/etc/system 的内容用于在区域引导时设置项目和进程资源控制。如果未调节 /etc/system,则使用 Solaris 8 中的缺省文件描述符和 System V 限制。
区域内的有效限制将采用区域 /etc/system 设置或区域 zonecfg 设置中的较小者。要查看有效限制,请在区域中运行 sysdef(1M) 中所述的 sysdef 命令。
要在 solaris8 标记区域内修改 /etc/system,您必须是区域管理员,并且需要重新引导区域,以使更改生效。由于可在该区域内修改 /etc/system,因此全局管理员可在全局区域中使用 zonecfg 命令来为该区域设置限制。
在全局区域中使用 prctl 命令可查看缺省的资源控制设置。以下示例显示了 init 进程的用于约束 System V 限制的缺省设置。
global# prctl `pgrep -x init -z s8zone` ... process.max-msg-messages privileged 40 - deny - system 4.29G max deny - process.max-msg-qbytes privileged 4.00KB - deny - system 16.0EB max deny - process.max-sem-ops privileged 10 - deny - system 2.15G max deny - process.max-sem-nsems privileged 25 - deny - system 32.8K max deny - process.max-file-descriptor basic 256 - deny 10485 privileged 1.02K - deny - system 2.15G max deny - ... project.max-shm-memory privileged 100MB - deny - system 16.0EB max deny - project.max-shm-ids privileged 100 - deny - system 16.8M max deny - project.max-msg-ids privileged 50 - deny - system 16.8M max deny - project.max-sem-ids privileged 10 - deny - system 16.8M max deny - ... |
对于需要进行这些调节的应用程序,区域管理员可以在 solaris8 标记区域内修改 /etc/system,然后重新引导该区域。此过程与本机 Solaris 8 系统上用于进行调节的过程完全相同。
可以从全局区域中使用 zonecfg 命令来约束区域内的 System V 限制。
要执行以下过程,您必须是全局区域中的全局管理员。
global# zonecfg -z mys8zone set max-shm-memory=100m |
如果在创建初始区域后使用 zonecfg,请重新引导区域,以使更改生效。
global# zoneadm -z mys8zone reboot |
ssh X11 转发是在 solaris8 区域内运行 Solaris 8 X11 应用程序(包括三维应用程序和图形密集型应用程序)的首选方法。三维应用程序只能在全局区域中支持三维图形的系统上运行。
要使用 X11 转发,必须满足以下要求:
必须为 solaris8 区域启用联网
由于缺省情况下 Solaris 8 不包括 ssh 登录,因此必须下载 ssh 并在区域中安装它。
成为超级用户或承担主管理员角色。
如如何配置 solaris8 标记区域所述,在区域中启用联网。
从 www.openssh.org 或 www.sunfreeware.com 下载 ssh,并在区域中安装它。
当 ssh 在区域中运行时,直接登录到在全局区域控制台上运行的 X 服务器。
要启用 ssh X11 转发并远程运行 X 应用程序,请使用以下命令:
# ssh -X zone_host_name |
任何实现自己的 Xserver 扩展的应用程序都无法使用 ssh -X 转发,当前在 solaris8 标记区域内也不受支持。