系统更新功能为客户、开发者和现场人员提供了在安装系统后更新系统软件的功能。当 My Oracle Support (MOS) 上有新的可用软件更新时,您会接到通知,或者您可使用 BUI 或 CLI 即时检查更新。
您可设置定期检查软件更新,或可随时检查更新。当更新软件包可用时,系统将指示您从 MOS 下载最新软件包。要使用更新通知功能,必须启用回拨服务,如Oracle ZFS Storage Appliance 管理指南 中的回拨服务中所示。
An update is available on My Oracle Support version 2013.1.0.1.(My Oracle Support 上有可用更新版本 2013.1.0.1。)
zfs-appliance:configuration services scrk> ls ... updatecheck_on = false time_updatecheck = 7d ... zfs-appliance:configuration services scrk> set updatecheck_on=true updatecheck_on = true (uncommitted) zfs-appliance:configuration services scrk> set time_updatecheck=30d time_updatecheck = 30d (uncommitted)
Update available for download(有更新可供下载)
zfs-appliance:maintenance system updates> show Updates: UPDATE DATE STATUS 2013.1.1.5 2014-2-18 08:00 downloadable ak-nas@2014.01.15,1-0 2014-1-15 14:38:53 previous ak-nas@2014.02.01,1-0 2014-2-1 19:38:55 previous ak-nas@2014.02.08,1-0 2014-2-8 08:59:04 current zfs-appliance:maintenance system updates> zfs-appliance:maintenance system updates> select status=downloadable zfs-appliance:maintenance system 2013.1.1.5> show Properties: version = 2013.1.1.5 date = 2014-2-18 08:00 status = downloadable url = https://updates.oracle.com/Orion/Services/download /p18269573_20131_Generic.zip?aru=17312483&patch_file=p18269573_20131_Generic.zip checkdate = 2014-3-4 zfs-appliance:maintenance system 2013.1.1.5>
软件更新作为不透明的二进制下载内容来提供,其中包含以下部分或所有内容:
管理和系统软件。
内部组件(如 HBA 和网络设备)的固件。
磁盘和闪存设备的固件。
外部存储附件组件的固件。
更新的版本说明介绍更新内容,而更新过程会自动执行激活所提供组件的所有步骤。更新系统的过程如下:
从 My Oracle Support (MOS) 或其他官方来源下载软件更新“介质”。介质由一个以版本号命名的压缩文件表示,例如 ak-nas-2013-06-05-0-0.0.pkg.gz。如果需要,可以对该文件进行重命名,因为真正的版本号已记录在映像内部。压缩的介质软件包大小各不相同,但通常大约为几百兆字节。
使用 BUI 或 CLI 将软件更新上载到设备。有关此操作的详细信息,请参见下文。
上载介质后,将对其进行解压缩和验证。如果所有的验证检查都通过,则该介质将作为适合安装的介质显示在更新映像列表中。根据系统磁盘空间配额的大小,可以在设备上维护任意数量的映像而不实际应用它们。如果某个更新尚未应用(即没有在运行且不是回滚目标),则可以通过 BUI 或 CLI 删除该更新。为了释放出所需的空间来下载新映像,您可能需要删除某些映像。
在应用更新之前,验证系统是否处于良好运行状态。前提条件中介绍了详细信息。
解压缩并验证介质后,即可应用更新。在此过程中,将执行更新运行状况检查,验证设备是否可以进行更新。另外还可能会要求您设置更新选项并进行确认。有关这些问题的更多信息,请参见有关延迟更新的一节。如果更新不再适用于系统(因为您已跳过其版本号),则会显示错误消息。在更新期间,会显示消息和进度指示器,指示更新正在进行。更新的安装过程将需要大约半个小时来完成;但是,完整的升级过程此时可能并未完成。关于重新引导之后可能发生的其他固件升级,请参见下文。
从更新过程,直到重新引导,再到重新引导后的任何固件升级过程,操作一直都是不中断的:控制器会持续地向客户机提供数据服务。如果在升级期间系统软件出现故障,则该软件将重新引导,并继续运行升级之前的软件。重要提示:请勿在升级期间执行群集接管操作或重新引导操作。
在完成升级并进行重新引导之后,将更新组件固件(请参见硬件固件更新),根据系统配置的规模大小以及在交付先前安装的版本后发生更改的固件数量,该更新所需的时间可能会更长。对于非常大规模的配置,在应用更新之后可能需要几个小时来完成所有的固件升级。
有关使用 BUI 或 CLI 执行更新过程的详细信息,请查看以下各节。
最佳做法包括在应用更新之前验证多个前提条件。如果可能,管理员应在对存储控制器应用更新之前,确保满足这些前提条件。在群集环境中,应在对任一存储控制器应用更新之前在两个存储控制器上都验证这些前提条件。
确保已完成所有的重新同步操作。这可在 "Configuration"(配置)> "Storage"(存储)中或等效的 CLI 上下文中进行查看。有关更多信息,请参见Oracle ZFS Storage Appliance 管理指南 中的第 5 章 存储配置。
确保不存在未解决的问题,如问题中所述。
确认当前未进行固件更新。
检查最新的产品发行说明,了解要升级到的软件发行版所应遵循的其他前提条件。
系统级运行状况检查用于帮助确保不存在任何会影响软件更新的异常状况。如果遇到问题,则会在警报日志中记录该问题,并中止更新过程。在所有问题得到更正之前,系统软件更新不会继续。
您还可以在所有计划的更新之前手动运行相同的运行状况检查。这可使您在安排更新维护时段之前检查系统的状态,从而更正可能影响到更新过程的所有问题。手动运行状况检查生成的任何问题报告均与更新过程中集成的运行状况检查所生成的问题报告相同。与集成的运行状况检查一样,在发现问题时会向您提供 "Alert Log"(警报日志)的链接,如 警报 中所述。如果未发现任何问题,则 "System Ready"(系统就绪)状态会变为 Yes(是),表示系统可以进行软件更新。
选择并启动更新后,可以在 BUI 中的软件更新对话框中单击 "Check"(检查)以启动更新运行状况检查。
图 3-1 在 BUI 中启动更新运行状况检查
在单击 "Check"(检查)按钮之前,系统保持 "Unchecked" 状态。在运行状况检查操作期间,指示器会显示其进度。
图 3-2 在 BUI 中正在执行的更新运行状况检查
检查完成后,"System Ready"(系统就绪)状态变为 Yes(是)或 No(否),并带有警报日志的链接。
图 3-3 在 BUI 中完成的更新运行状况检查
要通过 CLI 执行更新运行状况检查,请在选择更新介质之后在 maintenance system updates 上下文中执行 upgrade 命令:
zfs-appliance:maintenance system updates:ak-nas@2013.06.05.0.0,1-1.6> upgrade This procedure will consume several minutes and requires a system reboot upon successful update, but can be aborted with [Control-C] at any time prior to reboot. A health check will validate system readiness before an update is attempted, and may also be executed independently using the check command. Are you sure? (Y/N) Healthcheck running ... / Healthcheck completed. There are no issues at this time which would cause an upgrade to this media to be aborted.
启动更新时,在实际更新之前会自动执行运行状况检查。如果更新运行状况检查失败,会导致更新中止(请参见下例)。更新运行状况检查仅验证可能影响更新的问题。
图 3-4 BUI 和 CLI 更新运行状况检查故障示例
zfs-appliance:maintenance system updates ak-nas@2013.06.05.0.0,1-1.6> upgrade This procedure will consume several minutes and requires a system reboot upon successful update, but can be aborted with [Control-C] at any time prior to reboot. A health check will validate system readiness before an update is attempted, and may also be executed independently using the check command. Are you sure? (Y/N) error: System is not in an upgradeable state: prerequisite healthcheck reports problems. See alert log for more.
更新运行状况检查失败后,您可以查看警报日志,并根据日志中的消息来采取措施解决各个故障。下表列出了可阻止更新的更新运行状况检查故障,并介绍了关联的警报日志消息以及建议的解决步骤顺序,您可采取这些步骤来解决问题。对于组件故障,请按照控制器维护过程中的移除和安装说明进行操作。
|
请按照以上列出的顺序执行以下步骤,以解决在升级运行状况检查期间检测到的问题。
每次更新都可能会带来新固件或外部资源的更新。通常,这些更新是向后兼容的,即使用户不干预,也会自动应用。然而,不可逆的更新除外。这些更新需要以不兼容于较早软件发行版的方式更新系统软件的外部资源。应用更新之后,回滚至先前的版本将会产生不确定的行为。对于这些更新,始终会提供显式的选项,允许在升级过程中自动应用更新,或在升级之后应用更新。因此,这些更新通常被称为“延迟更新”。
当对某个版本应用具有不兼容版本更改的更新时,将提供一个选项,允许作为升级过程的一部分来应用这些版本更改。对于每个版本更改,将显示应用该更改的益处。默认情况下不会应用这些更新,而是需要您返回到更新视图,然后在完成升级且系统已重新引导之后再应用更新。这样可以验证软件的其余部分是否能正常运行,并且在应用更新之前不需要回滚。
如果您选择不在升级过程中应用延迟更新,则可以在任意时间点返回更新视图,以便应用更新。如果延迟更新可用于当前的软件版本,则它们将以列表的形式显示在当前可用更新集的下方,通过其 "Apply"(应用)按钮即可应用这些更新。群集中的延迟更新可在所有存储控制器上同时生效,而且仅在所有控制器均可正常运行时才可应用。由于延迟更新只对本地存储控制器上的资源列出,所以在群集中,有可能只对对等控制器上的活动资源提供可用的延迟更新。因此,在群集中有必要检查所有存储控制器,确定延迟更新的可用性。
|
更新过程完成之后,系统将自动重新引导。如果串行控制台处于打开状态,则在重新引导过程中您会发现有多个 GRUB 菜单条目可用,并且从上到下按照最新软件到最旧软件的顺序排列。默认的菜单条目位于顶部,这是刚刚更新过的新软件。如果您不执行任何操作,则默认情况下将引导此条目,然后完成更新。先前的条目是回滚目标,可用来启动向系统软件的先前版本的回滚。回滚在下文中介绍。
GNU GRUB version 0.97 (612K lower / 2087424K upper memory) +-------------------------------------------------------------------------+ | Sun ZFS Storage 7120 2013.06.05.0.0,1-1.6 | | Sun ZFS Storage 7120 2011.04.24.4.2,1-1.28 | | | +-------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line.
当系统使用新的系统软件引导时,您将在第一次引导时看到一些特殊消息,这些消息指示更新将要完成并说明系统软件的先前版本和新版本:
SunOS Release 5.11 Version ak/generic@2013.06.05.0.0,1-1.6 64-bit Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved. System update in progress. Updating from: ak/nas@2011.04.24.4.2,1-1.28 Updating to: ak/nas@2013.06.05.0.0,1-1.6 Cloning active datasets ...... done. Upgrading /var/ak/home ... 16 blocks Upgrading /etc/svc/profile ... 176 blocks Upgrading /var/apache2 ... 4432 blocks Upgrading /var/sadm ... 5040 blocks Upgrading /var/svc ... 0 blocks Upgrading /var/dhcp/duid ... done. Upgrading /var/pkg ... 208800 blocks Upgrading /var/ak/logadm.conf ... done. Adjusting system/dump and system/cores ... done. Upgrading /var/crypto/pkcs11.conf ... done. Updating system logs ... done. Starting primordial svc.configd Upgrading SMF repository. This may take several minutes. Upgrading from Version 5 to Version 6 : 11570 of 11570 rows upgraded Upgrading from Version 6 to Version 7 : 6305 of 6305 rows upgraded Upgrading from Version 7 to Version 8 : SMF repository upgrade complete SMF online in 180 seconds Sanitizing manifestfiles properties ... done. Loading smf(5) service descriptions: 162/162 svccfg: Loaded 162 smf(5) service descriptions Transitioning NFS server properties ... done. Re-enabling auditing of Solaris commands ... done. Transitioning network/initial IPMP properties to network/ipmp ... done. Transitioning name service properties ... done. Transitioning CIFS server properties ... done. Preparing for service import ... done. Importing adconf.xml ... done. ... Configuring appliance/kit/identity:default ... done. Applying service layer ak_generic ... done. Refreshing services: done. Applying service layer ak_nas ... done. Refreshing services: done. Applying service layer ak_SUNW,iwashi_plus ... done. Refreshing services: done. Applying service profile ak_generic ... done. Applying profile upgrade/akinstall.xml ... done. Applying layer upgrade/composite.svc ... done. Cleaning up services ... done. Shutting down svc.configd ... done. Configuring devices. Configuring network devices. Sun ZFS Storage 7120 Version ak/SUNW,iwashi_plus@2013.06.05.0.0,1-1.6 Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. dorab console login: