本章提供在安装和使用 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 软件包:
pkgadd 命令。Solaris Live Upgrade 软件包包括 SUNWlur 和 SUNWluu,这些软件包必须按照该顺序安装。
Solaris DVD、Solaris Software 2 of 2 CD 或网络安装映像上的安装程序。
如果您运行的是 Solaris 2.6、Solaris 7 或 Solaris 8 发行版,则可能无法运行 Solaris Live Upgrade 安装程序。这些发行版中不包含运行 JavaTM 2 运行时环境所需的修补程序集。 您必须具有 Java 2 运行时环境推荐修补群集才能运行 Solaris Live Upgrade 安装程序以及安装软件包。要安装 Solaris Live Upgrade 软件包,请使用 pkgadd 命令。或者安装 Java 2 运行时环境推荐修补群集,该群集可以从 http://sunsolve.sun.com 获得。
有关安装 Solaris Live Upgrade 软件的说明,请参见安装 Solaris Live Upgrade。
升级时请遵循常规磁盘空间要求。请参见第 5 章,系统要求和原则(规划)。
要估算创建引导环境所需的文件系统大小,请开始创建新的引导环境。计算文件系统大小。然后您可以终止该进程。
新的引导环境上的磁盘必须能够用作引导设备。一些系统限定哪些磁盘可用作引导设备。请参见您的系统文档,确定是否有任何引导限制。
创建新的引导环境前, 应准备好磁盘。检查以确保磁盘已正确格式化:
标识出足够大的片以容纳将要复制的文件系统。
标识出包含您希望在引导环境之间共享而不是复制的目录的文件系统。如果您想共享某一目录,需要创建使该目录位于自己的片上的新引导环境。这样,该目录就是一个文件系统,并且可以与将来的引导环境共享。有关创建单独的共享文件系统的详细信息,请参见关于为可共享文件系统选择片的原则。
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 要求软件包或修补程序符合 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 归档文件将修补程序和软件包添加到引导环境。
要将修补程序直接添加到引导环境,请创建一个新的引导环境并使用带有 -t 选项的 luupgrade 命令。要将软件包添加到引导环境,请使用带有 -p 选项的 luupgrade 命令。有关详细信息,请参见手册页 luupgrade( 1M)。
或者,可以通过 Solaris Live Upgrade 安装 Solaris Flash 归档文件。归档文件包含引导环境的完整副本,其中已包含新的软件包和修补程序。这个完整的引导环境或单引用系统称为主系统。要创建 Solaris Flash 归档文件,首先要创建一个主系统。创建主系统后,添加任何想要安装的修补程序和软件包。然后,创建主系统的 Solaris Flash 归档文件。使用 Solaris Live Upgrade 将该归档文件安装在新的引导环境中。可以复制引导环境,并根据需要多次更改和分发引导环境。有关如何创建 Solaris Flash 归档文件的详细信息,请参见第 21 章,创建 Solaris Flash 归档文件(任务)。有关使用 Solaris Live Upgrade 安装 Solaris Flash 归档文件的信息,请参见在引导环境中安装 Solaris Flash 归档文件。
当升级、添加和删除软件包或修补程序时,Solaris Live Upgrade 要求软件包或修补程序符合 SVR4 高级封装原则。虽然 Sun 软件包符合这些原则,但 Sun 不能保证来自第三方供应商的软件包也符合这些原则。如果软件包不符合这些原则,则可能导致软件包中的软件运行失败,或改变使用中的引导环境。
有关使用 Solaris Live Upgrade 添加或删除软件包的详细信息,请参见手册页 luupgrade( 1M)。有关封装要求的详细信息,请参见附录 G,附加 SVR4 封装要求(参考)。
要正确运行 Solaris Live Upgrade,必须为给定的 OS 版本安装一组相应的修补程序。在安装或运行 Live Upgrade 之前,您必须安装一组相应的修补程序。请访问 http://sunsolve.sun.com,以确保您具有最近更新的修补程序列表。 可在 SunSolveSM Web 站点上搜索信息文档 72099。
lucreate -m 选项用于指定要在新引导环境中创建的文件系统及其数目。必须通过重复使用此选项,指定要创建的文件系统的确切数目。例如,使用一次 -m 选项指定在何处放置所有文件系统。将所有文件系统从原始的引导环境合并到一个由 -m 选项指定的文件系统中。如果您指定两次 -m 选项,则创建两个文件系统。使用 -m 选项来创建文件系统时,请遵循以下原则:
必须为新引导环境的根 (/) 文件系统指定一个 -m 选项。 如果运行 lucreate 但没有使用 -m 选项,则会显示“配置”菜单。“配置”菜单将文件重定向到新安装点,从而使您能够定制新引导环境。
任何存在于当前引导环境中并且没有在 -m 选项中指定的关键文件系统都被合并到所创建的下一级文件系统中。
只有由 -m 选项指定的文件系统才能在新引导环境中创建。如果当前的引导环境中包含多个文件系统,并且您希望所具有的文件系统数与新创建的引导环境中相同,则必须为每个要创建的文件系统指定一个 -m 选项。例如,如果您有适用于根 (/) 目录、/opt 和 /var 的文件系统,则应该为新引导环境上的每个文件系统使用一个 -m 选项。
不要复制安装点。例如,不能有两个根 (/) 文件系统。
为引导环境创建文件系统时,所用规则与为 Solaris 操作环境创建文件系统时的规则相同。Solaris Live Upgrade 无法防止您为关键文件系统创建无效配置。例如,您可以输入一个 lucreate 命令,它会为根目录 (/) 和 /kernel — 目录 (/) 的一个无效部分 — 创建单独的文件系统。
在为磁盘重新分片时,不要重叠片。如果存在这种情况,新的引导环境显得已经被创建,但当启动时,该引导环境却无法引导。重叠的文件系统可能被损坏。
要让 Solaris Live Upgrade 正常工作,活动引导环境上的 vfstab 文件必须有有效内容并且必须有至少一个根 (/) 项。
当您创建未激活引导环境时,需要标识出根 (/) 文件系统将被复制到的片。当您为根 (/) 文件系统选择片时,使用以下原则。片必须符合以下规则:
必须是系统可以从中引导的片。
必须满足推荐的最小值。
如果您有一个 sun4m 系统,则根 (/) 文件系统不能大于 2 GB。
可以在不同的物理磁盘上,或者在活动根 (/) 文件系统所在的同一个磁盘上。
可以是 Veritas 卷管理器卷,但不支持这些卷。
可以创建新的引导环境,它包含物理磁盘片、Solaris 卷管理器卷或 Veritas 卷管理器卷的任意组合。复制到新引导环境中的关键文件系统可以是以下类型:
物理片。
包含在 RAID–1 卷(镜像)中的单片关联。包含根 (/) 文件系统的片可以是 RAID–1 卷。
包含在 RAID–0 卷中的单片关联。包含根 (/) 文件系统的片可以是 RAID–0 卷。
创建新的引导环境时,lucreate -m 命令识别以下三种设备:
/dev/dsk/cwtxdysz 格式的物理片
/dev/md/dsk/dnum 格式的 Solaris 卷管理器卷
/dev/vx/dsk/volume_name 格式的 Veritas 卷管理器卷
如果您在使用 Veritas VxVM 升级时遇到问题,请参见在运行 Veritas VxVm 时使用 Solaris Live Upgrade 进行升级,系统将发出应急信息。
可以选择指定镜像或子镜像,或允许 lucreate 命令选择自由卷。
要指定卷,请在设备名后附加逗号和子镜像或镜像的名称。以下选项中指定了子镜像 d1。
-m /:/dev/dsk/c0t0d0s0,d1:attach |
要使软件能够选择自由卷,请不要命名子镜像或镜像。在此选项中未指定子镜像,因此软件可以选择自由卷。
-m /:/dev/dsk/c0t0d0s0:attach |
可以缩写物理磁盘片和 Solaris 卷管理器卷的名称。缩写是能够唯一标识设备的最短名称。例如,
Solaris 卷管理器卷可由其 dnum 标志来标识,因此,/dev/md/dsk/d10 可以简化为 d10。
如果系统包含一个控制器和多个磁盘,则可以使用 t0d0s0;但如果包含多个控制器,则应使用 c0t0d0s0。
有关命名要求和原则的详细信息,请参阅 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”。
使用 lucreate 命令(而不是 Solaris 卷管理器命令)可以操作未激活的引导环境中的卷。Solaris 卷管理器软件不识别引导环境,而 lucreate 命令包含检查操作,用于防止无意破坏引导环境。例如,lucreate 命令可以防止改写或删除 Solaris 卷管理器卷。
但是,如果您已经使用 Solaris 卷管理器软件创建了复杂 Solaris 卷管理器关联、分组和镜像,则必须使用 Solaris 卷管理器软件操作它们。Solaris Live Upgrade 识别这些组件,并支持使用这些组件。使用 Solaris 卷管理器命令创建、修改或销毁卷组件之前,请使用 lustatus 或 lufslist 命令。这些命令可以确定包含文件系统(由 Solaris Live Upgrade 引导环境使用)的 Solaris 卷管理器卷。
可以使用带 -m 选项的 lucreate 命令 ,通过三种方法配置交换片:
如果不指定交换片,则会为新引导环境配置属于当前引导环境的交换片。
如果指定了一个或多个交换片,则这些片是专供新引导环境使用的交换片。两个引导环境不共享任何交换片。
可以指定共享交换片并为交换添加新片。
以下示例展示了配置交换的三种方式。当前引导环境是通过 c0t0d0s0 上的根 (/) 文件系统配置的。 交换文件系统位于 c0t0d0s1。
以下示例中未指定交换片。新的引导环境包含位于 c0t1d0s0 上的根 (/) 文件系统。在 c0t0d0s1 上的当前引导环境和新引导环境之间可以共享交换。
# lucreate -n be2 -m /:c0t1d0s0:ufs |
以下示例中指定了一个交换片。新的引导环境包含位于 c0t1d0s0 上的根 (/) 文件系统。新的交换文件系统在此 c0t1d0s1 上创建。 在当前引导环境和新引导环境之间不共享任何交换片。
# lucreate -n be2 -m /:c0t1d0s0:ufs -m -:c0t1d0s1:swap |
以下示例中添加了一个交换片,另一个交换片由两个引导环境共享。新的引导环境包含位于 c0t1d0s0 上的根 (/) 文件系统。新的交换片在此 c0t1d0s1 上创建。 在当前引导环境和新引导环境之间共享 c0t0d0s1 上的交换片。
# lucreate -n be2 -m /:c0t1d0s0:ufs -m -:shared:swap -m -:c0t1d0s1:swap |
如果交换片正被当前引导环境以外的任何引导环境使用,则引导环境创建失败。如果引导环境是使用 -s 选项创建的,则替换源引导环境可以使用交换片,但不能使用任何其它引导环境。
Solaris Live Upgrade 将片的全部内容复制到指定的新引导环境片。您可能希望该片上有些大的文件系统可在引导环境之间共享(而不是复制),以节省空间和复制时间。必须复制对于操作环境(例如,根目录 [/] 和 /var)很关键的文件系统。诸如 /home 之类的文件系统不是关键文件系统,可以在引导环境之间共享。可共享的文件系统必须是用户定义的文件系统,并且在活动引导环境和新的引导环境上都必须位于单独的交换片上。您可以根据需要以几种方式重新配置磁盘。
您可以在创建新的引导环境之前重新划分磁盘片,并将可共享的文件系统放在自己的片上。例如,如果根 (/) 目录、/var 和 /home 在同一个片上,则重新配置磁盘并将 /home 放在它自己的片上。当您创建任何新的引导环境时,缺省情况下,/home 与新的引导环境共享。
如果您想共享一个目录,这个目录必须被拆分到自己的片上。这样,该目录就是一个可以与其它引导环境共享的文件系统。您可以使用 lucreate 命令和 -m 选项来创建一个新的引导环境并将一个目录拆分到它自己的片上。但是,新的文件系统还是不能与原始引导环境共享。您需要再次运行 lucreate 命令和 -m 选项来创建另一个引导环境。这样,两个新的引导环境就可以共享该目录了。
例如,如果您想从 Solaris 8 发行版升级到 Solaris 9 发行版并共享 /home,则可以运行带有 -m 选项的 lucreate 命令。您可以创建 Solaris 8 发行版,使 /home 在自己的片上作为独立的文件系统。然后再次运行带有 -m 选项的 lucreate 命令来复制该引导环境。这第三个引导环境就可以被升级到 Solaris 9 发行版。/home 在 Solaris 8 和 Solaris 9 发行版之间共享。
有关可共享和关键文件系统的说明,请参见文件系统类型。
创建新引导环境时,可以在复制到新引导环境的操作中排除某些目录和文件。如果已经排除了某个目录,还可以在已排除的目录下再次包含指定的子目录或文件。然后可以将这些恢复的子目录或文件复制到新的引导环境中。例如,可以将 /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 |
有关创建引导环境时定制目录和文件的示例,请参见创建引导环境以及定制内容 (命令行界面)。
在准备切换并启动新的引导环境时,应快速启动新的引导环境,并重新引导。当您第一次引导一个新创建的引导环境时,文件在引导环境之间同步。“同步”是指可将某些关键的系统文件和目录从上一个使用中的引导环境复制到正在引导的引导环境中。将复制那些已更改的文件和目录。
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 文件项可以是文件或目录。第二个字段是启动引导环境时更新的方法。有三种更新文件的方法:
OVERWRITE — 使用中的引导环境的文件内容将改写新引导环境文件的内容。如果在第二个字段中未指定任何操作,则 OVERWRITE 是缺省操作。如果条目是目录,则复制所有子目录。所有文件都将被覆写。新引导环境文件的日期、模式和拥有权与之前的引导环境的对应文件的相应信息相同。
APPEND — 将使用中的引导环境文件的内容添加到新引导环境文件的末尾。这可能导致文件中出现重复条目。目录不能以 APPEND 形式列出。 新引导环境文件的日期、模式和拥有权与之前的引导环境的对应文件的相应信息相同。
PREPEND — 将活动引导环境文件的内容添加到新引导环境文件的开头。这可能导致文件中出现重复条目。目录不能以 PREPEND 形式列出。 新引导环境文件的日期、模式和拥有权与之前的引导环境的对应文件的相应信息相同。
第一次从新创建的引导环境引导时,Solaris Live Upgrade 将新引导环境与上一个使用中的引导环境同步。完成此初始引导和同步之后,Solaris Live Upgrade 将不执行同步操作,除非请求了该操作。
要使用 CUI 强制进行同步操作,请在出现提示信息时键入 yes
要使用 CLI 强制进行同步操作,请使用带 -s 选项的 luactivate 命令
如果您要维护 Solaris 操作环境的多个版本,则可能希望强制进行同步操作。您可能希望在诸如 email 或 passwd/group 等文件中进行更改以进入要启动到的引导环境。如果您强制执行同步,则 Solaris Live Upgrade 将检查要同步的文件之间是否存在冲突。当引导新的引导环境并检测到冲突时,将发出警告,并且不对文件进行同步。尽管有这样的冲突,启动仍可成功完成。如果更改了新引导环境和使用中的引导环境中的同一文件,则可能发生冲突。例如,如果更改了初始引导环境中的 /etc/passwd 文件,然后又更改了新引导环境中的 /etc/passwd 文件,则同步进程将无法为同步操作选择要复制的文件。
使用此选项时要特别小心,因为您可能没有注意到或者无法控制在上一个活动引导环境中可能已发生的更改。 例如,如果您正在当前引导环境中运行 Solaris 9 软件并且通过强制同步引导回 Solaris 7 发行版,则文件可能在 Solaris 7 发行版上发生更改。由于文件依赖于操作环境的发行版,并且由于 Solaris 9 文件可能与 Solaris 7 文件不兼容,因此引导到 Solaris 7 发行版可能失败。
以远程方式(例如,通过终端线)查看字符界面时,可能需要将 TERM 环境变量设置为 VT220。此外,当使用公用桌面环境 (CDE) 时,将 TERM 变量的值设置为 dtterm 而不是 xterm。