Solaris 9 4/04 安装指南

第 34 章 Solaris Live Upgrade(规划)

本章提供在安装和使用 Solaris Live Upgrade 之前供查看的原则和要求。您还应该查看升级核对表中有关升级的常规信息。本章包含以下几节:

Solaris Live Upgrade 要求

Solaris Live Upgrade 的系统要求

Solaris Live Upgrade 包含在 Solaris 9 软件中。如果要使用 Solaris Live Upgrade 升级,需要在您的当前操作环境中安装 Solaris Live Upgrade 软件包。 您可以将引导环境升级到与您的计算机上安装的 Solaris Live Upgrade 软件包的发行版相同的 Solaris 操作环境的发行版。例如,如果在当前 Solaris 8 操作环境中,您安装了 Solaris 9 Live Upgrade 软件包,则可以将引导环境升级到 Solaris 9 市场发行版或更新发行版。

表 34–1 列出了 Solaris Live Upgrade 支持的发行版。

表 34–1 支持的 Solaris 发行版

平台 

您要从其升级的发行版 

您要升级到的发行版 

基于 SPARC 的系统 

Solaris 2.6、Solaris 7 或 Solaris 8 操作环境 

Solaris 8 操作环境 

基于 SPARC 的系统 

Solaris 2.6、Solaris 7 或 Solaris 8 操作环境 

Solris 9 操作环境 

基于 x86 的系统 

Solris 7 操作环境 

Solris 8 操作环境 

基于 x86 的系统 

Solaris 7 或 Solaris 8 操作环境 

Solris 9 操作环境 


注意:

您不能升级到 Solaris 7 操作环境。


安装 Solaris Live Upgrade

您可以使用以下方法安装 Solaris Live Upgrade 软件包:

有关安装 Solaris Live Upgrade 软件的说明,请参见安装 Solaris Live Upgrade

Solaris Live Upgrade 的磁盘空间要求

升级时请遵循常规磁盘空间要求。请参见第 5 章,系统要求和原则(规划)

要估算创建引导环境所需的文件系统大小,请开始创建新的引导环境。计算文件系统大小。然后您可以终止该进程。

新的引导环境上的磁盘必须能够用作引导设备。一些系统限定哪些磁盘可用作引导设备。请参见您的系统文档,确定是否有任何引导限制。

创建新的引导环境前, 应准备好磁盘。检查以确保磁盘已正确格式化:

创建 RAID-1 卷(镜像)时 Solaris Live Upgrade 的要求

Solaris Live Upgrade 使用 Solaris 卷管理器技术创建包含 RAID-1 卷(镜像)文件系统的引导环境。要使用 Solaris Live Upgrade 的镜像功能,必须至少创建一个状态数据库和三个状态数据库副本。状态数据库在磁盘上存储有关 Solaris 卷管理器配置的状态的信息。状态数据库是多个复制的数据库副本的集合。每个副本都代表一个状态数据库副本。复制状态数据库时,副本能够防止单点故障造成的数据丢失。有关创建状态数据库的过程,请参见 Solaris Volume Manager Administration Guide 中的“State Database (Overview)”

Solaris Live Upgrade 未实现 Solaris 卷管理器的全部功能。 Solaris Live Upgrade 仅支持根 (/) 文件系统上具有单片关联的 RAID-1 卷(镜像)。镜像最多只能包含三个关联。有关创建镜像文件系统的原则,请参阅关于为镜像的文件系统选择片的原则

使用 Solaris Live Upgrade 来管理软件包和修补程序

以下各节列出了 Solaris Live Upgrade 所需的软件包并提供了关于推荐的修补程序的信息。有关使用 Solaris Live Upgrade 添加软件包和修补程序的信息,请参见使用软件包和修补程序升级系统


小心:小心:

当升级、添加和删除软件包或修补程序时,Solaris Live Upgrade 要求软件包或修补程序符合 SVR4 高级封装原则。虽然 Sun 软件包符合这些原则,但 Sun 不能保证来自第三方供应商的软件包也符合这些原则。如果软件包不符合这些原则,则可能导致软件包中的软件在升级过程中运行失败,或改变使用中的引导环境。

有关使用 Solaris Live Upgrade 添加或删除软件包的详细信息,请参见手册页 luupgrade( 1M)。有关封装要求的详细信息,请参见附录 G,附加 SVR4 封装要求(参考)


必需的软件包

请在以下表格中检查当前操作环境中的软件包,使用 Solaris Live Upgrade 时需要这些软件包。 如果列中缺少适用于您的发行版的软件包,请使用 pkgadd 命令添加。

表 34–2 Solaris Live Upgrade 所需的软件包

Solaris 2.6 发行版 

Solaris 7 发行版 

Solaris 8 发行版 

SUNWadmap 

SUNWadmap 

SUNWadmap 

SUNWadmc 

SUNWadmc 

SUNWadmc 

SUNWjvrt 

SUNWjvrt 

SUNWj2rt 

SUNWlibC 

SUNWlibC 

SUNWlibC 

SUNWadmfw 

 

SUNWbzip 

SUNWmfrun 

 

 

SUNWloc 

  

要检查系统中的软件包,请键入以下命令。


% pkginfo [[package_name]]

使用软件包和修补程序升级系统

可以使用 Solaris Live Upgrade 将修补程序和软件包添加到系统中。如果使用 Solaris Live Upgrade 向计算机添加修补程序,则系统仅在重新引导时才需要停机。可以使用 luupgrade 命令或 Solaris Flash 归档文件将修补程序和软件包添加到引导环境。


小心:小心:

当升级、添加和删除软件包或修补程序时,Solaris Live Upgrade 要求软件包或修补程序符合 SVR4 高级封装原则。虽然 Sun 软件包符合这些原则,但 Sun 不能保证来自第三方供应商的软件包也符合这些原则。如果软件包不符合这些原则,则可能导致软件包中的软件运行失败,或改变使用中的引导环境。

有关使用 Solaris Live Upgrade 添加或删除软件包的详细信息,请参见手册页 luupgrade( 1M)。有关封装要求的详细信息,请参见附录 G,附加 SVR4 封装要求(参考)


运行 Solaris Live Upgrade 时需要的修补程序

要正确运行 Solaris Live Upgrade,必须为给定的 OS 版本安装一组相应的修补程序。在安装或运行 Live Upgrade 之前,您必须安装一组相应的修补程序。请访问 http://sunsolve.sun.com,以确保您具有最近更新的修补程序列表。 可在 SunSolveSM Web 站点上搜索信息文档 72099。

关于使用 lucreate 命令创建文件系统的原则

lucreate -m 选项用于指定要在新引导环境中创建的文件系统及其数目。必须通过重复使用此选项,指定要创建的文件系统的确切数目。例如,使用一次 -m 选项指定在何处放置所有文件系统。将所有文件系统从原始的引导环境合并到一个由 -m 选项指定的文件系统中。如果您指定两次 -m 选项,则创建两个文件系统。使用 -m 选项来创建文件系统时,请遵循以下原则:

关于为文件系统选择片的原则

为引导环境创建文件系统时,所用规则与为 Solaris 操作环境创建文件系统时的规则相同。Solaris Live Upgrade 无法防止您为关键文件系统创建无效配置。例如,您可以输入一个 lucreate 命令,它会为根目录 (/) 和 /kernel — 目录 (/) 的一个无效部分 — 创建单独的文件系统。

在为磁盘重新分片时,不要重叠片。如果存在这种情况,新的引导环境显得已经被创建,但当启动时,该引导环境却无法引导。重叠的文件系统可能被损坏。

要让 Solaris Live Upgrade 正常工作,活动引导环境上的 vfstab 文件必须有有效内容并且必须有至少一个根 (/) 项。

关于为根 (/) 文件系统选择片的原则

当您创建未激活引导环境时,需要标识出根 (/) 文件系统将被复制到的片。当您为根 (/) 文件系统选择片时,使用以下原则。片必须符合以下规则:

关于为镜像的文件系统选择片的原则

可以创建新的引导环境,它包含物理磁盘片、Solaris 卷管理器卷或 Veritas 卷管理器卷的任意组合。复制到新引导环境中的关键文件系统可以是以下类型:

创建新的引导环境时,lucreate -m 命令识别以下三种设备:


注意:

如果您在使用 Veritas VxVM 升级时遇到问题,请参见在运行 Veritas VxVm 时使用 Solaris Live Upgrade 进行升级,系统将发出应急信息


创建镜像文件系统的通用原则

指定卷

可以选择指定镜像或子镜像,或允许 lucreate 命令选择自由卷。

卷命名的快捷方法

可以缩写物理磁盘片和 Solaris 卷管理器卷的名称。缩写是能够唯一标识设备的最短名称。例如,

有关命名要求和原则的详细信息,请参阅 Solaris Volume Manager Administration Guide 中的“Overview of Solaris Volume Manager Components”

检查卷的状态

如果镜像或子镜像需要维护或处于忙状态,则无法分离组件。应在创建新引导环境和使用 detach 关键字之前,使用 metastat 命令。metastat 命令用于检查镜像是处于重新同步的过程还是处于使用状态。有关信息,请参见手册页 metastat(1M)

分离卷并重新同步镜像

如果使用 detach 关键字分离子镜像,则 lucreate 命令将检查当前是否正在重新同步某个设备。如果正在重新同步设备,则无法分离子镜像,并会显示错误消息。

重新同步是指出现以下问题之后,将数据从一个子镜像复制到另一个子镜像的过程:

有关重新同步的详细信息,请参见 Solaris Volume Manager Administration Guide 中的“RAID 1 Volume (Mirror) Resynchronization”

使用 Solaris 卷管理器命令

使用 lucreate 命令(而不是 Solaris 卷管理器命令)可以操作未激活的引导环境中的卷。Solaris 卷管理器软件不识别引导环境,而 lucreate 命令包含检查操作,用于防止无意破坏引导环境。例如,lucreate 命令可以防止改写或删除 Solaris 卷管理器卷。

但是,如果您已经使用 Solaris 卷管理器软件创建了复杂 Solaris 卷管理器关联、分组和镜像,则必须使用 Solaris 卷管理器软件操作它们。Solaris Live Upgrade 识别这些组件,并支持使用这些组件。使用 Solaris 卷管理器命令创建、修改或销毁卷组件之前,请使用 lustatuslufslist 命令。这些命令可以确定包含文件系统(由 Solaris Live Upgrade 引导环境使用)的 Solaris 卷管理器卷。

为交换文件系统选择片的原则

为新引导环境配置交换

可以使用带 -m 选项的 lucreate 命令 ,通过三种方法配置交换片:

以下示例展示了配置交换的三种方式。当前引导环境是通过 c0t0d0s0 上的根 (/) 文件系统配置的。 交换文件系统位于 c0t0d0s1

如果正在使用交换,则无法创建引导环境

如果交换片正被当前引导环境以外的任何引导环境使用,则引导环境创建失败。如果引导环境是使用 -s 选项创建的,则替换源引导环境可以使用交换片,但不能使用任何其它引导环境。

关于为可共享文件系统选择片的原则

Solaris Live Upgrade 将片的全部内容复制到指定的新引导环境片。您可能希望该片上有些大的文件系统可在引导环境之间共享(而不是复制),以节省空间和复制时间。必须复制对于操作环境(例如,根目录 [/] 和 /var)很关键的文件系统。诸如 /home 之类的文件系统不是关键文件系统,可以在引导环境之间共享。可共享的文件系统必须是用户定义的文件系统,并且在活动引导环境和新的引导环境上都必须位于单独的交换片上。您可以根据需要以几种方式重新配置磁盘。

有关可共享和关键文件系统的说明,请参见文件系统类型

定制新引导环境的内容

创建新引导环境时,可以在复制到新引导环境的操作中排除某些目录和文件。如果已经排除了某个目录,还可以在已排除的目录下再次包含指定的子目录或文件。然后可以将这些恢复的子目录或文件复制到新的引导环境中。例如,可以将 /etc/mail 中的所有文件和目录排除在复制内容以外,但包含 /etc/mail/staff 中的所有文件和目录。 以下命令将 staff 子目录复制到新的引导环境中。


# lucreate -n second_disk -x /etc/mail -y /etc/mail/staff

小心:小心:

请小心使用文件排除选项。请不要删除系统必需的文件或目录。


下表列出了用于删除和恢复目录和文件的 lucreate 命令选项。

如何指定? 

排除选项 

包含选项 

指定目录或文件的名称 

-x exclude_dir

-y include_dir

使用包含列表的文件 

-f list_filename

-z list_filename

-Y list_filename

-z list_filename

有关创建引导环境时定制目录和文件的示例,请参见创建引导环境以及定制内容 (命令行界面)

在引导环境之间同步文件

在准备切换并启动新的引导环境时,应快速启动新的引导环境,并重新引导。当您第一次引导一个新创建的引导环境时,文件在引导环境之间同步。“同步”是指可将某些关键的系统文件和目录从上一个使用中的引导环境复制到正在引导的引导环境中。将复制那些已更改的文件和目录。

/etc/lu/synclist 中添加文件

Solaris Live Upgrade 将检查已更改的关键文件。如果这些文件的内容在两个引导环境中不同,则将它们从使用中的引导环境复制到新的引导环境。同步是针对关键文件(例如,/etc/passwd/etc/group 文件)而言的,新引导环境创建后,这些关键文件可能会改变。

/etc/lu/synclist 文件包含同步的目录和文件的列表。某些情况下,可能希望将其它文件从使用中的引导环境复制到新引导环境。如有必要,可以向 /etc/lu/synclist 添加目录和文件。

添加未在 /etc/lu/synclist 中列出的文件可能导致系统无法引导。同步进程仅复制文件和创建目录,不删除文件和目录。

以下 /etc/lu/synclist 文件示例显示了为此系统同步的标准目录和文件。


/var/mail                    OVERWRITE
/var/spool/mqueue            OVERWRITE
/var/spool/cron/crontabs     OVERWRITE
/var/dhcp                    OVERWRITE
/etc/passwd                  OVERWRITE
/etc/shadow                  OVERWRITE
/etc/opasswd                 OVERWRITE
/etc/oshadow                 OVERWRITE
/etc/group                   OVERWRITE
/etc/pwhist                  OVERWRITE
/etc/default/passwd          OVERWRITE
/etc/dfs                     OVERWRITE
/var/log/syslog              APPEND
/var/adm/messages            APPEND

适于添加到 synclist 文件的目录和文件示例如下:


/var/yp                    OVERWRITE
/etc/mail                  OVERWRITE
/etc/resolv.conf           OVERWRITE
/etc/domainname            OVERWRITE

synclist 文件项可以是文件或目录。第二个字段是启动引导环境时更新的方法。有三种更新文件的方法:

强制引导环境之间的同步

第一次从新创建的引导环境引导时,Solaris Live Upgrade 将新引导环境与上一个使用中的引导环境同步。完成此初始引导和同步之后,Solaris Live Upgrade 将不执行同步操作,除非请求了该操作。

如果您要维护 Solaris 操作环境的多个版本,则可能希望强制进行同步操作。您可能希望在诸如 emailpasswd/group 等文件中进行更改以进入要启动到的引导环境。如果您强制执行同步,则 Solaris Live Upgrade 将检查要同步的文件之间是否存在冲突。当引导新的引导环境并检测到冲突时,将发出警告,并且不对文件进行同步。尽管有这样的冲突,启动仍可成功完成。如果更改了新引导环境和使用中的引导环境中的同一文件,则可能发生冲突。例如,如果更改了初始引导环境中的 /etc/passwd 文件,然后又更改了新引导环境中的 /etc/passwd 文件,则同步进程将无法为同步操作选择要复制的文件。


小心:小心:

使用此选项时要特别小心,因为您可能没有注意到或者无法控制在上一个活动引导环境中可能已发生的更改。 例如,如果您正在当前引导环境中运行 Solaris 9 软件并且通过强制同步引导回 Solaris 7 发行版,则文件可能在 Solaris 7 发行版上发生更改。由于文件依赖于操作环境的发行版,并且由于 Solaris 9 文件可能与 Solaris 7 文件不兼容,因此引导到 Solaris 7 发行版可能失败。


从远程系统使用 Solaris Live Upgrade

以远程方式(例如,通过终端线)查看字符界面时,可能需要将 TERM 环境变量设置为 VT220。此外,当使用公用桌面环境 (CDE) 时,将 TERM 变量的值设置为 dtterm 而不是 xterm