使用SUM升级多个HPE VC固件

时间:2020-02-23 14:40:39  来源:igfitidea点击:

通常,我们希望vcsu在HPE Virtual Connect(VC)中执行固件升级,但是vcsu的主要缺点之一是它一次支持单个机箱的固件升级。

因此,我们无法并行地从多个机箱升级HPE VC。我们必须使用vcsu执行顺序的固件升级。

为了减轻这一缺陷,我们提供了HPE的" Smart Update Manager"。

HPE Smart Update Manager概述

SUM是用于在ProLiant服务器,BladeSystem机箱,Moonshot系统和其他节点上进行固件,驱动程序和软件维护的工具。它提供了基于浏览器的GUI或者命令行脚本界面,以提高灵活性和适应性。 SUM标识可以同时更新的关联节点,以避免相互依赖性问题。

SUM的主要功能包括:

  • 发现引擎,用于发现节点上硬件,固件和软件的安装版本。

  • SUM以正确的顺序部署更新,并确保在部署更新之前满足所有依赖性。

  • 相互依赖性检查。

  • 自动且分步的本地主机引导更新过程。

  • 基于Web浏览器的模式。

  • 创建自定义基准和ISO的能力。

  • 支持iLO存储库(仅适用于Gen10 iLO 5节点)。

  • "同时为多个远程节点部署固件和软件"。

  • 带有SPP可交付成果的本地脱机固件部署。

  • 在所有模式下的广泛日志记录。

在本文中,我们将重点介绍SUM的"同时为多个远程节点部署固件和软件"功能

1.下载SUM包

根据我们计划用于执行VC固件升级的发行版,SUM有不同的版本。我通常使用Linux环境作为我的源节点,并且没有尝试使用Windows Server进行此练习。

以下是撰写本文时最新可用SUM的下载链接。我们始终可以导航到"修订历史记录"选项卡,并查找新版本的SUM。使用最新的可用版本来执行VC固件升级非常重要,因为大多数VC都依赖于这些SUM rpm一部分的vcsu版本。例如,VC 4.80需要与SUM 8.5捆绑在一起的vcsu 1.15或者更高版本。

" SUM 8.5"Linux的下载链接Windows的下载链接

说明:

我们也可以在Linux服务器上使用Windows sum归档文件,因为它包含Linux和Windows的二进制文件。在本教程中,我将使用Windows档案并将其解压缩到Linux服务器上

2.解压缩SUM存档(安装)

我们可以下载sum rpm并进行安装,也可以从Windows链接中提取sum存档。

列出提取的存档的内容。其中我们突出显示了" smartupdate"二进制文件,它将用于并行执行多个Virtual Connect的固件升级。

3.下载虚拟连接固件

接下来,将虚拟连接固件下载到要将机箱升级到的版本。以下是VC 4.80固件rpm的链接

HPE BladeSystem c系列虚拟连接固件,以太网以及适用于Linux的8Gb 20端口和8/16Gb 24端口FC版组件

将此rpm复制到计划用来升级VC的Linux服务器。我已经把这个rpm放在/tmp里面

# ls -l /tmp/firmware-vceth-4.85-1.1.x86_64.rpm
-r-xr-x--- 1 root root 289219285 Aug 24 16:02 /tmp/firmware-vceth-4.80-1.1.x86_64.rpm

4.创建输入文件

我们将需要一个输入文件,其中包含用于执行多个HPE Virtual Connect的自动固件升级的所有详细信息。我们可以根据自己的喜好为输入文件使用任何名称。

以下是我的设置中的示例输入文件内容:

# cat /tmp/update_vc.in
SILENT = YES
IGNOREERRORS = ServerNotFound,BadPassword,FailedDependencies
SOURCEPATH = /tmp
COMPONENTSLIST = firmware-vceth-4.80-1.1.x86_64.rpm
ONFAILEDDEPENDENCY = OmitComponent
SKIPTARGET = NO
VERBOSE = YES
IGNOREWARNINGS = YES
INSTALLED_REPORT = YES
[TARGETS]
HOST = 192.168.10.10
HOST = 192.168.20.10
HOST = 192.168.30.10
HOST = 192.168.40.10
TARGETTYPE = virtual_connect
UID = Administrator
PWD = Passw0rd
OAUID = Administrator
OAPWD = Passw0rd
[END]
ETHACTORDER = SERIAL

在此示例中,我在同一" TARGET END"块中从5个机箱提供了HPE Virtual Connect的IP地址,因为所有这些VC和映射的OA都具有"相同的管理员密码"。

在情况下,如果每个机柜的单独VC和OA的"用户名和密码"不同,则必须"创建单独的" TARGET END"块。

例如,在此输入文件中,我仅放置了" TARGET END"块,我们可以从上面共享的输入文件中复制其余变量。如我们所见,我创建了两个具有各自VC IP地址和登录凭据的TARGET END块。我们可以根据需要添加任意数量的块。

重要的提示:

HPE官方不支持多个VC固件升级,我已经使用SUM对VC和OA并行测试了多达10个机箱固件升级,但是最终结果可能会因环境,网络等而异。

[TARGETS]
HOST = 192.168.10.10
TARGETTYPE = virtual_connect
UID = Administrator
PWD = Passw0rd1
OAUID = Administrator
OAPWD = Passw0rd1
[END]
ETHACTORDER = SERIAL
[TARGETS]
HOST = 192.168.20.10
TARGETTYPE = virtual_connect
UID = Administrator
PWD = Passw0rd2
OAUID = Administrator
OAPWD = Passw0rd2
[END]
ETHACTORDER = SERIAL

遵循下表,以获取上述输入文件中使用的各个参数的详细信息。我们可以查看官方的《 SUM CLI指南》以获取有关这些参数的更多详细信息:

参数说明
IGNOREERRORS此参数会导致安装和忽略错误。

可能的值:

ServerNotFound-在同时将固件或者软件部署到多个远程主机时绕过不活动或者不可用的远程主机。

BADDPassword-绕过报告提供的不正确凭据的远程节点,然后继续与其他节点一起。

FailedDependencies-忽略具有失败依赖关系的任何节点,然后继续处理已准备好的节点。
SILENT可能值:

Yes

使安装无GUI或者交互式CLI输出的情况下默默运行。所有数据写入日志文件。任何生成的提示都使用默认选项,并在不需要用户输入的情况下继续安装。

如果组件在安装前需要输入(例如配置信息),则组件安装失败,并将错误消息写入日志文件。

注意:如果输入值NO,输入文件将无法正常工作。HP SUM将尝试启动GUI模式。
SOURCEPATH可能的值:

目录路径,UNC位置

提供单个本地基线路径或者UNC文件共享。

此操作从给定路径创建资源清册,而不是本地或者默认基线
COMPONENTSLIST可能的值:

具有文件扩展名(.exe、.rpm、。zip或者.scexe)

限制要更新的组件列表。
ONFAILEDDEPENDENCY告诉SUM当组件具有失败依赖项时如何继续。

可能的值:

省略主机(默认)-将主机置于故障状态,SUM不尝试安装。

省略组件-清除受影响的组件并继续执行任何更新,这些更新都执行

没有依赖性故障。

强制-尝试所有更新,即使它们有依赖性故障
SKIPTARGET可能值:

是(默认),如果HP SUM发现远程会话在节点上运行,默认设置跳过远程节点。

定义远程节点在远程节点有现有HP SUM会话时的行为。

如果现有HP SUM会话已存在,则使用此参数跳过主机。“否”值将覆盖正在进行的会话
详细的可能值:

是,否

此参数确定部署期间提供的详细信息总和。

以下属性与节点和基线相关。为每个节点或者基线使用这些属性。
IGNOREWARNINGS可能值:

是,否

允许SUM在节点上收到警告后继续安装。一些警告包括:

•Serviceguard群集的活动成员

•TPM警告

•Superdome X特定警告

•挂起iLO安装队列警告

•iLO任务队列异常

•iLO 5和iSUT警告
INSTALLEDREPORT
TARGETTYPE指定节点的类型(--TARGETTYPE Linux(Linux)

/TARGETTYPE Windows)(Windows)),可以缩短资源清册过程。
UID可能值:

<username>

指定用于登录节点的用户ID。
PWD可能值:

<password>

使用UID中指定的用户ID的密码。

指定登录节点的密码。
OAUID用户可以在每个主机变量之前多次定义OAUID变量。

为与VC关联的OA提供用户名凭据。在[TARGETS]部分的主机变量前面定义这些变量的值。此参数仅适用于VC固件。

我们还可以使用OAUSER或者OAUSERNAME。
OAPWD用户可以在每个主机变量之前多次定义OAPWD变量。

为与VC关联的OA提供密码凭据。在[TARGETS]部分的主机变量前面定义这些变量的值。此参数仅适用于VC目标。

我们还可以使用OAPASSWORD。
ETHACTORDER使用此命令确定VC Enet模块激活顺序。

可能值:

奇偶(默认值)

并行

串行

手动

5.修改sum.ini(可选)

根据分区方案,此步骤是可选的。 SUM需要在/var/tmp下大约1.1 GB的空间来提取和处理升级。因此,如果我们打算使用单个输入文件升级10 Virtual Connect,则需要在/var/tmp下获得~11 GB的可用空间。如果在"/var/tmp"下有足够的可用存储空间,则可以忽略此步骤,也可以按照以下步骤为SUM使用备用位置。

浏览提取的文件

# cd /tmp/hpe/sum

并执行smartupdate,它将失败:

server:/tmp/hpe/sum # ./smartupdate
Error: cannot launch browser.

这是创建/var/tmp/sum/sum.ini文件所必需的。每次执行时,都会创建一个" sum.ini"文件,如果该文件已经存在,则将引用该文件,而不是创建一个新文件。

现在打开/var/tmp/sum/sum.ini并修改temp_dir变量。将"/var/tmp"替换为包含VC固件升级所需的更多空间的任何备用位置

[Engine]
mode=release
temp_dir=/home/hynman
use_http=false

例如,我将位置更改为/home/hynman,因此现在来自SUM的所有日志都将存储在此新位置内。

6.升级多个HPE Virtual Connect

现在,我们的设置已准备就绪,可以启动多个机箱的VC固件升级。执行以下命令以启动升级:

server:/tmp/hpe/sum # ./smartupdate --inputfile /tmp/update_vc.in

单个VC的升级大约需要"~45-50分钟"。但由于我们同时进行多个VC固件升级,因此总时间应为~1小时。 "不要终止会话",如果需要,我们可以使用tmux触发固件升级,以避免任何网络问题。

7.检查总和报告

由于我们在输入文件中使用了" INSTALLED_REPORT = YES",因此在执行结束时,SUM会以3种格式生成固件升级状态报告

  • HTML

  • CSV

  • XML

控制台上提供了所有树类型的报告的路径

位于/var/log/sum/SUM_Installed_Report_01-20-2017_13-03-51/SUM_Installed_Report_01-20-2017_13-03-51.html的已安装报告

请使用网络浏览器打开HTML或者XML文件。

如果我们未在Linux服务器上启用GUI,则可以将此文件夹/var/log/sum/SUM_Installed_Report_01-20-2017_13-03-51复制到Windows服务器,也可以直接打开html文件并检查固件升级报告

8.解决固件升级问题

如果我们更改了temp_dir的位置,则日志将位于我们提供的新位置下。所有日志的默认位置将位于

  • /var/tmp/sum

  • /var/log/sum

对于任何类型的问题,请检查"/var/tmp/sum/<VC IP地址> /firmware-vceth-X.XX-1.1.x86_64.log"下的日志。

对于执行摘要,请检查 /var/log/sum/<VC IP Address>/sum_detail_log.txt