客户环境有二十几台p770/570/560/8204-E8A 等IBM小机及几台HMC,小机都是运行的VIOS虚拟化IO服务器系统,有三四百个分区, 每天有很多分区的创建和删除,经常需要统计分区的:lpar_name、lpar_id 、cpu 、memory、oslevel、vscsi、vlan id、IP、lun\lun size、lun属于哪台存储等等信息, 可想而知多么悲剧, 刚开始一个一个profile点,一个一个分区登录进去看,往往加班加点一两个礼拜才能统计完三四百个分区的配置情况,两个礼拜后可能又要统计更新这些信息。 后来实在忍无可忍了就惦记着写脚本,经过一番折腾终于写了个能用的脚本。
脚本运行原理: 建立一个lpar 客户端分区,使用ssh与HMC及VIOS分区建立SSH信任关系,通过SSH在HMC及VIOS上捞需要的数据,
脚本运行前期工作:
1: 运行脚本主机必须安装ssh客户端
lslpp -l |grep open
2: 运行脚本主机必须与HMC建立SSH信任关系
在HMC上开启允许远程执行命令开关
在主机上
root@testlearn#ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (//.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in //.ssh/id_rsa.
Your public key has been saved in //.ssh/id_rsa.pub.
The key fingerprint is:
49:eb:6f:5c:91:d2:1b:b4:28:77:8b:eb:ef:52:8c:f0 root@testlearn
The key's randomart image is:
root@testlearn#feelkey=`cat id_rsa.pub`
root@testlearn#ssh hscroot@hmc230 mkauthkeys -a \"$feelkey\" #hmc230已经写入了/etc/hosts文件
Password:
root@testlearn#ssh hscroot@hmc230 ls -l #搞定
drwxr-xr-x 4 root root 4096 2012-09-27 10:49 tmp
3:运行脚本主机必须必须与VIOS分区的root用户建立ssh信任关系,hmcadmin用户也可以
root@testlearn#touch authorized_keys
root@testlearn#cat id_rsa.pub >authorized_keys
root@testlearn#chmod 600 authorized_keys
VIOS分区:
# mkdir /.ssh
# cd /.ssh
#ssh-keygen -t rsa
#cat id_rsa.pub >authorized_keys.
#chmod 600 authorized_keys
#cat id_rsa.pub >authorized_keys
#scp authorized_keys xxx.xxx.xxx.xxx:/.ssh/authorized_keys_2
client分区
root@testlearn#cat authorized_keys_2 >> authorized_keys
root@testlearn#scp authorized_keys xxx.xxx.xxx.xxx:/.ssh/authorized_keys
运行脚本的时候只要输入你的HMC地址,VIOS IP会自动从HMC获取的到, 不想写固定的HMC IP在脚本内,万一将来还有VIOS环境这个脚本能拿来就用
infocollectv2.txt