IBM p 系列服务器系统固件升级攻略
2010-09-27 08:01:11 来源:WEB开发网引言
所有 IBM p 系列的服务器都有系统固件(Firmware),它存在于服务器的服务处理器(Flexible Service Processor, FSP)的闪存中。IBM 会在其固件发布网站上定期发布一些固件服务包,这些服务包能够让服务器更加稳定、高效的运转,发挥其潜在的功能。因此,升级服务器系统固件就成为系统管理员要熟练掌握的重要技术。由于固件是服务器运转的基石,如果固件在升级过程中出现问题,则可能导致服务器故障或瘫痪。
本文的目的是详细介绍 IBM p 系列服务器在不同管理环境下的固件升级方法,力求使系统管理员对 p 系列服务器系统固件升级方法有较全面的把握,其中的一些方法同样适用于 IBM i 系列服务器。本文假设读者拥有 p 系列服务器相关的基础知识。读者也可从文后相关资料中获得 p 系列服务器的基础知识。
本文将介绍系统固件升级的基本方法,根据服务器部署环境的不同,分为以下三个部分。
通过 Hardware Management Console(HMC)升级服务器系统固件
通过 Integrated Virtualization Manager(IVM) 升级服务器系统固件
通过操作系统(AIX 或 Linux)升级服务器系统固件
系统固件概述
固件又称微码或许可内码(Licensed Internal Code),是指经过 IBM 授权的内部程序,用于解决服务器已有的问题,或者是引入新的系统功能特性。固件为服务器提供了最基本的运行支持,对服务器的正常运行具有至关重要的作用。
系统固件命名规则
IBM p 系列服务器从 POWER5 开始遵循比较统一的系统固件命名规则,其命名格式为: PPNNXXX_YYY_ZZZ
其中,
PP: 用来标识固件所适用的子系统。系统固件子系统的识别符为 "01", 电源子系统固件的子系统识别符为 "02"。本文所描述的对象是系统固件。
NN: 用来区分固件适用的服务器类型。例如:"SF" 是针对 POWER5 的机器;"EL" 是针对 POWER6 的低端服务器;"EM" 是针对 POWER6 的中端服务器;"EH" 是针对 POWER6 的高端服务器。
XXX: 表示固件的发布级别。发布级别的固件一般包含对新特性或新机型的支持。
YYY: 表示固件的修订级别。修订级别一般包含对已有问题的解决补丁。
ZZZ: 表示最后一次破坏性修订级别。所谓破坏性是指该补丁安装后系统需要重新启动才能激活该固件。
依照上述规则,我们容易知道固件 01SF240_284_201 表示该固件是用于 POWER5 机器 , 发布级别为 240,修订级别为 284,最后一次破坏性的修订级别是 201。
两组基本概念
(1)临时固件和永久固件
系统固件是安装在服务器的 FSP 上。FSP 事实上保存了两份固件版本,分别称为临时固件和永久固件。它们的版本可以一致,也可以不一致;服务器既可以从临时固件区启动也可以从永久固件区加载固件启动。当安装一个固件的更新时,它首先将临时固件拷贝到永久固件区,然后再将新固件拷贝到临时固件区。当临时固件被使用一段时间后,如果用户觉得该固件足够稳定,则可以将临时固件提交到永久固件中,此时临时固件和永久固件的版本变成一致的。如果用户发觉临时固件运行得并不稳定,他也可以用永久固件区中的固件覆盖临时固件区,该操作被称为拒绝修订。
(2)更新和升级
当安装固件时,如果即将安装固件的发布级别和系统当前固件发布级别一致,该操作称为固件更新 (update);如果待安装固件发布级别比当前固件发布级别大,该操作称为固件升级 (upgrade)。固件升级操作一定是破坏性的,即服务器需要重新启动;更新操作可能是破坏性也可能是非破坏性的。强调一下,文章后面用到的“升级”是一个广义的概念,包括更新和“狭义”的升级。
IBM p 系列服务器部署
在用户实际环境中,p 系列服务器存在不同的管理方式,不同管理方式需要采用不同的方法进行系统固件升级。下面,首先介绍 p 系列服务器部署的不同场景。
HMC 管理
p 系列服务器最常见的管理方式是通过 HMC 管理。HMC,即硬件管理控制台,它是用于管理和配置服务器的一个独立的系统。通过 HMC, 可以对服务器进行完全的控制和管理。它的功能很强大,包括管理逻辑分区,管理服务器资源以及管理服务器更新等。目前,一台 HMC 能够同时管理用户网络环境中的多达几十台 p 服务器和几百个逻辑分区,使用户能方便的管理其网络中的资源。目前最新的 HMC 版本是 V7R3.3.0。对 HMC 管理的服务器进行系统固件升级一般通过 HMC 进行。
下图简单展示了 HMC 管理 p 服务器的场景。
图 1 HMC 管理 p 系列服务器的场景
IVM 管理
HMC 是一套全面的硬件管理解决方案,它有着丰富的功能。但是,对于一些中小型系统环境,他们并没有那么多的服务器需要管理,而且他们也不需要那么复杂的管理功能。对于这些用户,去购买和部署 HMC 并不是一个理想而经济的方式。IBM 为这类用户提供了另一种管理方式是 IVM( 集成虚拟化管理器 ) 管理,它是一套集成在 Virtual I/O Server(VIOS) 中的管理软件。它也能够实现对服务器的分区管理,更新管理以及事件管理等功能。与 HMC 相比,它成本低,以纯软件的形式存在,不需要额外硬件;但它只能用于管理单台服务器,而且功能相对 HMC 而言较弱。对 IVM 管理的服务器进行系统固件升级一般通过 IVM 进行。
图 2 IVM 管理 p 系列服务器的场景
独立服务器
此外,在有些环境中,用户并不需要服务器的虚拟化功能,对服务器不做任何分区处理,只把 p 服务器当作一个独立的系统使用,不需要通过 HMC 或 IVM 进行管理,即所谓的全分区系统。在这类系统上只能安装一个操作系统(AIX 或 Linux), 对这类服务器系统固件的升级只能通过其上的操作系统进行。
固件升级
IBM 将不同机型的最新固件发布在其官方网站 http://www14.software.ibm.com/webapp/set2/firmware/gjsn 上,
作为服务器的系统管理员应定期上该网站查看是否有新版本的固件发布,及时按照 IBM 的建议更新或升级服务器固件。
实验环境介绍
为详细描述三种不同部署方式下的固件升级方法,准备了如下的实验环境:
1 台 HMC:Julie-hmc1
1 个 VIOS 逻辑分区:vios1
3 台 POWER5 类型的 p 系列服务器:9117-570*109DB9D(HMC 管理 ),9133-55A*06DB8FG(IVM 管理 ),9133-550*06DB8FG( 独立服务器 )。
固件级别查看
在做系统固件升级之前,首先应对目标系统有充分的了解,比如,目标系统的型号,目标系统的受管方式,目标系统当前固件版本等等。只有知道这些基本信息,我们才能从 IBM 官方网站上查到是否有可以安装的固件版本。检查系统当前固件版本有很多方式,通过 HMC/IVM/ASMI 等的 Web 界面查看;通过 HMC/VIOS 分区的命令行查看;通过逻辑分区 (AIX 或 Linux) 的系统命令查看。
通过 HMC Web 方式查看固件的方法可从文章“IBM POWER6 服务器 Firmware 升级与维护 ”中找到。这里不再赘述。
通过 Web 方式简单直观,但是不够直接。下面我将主要介绍通过命令行方式查看固件版本的几个方法。
通过 HMC 上的 lslic 命令
lslic 是 HMC 提供的用来查看服务器固件信息的命令 , 它能够查看系统已安装,已激活和已接受的固件版本。该命令通过”-t”和“-m”两个选项来指定所进行的操作。
-t 指定所查看固件的类型,我们是查看系统固件,因此该参数设置为”sys”.
-m 指示所要查看的系统。
在我们环境中,通过如下命令查看版本。
hscroot@hmc1:~> lslic -t sys -m 9117-570*109DB9D
lic_type=Managed System,management_status=Enabled,disabled_reason=,
activated_level=209,
installed_level=209,accepted_level=209, ecnumber=01SF235,mtms=9117-570*109DB9D,
deferred_level=209, platform_ipl_level=209, curr_level_primary=209,
curr_ecnumber_primary=01SF235,curr_power_on_side_primary=temp,
pend_power_on_side_primary=temp,temp_level_primary=209,temp_ecnumber_primary=01SF235,
perm_level_primary=209, perm_ecnumber_primary=01SF235,update_control_primary=HMC
可以看出,9117-570*109DB9D 的固件版本是 01SF235_209。
通过 VIOS 上的 lsfware 命令
lsfware 是 VIOS 上用来查看各种固件以及驱动版本信息的常用命令。当它不跟任何参数时,显示的是系统固件版本信息;当其后跟选项–all 时,则显示系统中所有设备的微码信息。
以下是该命令在实验环境中的输出:
$ lsfware
system:SF240_358 (t) SF240_338 (p) SF240_358 (t)
$ lsfware –all
sys0!system:SF240_358 (t) SF240_338 (p) SF240_358 (t)
ent0!14108902.DV0210
ent1!14108902.DV0210
sisscsia0!44415255.070A0011
cd0!IBM-DROM002054.P633
hdisk0!ST37320.4A523030.43373046
hdisk1!ST37320.4A523030.43373046
上述输出表明该服务器的临时固件区版本是 SF240_358,永久固件区版本是 SF240_338,系统是从临时固件区启动的。
通过 OS 上的 lsmcode 命令
我们也可以通过受管系统的逻辑分区上运行的操作系统来获取系统的相关信息。目前,可在 P 系列服务器上运行的操作系统主要有 AIX, Linux. 以常见的 AIX6.1 为例,我们可以通过命令 lsmcode 来获取服务器上的固件信息。
# lsmcode -r -d sys0
system:SF240_358 (t) SF240_338 (p) SF240_358 (t)
其中, ‘-d’选项用来指定所查看的设备 , 系统固件对应的设备名为 sys0。可以看到,lsmcode 与 lsfware 输出格式类似。Linux 系统上的用法与 AIX 上基本一致,这里不再赘述。
了解了系统固件的查看方式,我们可以开始做系统固件升级。
HMC 管理的服务器固件升级
HMC 管理的服务器固件升级可以通过两种方式进行:HMC Web 管理界面和命令行。
通过 HMC 管理界面更新系统固件步骤在文章“IBM POWER6 服务器 Firmware 升级与维护 ”中已经有详细描述,这里不再赘述。
通过 HMC 界面升级系统固件,操作直观,容易使用,但是步骤较多。对于熟练的管理员,可以直接采用 HMC 命令行方式来升级固件,这种方式效率更高。假设我们要升级 9117-570*109DB9D 服务器的固件版本从 SF235_209 到 SF235_214。以下是用 HMC 命令行方式升级系统固件的主要步骤:
从 IBM 官方固件下载网站上下载固件 SF235_214 的安装包和对应的 xml 文件(SF235_214_160.rpm 和 SF235_214_160.xml), 这个 xml 文件对于从 HMC 上升级服务器是必须的。
将上述两个文件上传到 HMC 的某个目录下,例如,/home/hscroot/firmware/,可以采用任何方式(例如:SSH 方式)上传。
用 SSH 方式登陆到 HMC 上。由于从 SF235_209 到 SF235_214 操作固件发布级别并没有改变,所以是一个固件更新操作。执行如下安装命令进行安装:
updlic -o a -m 9117-570*109DB9D -t sys -r mountpoint –l latest -d /home/hscroot/firmware
其中,
“-o”选项指示 updlic 所要进行的操作;
“-m”选项指示升级的目标系统;用户可以通过 lssysconn –r all 命令查看所有受管系统的名称。
“-t”选项指示升级固件的类型;
“-r”选项指示固件的存放方式;
“-l”选项指示查找固件的级别;
“-d”选项指示查找安装文件的位置;
上述是一个固件更新操作的命令,如果是固件升级,则使用如下命令:
updlic -o u -m 9117-570*109DB9D -r mountpoint -d /home/hscroot/firmware
该命令将查找 /home/hscroot/firmware 目录下最新的固件进行升级。
安装完成后,使用 lslic –m 9117-570*109DB9D -t sys 命令来验证安装结果是否正确。
IVM 管理的服务器系统固件升级
IVM 管理的服务器系统固件升级可以通过 IVM 的管理界面或者 VIOS 的命令行工具来完成。IVM 是 VIOS 自带的一套管理软件,可以用来管理单台 p 系列服务器。
首先我们介绍采用 IVM Web 界面来升级系统固件。下图是一个 IVM 的主界面。
图 3 IVM 主界面
图片看不清楚?请点击这里查看原图(大图)。
从主界面的左侧导航链接中选择“更新”。在更新视图中选择“微码更新”。通过“生成新的检测”按钮完成对服务器包含的所有设备的微码检查。该视图给出了所有微码的当前级别以及可用级别。如下图所示。
图 4 微码更新管理
图片看不清楚?请点击这里查看原图(大图)。
上图最后一行显示系统设备 sys0 的微码情况,可以看到它的当前版本是 SF240_338,可用级别是 SF240_358。选上它点击“下载”按钮,将得到如下页面,
图 5 微码下载安装
图片看不清楚?请点击这里查看原图(大图)。
选择“确定”按钮开始微码安装。安装结束后“微码更新”页面将显示 sys0 的固件为 SF240_358。
除了通过 IVM Web 方式安装,我们也可以直接采用 VIOS 命令行方式安装系统固件更新。以下是通过命令行方式更新的步骤。
我们先从系统固件下载网站上下载相应版本的固件(例如,SF240_358),通过 VIOS 安装,我们仅需要安装包 SF240_358_201.rpm 或 SF240_358_201.iso, 不需要相应的 xml 文件。
将安装包上传到 VIOS 的 /var/adm/invscout/microcode/ 目录中,这个目录是固定用来存放微码的。
在 VIOS 上执行命令:ioscli invscout -rpm SF240_358_201.rpm -i --force –ignoreos 将固件的实际安装包解压到 /tmp/fwupdate/ 目录下。
再执行真正安装命令:ioscli invscout -install sys0 -file /tmp/fwupdate/SF240_358_201 安装固件。
系统在对固件做完基本检查后重启,在启动过程中进行真正的固件安装,即将新微码写入 FSP 卡闪存的临时固件区中。整个安装过程耗时较长,有的可能超过一个小时。
系统固件安装成功并正常启动后,用 lsfware 命令查看固件当前版本来验证是否成功安装。
独立服务器系统固件升级
对于将整个服务器作为一个独立系统来使用的用户,升级系统固件只能通过命令行的方式来进行。一般来说,p 系列服务器的操作系统是 AIX 或者 Linux ( 比如 RedHat 或者 Novell/SUSE)。在 AIX 中,安装命令是包含在 AIX diagnostic tools 中,缺省情况下即安装在系统中。对 Linux 系统,命令则是包含在 Services and Productivity Tools 中,用户可以从如下链接中下载相应安装包。
https://www14.software.ibm.com/webapp/set2/sas/f/lopdiags/home.html
由于两种系统的升级方式类似,这里仅介绍在 AIX 系统上的安装步骤。
我们先从系统固件下载网站上下载相应版本的固件(例如,01SF240_320)。通过操作系统直接安装固件,同样不需要相应的 xml 文件。
将下载到的安装文件 01SF240_320_201.rpm 保存到待安装服务器的一个目录 ( 例如:/tmp) 中。
执行如下命令:rpm -Uvh --ignoreos /tmp/01SF240_320_201.rpm 将固件安装映像释放为 /tmp/fwupdate/01SF240_320_201
执行安装命令:/usr/lpp/diagnostics/bin/update_flash -f /tmp/fwupdate/01SF240 _320_201。 update_flash 脚本除了安装固件以外还有多种功能,可以用来接受或拒绝临时固件区的固件。
更新过程会导致系统重启,安装成功并重启之后,可以使用 lsmcode 命令验证安装结果。
总结
本文根据用户环境中 p 系列服务器的部署情况,分类概要介绍了在各种情况下的系统固件升级方法。这些方法既包含 Web 界面方式也包含了命令行方式,用户可以根据自己的喜好选择相应方法进行。事实上,固件的更新还有其他方式,例如通过 CSM 或 IBM Director 软件,只是它们都需要再安装配置一些额外的软件,使用有些复杂,因此不在本文范围之内。最后,为读者查找命令方便,将本文涉及的一些主要命令以及常用选项小结如下表。
表 1. 固件级别查看命令
命令 | 常用选项 | 适用场合 |
lslic | -t: 指定所查看固件的类型;可选的值有 sys, power, syspower, powerfru; -m: 指示所要查看的系统; | 该命令需要在 HMC 上执行,因此适用于查看 HMC 管理的系统 |
lsfware | 无选项:表示查看系统固件信息; -all: 表示查看所有设备的微码信息; | 该命令需要在 VIOS 上执行,因此适用于查看 IVM 管理的系统 |
lsmcode | -d: 指定所查看的固件的设备名; -r: 表示以原有格式输出结果; | 该命令适用于 AIX 或 Power Linux 系统 |
表 2. 固件更新命令
命令 | 常用选项 | 适用场合 |
updlic | -o: 选项指示 updlic 所要进行的操作; -m: 选项指示升级的目标系统;用户可以通过 lssysconn –r all 命令查看所有受管系统的名称; -t: 选项指示升级固件的类型; -l: 选项指示查找固件的级别; -d: 选项指示查找安装文件的位置; | 适用于 HMC 管理的服务器固件升级 |
invscout | -rpm: 用来安装固件的 rpm 包; -install: 用来将固件真正写入 FSP 卡的闪存中; | 适用于 IVM 管理的服务器固件升级 |
update_falsh | -f: 指定固件的安装映像; -c: 接受临时固件区固件; -r: 拒绝临时固件区固件; | 适用于通过操作系统(AIX 或 Power Linux)实现固件升级 |
- ››服务器群集:Windows 2000 和 Windows Server 200...
- ››服务器维护经验谈 图解DHCP故障排除
- ››IBM WebSphere常见问题解答
- ››IBM WebSphere Studio V5相关认证资料
- ››IBM WebSphere应用服务器发展趋势
- ››IBM WebSphere Application Server诊断和调优(一...
- ››IBM WebSphere Application Server诊断和调优(二...
- ››IBM WebSphere Performance Pack服务器
- ››IBM WebSphere软件概述
- ››IBM PowerVM 实战手册,第 3 部分 : VIO server 配...
- ››IBM PowerVM 实战手册,第 2 部分 : VIO server 准...
- ››IBM p 系列服务器系统固件升级攻略
更多精彩
赞助商链接