首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

VIOS 的更新--使用 NIM Master 手工完成 VIOS 的更新

VIOS 的更新--使用 NIM Master 手工完成 VIOS 的更新

本帖最后由 look_w 于 2018-1-8 15:32 编辑

下面通过一个实例来看看如何使用 NIM Master 完成 VIOS 的更新。在本例中,我们将会使用 NIM Master 更新 VIOS 系统版本 2.2.1.0 到 2.2.1.4。
使用 NIM Master 手工完成 VIOS 的更新要完成 VIOS 2.2.1.4 的更新,实际上就是要维护一个 lpp_resource 资源,当任何 VIOS 的更新包发布时,把这个新的更新包添加到已有的 lpp_resource 中,从而通过这个更新后的 lpp_resource 资源对 VIOS 系统进行更新。
所以,对于用户来说,首要的任务就是在 NIM Master 创建一个初始的 lpp_resource 资源,这一工作通常可以在安装第一个 VIOS 版本时完成。使用 AIX DVD Image 创建 lpp_resource理论上,我们应该使用 VIOS 2.2.1.0 的 DVD 安装光盘,通过 NIM 命令来生成 lpp_resource 资源,但是在创建过程中,我们一般会遇到下面的错误。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
(1) root @ xnw3056: : /VIOS/cd1/usr/sys/inst.images
# nim -o define -t lpp_source -a source=/VIOS/cd1 -a server=master -a \
          location=/export/nim/VIO2210/VIO2210lpp vio2210lpp
Preparing to copy install images (this will take several minutes)...

….

Now checking for missing install images...
warning: 0042-265 c_mk_lpp_source: The image source "/VIOS/cd1"
        that was used to define the lpp_source is missing one or more
        of the following from the list of default packages:

….

warning: 0042-267 c_mk_lpp_source: The defined lpp_source does not have the
        "simages" attribute because one or more of the following
        packages are missing:




上面的错误显示 simages 属性没法设置,这就意味着我们没法使用这个 lpp_resource 去进行 NIM RTE 安装 LPAR,但这个包实际上是可以用于更新操作的。
但为了避免上面这个问题,我们可以采用另外一种方法来生成 lpp_resource 资源。
根据 VIOS DVD 光盘的第一张内容,我们可以确认 VIOS 2.2.1.0 的 oslevel 信息,由于 VIOS 本身是基于特定 AIX 定制的 Appliance,其实这个 oslevel 也就是它使用的 AIX 的版本信息。
1
2
# cat /VIOS/cd1/OSLEVEL
OSLEVEL= 6.1.7.0




从上面的输出结果,VIOS 2.2.1.0 使用的是 AIX 6.1 TL7 的版本。我们可以使用 AIX 6.1 TL7 的安装光盘来生成 lpp_resource 资源。同样 mount 第一张 DVD 安装光盘到 /VIOS/cd1,使用的命令和上面完全相同,即可创建出 lpp_resource 资源。
1
2
3
(1) root @ xnw3056: : /
# nim -o define -t lpp_source -a source=/VIOS/cd1 -a server=master -a \
location=/export/nim/VIO2210/VIO2210lpp vio2210lpp vio2210lpp




在这个 lpp_resource 资源创建完成之后,在以后的 VIOS 更新包发布之后,我们将对这个 lpp_resource 资源进行修改,使之包含有最新的更新。
基于 Fix Pack 和 Service Pack 包更新 lpp_resource;当 VIOS 2.2.1.4 发布时,我们可以从 上下载该更新包,我们命名这个下载包为 vio2214.iso。现在我们开始对原先的 lpp_resource 资源进行更新。
首先,mount 该 ISO 文件到 NIM 文件夹/cd
1
2
(1) root @ xnw3056: : /
# loopmount -i 2214.iso -o "-V cdrfs -o ro" -m /cd




第二步,创建 /export/nim/VIO2210/vio2214lpp 文件夹,并且把 /export/nim/VIO2210/VIO2210lpp 的所有内容拷贝到该文件夹下,我们将使用这个文件夹来创建新的vio2214lpp资源。
1
2
3
4
5
6
7
8
(0) root @ xnw3056: : /
# ls -la /export/nim/VIO2210/vio2214lpp/
total 16
drwxr-xr-x    5 root     system         8192 Aug 14 07:14 .
drwxr-xr-x    5 root     system          256 Aug 14 06:58 ..
drwxr-xr-x    3 root     system          256 Aug 14 06:58 RPMS
drwxr-xr-x    3 root     system          256 Aug 14 06:58 installp
drwxr-xr-x    4 root     system          256 Aug 14 06:59 usr




第三步,创建新的 vio2214lpp 资源。
1
2
3
4
5
6
(1) root @ xnw3056: : /
# nim -o define -t lpp_source -a server=master \
-a location=/export/nim/VIO2210/vio2214lpp vio2214lpp
Preparing to copy install images (this will take several minutes)...
Now checking for missing install images...
All required install images have been found. This lpp_source is now ready.




第四步,复制 VIOS 2.2.1.4 更新包所有文件到 /export/nim/VIO2210/vio2214lpp/installp/ppc,并使用 nim 命令行对 vio2214lpp 资源进行更新。
1
2
(0) root @ xnw3056: : /export/nim/VIO2210/vio2214lpp/installp/ppc
# cp -rf /cd/* .




如上面命令所示,VIOS 更新包一般都是符合 installp 格式的包的组合,我们要把更新包中所有的文件都复制在 ppc 文件夹下。
然后使用 nim -o update 命令更新一下该 lpp_source 资源,这些更新包将会在该 NIM 资源中得到更新。
1
2
(1) root @ xnw3056: : /export/nim/VIO2210/vio2214lpp/installp/ppc
# nim -o update -a packages=all -a source=/export/nim/VIO2210/vio2214lpp vio2214lpp




最后要做的是使用 lppmgr 命令对该资源进行优化,删掉其中一些重复的包和无用的包,参见下面命令行。
1
2
(0) root @ xnw3056: : /export/nim/VIO2210/vio2214lpp/installp/ppc
# nim -o lppmgr -a lppmgr_flags="-bu -x -r -e" vio2214lpp




通过 NIM 命令行实现对 VIOS 进行系统的更新。在上述 VIOS 2.2.1.4 的 lpp_source 资源创建完成并且更新之后,我们就可以使用 NIM 命令行完成对 VIOS 系统进行更新了。通常,这一工作既可以在 NIM Master 端执行命令完成,也可以在 VIOS 端使用 nimclient 命令行完成。
首先要做的就是把 VIOS 系统加为 NIM Client(客户机),关于如何添加创建待更新的 VIOS 为 NIM Client,可以在 NIM Master 上使用 smitty nim_mkmac ,如下图 1 所示,也可以到 VIOS 端使用下面 niminit 命令完成。
1
2
(0) root @ xnw3056: : /
# niminit -a master=xnw3056 -a name=ip9-12-29-212 -a connect=nimsh




图 1. 添加待更新的 VIOS 系统为 NIM 客户机然后,我们可以从 NIM Master 上使用命令 smitty nim_task_inst 并选取相应的 lpp_source 资源完成 VIOS 更新,如下图所示。
图 2. 对 VIOS 系统通过 NIM Master 进行更新同样,上面 VIOS 的更新也可以在 VIOS 端使用下面 NIM Client 的命令操作完成。
通过命令查询 lpp_source 资源。
1
2
3
xnw3056: : /
# nimclient -l -L ip9-12-29-212 | grep –i vio2214lpp
vio2214lpp                      lpp_source




把该资源分配给 VIOS 系统。
1
# nimclient -o allocate -a lpp_source=vio2214lpp




然后,用命令行验证该资源被正确分配给 VIOS 系统。
1
2
# nimclient -l -c resources ip9-12-29-212
vio2214lpp     lpp_source




最后,使用命令 nimclient -o cust 安装 VIOS 更新包到 VIOS 系统,完成更新。
1
2
3
4
5
6
7
8
9
#nimclient -o cust -a lpp_source=vio2214lpp -a fixes=update_all -a accept_licenses=yes
....
DirectorCommonAgent         6.3.0.1         USR         APPLY       SUCCESS
DirectorCommonAgent         6.3.0.1         ROOT        APPLY       SUCCESS

installp:  * * *  A T T E N T I O N ! ! !
        Software changes processed during this session require this system
        and any of its diskless/dataless clients to be rebooted in order
        for the changes to be made effective.




在更新应用到 VIOS 系统之后,系统需要重启,重启后进入 VIOS 可以看到该 VIOS 成功升级更新为 VIOS 2.2.1.4 版本。
1
2
3
# reboot
$ ioslevel
2.2.1.4




实际上,如果管理的 VIOS 系统比较多,并且想要对所有管理的 VIOS 系统进行更新,可以使用 NIM Machine Group 来定义一个 VIOS 系统组,从而对整个 VIOS 系统组进行批量更新。如下命令行,我们对两个 VIOS 系统创建一个命名为 vio_grp 的组,之后的更新对象可以使用该组批量更新。
1
2
(1) root @ xnw3056: : /
# nim -o define -t mac_group -aadd_member=ip9-12-29-212 -aadd_member=ip9-12-29-223 vio_grp




下面介绍的是另外一种 VIOS 更新方法,该方法需要使用到 IBM Systems Director,并且把 VIOS 加入到其管理环境。
返回列表