使用nim master为oracle2分区安装os,使用 NIM 资源部署自定义的 AIX 系统

本文介绍了如何使用 NIM (Network Installation Management) 所提供的 installp_bundle、image_data 和 fb_scripts 等资源 (Resource),来实现安装时的自动化配置 (Install time customization)。文章假设读者已经掌握 NIM 的基本操作,因此对相关的基础知识不做重点介绍。读者可以从 " 网络安装管理器的强大功能 " 了解所需的背景知识。本文介绍的技术适用于 AIX™ 5L 和 AIX™ 6L 各版本的网络安装。

NIM 是系统管理人员远程、批量安装 AIX 系统的常用工具。它提供了一些向导程序,如 nim_master_setup,简化了 NIM 的基本配置。但是这种配置下的 NIM 所提供的 AIX 远程安装服务,往往不能满足系统管理人员的自动化安装需求。比如,系统管理人员还是要手工设置 DNS 或 LVM,又或是另行安装一些未与 AIX 捆绑的常用软件,如 bash。为了进一步提高安装的自动化,NIM 提供了多种资源。

NIM 资源本质上是一个指针,指向一个存储着安装包的目录,或是某个配置文件。NIM master 负责管理这些资源,并在提供 NIM client 操作系统安装和软件维护服务时,通过 NFS 协议共享给 NIM client 来使用。下面列出了本文重点讨论的几种 NIM 资源:

uid-10218589-id-348857.html

NIM client 既可以是 AIX 系统,也可以是 NIM 支持的 Linux 系统。本文中,NIM client 只限于 AIX 系统。

lpp_source:lpp_source 指向一个目录,这个目录按照 NIM 规定的结构存储 AIX 的各种安装包。lpp_source 分两种,如果所指的目录中存储的安装包集合包含了实现 AIX 操作系统安装所需的基本组件 (BOS installation),那么这种 lpp_source 就称具有 simages 属性。这种 lpp_source 分配给某个 NIM client 后,NIM master 就可以执行在该 NIM client 上安装操作系统的任务了。反之,NIM master 就只能执行一些软件维护的任务。simages 属性在创建 lpp_source 时由 NIM 判断产生。利用 NIM 提供的向导,如 nim_master_setup,用户可以方便的生成具有 simages 属性的 lpp_source。如果用户还需要在安装过程中加入自定义的软件,则要将该软件的安装包按照 NIM 的规定复制到 lpp_source 的特定目录下。

installp_bundle:installp_bundle 指向一个配置文件,用于从 lpp_source 中选择需要的 AIX 安装包。因此,如果用户需要加入自定义的软件,除了要将安装包拷贝到 lpp_source,还需要通过 installp_bundle 来明确声明这个安装包。

resolv_conf:resolv_conf 指向的配置文件在安装过程中被用于设置 NIM Client 的 DNS。尽管 NIM 在安装过程中已经自动完成了对 NIM client 的基本网络配置,如对主机名、IP 地址、网关等的配置。但是 DNS 这方面,还是需要使用 resolv_conf 来进行配置。

image_data:image_data 所指向的配置文件定义了 NIM client 的根卷组 (root Volume Group) 以及文件系统。NIM 在安装操作系统的初期,会根据 NIM client 的环境进行根卷组的配置。用户可以使用 image_data 来修改这个默认设置,例如,扩容某个逻辑卷 (Logical Volume) 以及做为该卷挂载点 (mount) 的目录,或是扩大默认的页面空间 (Paging Space)。这一点对于需要在安装过程中加入自定义软件的用户来说比较重要,因为某些自定义软件在安装过程中不会自动扩充安装目录,安装目录容量过小会导致这些软件的安装失败。image_data 的配置需要用户对 AIX 的相关文件系统有比较深入的理解。

bosinst_data:bosinst_data 所指向的配置文件预填了在进行 AIX 操作系统安装时所需回答的问题,如是否接受 Licenses 或是安装 CDE 等。

fb_script 和 script:fb_script 通常指向一个 shell 脚本,该脚本会在 AIX 操作系统安装完后的首次引导时执行。NIM 还有一个类似的资源 script。两者的区别在于执行的时间点不同,script 资源所指的脚本在早些时候被调用。具体的时间点是在操作系统的安装过程中,所有的软件包安装完成之后。这个时间点上,某些守护进程并没有启动,无法执行一些配置工作,如硬件的配置,或是远程挂载一些目录等等,所以使用 fb_script 相对来说比较方便一些。当然,除了配置硬件以外,fb_script 也可以用来设定 root 的密码和默认 shell 等等。

adapter_def:adapter_def 所指向的目录包含了配置双网卡所需要的信息。关于 adapter_def 的使用,在 有比较详细地描述。

还有一些资源,如 tmp、root 和 home 等,是用于无盘工作站 (diskless station) 的安装配置,这里就不详述了。

uid-10218589-id-348857.html

uid-10218589-id-348857.html

本节通过一个配置实例来进一步阐述 NIM 资源的使用。下面的表格列出了配置的需求:

类型

需求

NIM master 操作系统

AIX6.1.0.0

NIM client 操作系统

AIX6.1.0.0

附加软件

bash-3.0-1, openssh.*

ibm.com

NameServer

192.168.1.1

页面空间

1G

/opt 目录大小

4G

root 密码 / 默认 shell

abcdefg/bash

uid-10218589-id-348857.html

uid-10218589-id-348857.html

下面是使用 "NIM 资源概述 " 介绍的工具来满足配置需求的一种实现。下表列出了所需定义的资源以及其所指向的配置文件或者相关目录,本文所用到的配置文件可以直接 下载:

资源类型

资源名称

指向的配置文件或目录

lpp_source

lpp_AIX6_1

/export/lpp_source/lpp_AIX6_1.d

spot

spot_AIX6_1

/export/spot/spot_AIX6_1

installp_bundle

Extra_AIX6_1_bnd

/export/installp_bundle/Extra_AIX6_1.bnd

resolv_conf

resolv_AIX6_1_conf

/export/resolv_conf/resolv_AIX6_1.conf

image_data

image_AIX6_1_data

/export/image_data/image_AIX6_1.data

bosinst_data

bosinst_AIX6_1_data

/export/bosinst_data/bosinst_AIX6_1.data

fb_script

fb_AIX6_1_sh

/export/fb_script/fb_AIX6_1.sh

uid-10218589-id-348857.html

uid-10218589-id-348857.html

一个完整的配置过程,除了按照 "NIM 资源清单 " 定义所需的资源外,还包括 NIM master 的初始化以及 NIM Client 的资源分配等步骤。

首先,用户需要将 AIX6.1.0.0 的安装光盘放置在担任 NIM master 的机器的光驱中,接下来用户就可以使用 nim_master_setup 等工具来安装和配置 NIM master。下面列出了五条命令:uid-10218589-id-348857.html

NIM 命令结构比较清晰。在本文中,主要用到的参数有三种,参数 '-o' 表示操作的类型,比如说用 'define' 定义一个 NIM 对象 (object),或是用 'lslpp' 列出某个 lpp_source 包含的安装包。参数 '-t' 表示操作对象的具体类型,可以是机器 (machine) 或某种资源等等。参数 '-a' 表示一些具体的属性设置。关于 NIM 命令的细则,可以参考相关的 man 页。

-bash-3.00# nim_master_setup -B -a mk_resource=no \

-a file_system=/export

-bash-3.00# mkdir -p /export/lpp_source/lpp_AIX6_1.d

-bash-3.00# nim -o define -t lpp_source \

-a server=master \

-a location=/export/lpp_source/lpp_AIX6_1.d \

-a source=/dev/cd0 lpp_AIX6_1

-bash-3.00# mkdir -p /export/spot

-bash-3.00# nim -o define -t spot -a server=master \

-a location=/export/spot -a source=lpp_AIX6_1 \

-a installp_flags=-aQg spot_AIX6_1

这五条命令中,第一条命令用 nim_master_setup 来安装 NIM 自身所需的安装包,并生成 master、master_net 和 boot。第二、三条命令创建目录 "/export/lpp_source/lpp_AIX6_1.d",将 AIX6.1.0.0 的安装包从光驱拷贝到新创建的目录,然后创建资源 lpp_AIX6_1 来管理这个目录。当然,lpp_AIX6_1 是带有 simages 属性的。第四、五条命令创建目录 "/export/spot",从 lpp_AIX6_1 生成 SPOT 资源 spot_AIX6_1。用户可以参考 "网络安装管理器的强大功能" 获得关于 NIM master 配置更详细的描述。用户可以使用如下命令来验证执行结果:

uid-10218589-id-348857.html

master_net 存储了一个子网的基本配置,包括网络地址及其掩码,用于设置 NIM client 的网络。boot 指向 "/tftpboot" 目录,该目录存储着 AIX 网络安装时需要的 boot 程序。

-bash-3.00# lsnim

master machines master

boot resources boot

master_net networks ent

lpp_AIX6_1 resources lpp_source

spot_AIX6_1 resources spot

NIM 6.1.1.1 支持四种安装文件:BFF、RPM、ISMP 和 Interim Fix format,本文只涉及前两种格式。BFF 就是 AIX 的 installp 格式,存储在 lpp_source 所指的目录下的 installp/ppc 子目录。而 rpm 格式则存储在 RPMS/ppc 子目录下。用户自定义的安装包如果要被 NIM 找到,也需要根据安装包的类型拷贝到指定目录下。例如将 "bash-3.0-1.aix5.1.ppc.rpm" 拷贝到 "/export/lpp_source/lpp_AIX6_1.d/RPMS/ppc" 下,将 "openssh.*" 和 "openssl.*" 拷贝到 "/export/lpp_source/lpp_AIX6_1.d/installp/ppc" 下。拷贝完成后,使用如下命令检查结果:-bash-3.00# nim -o lslpp lpp_AIX6_1 | egrep 'bash|ssh'

openssh.base

openssh.base.client

openssh.base.server

openssh.license

openssh.license

openssh.man.en_US

openssh.man.en_US

bash-3.0

bash-3.0

接着,用户需要创建 installp_bundle 来选择需要安装的软件包。下面是配置文件 "Extra_AIX6_1.bnd" 的内容 :-bash-3.00# cat /export/installp_bundle/Extra_AIX6_1.bnd

I:openssh.license

I:openssh.man.en_US

I:openssh.base.client

I:openssh.base.server

I:openssl.license

I:openssl.base

I:openssl.man.en_US

R:bash-3.0

每行由符号 ':' 分成两部分,左边的字符表示安装包的格式。'I' 代表 BFF 格式,'R' 表示 RPM 格式。右边是安装包的名称,可以用上一操作 "lpp_source 的修改" 获得。生成配置文件后,就可以用如下命令创建 installp_bundle 类型的 NIM 资源 Extra_AIX6_1_bnd 了:-bash-3.00# nim -o define \

-t installp_bundle -a server=master \

-a location=/export/installp_bundle/Extra_AIX6_1.bnd \

Extra_AIX6_1_bnd

接下来是创建 resolv_conf。首先是创建用于 DNS 配置文件 resolv_AIX6_1.conf。本例中,域名服务器设置为 192.168.1.1,默认域为 "ibm.com"。具体的语法,请参考 "" 关于系统文件 "/etc/resolv.conf" 的描述。有了配置文件,就可以创建 resolv_AIX6_1_conf。下面是具体的命令:-bash-3.00# cat /export/resolv_conf/resolv_AIX6_1.conf

nameserver 192.168.1.1

domain ibm.com

-bash-3.00# nim -o define -t resolv_conf -a server=master \

-a location=/export/resolv_conf/resolv_AIX6_1.conf \

resolv_AIX6_1_conf

下面是 image_data 资源的配置。首先需要创建配置文件 "image_AIX6_1.data",该文件通常不需要用户从头写起,有两种办法可以得到默板。一是通过 AIX 命令 mkszfile 创建 "/image.data",这个文件记录了所在的 AIX 的根卷组 (root Volume Group) 以及文件系统的信息,用户可以在这个基础上进行修改。需要注意的是,配置文件的语法与 AIX 系统的版本有关。二是在 spot 资源所指向的目录下有一个 "image.data" 文件,如本例中的 "/export/spot/spot_AIX6_1/image.data",也可以作为模板来修改。下面列出配置文件中与修改相关的部分 :-bash-3.00# cat /export/image_data/image_AIX6_1.data

......

lv_data:

VOLUME_GROUP= rootvg

LOGICAL_VOLUME= hd6

TYPE= paging

LPs= 256

PP_SIZE= 4

PP= 256

......

lv_data:

VOLUME_GROUP= rootvg

LOGICAL_VOLUME= hd10opt

TYPE= jfs2

LPs= 32

MOUNT_POINT= /opt

PP_SIZE= 128

PP= 32

......

fs_data:

FS_NAME= /opt

FS_SIZE= 8388608

FS_LV= /dev/hd10opt

......

因为需求是扩容逻辑卷,所以修改集中在 LPs、PP 这两项上。LPs 表示该逻辑卷逻辑分区 LP(Logical Partition) 的数量,PP 表示分配的物理分区 (Physical Partition) 的数量。在这里,LPs 和 PP 的值是一样的。PP_SIZE 是物理分区的大小,以 Megabyte 为单位。逻辑卷的大小就可以通过计算 PP 和 PP_SIZE 的乘积得到。从上面的配置可以看出,逻辑卷 hd6 大小是 1G。因为 hd6 被用作页面空间,所以页面空间就被扩容为 1G。逻辑卷 hd10opt 大小是 4G,因为 hd10opt 会被挂载到目录 /opt,所以还需要修改 /opt 目录的大小 FS_SIZE 以保持一致。FS_SIZE 的单位是 512 字节。具体的参数解释,用户可以参考 "" 关于 "image.data" 的描述。用户也可以通过 "" 了解更多关于 LVM 的知识。在得到配置文件 "/export/image_data/image_AIX6_1.data" 后,就可以用如下命令创建 image_data 资源了 :

-bash-3.00# nim -o define -t image_data -a server=master \

-a location=/export/image_data/image_AIX6_1.data \

image_AIX6_1_data

然后是 bosinst_data 相关的配置,该配置文件的模版也可以从 spot 资源所指目录中,也就是 "/export/spot/spot_AIX6_1/bosinst.data",获得。下面列出对该模版的修改部分 :-bash-3.00# cat /export/spot/spot_AIX6_1/bosinst.data

control_flow:

CONSOLE = Default

INSTALL_METHOD = overwrite

PROMPT = no

EXISTING_SYSTEM_OVERWRITE = yes

ACCEPT_LICENSES = yes

.......

修改主要集中在是否覆盖原有操作系统 EXISTING_SYSTEM_OVERWRITE,是否接受 License 这两方面。还有其他一些选项,用户可以参考 "" 中关于 "bosinst.data" 的描述。在得到配置文件后,就可以用如下命令创建 bosinst_data 资源了 :-bash-3.00# nim -o define \

-t bosinst_data -a server=master \

-a location=/export/bosinst_data/bosinst_AIX6_1.data \

bosinst_AIX6_1_data

最后是 fs_script 资源的设置。首先是创建需要执行的 shell 脚本 "/export/fb_script/fb_AIX6_1.sh",该脚本分成两个部分:第一个部分是使用命令 chpasswd 设置 root 账号的密码为 "abcdefg"。第二部分用 sed 编辑 "/etc/passwd" 文件来设置 root 账号的默认 shell。用户可以用 shell 选项 '-n' 来检查脚本语法的正确性。-bash-3.00# cat /export/fb_script/fb_AIX6_1.sh

# set root's passwd

echo root:abcdefg | chpasswd; pwdadm -c root

# set bash as default shell

if rpm -aq | grep bash

then

if sed '/^root/s/\/usr\/bin\/ksh/\/usr\/bin\/bash/' /etc/passwd > /tmp/passwd

then

cp -f /tmp/passwd /etc/passwd

fi

fi

-bash-3.00# ksh -xvn /export/fb_script/fb_AIX6_1.sh

编辑完 "/export/fb_script/fb_AIX6_1.sh",就可以用如下命令创建 fs_script 资源了:-bash-3.00# nim -o define -t fs_script -a server=master \

-a location=/export/fb_script/fb_AIX6_1.sh fb_AIX6_1_sh

创建完上述的资源后,可以用如下命令来检查所有的步骤是否正确执行:-bash-3.00# lsnim

master machines master

boot resources boot

master_net networks ent

lpp_AIX6_1 resources lpp_source

spot_AIX6_1 resources spot

Extra_AIX6_1_bnd resources installp_bundle

resolv_AIX6_1_conf resources resolv_conf

image_AIX6_1_data resources image_data

bosinst_AIX6_1_data resources bosinst_data

fb_AIX6_1_sh resources fb_script

在上面的步骤都成功完成以后,就可以进行 AIX 的安装了:-bash-3.00# nim -o define -t standalone \

-a if1="master_net aix01 0" aix01

-bash-3.00# nim -o allocate \

-a lpp_source=lpp_AIX6_1\

-a spot=spot_AIX6_1 \

-a installp_bundle=Extra_AIX6_1_bnd \

-a resolv_conf=resolv_AIX6_1_conf \

-a image_data=image_AIX6_1_data \

-a bosinst_data=bosinst_AIX6_1_data \

-a fb_script=fb_AIX6_1_sh \

aix01

-bash-3.00# nim -o bos_inst \

-a source=rte \

-a installp_flags=agX \

-a accept_licenses=yes aix01

第一条命令在 NIM 维护的数据库里定义了一个 NIM Client "aix01","aix01" 所在网络由 master_net 指定,主机名仍然是 "aix01"。第二条命令将前面定义的资源都分配给 "aix01",这样在安装 AIX6.1.0.0 到 "aix01" 的过程中,就可以使用这些资源实现安装的自动化了。最后一条命令执行 AIX 操作系统的 BOS 安装。

uid-10218589-id-348857.html

uid-10218589-id-348857.html

NIM 资源提供给系统管理人员按需定制以及远程批量部署 AIX 操作系统的机制。而系统测试人员也可以利用这一机制,再结合 HMC 的 mksyscfg、chsysstate 这些 LPAR 的创建和管理接口,方便的写出从虚拟机的创建到操作系统的安装的自动化脚本。从而实现基于虚拟技术的测试环境的自动化搭建工作。

uid-10218589-id-348857.html

uid-10218589-id-348857.html

描述

名字

大小

下载方法

本文定义的配置文件 1

power_aix_nim_all_cfg.zip

8KB

注意:

配置文件包括 : Extra_AIX6_1.bnd、resolv_AIX6_1.conf、image_AIX6_1.data、bosinst_AIX6_1.data、fb_AIX6_1.sh。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值