Script to gather LPAR df free

Step 1: Choose a server where you can access all your LPAR’s
Step 2: Generate a key from the chosen server and then scp same key to LPAR under /root
Step 3: Now, You can execute the below script from chosen server

Note:- In our case, We have chosen NIM server as our source server where the script to be executed
server – Should contain LPAR or server name
Name of the script: lpar_df_free.sh

echo Server Name,Filesystem,Permission,Owner,Group,Total Size,Used Size,Free Size,%Used,LV Name,VGname,VG Type,PPSize,FreePP

for lpar_df_list in `cat server`
do
for filesystem_lpar in `ssh $lpar_df_list df -gt |grep -v Filesystem |grep -v proc |grep -v ":" |awk '{print $6}'`
do
dftotal_lpar=`ssh $lpar_df_list df -gt $filesystem_lpar |grep -v Filesystem |awk '{print $2}'`
dfused_lpar=`ssh $lpar_df_list df -gt $filesystem_lpar |grep -v Filesystem |awk '{print $3}'`
dffree_lpar=`ssh $lpar_df_list df -gt $filesystem_lpar |grep -v Filesystem |awk '{print $4}'`
dfusedprecent_lpar=`ssh $lpar_df_list df -gt $filesystem_lpar |grep -v Filesystem |awk '{print $5}'`
lvname_lpar=`ssh $lpar_df_list df -gt $filesystem_lpar |grep -v Filesystem |awk '{print $1}' |awk -F "/dev/" '{print $2}'`
vgname_lpar=`ssh $lpar_df_list df -gt $filesystem_lpar |grep -v Filesystem |awk '{print $1}' |cut -c6- |while read LV; do ssh -n $lpar_df_list lslv $LV ;done |grep "VOLUME GROUP" |awk '{print $6}' |while read VG; do ssh -n $lpar_df_list lsvg $VG |grep "VOLUME GROUP" |awk '{print $3}'; done`
ppsize_lpar=`ssh $lpar_df_list df -gt $filesystem_lpar |grep -v Filesystem |awk '{print $1}' |cut -c6- |while read LV; do ssh -n $lpar_df_list lslv $LV ;done |grep "VOLUME GROUP" |awk '{print $6}' |while read VG; do ssh -n $lpar_df_list lsvg $VG |grep "PP SIZE" |awk '{print $6}'; done`
freepp_lpar=`ssh $lpar_df_list df -gt $filesystem_lpar |grep -v Filesystem |awk '{print $1}' |cut -c6- |while read LV; do ssh -n $lpar_df_list lslv $LV ;done |grep "VOLUME GROUP" |awk '{print $6}' |while read VG; do ssh -n $lpar_df_list lsvg $VG |grep "FREE PPs" |awk -F '('  '{print $2}' |awk '{print $1}'; done`
vg_disk_lpar=`ssh $lpar_df_list lsvg -p $vgname_lpar |grep -v $vgname_lpar |grep -v PV_NAME |tail -1 |awk '{print $1}'`
vg_type_lpar=`ssh $lpar_df_list readvgda $vg_disk_lpar |grep readvgda_type |awk -F":" '{print $2}'`
fs_permission_lpar=`ssh $lpar_df_list ls -ld $filesystem_lpar |awk '{print $1}'`
fs_owner_lpar=`ssh $lpar_df_list ls -ld $filesystem_lpar |awk '{print $3}'`
fs_group_lpar=`ssh $lpar_df_list ls -ld $filesystem_lpar |awk '{print $4}'`
echo $lpar_df_list,$filesystem_lpar,$fs_permission_lpar,$fs_owner_lpar,$fs_group_lpar,$dftotal_lpar,$dfused_lpar,$dffree_lpar,$dfusedprecent_lpar,$lvname_lpar,$vgname_lpar,$vg_type_lpar,$ppsize_lpar,$freepp_lpar
done
done

 

 

Script to gather VIO df free

Step 1: Choose a server where you can access all your VIO’s
Step 2: Generate a key from the chosen server and then scp same key to VIO under /home/padmin
Step 3: Now, You can execute the below script from chosen server

Note:- In our case, We have chosen NIM server as our source server where the script to be executed
vio_server – Should contain VIO server name
Name of the script: vio_df.sh

echo Server Name,Filesystem,Permission,Owner,Group,GB blocks,Used,Free,%Used

for vio_df_list in `cat vio_server`
do
for filesystem_vio in `ssh padmin@$vio_df_list df -gt |grep -v Filesystem |grep -v proc |grep -v ":" |awk '{print $6}'`
do
dftotal_vio=`ssh padmin@$vio_df_list df -gt $filesystem_vio |grep -v Filesystem |awk '{print $2}'`
dfused_vio=`ssh padmin@$vio_df_list df -gt $filesystem_vio |grep -v Filesystem |awk '{print $3}'`
dffree_vio=`ssh padmin@$vio_df_list df -gt $filesystem_vio |grep -v Filesystem |awk '{print $4}'`
dfusedprecent_vio=`ssh padmin@$vio_df_list df -gt $filesystem_vio |grep -v Filesystem |awk '{print $5}'`
fs_permission_vio=`ssh padmin@$vio_df_list ls -ld $filesystem_vio |awk '{print $1}'`
fs_owner_vio=`ssh padmin@$vio_df_list ls -ld $filesystem_vio |awk '{print $3}'`
fs_group_vio=`ssh padmin@$vio_df_list ls -ld $filesystem_vio |awk '{print $4}'`
echo $vio_df_list,$filesystem_vio,$fs_permission_vio,$fs_owner_vio,$fs_group_vio,$dftotal_vio,$dfused_vio,$dffree_vio,$dfusedprecent_vio
done
done