本章提供在安装和使用 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 Valume Manager,但不支持这些卷。
可以创建新的引导环境,它可包含物理磁盘片、Solaris 卷管理器卷或 Veritas Valume Manager 的任意组合。 复制到新引导环境中的关键文件系统可以是以下类型:
物理片。
包含在 RAID-1 卷(镜像)中的单片并置。 包含根 (/) 文件系统的片可以是 RAID-1 卷。
包含在 RAID-0 卷中的单片并置。 包含根 (/) 文件系统的片可以是 RAID-0 卷。
创建新的引导环境时,lucreate -m 命令识别以下三种设备:
/dev/dsk/cwtxdysz 格式的物理片
/dev/md/dsk/dnum 格式的 Solaris 卷管理器卷
/dev/vx/dsk/volume_name 格式的 Veritas Valume Manager 卷
如果您在使用 Veritas VxVM 升级时遇到问题,请参见在运行 Veritas VxVm 时使用 Solaris Live Upgrade 进行升级,系统将发出警告音。
如果 RAID-1 卷处于忙状态、正在重新同步,或者如果卷包含 Solaris Live Upgrade 引导环境正在使用的文件系统,请使用以下原则检查。
有关卷命名快捷键和原则的信息,请参见定制 JumpStart 和 Solaris Live Upgrade 原则。
如果镜像或子镜像需要维护或处于忙状态,则无法分离组件。 应在创建新引导环境和使用 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。