本章描述 Solaris Live Upgrade 过程。
本书采用片这一术语,但某些 Solaris 文档和程序可能将片称为分区。
Solaris Live Upgrade 提供了一种升级方法,可以显著减少与操作系统升级关联的常见服务中断。您可以复制当前运行的引导环境,然后在原始引导环境继续运行的同时升级该副本。或者,如果您不愿意升级,可以在引导环境上安装一个 Solaris Flash 归档文件。原始系统配置仍保持完全正常运行,不受升级或安装 Solaris Flash 归档文件的影响。然后,当重新引导系统时,复制的引导环境被激活,成为活动引导环境。如果出现故障,您还有一个安全网。只需重新引导就可以快速恢复为原始引导环境,从而消除了由标准测试和评估所引起的停机时间。
Solaris Live Upgrade 使您能够在不影响当前运行系统的情况下,创建引导环境的副本以执行以下操作:
升级系统
将新引导环境上的磁盘配置更改为不同的文件系统类型、大小和布局
维护许多具有不同映像的引导环境。例如,您可以创建一个包含当前修补程序的引导环境,并创建一个包含更新版本的引导环境。
在使用 Solaris Live Upgrade 之前,有必要对基本系统管理做一些了解。有关系统管理任务(如管理文件系统、安装、引导和管理交换)的背景信息,请参见《System Administration Guide: Basic Administration》。
下面是创建不活动引导环境、将其升级和切换为活动引导环境所需任务的概述。
创建引导环境提供了一种将重要文件系统从活动引导环境复制到新引导环境的方法。磁盘在必要时被重新组织,文件系统被定制,而关键文件系统则被复制到新的引导环境中。
Solaris Live Upgrade 区分两种文件系统类型:关键文件系统和可共享文件系统。关键文件系统对于 Solaris 操作环境是必需的,并且在活动和不活动引导环境的 vfstab 中是不同的安装点。根 (/)、/usr、/var 或 /opt 就属于这类文件系统。这些文件系统始终从源复制到不活动引导环境。关键文件系统有时被称作不可共享。可共享文件系统是用户定义的文件,如 /export,它在活动和不活动引导环境的 vfstab 中包含相同的安装点。因此,在活动引导环境中更新共享文件也会更新不活动引导环境中的数据。当您创建一个新的引导环境时,缺省情况下,可共享文件系统将被共享。但是您可以指定一个目标片,然后文件系统被复制。有关可共享文件系统的详细信息,请参见关于为可共享文件系统选择片的指南。
交换是可共享文件系统的一种特殊情况。与可共享文件系统一样,缺省情况下,所有交换片都被共享。但如果您为交换指定一个目标目录,交换片将被复制。实现此目标的方法是使用字符用户界面或在命令行使用带 -m 选项的 lucreate (1M)。分割与合并交换片的一个限制是:交换片不能正被当前引导环境之外的任何引导环境使用,或者如果使用了 -s 选项,则不能正被源引导环境之外的任何引导环境使用。如果交换片正在被任何其它引导环境使用,则引导环境的创建将失败,无论片中是包含交换、UFS,还是包含任何其它文件系统。交换片不是必需的。有关重新配置交换的过程,请参见“创建引导环境(字符界面)”的步骤 9 或创建引导环境并重新配置交换(命令行界面)。
为引导环境创建文件系统的规则与为 Solaris 操作环境创建文件系统的规则完全相同。Solaris Live Upgrade 无法防止您在关键文件系统上进行无效配置。例如,您可以输入 lucreate 命令,该命令会为根 (/) 和 /kernel — 根 (/) 的无效部分 — 创建单独的文件系统。
创建新的引导环境要求将关键文件系统复制到另外的片中。在创建新的引导环境之前,可能需要准备磁盘。检查磁盘,确保它已正确格式化:
标识出足够大的片以容纳将要复制的文件系统。
标识出包含您希望在引导环境之间共享而不是复制的目录的文件系统。如果您想共享某一目录,你需要创建使该目录位于自己的片上的新引导环境。这样,该目录就是一个文件系统,并且可以与将来的引导环境共享。有关创建单独的共享文件系统的详细信息,请参见关于为可共享文件系统选择片的指南。
创建新的引导环境的过程从标识未用的片开始,关键文件系统可以复制到这个片中。如果片不可用,或片无法满足最低要求,则需要格式化一个新片。有关从菜单格式化片的过程,请参见“创建引导环境(字符界面)”的步骤 6。
定义了片之后,可以在文件系统被复制到目录中之前,在新的引导环境上重新配置文件系统。您通过分割和合并文件系统来重新配置它们,这提供了一种编辑 vfstab 以连接和断开文件系统目录的简单方法。通过指定同一个安装点,可以将文件系统合并到它们的父目录;而通过指定不同的安装点,可以将文件系统从父目录中分割出来。
有关分割和合并文件系统的过程,请参见以下过程:
在不活动引导环境上配置了文件系统后,您开始自动复制。关键文件系统被复制到指定目录中。可共享的文件系统不会被复制,但会被共享。但有一个例外情况:您可以指定复制某些文件系统。当文件系统从活动引导环境复制到不活动引导环境时,这些文件被定向到新定义的目录中。活动引导环境不会有任何变化。有关创建新引导环境的过程,请参见创建新引导环境。
下图显示了创建新引导环境的不同方法。
图形 30–1 显示了已被复制到磁盘的其它片上以创建新引导环境的关键文件系统根 (/)。活动引导环境在一个片上包含根 (/)。新的引导环境是一个精确的副本,其根 (/) 在一个新片上。文件系统 /swap 和 /export/home 被活动和不活动引导环境共享。
图形 30–2 显示了被分割并复制到磁盘的片上以创建新引导环境的关键文件系统。活动引导环境在一个片上包含根 (/)。在那个片上,根 (/) 中包含 /usr、/var 和 /opt 目录。在新的引导环境中,根 (/) 被分割,/usr 和 /opt 被放在不同的片上。文件系统 /swap 和 /export/home 被两个引导环境共享。
图形 30–3 显示了被合并并复制到磁盘的片上以创建新引导环境的关键文件系统。活动引导环境中包含根 (/)、 /usr、 /var 和 /opt,每个都在自己的片上。在新的引导环境中,/usr 和 /opt 在一个片上被合并到根 (/) 中。文件系统 /swap 和 /export/home 被两个引导环境共享。
创建了引导环境后,它在您准备升级前一直保持不变。您可以随时在引导环境上执行升级。升级并不影响活动引导环境中的任何文件。准备好后,您可以激活到新版本。
图形 30–4 显示了到不活动引导环境的升级。有关升级引导环境的过程,请参见第 33 章,使用 Solaris Live Upgrade 进行升级(任务)。
如果不想升级,可以在引导环境上安装一个 Solaris Flash 归档文件。Solaris Flash 安装功能使您能够在一个称为主系统的系统上创建 Solaris 操作环境的单个参考安装。然后,您可以在许多被称为克隆系统的系统上复制该安装。在这里,不活动引导环境就是一个克隆。有关 Solaris Flash 安装特性的详细信息,请参见第 16 章,Solaris Flash 安装功能(主题)。
当您在系统上安装 Solaris Flash 归档文件时,它会像初始安装那样替换现有引导环境中的所有文件。图形 30–5 显示了在不活动引导环境上的 Solaris Flash 归档文件安装。有关安装 Solaris Flash 归档文件的过程,请参见在引导环境中安装 Solaris Flash 归档文件。
当您准备好切换并使新的引导环境活动时,只需快速激活新的引导环境并重新引导。当您激活新的引导环境时,该引导环境会变为可引导。当您第一次引导一个新创建的引导环境时,文件在引导环境之间同步。"在这里,“同步”的意思是:某些系统文件和目录被从上一个活动引导环境复制到正在引导的引导环境中。重新引导系统时,在新的引导环境中安装的配置仍是活动的。原始引导环境于是变成不活动引导环境。图形 30–6 显示了重新引导后从不活动引导环境到活动引导环境的切换。有关激活引导环境的过程,请参见激活引导环境。
如果发生故障,可以通过激活和重新引导迅速回退到原始引导环境。如果新的引导环境无法引导,或者它能够引导但不能完全正常地工作,或者您对结果不满意,这时您需要返回到原始引导环境。
使用回退只需要重新引导系统的时间,比备份并恢复到原始环境要快得多。不能引导的新引导环境会被保留。然后,就可以分析该故障。您只能返回到由 luactivate 用来激活新引导环境的引导环境。
您可以通过以下几种方式回退到以前的引导环境:
如果新的引导环境成功引导,但您对结果不满意,则用前一个引导环境的名称来运行 luactivate 命令并重新引导。
如果新的引导环境无法引导,则您在单用户模式下引导要返回的引导环境,运行 luactivate 命令并重新引导。
如果您不能在单用户模式下引导,则必须从介质或网络安装映像引导,在回退的引导环境上安装根 (/) 文件系统,运行 luactivate 命令并重新引导。
有关回退的过程,请参见故障恢复:回退到原始引导环境(命令行界面) 。
图形 30–7 显示了您重新引导以返回时的切换。
您还可以进行多种维护操作,如重命名或删除引导环境。有关维护过程,请参见第 34 章,维护 Solaris Live Upgrade 引导环境(任务)。