Oracle Solaris 10 9/10 安装指南:Solaris Live 升级和升级规划

第 3 章 Solaris Live Upgrade(规划)

本章提供了一些在安装和使用 Solaris Live Upgrade 前供查阅的原则和要求。您还应在《Oracle Solaris 10 9/10 安装指南:规划安装和升级》中的“升级规划”中查阅有关升级的一般信息。


注 –

本章介绍针对 UFS 文件系统的 Solaris Live Upgrade。有关将 UFS 文件系统迁移到 ZFS 根池或创建和安装 ZFS 根池的规划信息,请参见第 12 章


本章包含以下几节:

Solaris Live Upgrade 要求

在安装和使用 Solaris Live Upgrade 之前,请熟悉这些要求。

Solaris Live Upgrade 的系统要求

Solaris Live Upgrade 包含在 Solaris 软件中。您需要在当前操作系统中安装 Solaris Live Upgrade 软件包。Solaris Live Upgrade 软件包的发行版必须与您要升级到的 OS 的发行版相匹配。例如,如果当前 OS 为 Solaris 9 发行版,并且您计划将该版本升级到 Solaris 10 9/10 发行版,则需要通过 Solaris 10 9/10 发行版安装 Solaris Live Upgrade 软件包。

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

表 3–1 支持的 Solaris 发行版

当前发行版 

兼容的升级发行版 

Solaris 8 OS 

Solaris 8、9 或任何 Solaris 10 发行版 

Solaris 9 OS 

Solaris 9 或任何 Solaris 10 发行版 

Solaris 10 OS 

任何 Solaris 10 发行版 

安装 Solaris Live Upgrade

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

请注意,可能需要安装以下修补程序才能正确操作 Solaris Live Upgrade。

说明 

更多信息 

注意: 正确操作 Solaris Live Upgrade 要求为特定 OS 版本安装一组限定的修补程序修订版。安装或运行 Solaris Live Upgrade 之前,需要安装这些修补程序。


仅适用于 x86 –

如果没有安装这组修补程序,Solaris Live Upgrade 安装将失败,并且会看到以下错误消息。如果没有看到以下错误消息,可能是仍旧未安装所需的修补程序。在尝试安装 Solaris Live Upgrade 之前,应始终验证是否已安装了 SunSolve 信息文档中列出的所有修补程序。


ERROR: Cannot find or is not executable: 
</sbin/biosdev>.
ERROR: One or more patches required 
by Live Upgrade has not been installed.

信息文档 206844(以前为 72099)中列出的修补程序可能会随时更改。这些修补程序可能会修复 Solaris Live Upgrade 中的缺陷以及 Solaris Live Upgrade 所依赖的组件中的缺陷。如果在使用 Solaris Live Upgrade 的过程中遇到了任何困难,请检查并确保安装了最新的 Solaris Live Upgrade 修补程序。 

通过访问 http://sunsolve.sun.com 确保您具有最近更新的修补程序列表。在 SunSolve Web 站点上搜索信息文档 206844(以前为 72099)。

如果正在运行 Solaris 8 或 Solaris 9 OS,则可能无法运行 Solaris Live Upgrade 安装程序。因为这些发行版中未包含运行 Java 2 运行时环境所需的修补程序集。对于建议用于运行 Solaris Live Upgrade 安装程序和安装软件包的 Java 2 运行时环境,必须拥有建议的修补程序簇。 

要安装 Solaris Live Upgrade 软件包,请使用 pkgadd 命令。或者,为 Java 2 运行时环境安装建议的修补程序簇。访问 http://sunsolve.sun.com 可以获得修补程序簇。

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

必需的软件包

如果使用 Solaris Live Upgrade 时出现问题,则可能是缺少软件包。检查您的 OS 是否有下表中列出的软件包,使用 Solaris Live Upgrade 时必须具有这些软件包。

对于 Solaris 10 发行版:

有关软件组的信息,请参见《Oracle Solaris 10 9/10 安装指南:规划安装和升级》中的“软件组的磁盘空间建议”

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

Solaris 8 发行版 

Solaris 9 发行版 

Solaris 10 发行版 

SUNWadmap 

SUNWadmap 

SUNWadmap 

SUNWadmc 

SUNWadmc 

SUNWadmlib-sysid 

SUNWlibC 

SUNWadmfw 

SUNWadmr 

SUNWbzip 

SUNWlibC 

SUNWlibC 

SUNWgzip 

SUNWgzip 

仅限于 Solaris 10 3/05: SUNWgzip

SUNWj2rt 


注 –

仅在以下情况中需要 SUNWj2rt 软件包:

  • 当运行 Solaris Live Upgrade 安装程序以添加 Solaris Live Upgrade 软件包时

  • 当升级并使用 CD 介质时


SUNWj2rt  


注 –

仅在以下情况中需要 SUNWj2rt 软件包:

  • 当运行 Solaris Live Upgrade 安装程序以添加 Solaris Live Upgrade 软件包时

  • 当升级并使用 CD 介质时


SUNWj5rt 


注 –

仅在以下情况中需要 SUNWj5rt 软件包:

  • 当运行 Solaris Live Upgrade 安装程序以添加 Solaris Live Upgrade 软件包时

  • 当升级并使用 CD 介质时


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


% pkginfo package_name

Solaris Live Upgrade 磁盘空间要求

升级时请遵循常规磁盘空间要求。请参见《Oracle Solaris 10 9/10 安装指南:规划安装和升级》中的第 4  章 “系统要求、原则和升级(规划)”

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

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

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

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

Solaris Live Upgrade 使用 Solaris 卷管理器技术创建引导环境,该环境能够包含 RAID-1 卷(镜像)文件系统。Solaris Live Upgrade 并未实现 Solaris 卷管理器的全部功能,但不可缺少 Solaris 卷管理器的下列组件。

表 3–3 Solaris Live Upgrade 和 RAID-1 卷的必需组件

要求  

说明 

更多信息 

您必须创建至少一个状态数据库,至少三个状态数据库副本。  

状态数据库在磁盘上存储有关 Solaris 卷管理器配置的状态的信息。状态数据库是多个复制的数据库副本的集合。每个副本都称为一个状态数据库副本。复制状态数据库时,副本能够保护数据以避免单点故障造成数据丢失。 

有关创建状态数据库的信息,请参见《Solaris Volume Manager 管理指南》中的第 6  章 “状态数据库(概述)”

Solaris Live Upgrade 仅支持根 (/) 文件系统上具有单片串联的 RAID-1 卷(镜像)。

串联是一个 RAID-0 卷。如果片被串联,则数据将被写入第一个可用片,直到该片被写满。该片写满后,数据将依次写入下一个片。除非将串联包含在 RAID-1 卷中,否则串联并不提供数据冗余 

RAID—1 卷最多可由三个串联组成。  

有关创建镜像文件系统的原则,请参见如何为镜像文件系统选择片

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

可以使用 Solaris Live Upgrade 将修补程序和软件包添加到系统中。当使用 Solaris Live Upgrade 时,系统出现的唯一停机时间是在重新引导时。可以使用 luupgrade 命令将修补程序和软件包添加到新的引导环境中。使用 luupgrade 命令时,还可以使用 Solaris Flash 归档文件来安装修补程序或软件包。


注意 – 注意 –

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

有关打包要求的更多信息,请参见附录 B


安装类型 

说明 

更多信息 

将修补程序添加到引导环境中  

创建新引导环境并使用带有 -t 选项的 luupgrade 命令。

在引导环境中向网络安装映像添加修补程序

将软件包添加到引导环境中 

使用带有 -p 选项的 luupgrade 命令。

在引导环境中向网络安装映像添加软件包

使用 Solaris Live Upgrade 安装 Solaris Flash 归档文件 

归档文件包含引导环境的完整副本,其中已包含新的软件包和修补程序。此副本可以安装在多个系统中。 

升级和修补限制

有关升级和修补限制的信息,请参见《Oracle Solaris 10 9/10 安装指南:规划安装和升级》中的“升级和修补限制”

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

lucreate -m 选项指定要在新引导环境中创建的文件系统和文件系统数。您必须通过重复该选项来指定要创建的文件系统的确切数目。使用 -m 选项来创建文件系统时,请遵循以下原则:

为文件系统选择片的原则

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

在为磁盘重新分片时,不要重叠片。如果存在这种情况,则即使显示已创建新的引导环境,但在激活时,该引导环境也不进行引导。重叠的文件系统可能被损坏。

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

如何为根 (/) 文件系统选择片

创建非活动引导环境时,需要标识根 (/) 文件系统要复制到的片。当您为根 (/) 文件系统选择片时,请遵循以下标准。此片必须符合下列条件:

如何为镜像文件系统选择片

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

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


注 –

如果在升级 Veritas VxVM 时有问题,请参见在运行 Veritas VxVm 时使用 Solaris Live Upgrade 进行升级,系统将发出警告音


创建 RAID-1 卷(镜像卷)文件系统的一般原则

如果 RAID-1 卷处于忙状态、正在重新同步,或者如果卷包含 Solaris Live Upgrade 引导环境正在使用的文件系统,请使用以下标准进行检查。

有关卷命名原则,请参见《Oracle Solaris 10 9/10 安装指南:规划安装和升级》中的“自定义 JumpStart 和 Solaris Live Upgrade 的 RAID 卷名要求和原则”

检查卷的状态

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

分离卷并重新同步镜像

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

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

有关重新同步的更多信息,请参见《Solaris Volume Manager 管理指南》中的“RAID-1 卷(镜像)重新同步”

使用 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 之类的文件系统不是关键文件系统,可以在引导环境之间共享。可共享的文件系统必须是用户自定义的文件系统,并且在活动引导环境和新的引导环境上都必须位于单独的交换片上。您可以根据需要以几种方式重新配置磁盘。

重新配置磁盘 

示例 

更多信息 

您可以在创建新的引导环境之前重新划分磁盘片,并将可共享的文件系统放在其自己的片上。  

例如,如果根 (/) 文件系统、/var/home 在同一个片上,则重新配置磁盘并将 /home 放在它自己的片上。当您创建任何新的引导环境时,在缺省情况下,/home 与新的引导环境共享。

format(1M)

如果您想共享一个目录,这个目录必须被拆分到自己的片上。这样,该目录就是一个可以与其他引导环境共享的文件系统。您可以使用 lucreate 命令和 -m 选项来创建一个新的引导环境并将一个目录拆分到它自己的片上。但是,新的文件系统仍不能与初始引导环境共享。您需要再次运行 lucreate 命令和 -m 选项来创建另一个引导环境。这样,两个新的引导环境就可以共享该目录了。

例如,如果您想从 Solaris 9 发行版升级到 Solaris 10 9/10 发行版并共享 /home,则可以运行带有 -m 选项的 lucreate 命令。您可以创建 Solaris 9 发行版,使 /home 在自己的片上作为单独的文件系统。然后再次运行带有 -m 选项的 lucreate 命令来复制该引导环境。这第三个引导环境就可以被升级到 Solaris 10 9/10 发行版。从而 Solaris 9 和 Solaris 10 9/10 发行版就可以共享 /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 将不执行同步操作,除非请求了该操作。要强制进行同步操作,请使用带 -s 选项的 luactivate 命令。

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


注意 – 注意 –

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


引导多个引导环境

如果系统上安装了多个 OS,则可以针对 SPARC 和 x86 平台从这些引导环境进行引导。可用于引导的引导环境包括 Solaris Live Upgrade 非活动引导环境。

在基于 SPARC 和 x86 的系统中,每个 ZFS 根池都具有一个指定为缺省根文件系统的数据集。如果您针对 SPARC 键入引导命令或针对 x86 在 GRUB 菜单中采用缺省值,则引导此缺省根文件系统。


注 –

如果已显式修改 GRUB 菜单以指定缺省菜单项(而不是由 Solaris Live Upgrade 设置的菜单项),则选择该缺省菜单项可能不会导致引导池的缺省根文件系统。


有关引导和修改 GRUB 引导菜单的更多信息,请参见以下参考内容。

任务 

信息 

使用 GRUB 菜单激活引导环境 

x86: 使用 GRUB 菜单激活引导环境

使用 GRUB 菜单回退到初始引导环境 

x86: 在成功激活新的引导环境后使用 GRUB 菜单回退

有关 SPARC 和 x86 信息以及引导和修改引导行为的逐步操作过程 

《系统管理指南:基本管理》

有关引导 ZFS 引导环境的概述和逐步操作过程 

《Oracle Solaris ZFS 管理指南》中的“从 ZFS 根文件系统引导”

Solaris Live Upgrade 字符用户界面

Sun 不再建议使用 lu 命令。lu 命令可显示字符用户界面 (character user interface, CUI)。CUI 的基本命令序列(通常包括 lucreate luupgradeluactivate 命令)可直接使用。以下各章中将会提供有关这些命令的过程。