第 5 章 安装和引导 Oracle Solaris ZFS 根文件系统

更新时间:2023-10-26 13:47:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第 5 章安装和引导 Oracle Solaris ZFS 根文件系统

本章介绍如何安装和引导 Oracle Solaris ZFS 文件系统。同时还对使用 Oracle Solaris Live Upgrade 将 UFS 根文件系统迁移到 ZFS 文件系统进行了介绍。 本章包含以下各节:

安装和引导 Oracle Solaris ZFS 根文件系统(概述)

ZFS 支持对于 Oracle Solaris 安装和 Oracle Solaris Live Upgrade 的要求 安装 ZFS 根文件系统(初始安装)

安装 ZFS 根文件系统(Oracle Solaris Flash 归档文件安装) 安装 ZFS 根文件系统(Oracle Solaris JumpStart 安装)

将 UFS 根文件系统迁移到 ZFS 根文件系统 (Oracle Solaris Live Upgrade) 对于交换和转储设备的 ZFS 支持 从 ZFS 根文件系统引导 恢复 ZFS 根池或根池快照

有关此发行版的已知问题列表,请参见《Oracle Solaris 10 9/10 发行说明》。 有关最新的故障排除信息,请访问以下站点:

http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide 安装和引导 Oracle Solaris ZFS 根文件系统(概述) 从 Solaris 10 10/08 发行版开始,您可以通过以下方式安装 ZFS 根文件系统并从中进行引导: 您可以在 ZFS 被选定为根文件系统期间执行初始安装。

可以使用 Oracle Solaris Live Upgrade 功能将 UFS 根文件系统迁移到 ZFS 根文件系统。此外,还可以使用 Oracle Solaris Live Upgrade 执行以下任务: 在现有 ZFS 根池中创建新引导环境。 在新 ZFS 根池中创建新引导环境。

您可以使用 Oracle Solaris JumpStart 配置文件自动安装具有 ZFS 根文件系统的系统。

从 Solaris 10 10/09 发行版开始,您可以使用 JumpStart 配置文件自动安装具有 ZFS Flash 归档文件的系统。

基于 SPARC 或基于 x86 的系统安装了 ZFS 根文件系统或迁移到 ZFS 根文件系统后,系统将从 ZFS 根文件系统自动引导。有关引导方面的变化的更多信息,请参见从 ZFS 根文件系统引导。 ZFS 安装功能

此 Solaris 发行版中提供了以下 ZFS 安装功能:

使用 Solaris 交互式文本安装程序,您可以安装 UFS 根文件系统或 ZFS 根文件系统。对于此 Solaris 发行版,缺省文件系统仍为 UFS。您可以通过以下方式访问交互式文本安装程序选项:

SPARC:通过 Solaris 安装 DVD 引导时,请使用以下语法: ok boot cdrom - text SPARC:通过网络引导时,请使用以下语法: ok boot net - text x86:选择文本模式安装选项。

自定义 JumpStart 配置文件提供以下功能:

您可以设置配置文件以创建 ZFS 存储池并指定可引导的 ZFS 文件系统。 您可以设置配置文件以标识 ZFS 根池的 Flash 归档文件。

使用 Oracle Solaris Live Upgrade 功能,您可以将 UFS 根文件系统迁移到 ZFS 根文件系统。lucreate 和 luactivate 命令已得到增强,从而可支持 ZFS 池和 ZFS 文件系统。

可以通过在安装期间选择两个磁盘来设置镜像 ZFS 根池。或者,可以通过在安装后附加其他磁盘来创建镜像 ZFS 根池。

将会在 ZFS 根池中的 ZFS 卷上自动创建交换和转储设备。 此发行版中不提供以下安装功能:

用于安装 ZFS 根文件系统的 GUI 安装功能当前不可用。

从初始安装选项选择 Flash 安装选项后,用于安装 ZFS 根文件系统的 Oracle Solaris Flash 安装功能将不可用。但是,可以创建 JumpStart 配置文件以标识 ZFS 根池的 Flash 归档文件。有关更多信息,请参见安装 ZFS 根文件系统(Oracle Solaris Flash 归档文件安装)。 不能使用标准升级程序将 UFS 根文件系统升级到 ZFS 根文件系统。 ZFS 支持对于 Oracle Solaris 安装和 Oracle Solaris Live Upgrade 的要求

尝试安装具有 ZFS 根文件系统的系统或将 UFS 根文件系统迁移到 ZFS 根文件系统之前,请确保满足以下要求。 Oracle Solaris 发行版要求

您可以通过以下方式安装和引导 ZFS 根文件系统或迁移到 ZFS 根文件系统: 安装 ZFS 根文件系统-从 Solaris 10 10/08 发行版开始可用。

使用 Oracle Solaris Live Upgrade 从 UFS 根文件系统迁移到 ZFS 根文件系统-必须已安装了最低 Solaris 10 10/08 发行版,或者必须已升级到最低 Solaris 10 10/08 发行版。 一般 ZFS 存储池要求

以下部分介绍 ZFS 根池空间和配置要求。 ZFS 存储池的磁盘空间要求

ZFS 根文件系统所需的最小可用池空间量大于 UFS 根文件系统所需的最小可用池空间量,因为交换设备和转储设备在 ZFS 根环境中必须是单独的设备。缺省情况下,交换和转储设备在 UFS 根文件系统中为同一设备。

系统中安装了 ZFS 根文件系统或升级为 ZFS 根文件系统时,交换区域和转储设备的大小取决于物理内存量。可引导的 ZFS 根文件系统的最小可用池空间量取决于物理内存量、可用的磁盘空间以及要创建的引导环境 (boot environment, BE) 数量。 检查 ZFS 存储池的以下磁盘空间要求:

安装 ZFS 根文件系统所需的最小内存量为 768 MB。 要实现更佳的 ZFS 总体性能,建议使用 1 GB 内存。

建议至少使用 16 GB 的磁盘空间。磁盘空间的使用情况如下所述:

交换区域和转储设备-Solaris 安装程序创建的交换和转储卷的缺省大小如下: Solaris 初始安装–在新的 ZFS 引导环境中,缺省交换卷大小按照物理内存的一半计算,一般在 512 MB 至 2 GB 范围内。可以在初始安装过程中调整交换卷的大小。

缺省转储卷的大小由内核基于 dumpadm 信息和物理内存大小进行计算。可以在初始安装过程中调整转储卷的大小。

Oracle Solaris Live Upgrade-当 UFS 根文件系统迁移到 ZFS 根文件系统时,ZFS 引导环境 (boot environment, BE) 的缺省交换卷大小可按 UFS BE 的交换设备的大小来计算。缺省交换卷大小计算结果加上 UFS BE 中所有交换设备的大小,即可得到 ZFS BE 中 ZFS 卷的大小。如果 UFS BE 中没有定义交换设备,则会将缺省交换卷大小设置为 512 MB。

在 ZFS BE 中,缺省转储卷大小设置为物理内存的一半,范围为 512 MB 至 2 GB。 只要新的大小支持系统运作,可以将交换和转储卷的大小调整为所选择的大小。有关更多信息,请参见调整 ZFS 交换设备和转储设备的大小。

引导环境 (Boot environment, BE)-除了新的交换和转储空间要求或调整的交换和转储设备大小外,从 UFS BE 迁移的 ZFS BE 还需要大约 6 GB 空间。从其他 ZFS BE 克隆的每个 ZFS BE 都不需要额外的磁盘空间,但是请考虑到以下情况:应用修补程序时,BE 大小会增加。同一根池中的所有 ZFS BE 都使用相同的交换和转储设备。

Solaris OS 组件 – 作为 OS 镜像一部分的根文件系统的所有子目录,除 /var 之外,必须与根文件系统处于同一数据集。此外,除了交换和转储设备之外,所有其他 Solaris OS 组件必须驻留在根池。

另一个限制是 /var 目录或数据集必须是单个数据集。例如,如果您还想使用 Oracle Solaris Live Upgrade 来迁移或修补 ZFS BE,或者创建此池的 ZFS Flash 归档文件,则您无法创建后代 /var 数据集,如 /var/tmp 等。

例如,磁盘空间为 12 GB 的系统对于可引导的 ZFS 环境来说可能会太小,因为每个交换和转储设备都需要 2 GB 磁盘空间,而且从 UFS BE 迁移的 ZFS BE 需要大约 6 GB 磁盘空间。 ZFS 存储池配置要求

请查看以下 ZFS 存储池配置要求:

要用作根池的池必须具有 SMI 标签。使用磁盘片创建池满足此要求。 池必须存在于磁盘片或被镜像的磁盘片上。如果在 Oracle Solaris Live Upgrade 迁移期间尝试使用不支持的池配置,您会看到类似如下的消息:

ERROR: ZFS pool name does not support boot environments 有关支持的 ZFS 根池配置的详细说明,请参见创建 ZFS 根池。 x86:磁盘必须包含 Solaris fdisk 分区。fdisk 分区是安装基于 x86 的系统时自动创建的。有关 Solaris fdisk 分区的更多信息,请参见《系统管理指南:设备和文件系统》中的“fdisk 分区创建准则”。

在基于 SPARC 和基于 x86 的系统上,指定用于在 ZFS 根池中引导的磁盘大小必须限制为 1 TB。

只有在安装完根池后,才能在根池中启用压缩。在安装期间,无法在根池中启用压缩。根池不支持 gzip 压缩算法。

初始安装创建根池后,或者在 Solaris Live Upgrade 迁移到 ZFS 根文件系统后,请勿重命名根池。重命名根池可能会导致系统无法引导。 安装 ZFS 根文件系统(初始安装)

在此 Solaris 发行版中,您可以使用 Solaris 交互式文本安装程序创建包含可引导的 ZFS 根文件系统的 ZFS 存储池来执行初始安装。如果您具有要用于 ZFS 根文件系统的现有 ZFS 存储池,则必须使用 Oracle Solaris Live Upgrade 将现有 UFS 根文件系统迁移到现有 ZFS 存储池中的 ZFS 根文件系统。有关更多信息,请参见将 UFS 根文件系统迁移到 ZFS 根文件系统 (Oracle Solaris Live Upgrade)。

如果要在完成 ZFS 根文件系统的初始安装后配置区域,并且计划修补或升级系统,请参见使用 Oracle Solaris Live Upgrade 迁移或升级具有区域的系统 (Solaris 10 10/08)或使用 Oracle Solaris Live Upgrade 迁移或升级具有区域的系统(最低Solaris 10 5/09)。

如果系统上已经具有 ZFS 存储池,则会通过以下消息确认。然而,这些池保持不动,除非您选择现有池中的磁盘来创建新存储池。

There are existing ZFS pools available on this system. However, they can only be upgraded using the Live Upgrade tools. The following screens will only allow you to install a ZFS root system, not upgrade one. 注意 –

如果为新池选择现有池的任何磁盘,则现有池将被销毁。

在开始初始安装以创建 ZFS 存储池之前,请参见ZFS 支持对于 Oracle Solaris 安装和 Oracle Solaris Live Upgrade 的要求。

示例 5–1 可引导的 ZFS 根文件系统的初始安装

Solaris 交互式文本安装过程与先前的 Solaris 发行版安装过程基本相同,区别在于系统会提示您创建 UFS 还是 ZFS 根文件系统。在此发行版中,UFS 仍为缺省文件系统。如果选择 ZFS 根文件系统,系统会提示您创建 ZFS 存储池。安装 ZFS 根文件系统的步骤如下: 选择 Solaris 交互式安装方法,因为 Solaris Flash 安装不可用于创建可引导的 ZFS 根文件系统。但是,您可以创建在 JumpStart 安装期间要使用的 ZFS Flash 归档文件。有关更多信息,请参见安装 ZFS 根文件系统(Oracle Solaris Flash 归档文件安装)。

从 Solaris 10 10/08 发行版开始,只要已安装最低 Solaris 10 10/08 发行版,就可以将 UFS 根文件系统迁移到 ZFS 根文件系统。有关迁移到 ZFS 根文件系统的更多信息,请参见将 UFS 根文件系统迁移到 ZFS 根文件系统 (Oracle Solaris Live Upgrade)。 要创建 ZFS 根文件系统,请选择 ZFS 选项。例如: Choose Filesystem Type Select the filesystem to use for your Solaris installation [ ] UFS [X] ZFS 在选择要安装的软件之后,系统将提示您选择用来创建 ZFS 存储池的磁盘。该屏幕与先前的 Solaris 发行版的屏幕类似。

Select Disks On this screen you must select the disks for installing Solaris software. Start by looking at the Suggested Minimum field; this value is the approximate space needed to install the software you've selected. For ZFS, multiple disks will be configured as mirrors, so the disk you choose, or the slice within the disk must exceed the Suggested Minimum value. NOTE: ** denotes current boot disk Disk Device Available Space ============================================================================= [X] c1t0d0 69994 MB (F4 to edit) [ ] c1t1d0 69994 MB [-] c1t2d0 0 MB [-] c1t3d0 0 MB Maximum Root Size: 69994 MB Suggested Minimum: 8279 MB 您可以选择一个或多个用于 ZFS 根池的磁盘。如果选择两个磁盘,则会为根池设置镜像双磁盘配置。双磁盘或三磁盘镜像池为最佳。如果您有八个磁盘并选择了所有磁盘,则这八个磁盘将作为一个大的镜像用于根池。此配置并非最佳。还可以选择在完成初始安装后创建镜像根池。不支持对根池的 RAID-Z 池配置。有关配置 ZFS 存储池的更多信息,请参见ZFS 存储池的复制功能。

要选择两个磁盘来创建镜像的根池,请使用光标控制键选择第二个磁盘。在以下示例中,选择了 c1t1d0 和 c1t2d0 用作根池磁盘。这两个磁盘都必须具有 SMI 标签和分片 0。如果磁盘没有 SMI 标签或不包含分片,则必须退出安装程序,使用 format 实用程序对磁盘重新进行标记和分区,然后重新启动安装程序。 Select Disks On this screen you must select the disks for installing Solaris software. Start by looking at the Suggested Minimum field; this value is the approximate space needed to install the software you've selected. For ZFS, multiple disks will be configured as mirrors, so the disk you choose, or the slice within the disk must exceed the Suggested Minimum value. NOTE: ** denotes current boot disk Disk Device Available Space ============================================================================= [X] c1t0d0 69994 MB [X] c1t1d0 69994 MB (F4 to edit) [-] c1t2d0 0 MB [-] c1t3d0 0 MB Maximum Root Size: 69994 MB Suggested Minimum: 8279 MB 如果可用空间栏显示 0 MB,则该磁盘很有可能具有 EFI 标签。如果您想使用带 EFI 标签的磁盘,则需要退出安装程序,使用 format -e 命令用 SMI 标签重新标记该磁盘,然后重新启动安装程序。

如果在安装期间没有创建镜像根池,您可以在安装之后轻松创建。有关信息,请参见如何创建镜像根池(安装后)。

以下示例说明如何将 UFS 根文件系统迁移到 ZFS 根文件系统。 如果要迁移或更新具有区域的系统,请参见以下各节:

使用 Oracle Solaris Live Upgrade 迁移或升级具有区域的系统 (Solaris 10 10/08)

使用 Oracle Solaris Live Upgrade 迁移或升级具有区域的系统(最低Solaris 10 5/09)

示例 5–3 使用 Oracle Solaris Live Upgrade 将 UFS 根文件系统迁移到 ZFS 根文件系统

以下示例说明如何从 UFS 根文件系统创建 ZFS 根文件系统的 BE。包含 UFS 根文件系统的当前 BE ufsBE 由 -c 选项标识。如果不包括可选的 -c 选项,则当前 BE 名称将缺省为设备名称。新 BE zfsBE 由 -n 选项标识。在执行 lucreate 操作之前,ZFS 存储池必须存在。 必须使用片而不是整个磁盘创建 ZFS 存储池,才能使 ZFS 存储池可升级和可引导。创建新池之前,请确保要用于池中的磁盘具有 SMI (VTOC) 标签而不是 EFI 标签。如果使用 SMI 标签重新标记磁盘,请确保标记过程未更改分区方案。在大多数情况下,所有磁盘容量应位于打算用于根池的片中。

# zpool create rpool mirror c1t2d0s0 c2t1d0s0 # lucreate -c ufsBE -n zfsBE -p rpool Analyzing system configuration. No name for current boot environment. Current boot environment is named . Creating initial configuration for primary boot environment . The device is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name PBE Boot Device . Comparing source boot environment 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. Updating system configuration files. The device is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment . Source boot environment is . Creating boot environment . Creating file systems on boot environment . Creating file system for in zone on . Populating file systems on boot environment . Checking selection integrity. Integrity check OK. Populating contents of mount point . Copying. Creating shared file system mount points. Creating compare databases for boot environment . Creating compare database for file system . Creating compare database for file system . Updating compare databases on boot environment . Making boot environment bootable. Creating boot_archive for /.alt.tmp.b-qD.mnt updating /.alt.tmp.b-qD.mnt/platform/sun4u/boot_archive Population of boot environment successful. Creation of boot environment successful. lucreate 操作完成后,使用 lustatus 命令查看 BE 状态。例如: # lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufsBE yes yes yes no - zfsBE yes no no yes - 然后,查看 ZFS 组件列表。例如:

# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.17G 59.8G 95.5K /rpool rpool/ROOT 4.66G 59.8G 21K /rpool/ROOT rpool/ROOT/zfsBE 4.66G 59.8G 4.66G / rpool/dump 2G 61.8G 16K - rpool/swap 517M 60.3G 16K - 接下来,使用 luactivate 命令激活新 ZFS BE。例如: # luactivate zfsBE A Live Upgrade Sync operation will be performed on startup of boot environment . ********************************************************************** 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. ********************************************************************** . . . Modifying boot archive service Activation of boot environment successful. 接下来,将系统重新引导至 ZFS BE。

# init 6 确认 ZFS BE 是否处于活动状态。

# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufsBE yes no no yes - zfsBE yes yes yes no - 如果切换回 UFS BE,必须重新导入在引导 ZFS BE 时创建的所有 ZFS 存储池,因为它们在 UFS BE 中不会自动可用。

如果不再需要 UFS BE,可以使用 ludelete 命令将其删除。

示例 5–4 使用 Oracle Solaris Live Upgrade 从 ZFS BE 中创建 ZFS BE

在同一池中从 ZFS BE 创建 ZFS BE 非常快捷,因为该操作使用 ZFS 快照和克隆功能。如果当前 BE 驻留在同一 ZFS 池上,则可以省略 -p 选项。

如果有多个 ZFS BE,请执行以下操作来选择从哪个 BE 引导:

SPARC:您可以使用 boot -L 命令确定可用的 BE,并使用 boot -Z 命令从中选择一个 BE 来执行引导。

x86:您可以从 GRUB 菜单中选择一个 BE。 有关更多信息,请参见示例 5–9。

# lucreate -n zfs2BE Analyzing system configuration. No name for current boot environment. INFORMATION: The current boot environment is not named - assigning name . Current boot environment is named . Creating initial configuration for primary boot environment . The device is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name PBE Boot Device . Comparing source boot environment 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. Updating system configuration files. Creating configuration for boot environment . Source boot environment is . Creating boot environment . Cloning file systems from boot environment to create boot environment . Creating snapshot for on . Creating clone for on . Setting canmount=noauto for in zone on . Population of boot environment successful. Creation of boot environment successful.

示例 5–5 升级 ZFS BE (luupgrade)

您可以使用其他软件包或修补程序升级 ZFS BE。 基本过程如下:

使用 lucreate 命令创建备用 BE。 激活该备用 BE 并从中引导。

使用 luupgrade 命令升级主 ZFS BE 以添加软件包或修补程序。

# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes no no yes - zfs2BE yes yes yes no - # luupgrade -p -n zfsBE -s /net/system/export/s10up/Solaris_10/Product SUNWchxge Validating the contents of the media . Mounting the BE . Adding packages to the BE . Processing package instance from Chelsio N110 10GE NIC Driver(sparc) 11.10.0,REV=2006.02.15.20.41 Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. This appears to be an attempt to install the same architecture and version of a package which is already installed. This installation will attempt to overwrite this package. Using as the package base directory. ## Processing package information. ## Processing system information. 4 package pathnames are already properly installed. ## Verifying package dependencies. ## Verifying disk space requirements. ## Checking for conflicts with packages already installed. ## Checking for setuid/setgid programs. This package contains scripts which will be executed with super-user permission during the process of installing this package. Do you want to continue with the installation of [y,n,?] y Installing Chelsio N110 10GE NIC Driver as ## Installing part 1 of 1. ## Executing postinstall script. Installation of was successful. Unmounting the BE . The package add to the BE completed. 使用 Oracle Solaris Live Upgrade 迁移或升级具有区域的系统 (Solaris 10 10/08)

可以使用 Oracle Solaris Live Upgrade 迁移具有区域的系统,但在 Solaris 10 10/08 发行版中支持的配置有限。如果安装或升级到最低 Solaris 10 5/09 发行版,可支持更多区域配置。有关更多信息,请参见使用 Oracle Solaris Live Upgrade 迁移或升级具有区域的系统(最低Solaris 10 5/09)。

本节介绍如何配置和安装具有区域的系统,以便使用 Oracle Solaris Live Upgrade 升级和修补该系统。如果要迁移到没有区域的 ZFS 根文件系统,请参见使用 Oracle Solaris Live Upgrade 迁移到 ZFS 根文件系统(没有区域)。

如果要在 Solaris 10 10/08 发行版中迁移具有区域的系统或配置具有区域的系统,请查看以下过程:

如何将 UFS 上具有区域根的 UFS 根文件系统迁移到 ZFS 根文件系统 (Solaris 10 10/08) 如何配置 ZFS 上具有区域根的 ZFS 根文件系统 (Solaris 10 10/08)

如何升级或修补 ZFS 上具有区域根的 ZFS 根文件系统 (Solaris 10 10/08) 解决妨碍成功引导的 ZFS 挂载点问题 (Solaris 10 10/08)

按照建议的过程在具有 ZFS 根文件系统的系统上设置区域,以确保可以在该系统上使用 Oracle Solaris Live Upgrade。

如何将 UFS 上具有区域根的 UFS 根文件系统迁移到 ZFS 根文件系统 (Solaris 10 10/08) 此过程解释如何将安装了区域的 UFS 根文件系统迁移到 ZFS 根文件系统,以及如何升级或修补的 ZFS 区域根配置。

在后面的步骤中,示例池名称为 rpool,活动引导环境的示例名称为 s10BE*。

如果系统正在运行先前的 Solaris 10 发行版,请将其升级到 Solaris 10 10/08 发行版。 有关对运行 Solaris 10 发行版的系统进行升级的更多信息,请参见《Oracle Solaris 10 9/10 安装指南:Solaris Live 升级和升级规划》。 创建根池。

# zpool create rpool mirror c0t1d0 c1t1d0 有关根池要求的信息,请参见ZFS 支持对于 Oracle Solaris 安装和 Oracle Solaris Live Upgrade 的要求。

确认已引导 UFS 环境中的区域。 创建新 ZFS 引导环境。

本文来源:https://www.bwwdw.com/article/jlk2.html

Top