最近在安装包含chess3的网络无盘启动包。发现手动要调整的太多,还是使用xcat更方便一点。
我们可以发现,在xcat的网络无盘启动中,其实是把/install/netboot/os/arch/compute/rootimg下的东西打了个包,通过查看genimage中产生的信息,我们也可以发现是通过yum --installroot=/install/netboot/os/arch/compute/rootimg将对应的包装到这个目录下的。随后再通过packimage打包。
那这样子事情就比较简单的了,通过更改rootimg下的对应文件就能够把更改做到无盘启动的文件包里。对于编译安装的软件直接复制更改对应就可以了。
对于rpm包,有两种办法安装,对于Redhat等本身dvd中已经有的包需要额外安装,可以更改/opt/xcat/share/netboot/rh/compute.pkglist,添加对应的包,如
cat /opt/xcat/share/netboot/rh/compute.pkglist
bash nfs-utils openssl dhclient kernel openssh-server openssh-clients busybox-anaconda wget vim-minimal
更改为
cat /opt/xcat/share/netboot/rh/compute.pkglist bash nfs-utils openssl dhclient kernel openssh-server openssh-clients busybox-anaconda wget vim-minimal ntp sysklogd rpm rsync apr dosfstools mtools parted mkisofs cdrecord syslinux newt
第二种办法是对应于rhel官方dvd中没有的包,建立/install/post/otherpkgs/rhel5.7/x86_64目录(默认此目录不存在),将所需要安装的rpm包复制进去,然后用createrepo增加对应的repo,如果没有createrepo这个命令可以通过yum install createrepo,如
mkdir -p /install/post/otherpkgs/rhel5.7/x86_64
cp ~/client/*.rpm /install/post/otherpkgs/rhel5.7/x86_64/
yum install createrepo
createrepo /install/post/otherpkgs/rhel5.7/x86_64
创建好repo以后,需要在/opt/xcat/share/xcat/netboot/rh/compute.otherpkgs.pkglist中添加需要安装的包。
cat /opt/xcat/share/xcat/netboot/rh/compute.otherpkgs.pkglist authd buffer chess-configurer clusterit ganglia-gmond ganglia-gmond-modules-python gexec libconfuse libganglia mindi mindi-busybox mondo mpiexec-torque torque torque-client wol
最后,设置pbs客户端的hosts,mom_priv的config及server_name,pbs服务器端的server_priv,nodes等参数,用genimage安装和packimage打包以后,远程机器网络启动即可
注:很多服务依赖于系统时间的统一,所以ntp最好统一
通过chdef -p -t group -o compute postscripts=setupntp将ntp调校加入系统完成后的脚本设置中。可以用tabdump postscripts确认
相关阅读:http://www.cnblogs.com/sickboy/archive/2012/04/09/2439300.html