Board logo

标题: Unix/Linux 系统自动化管理 网络自动化安装(2) [打印本页]

作者: look_w    时间: 2018-6-13 15:39     标题: Unix/Linux 系统自动化管理 网络自动化安装(2)

AIX 系统安装自动化AIX NIM 提供了网络安装功能由配置脚本组成,很适合系统安装自动化。我们可以通过添加一些脚本来实现安装的自动化。
以下是 NIM 文件集安装实例以及利用 NIM 自动化的安装 AIX 客户端的具体步骤
1. NIM 服务器端的安装和配置
在一个选定的 AIX 系统中,首先要判断系统是否已经安装 bos.sysmgt.nim.client fileset.
其中,要注意 bos.sysmgt.nim.spot 是可选的,在以瘦服务器端方式安装时,这是必须安装的,比如 diskless 和 dateless。
确定 bos.sysmgt.nim.client 已经安装后,可以调用 NIM 自带的脚本,nim_master_setup 来配置 NIM 服务器端。
实现 NIM 服务器端 NIM 的安装和配置命令:
首先判断是否有 nim 文件包已经安装
1
/usr/sbin/lsnim -l




如果没有安装则运行下面的命令:
1
nim_master_setup -a mk_resource=no




调用 nim_master_setup 需要指定若干选项,主要选项的说明 :
清单 4. nim_master_setup 选项
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Usage nim_master_setup: Setup and configure NIM master.
nim_master_setup [-a mk_resource={yes|no}]
                       [-a file_system=<fs name>]
                       [-a volume_group=<vg name>]
                       [-a disk=<disk name>]
                       [-a device=<device>] [-B] [-v]

-B    Do not create mksysb resource.
-v    Enable debug output.

各个选项有相应的默认值 :
mk_resource = yes
file_system = /export/nim
volume_group = rootvg
device = /dev/cd0




2. 生成安装所需的 NIM 资源
AIX NIM 服务器端可以通过命令 /usr/sbin/nim -Fo define -t lpp_source -a server=master 将 NIM 资源添加到 NIM 资源数据库中。
添加的资源种类有:
lppsource,spot,mksysb,paging,resolv_conf,root,installp_bundle,root,script。
在此之前,需要做好各种判断,比如要判断目标目录的磁盘空间是否足够,如果不足,需要自动为其分配空间。
首先判断现有磁盘空间:
1
2
# get free space
my $dfcmd = qq~/usr/bin/df -m $location | /usr/bin/awk '(NR==2){print \$3":"\$7}'~;




如果不足,需要为其动态增加磁盘空间。 一般说来,lpp_source 大约空间为 1GB。
假设我们将 lppsize 设为 1500M,通过下面的脚本来实现空间的自动添加。
清单 5. 设置 lppsize
1
2
3
4
5
6
7
8
my $lppsize = 1500;
my $space_needed;
if ( $size >= $free_space) {
$space_needed = int ($size - $free_space);
my $addsize = $space_needed+10;
my $sizeattr = "-a size=+$addsize" . "M";
my $chcmd = "/usr/sbin/chfs $sizeattr $FSname";
}




3.         将 NIM 客户端添加到 NIM 资源中
需要将 NIM 客户端的特性定义添加到 NIM 资源中,比如可以用命令 lsnim -l nim_client1 来验证 nim_client1 资源已经被正确添加。
清单 6. 验证 nim 资源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
bash-3.2# lsnim -l nim_client1
nim_client1:
  class          = machines
  type           = standalone
  connect        = shell
  platform       = chrp
  netboot_kernel  = 64
  if1            = master_net nim_client1 4adc03d00000 ent
  cable_type1    = N/A
  Cstate         = ready for a NIM operation
  prev_state      = not running
  Mstate         = currently running
  cpuid          = 00C115E44C00
  Cstate_result    = success




在脚本中可以用如下两条命令来添加客户端或者对客户端操作:
1
2
nim -F -o change $nim_args hostname1
$cmd = "nim -o define $nim_type $nim_args hostname1




4.         分配 NIM 资源给 NIM 客户端
在确认 NIM 客户端资源已经被正确添加后即可以通过 NIM 分配相应的资源给 NIM 客户端。
运行
1
2
3
/usr/sbin/nim -o bos_inst -a accept_licenses="yes" -a source="rte"
-a lpp_source="61F_lpp_source" -a bosinst_data="61F_bosinst_data"
-a boot_client="no" -a spot="61F_spot" -a script=aixscript  nim_client1




重启 NIM client 上的 inetd。
然后可以通过 lsnim – l nim_client1 来测试 NIM 资源是否已经分配成功:
清单 7. 验证 nim 资源是否分配成功
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
bash-3.2# lsnim -l nim_client1
HE_node001:
  class          = machines
  type           = standalone
  connect        = shell
  platform       = chrp
  netboot_kernel  = 64
  if1            = master_net nim_client1 4adc03d60000 ent
  cable_type1    = N/A
  Cstate         = BOS installation has been enabled
  prev_state     = ready for a NIM operation
  Mstate         = currently running
  boot           = boot
  bosinst_data   = 61F_bosinst_data
  lpp_source     = 61F_lpp_source
  nim_script     = nim_script
  script         = aixscript
  spot           = 61F_spot
  cpuid          = 00C115E44C00
  control        = master




5.          NIM 客户端安装
如果想通过 NIM 安装,只需要将 NIM 客户端设置成从网络启动即可。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0