Solaris 10 5/09 安装指南:Solaris Live Upgrade 和升级规划

在同一 ZFS 根池中创建引导环境

如果您已经有一个 ZFS 根池,此时要在该池中创建一个新的 ZFS 引导环境,则可以按照以下过程提供的步骤进行操作。创建非活动引导环境后,可在方便的时候升级并激活新的引导环境。在同一个池中创建引导环境时,不需要使用 -p 选项。

Procedure如何在同一 ZFS 根池中创建 ZFS 引导环境。

  1. 在第一次运行 Solaris Live Upgrade 之前,必须从安装介质安装最新 Solaris Live Upgrade 软件包以及安装 SunSolve 信息文档 206844 中列出的修补程序。在 SunSolve Web 站点上搜索信息文档 206844(以前为 72099)。

    最新的软件包以及修补程序可确保您具有该发行版的所有最新错误修复和新增功能。在继续创建新的引导环境之前,请确保安装了所有与您的系统相关的修补程序。

    下列子步骤说明了 SunSolve 信息文档 206844 中的步骤。


    注 –

    使用 Solaris Live Upgrade 创建新的 ZFS 引导环境至少需要安装 Solaris 10 10/08 发行版。以前的发行版中的 ZFS 和 Solaris Live Upgrade 软件不能执行这些任务。


    1. 成为超级用户或承担等效角色。

    2. 按照 SunSolve Web 站点上信息文档 206844 中的说明删除和添加 Solaris Live Upgrade 软件包。

      三个 Solaris Live Upgrade 软件包(SUNWluuSUNWlurSUNWlucfg)组成了使用 Solaris Live Upgrade 进行升级所需的软件。这些软件包包含现有的软件、新增功能和错误修复。如果在使用 Solaris Live Upgrade 前未删除现有软件包并在系统上安装新的软件包,则升级到目标发行版时将失败。从 Solaris 10 8/07 发行版开始,新增了 SUMWlucfg 软件包。如果您要从 Solaris 10 8/07 之前的发行版使用 Solaris Live Upgrade 软件包,则不需要删除此软件包。


      注 –

      从 Solaris 10 8/07 发行版开始,新增了 SUMWlucfg 软件包。如果您使用的是以前发行版的 Solaris Live Upgrade 软件包,则不需要删除此软件包。



      # pkgrm SUNWlucfg SUNWluu SUNWlur
      
    3. 安装新的 Solaris Live Upgrade 软件包。有关说明,请参见安装 Solaris Live Upgrade

    4. 在运行 Solaris Live Upgrade 之前,需要安装下列修补程序。这些修补程序可确保您具有该发行版的所有最新错误修复和新增功能。

      请访问 SunSolve,以确保具有最近更新的修补程序列表。在 SunSolve Web 站点上搜索信息文档 206844(以前为 72099)。

      • 如果您要将修补程序存储在本地磁盘上,请创建一个目录(如 /var/tmp/lupatches)并将这些修补程序下载到该目录中。

      • SunSolve Web 站点获取修补程序列表。

      • 转至修补程序目录,如本示例中所示。


        # cd /var/tmp/lupatches
        
      • 使用 patchadd 命令安装修补程序。


        # patchadd path-to-patches patch_id patch_id
        

        path-to-patches 是修补程序目录的路径,例如 /var/tmp/lupatchespatch_id 是修补程序号。用空格分隔多个修补程序名称。


        注 –

        需要按照信息文档 206844 中指定的顺序来应用这些修补程序。


      • 根据需要重新引导系统。某些修补程序需要重新引导后才能生效。

        仅适用于 x86: 需要重新引导系统,否则 Solaris Live Upgrade 将会失败。


        # init 6
        

        您现在有了成功创建新的引导环境所需的软件包和修补程序。

  2. 创建新引导环境。


    # lucreate [-c zfsBE] -n new-zfsBE
    
    -c zfsBE

    为当前引导环境指定名称 zfsBE。该选项不是必需的,仅在创建首个引导环境时使用。如果是首次运行 lucreate 命令且省略了 -c 选项,本软件将为您创建一个缺省名称。

    -n new-zfsBE

    为要创建的引导环境指定名称。名称在系统中必须是唯一的。

    创建新引导环境几乎瞬间即可完成。将为当前 ZFS 根池中的每个数据集创建快照,然后从每个快照创建克隆。快照可以有效利用磁盘空间,此过程可使用最少的磁盘空间。创建非活动引导环境后,可以使用 luupgradeluactivate 命令升级或激活新的 ZFS 引导环境。

  3. (可选)验证引导环境是否已完成。

    lustatus 命令会报告引导环境的创建是否已完成以及引导环境是否可以引导。


    # lustatus
    boot environment   Is        Active  Active     Can	    Copy 
    Name               Complete  Now	 OnReboot   Delete	 Status 
    ------------------------------------------------------------------------ 
    zfsBE               yes       yes     yes         no             -
    new-zfsBE           yes       no      no          yes            -
  4. (可选)验证系统上的基本数据集信息。

    在本示例中,ZFS 根池命名为 rpool,@ 符号表示快照。新引导环境挂载点是临时的,直到执行 luactivate 命令为止。/dump/swap 卷与 ZFS 根池以及根池中的引导环境共享。


    # zfs list
    NAME                                      USED  AVAIL  REFER  MOUNTPOINT 
    rpool                                    9.29G  57.6G    20K  /rpool 
    rpool/ROOT                               5.38G  57.6G    18K  /rpool/ROOT 
    rpool/ROOT/zfsBE                         5.38G  57.6G   551M  
    rpool/ROOT/zfsBE@new-zfsBE               66.5K      -   551M  -
    rpool/ROOT/new-zfsBE                     85.5K  57.6G   551M  /tmp/.alt.103197
    rpool/dump                               1.95G      -  1.95G  - 
    rpool/swap                               1.95G      -  1.95G  - 

    现在可以升级并激活新的引导环境了。请参见示例 13–2


示例 13–2 在同一 ZFS 根池中创建引导环境

以下命令将创建一个新的 ZFS 引导环境 new-zfsBE。不需要使用 -p 选项,因为要在同一根池中创建引导环境。


# lucreate [-c zfsBE] -n new-zfsBE
Analyzing system configuration.
Comparing source boot environment <zfsBE> file systems with the file
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Creating configuration for boot environment new-zfsBE.
Source boot environment is zfsBE.
Creating boot environment new-zfsBE.
Cloning file systems from boot environment zfsBE to create 
boot environment new-zfsBE.
Creating snapshot for <rpool> on <rpool> Creating clone for <rpool>. 
Setting canmount=noauto for <rpool> in zone <global> on <rpool>. 
Population of boot environment zfsBE successful on <rpool>.
# lustatus
boot environment   Is        Active  Active     Can	    Copy 
Name               Complete  Now	   OnReboot   Delete	 Status 
------------------------------------------------------------------------ 
zfsBE               yes       yes     yes         no          - 
new-zfsBE           yes       no      no          yes         -
# zfs list
NAME                                      USED  AVAIL  REFER  MOUNTPOINT 
rpool                                    9.29G  57.6G    20K  /rpool 
rpool/ROOT                               5.38G  57.6G    18K  /rpool/ROOT 
rpool/ROOT/zfsBE                         5.38G  57.6G   551M  
rpool/ROOT/zfsBE@new-zfsBE               66.5K      -   551M  - 
rpool/ROOT/new-zfsBE                     85.5K  57.6G   551M  /tmp/.alt.103197 
rpool/dump                               1.95G      -  1.95G  - 
rpool/swap                               1.95G      -  1.95G  - 

现在可以升级并激活新的引导环境了。有关升级 ZFS 引导环境的示例,请参见示例 13–1。有关使用 luupgrade 命令的更多示例,请参见第 5 章


# luactivate new-zfsBE
**********************************************************************

The target boot environment has been activated. It will be used when you 
reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You 
MUST USE either the init or the shutdown command when you reboot. If you 
do not use either init or shutdown, the system will not boot using the 
target BE.

**********************************************************************
In case of a failure while booting to the target BE, the following process 
needs to be followed to fallback to the currently working boot environment:

1. Enter the PROM monitor (ok prompt).

2. Change the boot device back to the original boot environment by typing:

     setenv boot-device /pci@1f,0/pci@1/scsi@4,1/disk@2,0:a

3. Boot to the original boot environment by typing:

     boot

**********************************************************************

Modifying boot archive service
Activation of boot environment <new-zfsBE> successful.

将系统重新引导至 ZFS 引导环境。


# init 6
# svc.startd: The system is coming down.  Please wait.
svc.startd: 79 system services are now being stopped.
.
.
.