JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 10 1/13 安装指南:Live Upgrade 和升级规划     Oracle Solaris 10 1/13 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分使用 Live Upgrade 进行升级

1.  在何处查找 Oracle Solaris 安装规划信息

2.  Live Upgrade(概述)

3.  Live Upgrade(规划)

4.  使用 Live Upgrade 创建引导环境(任务)

安装 Live Upgrade 并创建引导环境(任务列表)

安装 Live Upgrade

如何使用 pkgadd 命令安装 Live Upgrade

如何使用 Oracle Solaris 安装程序安装 Live Upgrade

安装 Live Upgrade 所需的修补程序

如何安装必需的修补程序

创建新的引导环境

如何首次创建引导环境

如何创建引导环境并合并文件系统

如何创建引导环境并合并文件系统

如何创建引导环境并重新配置交换

如何创建引导环境并使用列表来重新配置交换

如何创建引导环境并复制可共享文件系统

如何从其他源中创建引导环境

如何为 Flash 归档文件创建空引导环境

如何在 RAID-1 卷(镜像)上创建引导环境

创建引导环境并定制内容

5.  使用 Live Upgrade 进行升级(任务)

6.  故障恢复:回退到初始引导环境(任务)

7.  维护 Live Upgrade 引导环境(任务)

8.  在安装了非全局区域的系统中升级 Oracle Solaris OS

9.  Live Upgrade 示例

第 2 部分使用 Live Upgrade 升级和迁移到 ZFS 根池

10.  Live Upgrade 和 ZFS(概述)

11.  针对 ZFS 的 Live Upgrade(规划)

12.  为 ZFS 根池创建引导环境

13.  针对安装了非全局区域的 ZFS 的 Live Upgrade

第 3 部分附录

A.  Live Upgrade 命令参考

B.  故障排除(任务)

C.  附加 SVR4 打包要求(参考)

D.  升级时使用修补程序分析器(任务)

词汇表

索引

创建新的引导环境

创建引导环境可以作为一种将关键文件系统从活动引导环境复制到新引导环境的方法。使用 lucreate 命令,可以重新组织磁盘(如果必要)、定制文件系统以及将关键文件系统复制到新引导环境。

在将文件系统复制到新的引导环境之前,可以对这些文件系统进行定制,以便将关键文件系统的目录合并到其父目录中,或者从其父目录中拆分出来。缺省情况下,用户定制(可共享)的文件系统在引导环境间共享,但需要时可以复制这些可共享的文件系统。交换就是一个可共享的卷,它可以被拆分与合并。有关可共享的关键文件系统的概述,请参见文件系统类型


注 - 本章介绍适用于 UFS 文件系统的 Live Upgrade。有关将 UFS 文件系统迁移到 ZFS 根池或创建和安装 ZFS 根池的过程,请参见第 12 章


-m 选项一起使用的 lucreate 命令指定要在新引导环境中创建的文件系统和文件系统数。您必须通过重复该选项来指定要创建的文件系统的确切数目。例如,使用一次 -m 选项指定将所有的文件系统放在何处。这会将初始引导环境中的所有文件系统合并到一个由 -m 选项指定的文件系统中。如果指定两次 -m 选项,那么将创建两个文件系统。使用 -m 选项来创建文件系统时,请遵循以下原则:

如何首次创建引导环境

示例 4-1 创建引导环境

在此示例中,活动引导环境命名为 first_disk。文件系统的挂载点通过使用 -m 选项表示出来。创建了两个文件系统:根 (/) 和 /usr。新引导环境命名为 second_disk。描述 mydescription 与名称 second_disk 相关联。新引导环境 second_disk 中的交换片自动从源 first_disk 共享。

# lucreate -A 'mydescription' -c first_disk  -m /:/dev/dsk/c0t4d0s0:ufs \
-m /usr:/dev/dsk/c0t4d0s3:ufs  -n second_disk

如何创建引导环境并合并文件系统


注 - 可以使用带有 m 选项的 -lucreate 命令指定要在新引导环境中创建的文件系统,以及要创建的文件系统数。您必须通过重复该选项来指定要创建的文件系统的确切数目。例如,使用一次 -m 选项指定将所有的文件系统放在何处。这会将初始引导环境中的所有文件系统合并到一个文件系统中。如果指定两次 -m 选项,那么将创建两个文件系统。


示例 4-2 创建引导环境并合并文件系统

在本示例中,当前引导环境中的文件系统有根 (/)、/usr/opt/opt 文件系统与其父文件系统 /usr 合并。新引导环境命名为 second_disk。描述 mydescription 与名称 second_disk 相关联。

# lucreate -A 'mydescription' -c first_disk \
 -m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \
 -m /usr/opt:merged:ufs -n second_disk

如何创建引导环境并合并文件系统


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


将一个目录拆分成多个挂载点后,系统将不再维护跨文件系统的硬链接。例如,如果将 /usr/stuff1/file 硬链接到 /usr/stuff2/file,并且将 /usr/stuff1/usr/stuff2 拆分成独立的文件系统,则文件之间的链接将不再存在。lucreate 会发出一条警告消息,系统将创建一个符号链接以替换丢失的硬链接。

示例 4-3 创建引导环境并拆分文件系统

在本示例中,前面的命令对新引导环境中占据多个磁盘分片的根 (/) 文件系统进行了拆分。假设存在一个源引导环境,其根 (/) 上有 /usr/var/opt/dev/dsk/c0t0d0s0 /

在新引导环境中,分隔 /usr/var/opt,将这些文件系统挂载到它们各自的分片上,如下所示:

/dev/dsk/c0t1d0s0 /

/dev/dsk/c0t1d0s1 /var

/dev/dsk/c0t1d0s7 /usr

/dev/dsk/c0t1d0s5 /opt

描述 mydescription 与引导环境名称 second_disk 相关联。

# lucreate -A 'mydescription' -c first_disk \
 -m /:/dev/dsk/c0t1d0s0:ufs -m /usr:/dev/dsk/c0t1d0s7:ufs  \ 
-m /var:/dev/dsk/c0t1d0s1:ufs -m /opt:/dev/dsk/c0t1d0s5:ufs \ 
-n second_disk

接下来的步骤

新引导环境创建完成后,就可以对其进行升级和激活(使其可用于引导)。请参见第 5 章

如何创建引导环境并重新配置交换

缺省情况下,交换片在引导环境之间共享。如果使用 -m 选项指定交换,则当前的引导环境和新引导环境共享相同的交换片。如果要重新配置新引导环境的交换,请使用 -m 选项在新引导环境中添加或删除交换片。


注 - 除当前引导环境外,不应让任何其他引导环境使用交换片;如果使用了 -s 选项,那么源引导环境也可以使用交换片。因为无论交换分片包含的是交换、UFS 还是任何其他文件系统,只要有任何其他引导环境使用了交换片,引导环境的创建就会失败。

您可以使用现有的交换片创建引导环境,然后在创建完成后编辑 vfstab 文件。


示例 4-4 创建引导环境并重新配置交换

在本示例中,当前引导环境包含 /dev/dsk/c0t0d0s0 上的根 (/),且交换位于 /dev/dsk/c0t0d0s1 上。新引导环境将根 (/) 复制到 /dev/dsk/c0t4d0s0,并将 /dev/dsk/c0t0d0s1/dev/dsk/c0t4d0s1 都用作交换片。描述 mydescription 与引导环境名称 second_disk 相关联。

# lucreate -A 'mydescription' -c first_disk \ 
-m /:/dev/dsk/c0t4d0s0:ufs -m -:/dev/dsk/c0t0d0s1:swap \ 
-m -:/dev/dsk/c0t4d0s1:swap -n second_disk 

这些交换指定仅当从 second_disk 引导后才会生效。如果交换片列表较长,请使用 -M 选项。请参见如何创建引导环境并使用列表来重新配置交换

如何创建引导环境并使用列表来重新配置交换

如果有一个长交换片列表,则创建一个交换列表。lucreate 在新引导环境中使用此交换片列表。


注 - 除当前引导环境外,不应让任何其他引导环境使用交换片;如果使用了 -s 选项,那么源引导环境也可以使用交换片。因为无论交换片包含的是交换、UFS 还是任何其他文件系统,只要有任何其他引导环境使用了交换片,引导环境的创建就会失败。


  1. 创建要在新引导环境中使用的交换片列表。

    此文件的位置和名称是用户定制的。在本示例中,/etc/lu/swapslices 文件的内容是设备和分片的列表:

    -:/dev/dsk/c0t3d0s2:swap
    -:/dev/dsk/c0t3d0s2:swap
    -:/dev/dsk/c0t4d0s2:swap
    -:/dev/dsk/c0t5d0s2:swap
    -:/dev/dsk/c1t3d0s2:swap
    -:/dev/dsk/c1t4d0s2:swap
    -:/dev/dsk/c1t5d0s2:swap
  2. 键入:
    # lucreate  [-A 'BE_description'] \
     -m mountpoint:device[,metadevice]:fs_options \
    -M slice_list  -n BE_name
    -A 'BE_description'

    (可选)允许创建与引导环境名称 (BE_name) 相关联的引导环境描述。描述的长度不受限制,并且可以包含任何字符。

    -m mountpoint:device[,metadevice]:fs_options [-m...]

    指定新引导环境的文件系统的配置。作为变量指定给 -m 选项的文件系统可以位于同一磁盘上,也可以分布在多个磁盘上。您可以根据需要多次使用此选项,以创建所需个数的文件系统。

    • mountpoint 可以是任何有效的挂载点,也可以是表示交换分区的 (连字符)。

    • device 字段可以是以下内容之一:

      • 磁盘设备的名称格式为 /dev/dsk/c wtxdys z

      • Solaris Volume Manager 元设备的名称,格式为 /dev/md/dsk/dnum

      • Veritas Volume Manager 卷的名称,格式为 /dev/vx/dsk/volume_name

      • 关键字 merged,表示指定挂载点处的文件系统将与其父文件系统合并。

    • fs_options 字段可以是以下内容之一:

      • ufs,表示 UFS 文件系统。

      • vxfs,表示 Veritas 文件系统。

      • swap,表示交换卷。交换挂载点必须为 (连字符)。

      • 对于用作逻辑设备(镜像)的文件系统,可用多个关键字指定要对这些文件系统应用的操作。这些关键字可以创建逻辑设备,可以更改逻辑设备的配置,还可以删除逻辑设备。有关这些关键字的描述,请参见如何在 RAID-1 卷(镜像)上创建引导环境

    -M slice_list

    -m 选项的列表,这些选项被收集在文件 slice_list 中。请以指定 -m 选项变量的格式指定这些变量。以散列标记 (#) 开头的注释行将被忽略。如果引导环境的文件系统列表较长,那么 -M 选项会很有用。注意,可以组合使用 -m-M 选项。例如,可以将交换片存储在 slice_list 中,然后使用 -m 指定根 (/) 分片和 /usr 分片。

    -m 选项和 -M 选项都支持列出特定挂载点的多个分片。在处理这些分片的过程中,lucreate 跳过任何不可用分片并选择第一个可用分片。

    -n BE_name

    要创建的引导环境的名称。BE_name 必须唯一。

    新引导环境创建完成后,就可以对其进行升级和激活(使其可用于引导)。请参见第 5 章

示例 4-5 创建引导环境并使用列表来重新配置交换

在本示例中,新引导环境中的交换是 /etc/lu/swapslices 文件中标记的分片列表;描述 mydescription 与名称 second_disk 相关联。

# lucreate -A 'mydescription' -c first_disk \ 
-m /:/dev/dsk/c02t4d0s0:ufs -m /usr:/dev/dsk/c02t4d0s1:ufs \ 
-M /etc/lu/swapslices -n second_disk 

如何创建引导环境并复制可共享文件系统

如果想将可共享文件系统复制到新引导环境,请使用 -m 选项指定要复制的挂载点。否则,在缺省情况下共享可共享的文件系统,并在 vfstab 文件中维护同一挂载点。适用于可共享文件系统的任何更新都适用于共享该文件系统的两个引导环境。

示例 4-6 创建引导环境并复制可共享文件系统

在本示例中,当前引导环境包含两个文件系统:根 (/) 和 /home。在新引导环境中,根 (/) 文件系统被拆分成两个文件系统:根 (/) 和 /usr/home 文件系统被复制到新引导环境中。描述 mydescription 与引导环境名称 second_disk 相关联。

# lucreate -A 'mydescription' -c first_disk \ 
-m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s3:ufs \
-m /home:/dev/dsk/c0t4d0s4:ufs -n second_disk

如何从其他源中创建引导环境

使用 lucreate 命令创建一个基于活动引导环境中的文件系统的引导环境。如果要基于其他引导环境而非活动的引导环境来创建引导环境,请使用 lucreate 命令并附带 -s 选项。


注 - 如果激活新引导环境并需要后退,那么将引导回上一个活动引导环境,而非源引导环境。


示例 4-7 从其他源中创建引导环境

在本示例中,基于名为 third_disk 的源引导环境中的根 (/) 文件系统创建引导环境。third_disk 不是活动的引导环境。描述 mydescription 与名为 second_disk 的新引导环境相关联。

# lucreate -A 'mydescription' -s third_disk \ 
-m /:/dev/dsk/c0t4d0s0:ufs  -n second_disk

如何为 Flash 归档文件创建空引导环境

lucreate 命令可创建一个基于活动引导环境中的文件系统的引导环境。如果使用 lucreate 命令时附带 -s 选项,则 lucreate 命令将快速创建一个空引导环境。系统会保留指定文件系统的分片,但是不会复制该文件系统。会命名引导环境,但在使用 Flash 归档文件安装之前不会真正创建该引导环境。使用归档文件安装空引导环境时,文件系统会被安装在保留的分片上。

示例 4-8 为 Flash 归档文件创建空引导环境

在本示例中,创建了一个引导环境,其中不包含任何文件系统;描述 mydescription 与新引导环境 second_disk 相关联。

# lucreate -A 'mydescription' -s - \ 
-m /:/dev/dsk/c0t1d0s0:ufs  -n second_disk

空引导环境创建完成后,就可以安装并激活 Flash 归档文件(使该引导环境可用于引导)。请参见第 5 章

有关创建和填充空引导环境的示例,请参见创建空引导环境并安装 Flash 归档文件的示例

如何在 RAID-1 卷(镜像)上创建引导环境

在创建引导环境时,Live Upgrade 使用 Solaris Volume Manager 技术创建 RAID-1 卷。创建引导环境时,可以使用 Live Upgrade 管理以下任务。

开始之前

要使用 Live Upgrade 的镜像功能,必须创建状态数据库和状态数据库副本。状态数据库在磁盘上存储有关 Solaris Volume Manager 配置的状态的信息。

示例 4-9 使用镜像创建引导环境并指定设备

在本示例中,通过使用 -m 选项指定了文件系统的挂载点。

# lucreate -A 'mydescription' \ 
-m /:/dev/md/dsk/d10:ufs,mirror \ 
-m /:/dev/dsk/c0t0d0s0,/dev/md/dsk/d1:attach \ 
-m /:/dev/dsk/c0t1c0s0,/dev/md/dsk/d2:attach -n another_disk

示例 4-10 使用镜像创建引导环境且不指定子镜像名称

在本示例中,通过使用 -m 选项指定了文件系统的挂载点。

# lucreate -A 'mydescription' \ 
-m /:/dev/md/dsk/d10:ufs,mirror \ 
-m /:/dev/dsk/c0t0d0s0:attach \ 
-m /:/dev/dsk/c0t1d0s0:attach -n another_disk

新引导环境创建完成后,就可以对其进行升级和激活(使其可用于引导)。请参见第 5 章

示例 4-11 创建引导环境并拆离子镜像

在本示例中,通过使用 -m 选项指定了文件系统的挂载点。

# lucreate -A 'mydescription' \ 
-m /:/dev/md/dsk/d10:ufs,mirror \ 
-m /:/dev/dsk/c0t0d0s0,/dev/md/dsk/d1:detach,attach,preserve \ 
-m /:/dev/dsk/c0t1d0s0,/dev/md/dsk/d2:attach -n another_disk

新引导环境创建完成后,就可以对其进行升级和激活(使其可用于引导)。请参见第 5 章

示例 4-12 创建引导环境、拆离子镜像并保存其内容

在本示例中,通过使用 -m 选项指定了文件系统的挂载点。

# lucreate -A 'mydescription' \ 
-m /:/dev/md/dsk/d20:ufs,mirror \ 
-m /:/dev/dsk/c0t0d0s0:detach,attach,preserve \ 
-n another_disk

新引导环境创建完成后,就可以对其进行升级和激活(使其可用于引导)。请参见第 5 章

示例 4-13 创建具有两个镜像的引导环境

在本示例中,通过使用 -m 选项指定了文件系统的挂载点。

# lucreate -A 'mydescription' \ 
-m /:/dev/md/dsk/d10:ufs,mirror \ 
-m /:/dev/dsk/c0t0d0s0,/dev/md/dsk/d1:attach \ 
-m /:/dev/dsk/c0t1d0s0,/dev/md/dsk/d2:attach \ 
-m /opt:/dev/md/dsk/d11:ufs,mirror \ 
-m /opt:/dev/dsk/c2t0d0s1,/dev/md/dsk/d3:attach \ 
-m /opt:/dev/dsk/c3t1d0s1,/dev/md/dsk/d4:attach -n another_disk

新引导环境创建完成后,就可以对其进行升级和激活(使其可用于引导)。请参见第 5 章

创建引导环境并定制内容

通过使用包括和排除选项,可以修改新引导环境中文件系统的内容。目录和文件不会被复制到新引导环境。

lucreate 命令语法中的包括和排除选项如下所示:

# lucreate -m mountpoint:device[,metadevice]:fs_options [-m ...]  \ 
[-x exclude-dir] [-y include] \
[-Y include-list-file] \
[-f exclude-list-file]\  
[-z filter-list] [-I] -n BE_name
-x exclude-dir

排除文件和目录,方法是不将它们复制到新引导环境。您可以使用该选项的多个实例排除多个文件或目录。

exclude-dir 是目录名或文件名。

-y include-dir

将列出的目录和文件复制到新引导环境。已排除某个目录,但需要恢复单个子目录或文件时可以使用此选项。

include-dir 是要包含的子目录或文件的名称。

-Y list-filename

将目录和文件从列表复制到新引导环境。已排除某个目录,但需要恢复单个子目录或文件时可以使用此选项。

  • list-filename 是一个包含列表的文件的完整路径。

  • list-filename 文件必须每行包含一个文件。

  • 如果某一行中的项是一个目录,则包括该目录下的所有子目录和文件。如果某一行中的项是一个文件,则仅包括该文件。

-f list-filename

使用列表排除目录和文件,方法是不将它们复制到新引导环境。

  • list-filename 是一个包含列表的文件的完整路径。

  • list-filename 文件必须每行包含一个文件。

-z list-filename

使用列表将目录和文件复制到新引导环境。列表中的每个文件或目录都使用加号“+”或减号“-”进行标注。加号表示被包含的文件或目录,减号表示被排除的文件或目录。

  • list-filename 是一个包含列表的文件的完整路径。

  • list-filename 文件必须每行包含一个文件。文件名前的加号或减号后必须带有一个空格。

  • 如果某一行中的项是一个目录,且该目录前是 +(加号),那么将包含该目录下的所有子目录和文件。如果某一行中的项是一个文件,且该文件前是 +(加号),那么将仅包括该文件。

-I

跳过系统文件的完整性检查。请谨慎使用此选项。

为了防止删除引导环境中的重要系统文件,lucreate 命令会运行完整性检查,检查的对象是已在系统软件包数据库中注册的所有文件。如果缺少某些文件,那么将停止引导环境的创建。使用该选项将覆写完整性检查。这可以更快地创建引导环境,但可能无法检测出问题。