嘘~ 正在从服务器偷取页面 . . .

ThinkSystem通过OneCli Tool批量更新系统固件


升级固件是服务器日常维护工作中比较常见也是非常重要的一项内容。如果服务器数量庞大,手动升级的工作量是极大的,同时是无法满足维护要求的。ThinkSystem服务器支持通过联想专有的OneCli工具进行服务器操作升级固件的操作,这大大减轻了服务器维护的难度。 这里我们以批量升级XCC固件为例,简单介绍如何通过OneCli Tool批理更新服务器固件。

一、工具配置

1.在联想技术支持网站下载OneCli工具包,这里我们以Windows版为例进行演示,下载ZIP包即可。也可以使用Linux版,后面的配置方法是相同的。

下载OneCli Tool工具包


注意: 本图片仅供参考,当前最新版本要比图中所示版本更高。

2.将工具包解压,例如解压到C盘根目录。然后新建两个目录,一个用来存放固件,一个用来存放配置文件。目录名称可以自定义,这里我们使用code目录存放固件文件,script目录存放配置文件。

3.进入Sample目录,这里面是OneCli需要使用的配置文件的样本,批量更新固件需要使用“credentials_config.json”(明文密码)和“multi_task_config.json”(多任务调度)这两个配置文件。

4,将这两个文件拷贝到新建的script目录,不建议在Sample目录直接编辑,这样可以方便管理,编辑时也可以对格式进行参考。拷贝完成后,可以自定义文件名方便管理。如下图pwd.json是明文密码配置文件,task.jason是多任务调度配置文件。

5.编辑明文密码配置文件,根据待更新的XCC的实际情况进行配置,如果所有XCC都是使用的默认用户名和密码:USERID:PASSW0RD,则使用default_alias即可,如果存在不同的用户名和密码,则可根据实际情况创建多个alias_user,然后与对应的XCC IP地址或地址段进行匹配,批量更新支持多种格式的bmc ip设置,例如”127.0.[2-3].[3-253]”是指127.0.2.3到127.0.3.253地址段内的所有IP地址。

6.如下图,这里批量更新两台服务器的XCC固件,10.245.54.210地址使用默认用户名密码,141这台使用alias_user1中定义的用户名密码。

7.编辑task.json文件,将“password_decrypt_mode”值由“0”改为“1”。

8.确保“bmc_credential”中配置的alias以及“target_bmc”中配置的IP地址组合与明文密码配置文件(pwd.json)中的配置保持一致。

9.使用OneCli encrypt命令把配置好的明文密码文件加密,–unattended是可选参数,如果指定了就不会要求输入密码,否则需要提供加密密码,相应的后续跑multiflash的时候需要提供这个密码。
OneCli.exe encrypt [–unattended] –configfile <明文密码配置文件>

10.Encrypt会把生成的加密文件路径显示出来,和OneCli.exe在同级目录名称为crypt.json,这个文件也可以拷贝到机器上的OneCLI目录下使用,也可以放在OneCLI以外的目录然后修改OneCLI的global.config来指定路径,配置名为: ENCRYPTED_CREDENTIALS_FILE_PATH

11.crypt.json将明文密码进行了加密。

二、更新固件

2.1通过Windows平台

1.执行如下命令开始批量更新固件,按实际情况输入文件名和路径。

OneCli.exe update multiflash --configfile ./script/task.json --dir ./code

2.在提示输入passphrase时,输入前面生成crypt.json时所设置的加密密码。

3.提示固件更新过程中目标系统将会发生reboot,这里我们只更新XCC,所以这里的目标系统是指XCC会进行reboot。按提示输入“yes”。

4.开始进行批量更新XCC固件,等待任务执行完成即可。

5,任务执行完成,如果有执行失败的任务,可以按提示找到日志文件来查看具体原因。至此,XCC批量更新操作完成。

2.1通过Linux平台

1.Linux系统中使用的升级命令与在Windows系统中是相同的,例如密码文件加密:

./OneCli encrypt --configfile ./script/pwd.json

2.执行批量更新的命令示例如下:

./OneCli update multiflash --configfile ./script/task.json --dir ./code

三、带内单台升级方法

1.上述批量升级固件的方法采用的是OOB(out-of-band)的方式。

2.如果只需要对单台主机进行固件升级,可以采用带内(in-band)的方式来完成。通过OneCli进行带内固件升级,首先要确认XCC的带内网卡没有被禁用,在OS中会有一个USB0的网卡,并且在OS中的IP地址为169.254.95.120,对应的XCC的IP为169.254.95.118。可以Ping一下XCC的这个IP地址,或者SSH登录保确可以访问。

2,通过以下命令进行带内XCC固件升级操作。固件目录和LOG目录自定义即可。

./OneCli update flash --nocompare --includeid lnvgy_fw_xcc_cdi358p-4.80_anyos_noarch --dir ./code --output ./logs --bmc USERID:PASSW0RD@169.254.95.118

四、注意事项

1.编辑JSON文件时要注意格式,格式错误也会导致升级失败。
2.下载固件时,需要将XML文件也下载下来,和固件放在一起。读取不到XML文件,也会导致升级失败。
3.OneCli Tool执行完任务后,会生成相应的日志文件,并在屏幕上打印出日志文件保存的路径。如果任务执行失败,可以检查这些日志文件来判断失败的原因。


文章作者: kclouder
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 kclouder !
  目录