SUMMARY: Upgrading Solaris (Solaris 9 09/04 -> 9 09/05) without de-encapsulating rootdisk.

From: <void05_at_cojot.name>
Date: Fri Nov 10 2006 - 10:51:23 EST
Hello everyone,

Simply put: it works. :) The system remained encapsulated and it booted 
with an encapsulated rootdisk right after the upgrade. Please let me warn 
you -NOT- to try this if your source Solaris version is different from 
your target Solaris version (It was a 5.9 to 5.9 upgrade in our setup).

Here's how we did it:

- Make sure to vxmksdpart all of the needed slices (rootvol, swapvol, var) 
on both rootdisk and rootmirror.

- Dis-associate the rootmirror plexes (vxplex dis)

- Remove EMC PowerPath, reboot. Remove the SAN Foundation Kit (Pkgs + 
patches, what a pain..), reboot.

- Reduce vfstab to a bare minimum (rootvol,var,swapvol) and reboot, verify 
that your system is booting fine.

- Edit /etc/vfstab and revert to /dev/{dsk,rdsk} (see /etc/vfstab.prevm).
(that's the hack). Halt the system, do -NOT- attempt to boot from your 
rootdisk.

- Start a Solaris OE installation from the network/CD and pick 'Upgrade' 
instead of 'Initial'. Choose not to auto-reboot, inspect the files moved 
by the installation scripts from under /a.

- Restore the original vfstab (that with VxVM) prior to rebooting and then
start a reboot procedure.

- The new OS will hopefully come up with its rootdg and rootdisk.

- Re-apply your OS patches and the SAN Foundation Kit. Reboot.

- Re-install EMC PowerPath.

Once deemed stable, the rootmirror plexes could be re-attached.

I hope this helps...

Complete HOWTO (Somewhat in a foreign language) is attached.
**** Pour les SC:
1) Verifier les parametres de boot du domaine
(showobparams)
setobpparams -d E auto-boot\?=false

2) Verifier /etc/hosts, /etc/bootparams, /etc/ethers, jumpstart fonctionnel
et la presence des 2CD 1of2 et 2of2 dans
/export/install/sol_9_0905_sparc_G5R2.

**** Pour les domaines:
1) mount 10.XXX.YYY.ZZZ:/export/share/data /mnt

2) Verifier les erreurs sur les disques de boot:
iostat -En |awk '/^c[10]t0/,/^Ill/'

3) Preparer les livrables logiciels:
umask 022
mount 10.XXX.YYY.ZZZ:/export/share/data /mnt
mkdir /var/DATAPP_OP_SOL90905
/mnt/bin/rsync -av --bwlimit=256 \
/mnt/install/Solaris/Sparc/Veritas-Storage-Foundation-4.1.0 \
/mnt/install/Solaris/Sparc/Veritas-Storage-Foundation-4.1.1 \
/mnt/install/SAN/EMC/PP/EMCPP.SOLARIS.4.4.0 \
/mnt/install/Solaris/Sparc/SUN-StorEdge-SAN-4.4.11 \
/var/DATAPP_OP_SOL90905
/mnt/bin/rsync -av --bwlimit=256 /mnt/DATAPP/ /var/DATAPP_OP_SOL90905
chmod 755 /var/DATAPP_OP_SOL90905/*.sh
chmod -R a+Xr /var/DATAPP_OP_SOL90905



4) Preparer l'EIS-CD (Upgrader l'Explorer)

cd /mnt/install/Solaris/Sparc/EIS-3.0.5_25-04-06/sun/install
./setup-standard.sh
. /root/.profile-EIS
cd /mnt/install/Solaris/Sparc/EIS-3.0.5_25-04-06/sun/patch/SF15K/9
unpack-patches /var/DATAPP_OP_SOL90905/SF15K
cd /mnt/install/Solaris/Sparc/EIS-3.0.5_25-04-06/sun/patch/9
unpack-patches /var/DATAPP_OP_SOL90905

5) Decompresser les livrables logiciels
cd /var/DATAPP_OP_SOL90905
mkdir sf && (cd sf;gzip -dc ../Veritas-Storage-Foundation-4.1.0/sf_ha.cd1.4.1.00.0.sol.tar.gz|tar xf -)
mkdir mp1 && (cd mp1;gzip -dc ../Veritas-Storage-Foundation-4.1.1/sf_ha.4.1.01.0.sol.tar_280360.gz|tar xf -)
tar xf EMCPP.SOLARIS.4.4.0/EMCPower.SOLARIS.4.4.0.tar
gzip -dc SUN-StorEdge-SAN-4.4.11/SAN_4.4.11_install_it.tar.gz|tar xf -

6) Prendre un explo du systeme:
/opt/SUNWexplo/bin/explorer

**** JUSTE AVANT UPGRADE:
6) Executer script Phase1_Upgrade.sh
/var/DATAPP_OP_SOL90905/Phase1_Upgrade.sh

7) Effectuer premier reboot




*** DEBUT DE L'UPRADE.

*** Sur les domaines:

1) Executer script Phase2_Upgrade.sh
/var/DATAPP_OP_SOL90905/Phase2_uninstall_EMCpower.sh
reboot...

2) Upgrade VxVM 3.5 vers 4.1MP1
umask 022
/var/DATAPP_OP_SOL90905/Phase3_VxVM_Upgrade.sh

3) Boot sur le reseau pour upgrade interactif
/var/DATAPP_OP_SOL90905/Phase4_Upgrade_Solaris_OE.sh
(puis "boot net" a la console)

4) Installation de Solaris.
Entrer dans install interactive.
Choose "IPV6" 'no'
Choose "Default Route" 'none'
Choose "Kerberos Security" 'no'
Choose "Name Service" 'none'
Choose "System part of a Subnet" 'yes', accepter la valeur par defaut.
Choose "Time Zone" Europe/France
Choose F2 'Upgrade'
Choose 'c0t0d0'
Choose F4 'Analyze'
Choose pas de 'Customize'

A la fin de l'Upgrade, analyser les fichiers suivants:
grep '~9' /a/var/sadm/system/data/upgrade_cleanup
grep vx /a/etc/system
/a/etc/vfstab
/a/etc/name_to_major

mv /a/etc/motd~9 /a/etc/motd
cp /a/etc/vfstab.DATAPP_OP_SOL90905-minivm /a/etc/vfstab
sync
umount /a/var
umount /a
sync
reboot
Pointer si necessaire a 192.168.1.1:/export/install/sol9lang

5) Patches EIS
umask 022
chmod -R a+Xr /var/DATAPP_OP_SOL90905
/var/DATAPP_OP_SOL90905/Phase5_Install_EIS.sh
reboot...

6) Install PowerPath
/var/DATAPP_OP_SOL90905/Phase6_Install_EmcPower.sh
reboot...

7) Finalisation PowerPath
/var/DATAPP_OP_SOL90905/Phase7_Finish_EMCpower.sh
reboot...

8) Reboot avec disques
/var/DATAPP_OP_SOL90905/Phase8_powervxvm.sh
reboot...

9) Re-mise en place profile, inittab et vfstab.
/var/DATAPP_OP_SOL90905/Phase8_zzzfinish_upgrade.sh
reboot...

10) Re-attach des plexes si migration successful.
/var/DATAPP_OP_SOL90905/Phase9_attach_plexes.sh
reboot...

*** FILE: /export/share/data/DATAPP/Phase1_Upgrade.sh
#!/bin/bash -x

SUFFIX=DATAPP_OP_SOL90905
DIST=/var/DATAPP_OP_SOL90905
ILOG=${DIST}/`basename ${0}.DONE`

umask 022
export PATH=/sbin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/lib/vxvm/bin:/opt/VRTS/bin

FILE=/etc/default/login
echo "*** Edition ${FILE} pour root login sur console"
if [ ! -f ${FILE}.${SUFFIX} ]; then
   echo "Copie de ${FILE} vers ${FILE}.${SUFFIX}"
   cp -p  ${FILE} ${FILE}.${SUFFIX}
fi
perl -pi -e 's/^CONSOLE/#CONSOLE/' /etc/default/login

FILE=/etc/inittab
echo "*** Edition ${FILE} pour runlevel 2"
if [ ! -f ${FILE}.${SUFFIX} ]; then
   echo "Copie de ${FILE} vers ${FILE}.${SUFFIX}"
   cp -p  ${FILE} ${FILE}.${SUFFIX}
   perl -pi -e 's/^is:3:initdefault:/is:2:initdefault:/' /etc/inittab
fi


FILE=/etc/ssh/sshd_config
echo "*** Edition ${FILE} pour auth root"
if [ ! -f ${FILE}.${SUFFIX} ]; then
   echo "Copie de ${FILE} vers ${FILE}.${SUFFIX}"
   cp -p  ${FILE} ${FILE}.${SUFFIX}
   perl -pi -e 's/^PermitRootLogin no/PermitRootLogin yes/' /etc/ssh/sshd_config
fi

FILE=/etc/vx/vxdmp.exclude
echo "*** Edition ${FILE} pour desactivation VxDMP"
if [ ! -f ${FILE}.${SUFFIX} -a -f ${FILE} ]; then
   echo "Copie de ${FILE} vers ${FILE}.${SUFFIX}"
   cp -p  ${FILE} ${FILE}.${SUFFIX}
fi
cat > ${FILE} <<EOF
exclude_all 1
paths
#
controllers
#
product
#
pathgroups
#
EOF

FILE=/etc/vx/vxvm.exclude
echo "*** Edition ${FILE} pour desactivation disques SAN par chemins natifs"
if [ ! -f ${FILE}.${SUFFIX} -a -f ${FILE} ]; then
   echo "Copie de ${FILE} vers ${FILE}.${SUFFIX}"
   cp -p  ${FILE} ${FILE}.${SUFFIX}
fi
cat > ${FILE} << EOF
exclude_all 0
paths
#
controllers
EOF
ls -l /dev/cfg/c*| grep qlc| awk '{ print $9,$11}'| \
sed -e 's#/dev/cfg/##' -e 's#../../devices##' >> /etc/vx/vxvm.exclude
cat >> /etc/vx/vxvm.exclude << EOF
#
product
#
pathgroups
#
EOF

FILE=/etc/vx/vxddl.exclude
echo "*** Edition ${FILE} pour desactivation libvxemc.so"
if [ ! -f ${FILE}.${SUFFIX} -a -f ${FILE} ]; then
   echo "Copie de ${FILE} vers ${FILE}.${SUFFIX}"
   cp -p  ${FILE} ${FILE}.${SUFFIX}
fi
cat > ${FILE} << EOF
exclude_all 0
libnames
libvxemc.so
#
product
#
EOF
# WORKAROUND temporaire pour eviter probleme en VxVM 3.5 MP2.
mv /etc/vx/vxddl.exclude /etc/vx/vxddl.exclude.new

FILE=/etc/vfstab
echo "*** Edition ${FILE} pour desactivation dg SAN"
if [ ! -f ${FILE}.${SUFFIX} -a -f ${FILE} ]; then
   echo "Copie de ${FILE} vers ${FILE}.${SUFFIX}"
   cp -p  ${FILE} ${FILE}.${SUFFIX}
fi
egrep -v '(savesys|dsk/vg_p49|dsk/vg_49|\<nfs\>|dsk/vg_infra)' ${FILE}.${SUFFIX} | \
egrep '(^#|rootvol|swapvol|var|fd|proc|tmp)' > ${FILE}

echo "*** Execution des vxmksdpart....(rootdisk)"
/etc/vx/bin/vxmksdpart -g rootdg rootdisk-01 0 0x02 0x00    # Root
/etc/vx/bin/vxmksdpart -g rootdg rootdisk-02 1 0x03 0x01    #<=== swap
/etc/vx/bin/vxmksdpart -g rootdg rootdisk-03 5 0x07 0x00    #<=== /var

echo "*** Execution des vxmksdpart....(rootmirror)"
/etc/vx/bin/vxmksdpart -g rootdg rootmirror-01 0 0x02 0x00    # Root
/etc/vx/bin/vxmksdpart -g rootdg rootmirror-02 1 0x03 0x01    #<=== swap
/etc/vx/bin/vxmksdpart -g rootdg rootmirror-03 5 0x07 0x00    #<=== /var


touch ${ILOG}
*** FILE: /export/share/data/DATAPP/Phase2_uninstall_EMCpower.sh
#!/bin/bash -x

SUFFIX=DATAPP_OP_SOL90905
DIST=/var/DATAPP_OP_SOL90905
ILOG=${DIST}/`basename ${0}.DONE`

umask 022
export PATH=/sbin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/lib/vxvm/bin:/opt/VRTS/bin

echo "*** Dis-association des plexes"
/usr/sbin/vxplex -g rootdg dis rootvol-02 swapvol-02 var-02

echo "*** Desinstallation de PowerPath"
/usr/sbin/pkgrm EMCpower && chmod +r /etc/powermt.custom.saved

echo "*** Effecuez un reboot!"
echo "*** Utilisez '/sbin/init 6'"

touch ${ILOG}
*** FILE: /export/share/data/DATAPP/Phase3_VxVM_Upgrade.sh
#!/bin/bash -x

SUFFIX=DATAPP_OP_SOL90905
DIST=/var/DATAPP_OP_SOL90905
ILOG=${DIST}/`basename ${0}.DONE`

umask 022
export PATH=/sbin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/lib/vxvm/bin:/opt/VRTS/bin

echo "*** Upgrade vers VxVM 4.1"

echo "*** Install clef DEMO..."
/sbin/vxlicinst -k I8CU-6YR6-PR6N-PP4O-UN4O-4KTP-PJ8O-P

echo "*** deport vg_infra..."
vxdg deport vg_infra

echo "*** Nettoyage Livrables..."
rm \
/var/DATAPP_OP_SOL90905/Veritas-Storage-Foundation-4.1.0/sf_ha.cd1.4.1.00.0.sol.tar.gz \
/var/DATAPP_OP_SOL90905/Veritas-Storage-Foundation-4.1.0/sf_ha.cd2.4.1.00.0.sol.tar.gz \
/var/DATAPP_OP_SOL90905/Veritas-Storage-Foundation-4.1.0/sf_ha.cd3.4.1.00.0.sol.tar.gz \
/var/DATAPP_OP_SOL90905/Veritas-Storage-Foundation-4.1.1/sf_ha.4.1.01.0.sol.tar_280360.gz

echo "*** Demarrage Upgrade..."
cd /var/DATAPP_OP_SOL90905/sf/storage_foundation/scripts
./upgrade_start -check
cd ..
./installsf `uname -n`

echo "*** Upgrade vers VxVM 4.1 MP1"
cd /var/DATAPP_OP_SOL90905/mp1
./install_vp `uname -n`

echo "*** Nettoyage des licences DEMO"
rm /etc/vx/licenses/lic/32EU-39ZS-NNZ8-ZXD3-6PPN-B38O-ZPP.vxlic
rm /etc/vx/licenses/lic/8GEU-6ILW-8PBV-TROP-PPPP-D63P-6UP8-XO6P-P.vxlic
rm /etc/vx/licenses/lic/I8CE-BPMB-ZPBV-WROP-P34K-NB4O-4LUP-P.vxlic
rm /etc/vx/licenses/lic/N4EU-PW4X-NNZ8-6XCP-PPNN-BPPP-PP.vxlic

touch ${ILOG}
*** FILE: /export/share/data/DATAPP/Phase4_Upgrade_Solaris_OE.sh
#!/bin/bash -x


SUFFIX=DATAPP_OP_SOL90905
DIST=/var/DATAPP_OP_SOL90905
ILOG=${DIST}/`basename ${0}.DONE`

umask 022
export PATH=/sbin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/lib/vxvm/bin:/opt/VRTS/bin

echo "*** Modification du /etc/vfstab sur rootdisk (c0t0d0)"

if [ ! -f /etc/vfstab.${SUFFIX}-minivm ]; then
 	cp -p /etc/vfstab /etc/vfstab.${SUFFIX}-minivm
fi
if [ -f /etc/vfstab.prevm ]; then
 	grep -v /crash /etc/vfstab.prevm > /etc/vfstab
else
 	echo "*** ATTENTION, /etc/vfstab.prevm, n'existe pas!!!"; exit 1
fi




echo "*** Desinstallation du SFK ***"
PATCH_LIST="119914 114878 114478 114477 114476 113044 113043 113042 113041 113040 113039 111847"
cd /var/sadm/patch
for a in 1 2 3
do
 	for p in $PATCH_LIST
 	do
 		RM_LIST=`echo ${p}*|xargs -n1|sort -r`
 		for i in $RM_LIST
 		do
 			echo "*** Patchrm du patch $i..."
 			patchrm $i
 		done
 	done
done

echo "*** PROCEDEZ A L'UPGRADE OS!!!! ****"
touch ${ILOG}

*** FILE: /export/share/data/DATAPP/Phase5_Install_EIS.sh
#!/bin/bash -x

SUFFIX=DATAPP_OP_SOL90905
DIST=/var/DATAPP_OP_SOL90905
ILOG=${DIST}/`basename ${0}.DONE`

umask 022
export PATH=/sbin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/lib/vxvm/bin:/opt/VRTS/bin

echo "*** Installation des patches EIS (SF15K) ***"
cd /var/DATAPP_OP_SOL90905/SF15K/9; ./install_patches

echo "*** Installation des patches EIS ***"
cd /var/DATAPP_OP_SOL90905/9; ./install_all_patches

echo "*** Installation du SFK 4.4.11 ***"
cd /var/DATAPP_OP_SOL90905/SAN_4.4.11_install_it
./install_it

echo "*** Effecuez un reboot!"
echo "*** Utilisez '/sbin/init 6'"

touch ${ILOG}
*** FILE: /export/share/data/DATAPP/Phase6_Install_EmcPower.sh
#!/bin/bash -x

SUFFIX=DATAPP_OP_SOL90905
DIST=/var/DATAPP_OP_SOL90905
ILOG=${DIST}/`basename ${0}.DONE`

umask 022
export PATH=/sbin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/lib/vxvm/bin:/opt/VRTS/bin

echo "*** Re-installation de PowerPath"
/usr/sbin/pkgadd -d /var/DATAPP_OP_SOL90905 EMCpower

echo "*** Effecuez un reboot!"
echo "*** Utilisez '/sbin/init 6'"

touch ${ILOG}
*** FILE: /export/share/data/DATAPP/Phase7_Finish_EMCpower.sh
#!/bin/bash -x

SUFFIX=DATAPP_OP_SOL90905
DIST=/var/DATAPP_OP_SOL90905
ILOG=${DIST}/`basename ${0}.DONE`

umask 022
export PATH=/sbin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/lib/vxvm/bin:/opt/VRTS/bin:/etc

if [ -x /opt/EMCpower/scripts/emcpv_setup.sh ]; then
  . /opt/EMCpower/scripts/emcpv_setup.sh
fi


echo "*** Configuration de PowerPath"
powermt display
powermt set policy=so dev=all
powercf -q
powermt config
powermt save
sync; sync ;sync

echo "*** Effecuez un reboot!"
echo "*** Utilisez '/sbin/init 6'"

touch ${ILOG}
*** FILE: /export/share/data/DATAPP/Phase8_powervxvm.sh
#!/bin/bash -x

SUFFIX=DATAPP_OP_SOL90905
DIST=/var/DATAPP_OP_SOL90905
ILOG=${DIST}/`basename ${0}.DONE`

umask 022
export PATH=/sbin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/lib/vxvm/bin:/opt/VRTS/bin:/etc

echo "*** Re-creation des devices VxVM"
if [ -f /etc/vx/vxddl.exclude.new ]; then
 	if [ ! -f /etc/vx/vxddl.exclude ]; then
 		mv /etc/vx/vxddl.exclude.new /etc/vx/vxddl.exclude
 	else
 		echo "ATTENTION: /etc/vx/vxddl.exclude existe!"
 		cat /etc/vx/vxddl.exclude
 	fi
fi
powervxvm define
powervxvm online

vxdctl enable
vxdisk -o alldgs list

echo "*** Effecuez un reboot!"
echo "*** Utilisez '/sbin/init 6'"

touch ${ILOG}
*** FILE: /export/share/data/DATAPP/Phase8_zzzfinish_upgrade.sh
#!/bin/bash -x

SUFFIX=DATAPP_OP_SOL90905
DIST=/var/DATAPP_OP_SOL90905
ILOG=${DIST}/`basename ${0}.DONE`

umask 022
export PATH=/sbin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/lib/vxvm/bin:/opt/VRTS/bin

echo "*** Importation de vg_infra..."
vxdg import vg_infra
vxvol -g vg_infra startall

echo "*** Re-mise en place du /etc/vfstab Original"
cp /etc/vfstab.${SUFFIX} /etc/vfstab
for mylv in swapvol rootvol var crash extraswap lv_ecc lv_emcgrab lv_nbk45 \
 	lv_nbklog lv_se lv_slice7 lv_system lv_users 
do
 	perl -pi -e "s#dsk/${mylv}#dsk/bootdg/${mylv}#g" /etc/vfstab
done
for myswap in extraswap ultraswap
do
 	perl -pi -e "s#dsk/rootdg/${myswap}#dsk/bootdg/${myswap}#g" /etc/vfstab
done

echo "*** Edition du /etc/inittab pour runlevel 3"
perl -pi -e 's/^is:2:initdefault:/is:3:initdefault:/' /etc/inittab
diff /etc/inittab.${SUFFIX} /etc/inittab

echo "*** Execution de /opt/SUNWsan/bin/san_recover"
/opt/SUNWsan/bin/san_recover

echo "*** Edition du /etc/auto_master"
perl -pi -e 's/^/#/g' /etc/auto_master
perl -pi -e 's/##/#/g' /etc/auto_master

echo "*** Edition du /etc/profile pour Upgrade EmcPower..."
perl -pi -e 's#/opt/EMCpower/scripts/emcpv_setup.sh#/opt/EMCpower/scripts/emcp_setup.sh#' /etc/profile

echo "*** Edition du /opt/SUNWsan/etc/san_os suite upgrade OS..."
perl -pi -e 's#Solaris 9 4/04 s9s_u6wos_08a SPARC#Solaris 9 9/05 s9s_u8wos_05 SPARC#' \
/opt/SUNWsan/etc/san_os


echo "*** Effecuez un reboot!"
echo "*** Utilisez '/sbin/init 6'"

touch ${ILOG}
*** FILE: /export/share/data/DATAPP/Phase9_attach_plexes.sh
#!/bin/bash -x

SUFFIX=DATAPP_OP_SOL90905
DIST=/var/DATAPP_OP_SOL90905
ILOG=${DIST}/`basename ${0}.DONE`

umask 022
export PATH=/sbin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/lib/vxvm/bin:/opt/VRTS/bin

echo "*** Re-association des plexes"
/usr/sbin/vxplex -g rootdg att rootvol rootvol-02
/usr/sbin/vxplex -g rootdg att swapvol swapvol-02
/usr/sbin/vxplex -g rootdg att var var-02



echo "*** Effecuez un reboot!"
echo "*** Utilisez '/sbin/init 6'"

touch ${ILOG}
_______________________________________________
sunmanagers mailing list
sunmanagers@sunmanagers.org
http://www.sunmanagers.org/mailman/listinfo/sunmanagers
Received on Fri Nov 10 10:52:26 2006

This archive was generated by hypermail 2.1.8 : Thu Mar 03 2016 - 06:44:02 EST