Journal aphor's Journal: Solaris Jumpstart -- DiskSuite root mirroring
Yesterday, I spent a 16 hour day at work trying to get 2 boxes to an identical install with SDS root disk mirroring. Oh the grief! Maybe I can save someone else a little pain!
First, I got a Cisco 4006 with a 10/100/1000Mbps blade. I don't care to learn IOS. I hate modeful user interfaces that don't report their defaults. Also, IOS desperately needs grep/sed/awk or damn it just throw perl on there! I digress. Someone else configured the switch for me. Let's just say Cisco and Sun ethernet speed/duplex autonegotiation is notoriously problematic. Word around the campfire is "hard-code both ends of the cable to max speed/duplex supported at both ends."
Apparently the SunFire 280R eri0 interface isn't appreciated by the Cisco until the Solaris driver takes over. The OpenBoot eeprom code just isn't good enough to get noticed. With FOUR devices/hosts on the switch, the jumpstart server never got 90% of the RARP requests for the good old 'boot net - install'. I plugged those boxes into an old DLink 10/100 hub, and the RARP/bootp/TFTP/bootp/NFS is like clockwork. If someone can furnish some IOS configs for a 4006 with a WS-X4448-GB-RJ45 GbE blade, I could appreciate that.
Next, my Flash Archives were broked. DON'T set up the metadb on the flar image master. The
Also, don't think you're too slick and make your base-install flar from an extremely stripped-down file-inclusion list lacking say...
If you're using the JASS kit, then make a dummy partition for
#!/usr/bin/zsh
prtvtoc/dev/rdsk/c1t0d0s2 | fmthard -s - /dev/rdsk/c1t1d0s2
umount/mnt
metadb -a -f/dev/dsk/c1t0d0s6
metadb -a -f/dev/dsk/c1t1d0s6
cp/etc/vfstab /etc/vfstab.orig
[ -f/etc/vfstab.SDSroot ] && rm /etc/vfstab.SDSroot
cat/etc/vfstab.orig|sort|
(
i=0
while read line
do
echo $line |read dev rdev mp fst fsck boot opt
if [ ${fst}x = swapx ] || [ ${fst}x = ufsx ] && [ ${mp}x !=/mntx ] &&
[ ${dev}x = `echo ${dev}|sed 's/#//'`x ]
then
Aslice=`echo ${dev}|sed '/\/dev\/dsk\//s///'`
Bslice=`echo ${Aslice}|sed '/c1t0/s//c1t1/'`
metainit -f d${i} 1 1 ${Aslice}
subA=d${i}
i=$(( ${i} + 1 ))
metainit -f d${i} 1 1 ${Bslice}
subB=d${i}
i=$(( ${i} + 1 ))
metainit -f d${i} -m ${subA}
mir=d${i}
echo metattach ${mir} ${subB} >>/mirrorOn.sh
i=$(( ${i} + 1 ))
[ ${fst} = ufs ] && opt=logging
echo "/dev/md/dsk/${mir}\t/dev/md/rdsk/${mir}\c" >&5
echo "\t${mp}\t${fst}\t${fsck}\t${boot}\t${opt}" >&5
else
[ ${mp}x !=/mntx ] && echo ${line} >&5
fi
done
) 5>/etc/vfstab.SDSroot
metaroot d2
cp/etc/vfstab.SDSroot /etc/vfstab && reboot
Run the script after you boot your newly installed system, let it reboot, and then run
sh
/mirrorOn.sh
. If you're really slick, you'll post a few extra lines of script to make the SDS metadb go on slice 7 in the last n=(${METADB_SIZE}/${CLUSTERSIZE}) of the disk.
Solaris Jumpstart -- DiskSuite root mirroring More Login
Solaris Jumpstart -- DiskSuite root mirroring
Slashdot Top Deals