Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
User Journal

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 /etc/system and all the /etc/lvm files will be inconsistent with the jumpstart install's disks. Maybe some day we can make jumpstart install to SDS mirrored metadevices but not now (Sat Feb 8 19:45:39 CST 2003). Also, don't use compressed Flash Archives. The flar installer is broked and will choke on compressed flar's without warning. Also, don't waste your time trying to uncompress the compressed flar archive section (even though it's just a .cpio.Z) because the installer will still choke on the uncompressed version.

Also, don't think you're too slick and make your base-install flar from an extremely stripped-down file-inclusion list lacking say... /devices (because they get created based on the probed devicecs at install-time, right?) because the flar installer chokes if it can't sanitize the /devices tree after writing out the flar to the target disk(s).

If you're using the JASS kit, then make a dummy partition for /mnt and add a flar containing this script to your profile: (sorry, <ecode> tags chuck my indents, view source for cut&paste pleasure)

#!/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.

This discussion has been archived. No new comments can be posted.

Solaris Jumpstart -- DiskSuite root mirroring

Comments Filter:

What is research but a blind date with knowledge? -- Will Harvey

Working...