====== Update VIOS standard configuration ======
https://www.ibm.com/support/pages/how-setup-sea-failover-load-sharing-configuration
===== Change the prompt of the VIOS =====
Create a new file, in the padmin 's home directory:
[root@vios1]/home/padmin# cat .profile_vios
## Add this variable to .profile
# echo "export ENV=/home/padmin/.profile_vios" >> /home/padmin/.profile
export EXTENDED_HISTORY=ON
export EDITOR=/usr/bin/vi
export HOST="$(/usr/bin/uname -n)"
export PATH=$PATH:/usr/ios/cli
alias aix="ioscli oem_setup_env"
alias history='fc -t'
alias ll='ls -la'
if [ "$(whoami)" != "root" ]; then
export PS1="[$(whoami)@$(/usr/bin/hostname)]\$PWD$ "
else
export PS1="[$(whoami)@$(/usr/bin/hostname)]\$PWD# "
fi
set -o vi
# If real TTY then allows BACKSPACE
if [ $(/usr/bin/tty | awk '{print $1}' | grep -q '/dev/' ; echo $?) -eq 0 ]
then
/usr/bin/stty erase ^?
fi
pcmpathq ()
{
pcmpath query device | egrep "SERIAL|DEVICE" | sed '/DEV/{x;p;x;}' | sed 's/DEV#://g' | sed 's/DEVICE NAME://g' | awk '{print $2}' | sed '/^$/d' | while read word
do
if [ $(echo $word | grep hdisk > /dev/null 2>&1;echo $?) -eq 0 ]
then
hd=$word
else
echo $hd";\c"
echo $word
fi
done
}
Add the following lines to .profile from padmin user:
[root@vios1]/home/padmin# cat .profile
....At the end
export ENV=/home/padmin/.profile_vios
Add the following lines to /etc/profile:
[root@vios1]/home/padmin# cat /etc/profile
....
HOSTNAME=$(/usr/bin/hostname)
PS1="[\$LOGNAME@\$HOSTNAME]\$PWD# "
export PS1
EDITOR=/usr/bin/vi
export EDITOR
export EXTENDED_HISTORY=ON
alias ll='ls -lsa'
export ENV=/home/padmin/.profile_vios
trap 1 2 3
===== VIOS backup =====
* script to create an mksysb
Create a filesystem /mksysb
Create a scripts directory, for example /home/scripts with a bin and log directory into.
Change the owner: chown -R padmin /mksysb /home/scripts
Create a con job as padmin user (5 * * * 0 /home/scripts/bin/mksysb.sh > /dev/null 2>&1)
Create the script mksysb.sh and make it executable
#!/bin/ksh
#====================================================================
#@(#) Create an mksysb for a VIOS on a local filesystem
# Please add into the file /etc/exclude.rootvg the /mksysb/
# and create a specific filesystem /mksysb
export PATH=$PATH:/usr/bin # needed for user padmin
sn=$(basename $0 | cut -d. -f1)
logpath=/home/scripts/log
logname=$logpath/$sn.log
errname=$logpath/$sn.err
mksysbpath=/mksysb
mksysbfile="$mksysbpath/$(hostname).mksysb"
dest="test@yahoo.com"
main () {
date "+%d-%m-%Y %H:%M"
/usr/ios/cli/ioscli backupios -file $mksysbfile -mksysb -nomedialib 1> $logname 2> $errname
if (( $? != 0 ))
then
mailx -s "backupios in error on host $(hostname)" "$dest" < $errname
fi
}
echo `date`" : Begin of "$sn" "$(hostname)"\n" > $logname
main > $logname 2>&1
echo "\n"`date`" : End of "$sn" "$(hostname) >> $logname
* Save the VIOS map (command : viosbr)
# viosbr -backup -file $(hostname -s) -frequency weekly -numfiles 2
As padmin user user the viosbr that put an entry into root crontab to save the VIOS maps, network config... very usefull. A file will be generate into /home/padmin/cfgbackups/
==== Device tuning ====
To apply IBM best practice on a VIOS, use:
[padmin@vios1]/home/padmin$ rules -o list
[padmin@vios1]/home/padmin$ rulescfgset
To disable this notification at login on VIOS:
chdev –l viosrules0 –a motd=no
A new command : rules, has appear in latest VIOS versions (>2.4), you can use it to check the recommended values for each device parameter, and **apply best values**:
[padmin@vios1]/home/padmin$ rules -o diff -s -d
devParam.adapter.vdevice.IBM,l-lan:min_buf_tiny device=adapter/vdevice/IBM,l-lan 512 | 4096
devParam.adapter.vdevice.IBM,l-lan:max_buf_small device=adapter/vdevice/IBM,l-lan 2048 | 4096
devParam.adapter.vdevice.IBM,l-lan:min_buf_small device=adapter/vdevice/IBM,l-lan 512 | 4096
FORCE apply
[padmin@vios1]/home/padmin$ rules -o deploy -d
Default rules are stored into :
/usr/ios/cfg/emc_clar_rules.xml
/usr/ios/cfg/emc_invista_rules.xml
/usr/ios/cfg/emc_mclar_rules.xml
/usr/ios/cfg/emc_minvista_rules.xml
/usr/ios/cfg/emc_msymm_rules.xml
/usr/ios/cfg/emc_power_rules.xml
/usr/ios/cfg/emc_symm_rules.xml
/usr/ios/cfg/vios_default_rules.xml
Other scripts:
/root/scripts/change_devices_param.sh -f
/root/scripts/customize_aix.sh -f
/root/scripts/check_security.sh
Other settings to change:
chdev -l fcs0 -a max_npivs=255 -P
==== RPM packages ====
Firtst install yum, and add the following packages:
# yum -y install bash lsof coreutils logrotate sed
Rebuild RPM database
# updtvpkg
===== Remove unused packages =====
Useful for latest upgrade (faster)
Remove Java7
installp -u Java7.jre Java7.sdk
installp -u Java7_64.jre Java7_64.sdk
for i in $(lslpp -Lc | grep openssh.msg. | grep -v en_US | cut -d':' -f2)
do
installp -u $i
done
for i in $(lslpp -Lc | grep "ios.cli.man." | grep -v en_US | cut -d':' -f2)
do
installp -u $i
done
for i in $(lslpp -Lc | grep "bos.msg." | grep -v en_US | cut -d':' -f2)
do
installp -u $i
done
for i in $(lslpp -Lc | grep "bos.loc.iso." | grep -v en_US | cut -d':' -f2)
do
installp -u $i
done
for i in $(lslpp -Lc | grep "bos.iconv." | grep -v en_US | egrep -v "bos.iconv.com|bos.iconv.iso|bos.iconv.ucs.com|bos.iconv.ucs.pc" | grep -v en_US | cut -d':' -f2)
do
installp -u $i
done
for i in $(lslpp -Lc | grep "bos.loc.com." | grep -v en_US | egrep -v "bos.loc.com.utf" | cut -d':' -f2)
do
installp -u $i
done