使用 CLI 自动更新软件

您可以使用命令行界面 (CLI) 来安装软件更新。

开始之前

请执行以下步骤从 V7.7.0 或更高版本更新到 V8.1.0 或更高版本。

注: 如果您有通过光纤通道适配器连接的热备用节点,并将软件级别 7.8.1.1 或更早版本更新至软件级别 7.8.1.2 或更高版本,那么更新可能会停滞。为避免出现此问题,请从要添加到系统的节点中卸下每个光纤通道适配器,并且检查是否存在安全跳线。如果存在安全跳线,请拿掉安全跳线,以便固件成功完成更新。更新完成后,将安全跳线重新装回光纤通道适配器。有关更多信息,请在 www.ibm.com/support 中搜索“Upgrade to Spectrum Virtualize software-only v7.8.1.2 requires hardware check”。

如果在更新过程中任何节点遇到内存 DIMM 故障,请立即停止并遵循“更 新系统软件”中的指示。

节点由于更新而脱机时,您可以使用命令行界面来解决多路径问题。通过以下步骤,您将能够覆盖缺省 30 分钟的中点延迟、暂停更新以及恢复停止的更新:
  1. 要启动更新,但在中点暂停,请输入以下命令:
    applysoftware -file filename -pause
  2. 要启动更新,但在节点脱机以进行更新前暂停更新,请输入以下命令:
    applysoftware -file filename -pause -all
  3. 要恢复停止的更新并在中点暂停,请输入以下命令:
    applysoftware -resume -pause
  4. 要恢复停止的更新,并在剩余节点脱机以进行更新前暂停,请输入以下命令:
    applysoftware -resume -pause -all
    注: -all 参数使更新在每个节点脱机以进行更新前无限期暂停。在现有依赖对象的卷检查执行前发生此暂停。-resume 参数支持用户继续更新。
要点: 在已安装 64 GB 以上 RAM 的系统上,如果将系统软件从低于 V8.1.0 的版本更新到 V8.1.1 或更高版本,所有节点都会从更新中返回错误代码 841。V8.1.0 和更高版本分配内存的方式与先前版本不同,因此必须重新“接受”RAM。要解决该错误,请完成以下步骤:
  1. 在单个节点上,运行 svctask chnodehw 命令。 请勿一次在多个节点上运行该命令。
  2. 等待节点重新启动且不返回任何错误。
  3. 再等待 30 分钟,以便多路径驱动器在主机上恢复。
  4. 分别针对每个节点重复此过程,直到清除所有节点上的错误为止。

关于此任务

要更新系统,请执行以下步骤:

过程

  1. 您必须下载、安装和运行最新版本的测试实用程序,以确认当前系统不存在任何问题。
  2. www.ibm.com/support站点下载最新代码。
  3. 使用 PuTTY scp (pscp) 来将更新文件复制到节点。
  4. 确保已成功复制更新文件。
    开始更新之前,您必须了解以下情况:
    • 在以下情况下,安装过程会失败:
      • 如果安装在远程系统上的代码与新代码不兼容,或者如果系统间通信错误不允许系统检查代码是否兼容。
      • 如果系统中的任何节点具有不受新代码支持的硬件类型。
      • 如果系统确定系统中的一个或多个卷会 因为在升级过程中重新引导节点而脱机。您可以使用 lsdependentvdisks 命令找到有关哪些卷会受影响的详细信息。如果您已准备好在更新期间失去对数据的访问权,那么可以使用 force 标志来覆盖该限制。
    • 更新通过使用节点间的内部连接来分发到系统中的所有节点。
    • 一次更新一个节点。
    • 节点将在进行正常系统活动的同时运行新代码。
    • 节点更新后,不会参与 I/O 组中的 I/O 活动。因此,会通过主机多路径软件将 I/O 组中卷的所有 I/O 活动定向到 I/O 组中的另一个节点。
    • 前后两次节点更新之间有 30 分钟的延迟。该延迟时间允许主机多路径软件重新发现到达已更新节点的路径。在更新该 I/O 组中的其他节点时不会丢失访问。
    • 在系统中的所有节点都成功更新至新代码级别后更新才落实。如果所有代码都使用新代码级别成功重新启动,那么新 级别便已落实。落实新级别后,系统重要产品数据 (VPD) 会更新以反映新代码级别。
    • 请等到所有成员节点都已更新并且更新得到落实后,才能调用已更新代码的新功能。
    • 因为更新过程需要一些时间,所以一旦系统验证了代码级别,安装命令就会完成。要确定更新在何时已完成,必须在系统 VPD 中显示代码级别或者在错误/事件日志中查找软件更新完成事件。如果有任何节点未能使用新代码级别重新启动或者在升级过程中的任何其他环节失败,那么代码级别均会回退。
    • 在更新期间,每个节点的版本号都在安装代码并重新启动节点后更新。系统代码版本号在新代码级别落实后更新。
    • 当更新开始时,会在错误或事件日志中生成一个条目,而在更新完成或失败时,会生成另一个条目。
  5. 发出以下 CLI 命令以开始更新过程:
    applysoftware -file software_update_file
    其中 software_update_file 是代码更新文件的名称,该文件位于步骤 3 中将文件复制到的目录。如果系统确定有任何卷会由于在系统更新过程中重新引导节点而脱机,那么都不会启动代码更新。可选 force 参数可用于指示即使识别出问题仍继续执行更新。如果使用 force 参数,那么会提示您确认是否希望继续。
  6. 请发出以下 CLI 命令以检查代码更新过程的状态:
    lsupdate
    完成更新后,该命令显示 success如果系统上配置了热备用节点,那么热备用节点将在每个节点更新时接管来自该节点的 I/O 操作。
    注: 如果显示状态 stalled_non_redundant,那么继续处理余下的节点更新可能导致卷脱机。请联系服务代表以完成更新。
  7. 要验证更新是否已成功完成,请针对系统中的每个节点都发出 lsnodevpd CLI 命令。

    代码版本字段会显示新代码级别。

结果

应用新代码级别后,该代码级别会自动安装在系统中的所有节点上。
注: 自动系统更新可能需要至多每个节点 30 分钟。