Friday, June 17, 2011

Mirrored root disk on Solaris

1. Partition the first disk
# format c0t0d0
Use the partition tool (=> "p , p "!) to setup the slices. We assume the following slice setup afterwards:
# Tag Flag Cylinders Size Blocks
- ---------- ---- ------------- -------- --------------------
0 root wm 0 - 812 400.15MB (813/0/0) 819504
1 swap wu 813 - 1333 256.43MB (521/0/0) 525168
2 backup wm 0 - 17659 8.49GB (17660/0/0) 17801280
3 unassigned wm 1334 - 1354 10.34MB (21/0/0) 21168
4 var wm 1355 - 8522 3.45GB (7168/0/0) 7225344
5 usr wm 8523 - 14764 3.00GB (6242/0/0) 6291936
6 unassigned wm 14765 - 16845 1.00GB (2081/0/0) 2097648
7 home wm 16846 - 17659 400.15MB (813/0/0) 819504
2. Copy the partition table of the first disk to its future mirror disk
# prtvtoc /dev/rdsk/c0t0d0s2 fmthard -s - /dev/rdsk/c0t1d0s2
3. Create at least two state database replicas on each disk
# metadb -a -f -c 2 c0t0d0s3 c0t1d0s3
Check the state of all replicas with metadb:
# metadb
Notes:
A state database replica contains configuration and state information about the meta devices. Make sure that always at least 50% of the replicas are active!

4. Create the root slice mirror and its first submirror
# metainit -f d10 1 1 c0t0d0s0
# metainit -f d20 1 1 c0t1d0s0
# metainit d30 -m d10
Run metaroot to prepare /etc/vfstab and /etc/system (do this only for the root slice!):
# metaroot d30
5. Create the swap slice mirror and its first submirror
# metainit -f d11 1 1 c0t0d0s1
# metainit -f d21 1 1 c0t1d0s1
# metainit d31 -m d11
6. Create the var slice mirror and its first submirror
# metainit -f d14 1 1 c0t0d0s4
# metainit -f d24 1 1 c0t1d0s4
# metainit d34 -m d14
7. Create the usr slice mirror and its first submirror
# metainit -f d15 1 1 c0t0d0s5
# metainit -f d25 1 1 c0t1d0s5
# metainit d35 -m d15
8. Create the unassigned slice mirror and its first submirror
# metainit -f d16 1 1 c0t0d0s6
# metainit -f d26 1 1 c0t1d0s6
# metainit d36 -m d16
9. Create the home slice mirror and its first submirror
# metainit -f d17 1 1 c0t0d0s7
# metainit -f d27 1 1 c0t1d0s7
# metainit d37 -m d17
10. Edit /etc/vfstab to mount all mirrors after boot, including mirrored swap

/etc/vfstab before changes:
fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/dsk/c0t0d0s1 - - swap - no -
/dev/md/dsk/d30 /dev/md/rdsk/d30 / ufs 1 no logging
/dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /usr ufs 1 no ro,logging
/dev/dsk/c0t0d0s4 /dev/rdsk/c0t0d0s4 /var ufs 1 no nosuid,logging
/dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /home ufs 2 yes nosuid,logging
/dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 /opt ufs 2 yes nosuid,logging
swap - /tmp tmpfs - yes -
/etc/vfstab after changes:
fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/md/dsk/d31 - - swap - no -
/dev/md/dsk/d30 /dev/md/rdsk/d30 / ufs 1 no logging
/dev/md/dsk/d35 /dev/md/rdsk/d35 /usr ufs 1 no ro,logging
/dev/md/dsk/d34 /dev/md/rdsk/d34 /var ufs 1 no nosuid,logging
/dev/md/dsk/d37 /dev/md/rdsk/d37 /home ufs 2 yes nosuid,logging
/dev/md/dsk/d36 /dev/md/rdsk/d36 /opt ufs 2 yes nosuid,logging
swap - /tmp tmpfs - yes -
Notes:
The entry for the root device (/) has already been altered by the metaroot command we executed before.

11. Reboot the system
# lockfs -fa && init 6
12. Attach the second submirrors to all mirrors
# metattach d30 d20
# metattach d31 d21
# metattach d34 d24
# metattach d35 d25
# metattach d36 d26
# metattach d37 d27
Notes:
This will finally cause the data from the boot disk to be synchronized with the mirror drive.
You can use metastat to track the mirroring progress.

13. Change the crash dump device to the swap metadevice
# dumpadm -d `swap -l tail -1 awk '{print $1}'
14. Make the mirror disk bootable
# installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t1d0s0

Solaris Tips

Solaris Tips

Mostly Solaris 10

Stoping console break
edit /etc/default/kbd

and remove the KEYBOARD_ABORT=disable comment

or add the above line

then activate with kbd -i



Shuting down a zone
do not do a zoneadm -z halt - it's nasty

zlogin init 0




Starting a zone
zoneadm -z boot



Zone status
zoneadm list -cv



Adding filesystems to a zone
from the GZ
root@pbigz00 [root] # zonecfg -z
zonecfg:pbidb01> add fs
zonecfg:pbidb01:fs> set dir=/optware/oracle
zonecfg:pbidb01:fs> set special=/dev/md/dsk/d52
zonecfg:pbidb01:fs> set raw=/dev/md/rdsk/d52
zonecfg:pbidb01:fs> set type=ufs
zonecfg:pbidb01:fs> add options [nodevices,logging]
zonecfg:pbidb01:fs> end
zonecfg:pbidb01> verify
zonecfg:pbidb01> commit

/optware/oracle will be pulled into the zone
note you cannot mount the filesystem in the global zone at the sametime

Removing a filesystem from a zone
zonecfg:pbidb01> remove fs dir=/optware
Dumping a zone config to a text file
zonecfg -z pbidb01 info
zonename: pbidb01
zonepath: /export/zones/pbidb01
autoboot: true
pool:
limitpriv:
fs:
dir: /optware/oracle
special: /dev/md/dsk/d52
raw: /dev/md/rdsk/d52
type: ufs
options: [nodevices,logging]
fs:
dir: /oradata/ICPB1
special: /dev/md/dsk/d53
raw: /dev/md/rdsk/d53
type: ufs
options: [nodevices,logging]
fs:
dir: /oradata/BIEMEA
special: /dev/md/dsk/d55
raw: /dev/md/rdsk/d55
type: ufs
options: [nodevices,logging]
fs:
dir: /oradata/POEUI
special: /dev/md/dsk/d56
raw: /dev/md/rdsk/d56
type: ufs
options: [nodevices,logging]
fs:
dir: /oradata/POEUI3
special: /dev/md/dsk/d57
raw: /dev/md/rdsk/d57
type: ufs
options: [nodevices,logging]
fs:
dir: /oradata/exp
special: /dev/md/dsk/d54
raw: /dev/md/rdsk/d54
type: ufs
options: [nodevices,logging]
net:
address: 1.2.3.4
physical: eri0
device
match: /dev/tlock
rctl:
name: zone.cpu-shares
value: (priv=privileged,limit=20,action=none)
attr:
name: comment
type: string
value: "Zone pbidb01 created by mkzone"









Login into zones
ssh as normal

or is you cannot
as root :
zlogin zonename

will give you root on the zone



Console login to a zone
zlogin -C zonename



Run a command on a zone
zlogin zonename "command"



Growing a zone exported filesystem (sds)
shutdown the zone
double check the metadevice that the file system exists on on the global zone
check for space on the parent device

metastat d50

d50: Soft Partition
Device: d100
State: Okay
Size: 125829120 blocks (60 GB)
Extent Start Block Block count
0 20384 125829120

d100: Mirror
Submirror 0: d101
State: Okay
Submirror 1: d102
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 1432373760 blocks (683 GB)

now we know it's part of d100

check the unallocated space of d100

metarecover -v -n /dev/md/rdsk/d100 -p
Verifying on-disk structures on d100.
The following extent headers were found on d100.
Name Seq# Type Offset Length
d50 0 ALLOC 20383 125829121
d51 0 ALLOC 125849535 125829121
d52 0 ALLOC 251678687 41943041
d53 0 ALLOC 293621759 387973121
d54 0 ALLOC 681594911 104857601
d55 0 ALLOC 786452543 136314881
d56 0 ALLOC 922767455 272629761
d56 1 ALLOC 1363169439 68132865
d57 0 ALLOC 1195397247 167772161
NONE 0 END 1432373759 1
NONE 0 FREE 125829121 125829121
there is 125829121 blocks free space! (60gb)
now increase the metadevice
metattach d50 60g
metastat d50


d50: Soft Partition
Device: d100
State: Okay
Size: 251658242 blocks (120 GB)
Extent Start Block Block count
0 20384 125829121
1 125829121 125829121

now growfs the softpartition

growfs /dev/md/rdsk/d56
(dont panic it just looks like a newfs!)

test mount on global zone , umount and restart zone with new volume size



Metasets
Normal metacommands will function as expected but will need to be called with –s to allow for metaset use
Eg: metastat –s

Create metaset (you can have 4 hosts)

metaset –s -a h

add disks to metaset

metaset –s -a ….


At this point normal SDS commands can be used to create volumes on the metasets

Eg: metainit –s dXXX 1 1 cXtXdX cYtYdY

Failover
Failover from one node to another is done with metoffline and metaonline
On host 1
Metaoffline –s dX

On host 2
Metaonline –s dX



Dtrace stuff


Dtrace - watch new processes and print full ags
dtrace -n 'proc:::exec-success { trace(curpsinfo->pr_psargs); }'






New command options under Sol 10
prstat -Z - show zone info
df -h - show df in more human readable form



Enable Resource Pools
/usr/sbin/svcadm enable svc:/system/pools:default



Display current pool settings
poolcfg -dc info

system default
string system.comment
int system.version 1
boolean system.bind-default true

pool pool_default
int pool.sys_id 0
boolean pool.active true
boolean pool.default true
int pool.importance 1
string pool.comment
pset pset_default

pset pset_default
int pset.sys_id -1
boolean pset.default true
uint pset.min 1
uint pset.max 65536
string pset.units population
uint pset.load 93
uint pset.size 4
string pset.comment

cpu
int cpu.sys_id 1
string cpu.comment
string cpu.status on-line

cpu
int cpu.sys_id 0
string cpu.comment
string cpu.status on-line

cpu
int cpu.sys_id 3
string cpu.comment
string cpu.status on-line

cpu
int cpu.sys_id 2
string cpu.comment
string cpu.status on-line



Reset Pools to default
/usr/sbin/pooladm –x


Hack Hostid on the fly

get the target host id :

/usr/bin/adb -w -k /dev/ksyms /dev/mem

hw_serial /D
hw_serial /D+4
hw_serial /D+8

/usr/bin/adb -w -k /dev/ksyms /dev/mem << EOF hw_serial /W 32312539 hw_serial+4 /W 30355635 hw_serial+8 /W 39344400 EOF defeats flexlm ! and others ! E450 disk to slot map prtdiag -v shows this Front Status Panel: ------------------- Keyswitch position is in On mode. System LED Status: POWER GENERAL ERROR ACTIVITY [ ON] [OFF] [ ON] DISK ERROR THERMAL ERROR POWER SUPPLY ERROR [OFF] [OFF] [OFF] Disk LED Status: OK = GREEN ERROR = YELLOW DISK 18: [EMPTY] DISK 19: [EMPTY] DISK 16: [EMPTY] DISK 17: [EMPTY] DISK 14: [EMPTY] DISK 15: [EMPTY] DISK 12: [EMPTY] DISK 13: [EMPTY] DISK 10: [EMPTY] DISK 11: [EMPTY] DISK 8: [EMPTY] DISK 9: [EMPTY] DISK 6: [EMPTY] DISK 7: [EMPTY] DISK 4: [EMPTY] DISK 5: [EMPTY] DISK 2: [OK] DISK 3: [OK] DISK 0: [OK] DISK 1: [OK] But you know your have at least 12 internal disks in yout e450 !!!! Sun E450 owners manual At the ok prompt enter the following command: setenv disk-led-assoc 0 x y where:n x is an integer between 1 and 10 identifying the PCI slot number where the lower UltraSCSI controller is installed n y is an integer between 1 and 10 identifying the PCI slot number where the upper UltraSCSI controller is installed For example, if the controller cards are installed in PCI slots 5 and 7, enter the following: setenv disk-led-assoc 0 5 7 then reset system for changes to take effect Sendmail - without daemon echo "MODE=" > /etc/default/sendmail

then bounce sendmail , you wull now notice it's got to -bd in the args

now we need to alter the submit.cf , best to use the macros lest it get clobbered with a patch


perl -p -i*.bak -e 's/127.0.0.1/mailhost/g' /usr/lib/mail/cf/submit.cf
(assming mailhost is the name of your smtp server)


Compile the new submit.cf file
cd /usr/lib/mail/cf
/usr/ccs/bin/m4 ../m4/cf.m4 submit.mc > submit.cf
Copy this new submit.cf file into place
cp /usr/lib/mail/cf/submit.cf /etc/mail/submit.cf


Remember every time you apply a sendmail patch on this machine, rebuild the submit.cf file.
- caveat -
only tested on Solaris 9 ;) .... YMMV

New (Since 10U2) networking commands

## show interface , link and status
# dladm show-dev
e1000g0 link: up speed: 1000 Mbps duplex: full
e1000g1 link: unknown speed: 0 Mbps duplex: unknown
e1000g2 link: unknown speed: 0 Mbps duplex: unknown
e1000g3 link: unknown speed: 0 Mbps duplex: unknown


# dladm show-link
e1000g0 type: non-vlan mtu: 1500 device: e1000g0
e1000g1 type: non-vlan mtu: 1500 device: e1000g1
e1000g2 type: non-vlan mtu: 1500 device: e1000g2
e1000g3 type: non-vlan mtu: 1500 device: e1000g3


Link aggregation with solaris 10
prior to Sol10 U2? you had to buy suntrunking to truck interfaces

unplumb the e1000g0 we used to build the system
# ifconfig e1000g0 unplumb
also the ipv6 version if used
# ifconfig e1000g0 inet6 unplumb

# dladm create-aggr -d e1000g0 -d e1000g1 1
# dladm show-aggr
key: 1 (0x0001) policy: L4 address: 0:21:28:f:be:7a (auto)
device address speed duplex link state
e1000g0 0:21:28:f:bb:7a 1000 Mbps full up standby
e1000g1 0:21:28:f:bb:7b 1000 Mbps full up standby
# ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
lo0: flags=2002000849 mtu 8252 index 1
inet6 ::1/128

now plumb the aggr interface

# ifconfig aggr1 plumb
# ifconfig aggr1 192.168.1.2 netmask 255.255.255.0

setup a hostname.aggr1 file to ensure the interfaces are setup on boot




Convert SDxx to cxtxdxsx paths
annoying when you have many disks and the san guys add more and your hit with a deluge of this messages:

Sep 10 13:22:48 blue Corrupt label; wrong magic number

Sep 10 13:22:48 blue scsi: [ID 107833 kern.warning] WARNING: /pci@0/pci@0/pci@8/pci@0/pci@a/SUNW,qlc@0,1/sd@0,b (sd223):

Sep 10 13:22:48 blue Corrupt label; wrong magic number

Sep 10 13:22:48 blue scsi: [ID 107833 kern.warning] WARNING: /pci@0/pci@0/pci@8/pci@0/pci@a/SUNW,qlc@0,1/sd@0,b (sd223):






the following script helps map the SDxx instance to scsi hardware location

#!/bin/sh
#
# @(#) wd 1.1 99/03/09
#
# Used to convert sd instance numbers (eg. sd20) to SCSI hardware location
# (eg. c1t5d0s0) or the other way around. Can also list all such devices
# by using the -all option.
#
# Credits:
# hw2inst() function based on "phylog" script by Nick Hindley
# inst2hw() function based on "whatdev" script from Sun Microsystems
#
# Revision History
# 1.1 1999-03-09 Mike van der Velden
# Original Version. Converts sdxx to cxdxtxsx and back.
# Optionally lists all such devices.
#
# Feedback, bug fixes, enhancements? Send to mvanderv@yahoo.com
#

inst2hw ()
{
# Convert the sd instance number into the SCSI hardware location.
# Grabbed from the "phylog" script by Nick Hindley, 1998-08-04

DEVNAME=$1
TYPE=`echo $DEVNAME | cut -c 1-2`
NUM=`echo $DEVNAME | cut -c3-255`

DEVPATH=`sed 's/"//g' /etc/path_to_inst | \
nawk -v type=$TYPE -v num=$NUM \
'{if (($2==num) && ($3==type)) print $1;}'`

if [ -z "$DEVPATH" ]; then
echo "No such device $DEVNAME"
exit 2
fi

# now get all the devices out of /dev.
# No way that I know of to map this back.

for p in /dev/dsk /dev/rdsk /dev/rmt /dev/osa/dev/dsk /dev/osa/dev/rdsk;
do
if [ -d $p ]; then
DEV=`ls -l $p | \
nawk -v device=$DEVPATH \
'{if ($NF ~ device) {print $(NF - 2);exit;}}'`
if [ ! -z "$DEV" ]; then
# still need work on the st/rmt devices, which currently
# prints out as a simple number, not as, say rmt/0.
echo $DEV
break
fi
fi
done
}


hw2inst ()
{
# Convert the SCSI hardware location into the sd instance number.
# From the script "whatdev" from the Solaris 2.X on Sun Hardware
# Answerbook (or http://docs.sun.com)

devname=$1

for p in /dev /dev/osa/dev/dsk /dev/osa/dev/rdsk /dev/dsk /dev/rdsk /dev/rmt;
do
if [ -h $p/$devname ]; then
DEVPATH=$p/$devname
break
fi
done

if [ -z "$DEVPATH" ]; then
echo "No such device $devname"
exit 2
fi


# print out the drive name - st0 or sd0 - given the /dev entry
# first get something like "/iommu/.../.../sd@0,0"
DEV=`/bin/ls -l $DEVPATH | \
nawk '{ n = split($11, a, "/"); split(a[n],b,":"); \
for(i = 4; i < n; i++) printf("/%s",a[i]); \ printf("/%s\n", b[1]) }'` if [ ! -z "$DEV" ]; then # get the instance number and concatenate with the "sd" nawk -v dev=$DEV \ '$1 ~ dev { n = split(dev, a, "/"); split(a[n], b, "@"); \ printf("%s%s\n", b[1], $2) }' /etc/path_to_inst fi } ############################################################### # # MAIN # USAGE="$0 | -all"

# "verbose" is an unadvertised option, useful for debugging
if [ "$1" = "-v" ]; then
set -x
shift
fi

if [ -z "$1" ]; then
echo "Usage: $USAGE"
exit 1
fi


case $1 in

s*) # make sure slice number is *not* part of the name
DEVNAME=`echo $1 | sed "s/\(s[dt][0-9]*\)[a-h]$/\1/"`
inst2hw $DEVNAME
;;

c*) # make sure slice number *is* part of the name
DEVNAME=`echo $1 | sed "s/\(c[0-9]t[0-9]d[0-9]\)$/\1s0/"`
hw2inst $DEVNAME
;;

-all) if [ -d /dev/osa ]; then
PREFIX="/dev/osa"
fi
for d in ${PREFIX}/dev/rdsk/c?t?d?s0; do
DEVNAME=`basename $d`
printf "%s --- " $DEVNAME
hw2inst $DEVNAME
done
;;

esac

exit 0
Stoping Break on a SUN
Power-switch key method:On Enterprise-type Suns, the power switch has four positions: off, on, diagnostic and secure. With the power switch in the secure position, the system ignores BREAKs generated by keyboard reconnect, serial terminal loss, Stop-a or a serial terminal BREAK key.

Command method:
In /etc/default/kbd, add the variable KEYBOARD_ABORT=disable then use the command kbd -i
which reads /etc/default/kbd and disables keyboard abort.

Playing With Tapes

cfgadm -al
cfgadm -c configure c3
cfgadm -o show_FCP_dev -al
cfgadm -o show_SCSI_LUN -al
cfgadm -o unusable_FCP_dev -c unconfigure c4::2101001b32b4eb6c
cfgadm -c unconfigure c4::2101001b32b4eb6c
cfgadm -alo show_FCP_dev

luxadm -e port
luxadm -e forcelip /dev/cfg/c4luxadm -e dump_map /dev/cfg/c4
devfsadm -C

# luxadm probe
# luxadm qlgc >>show Sun/Qlogic HBA’s

Sun Volume Manager

SVM / DS / Solstice Disk Suite or what ever sun call the other disk manager technology today :)


Replacing a failed disk - (old on still online and readable)
capture the vtoc from the disk:

prtvtoc /dev/rdsk/c4t0d0s2 > savedisk.vtoc

now check if it's part of the db:

metadb


metadb
flags first blk block count
a m p luo 16 1034 /dev/dsk/c2t0d0s7
a p luo 16 1034 /dev/dsk/c3t2d0s7
a p luo 16 1034 /dev/dsk/c3t3d0s7
a p luo 16 1034 /dev/dsk/c4t0d0s7
a p luo 16 1034 /dev/dsk/c4t1d0s7
a p luo 16 1034 /dev/dsk/c4t2d0s7
a p luo 16 1034 /dev/dsk/c4t3d0s7

ok it is so lets delete it:

metadb -d /dev/rdsk/c4t0d0s6

replace failed mech

import vtoc from saved file :

cat savedisk.vtoc|hmthard -s - /dev/rdsk/c4t0d0s2


recreate metadb (this option is for 2 copy on slice 6 , may not be required if you have more than 3 disks in the metadb - you can get arounf this with


metadb -a -c 2 /rdev/c4t0d0s6

find the degraded mirror:

Invoke: metareplace d5 c4t2d0s0
metastat|grep 'metareplace'


Now replace and resilver the mirrors:

metareplace -e d5 c4t2d0s0




Disk Replacement of dead mech

mostly the same as before but you need to force it

rebuild the vtoc (naturally you will have saved all the vtocs of the disks to a save place ;-) )

yank the disk out of the metadb


metadb -f -d /dev/rdsk/cXtYdZs6

metareplace -f d4 c4t3d0s0

Avoid database replica issues (more of value on root mirrors)

echo "set md:mirrored_root_flag=1" >> /etc/system

Corrupt boot block
boot from the mirror and do (or cd/net)

/usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/cXtYdZs0


Bogus Svm needs maintainance printed on metastat output

Sometimes if the svm sync has not been started correctly you will see

metastat d50
d50: Mirror
Submirror 0: d51
State: Needs maintenance
Submirror 1: d52
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 8405376 blocks (4.0 GB)

d51: Submirror of d50
State: Needs maintenance
Invoke: metareplace d50 c1t2d0s0
Size: 8405376 blocks (4.0 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t2d0s0 0 No Maintenance Yes


but iostat shows up clean !!

(you can use the format command to do a non destructive test if you like)

once tested or trusted ;-)


simply run svm sync - /etc/rc.local for older svm or /etc/rc2.d/svm.sync for newer versions

followed by

metareplace -e d50 cXtXdXsX to resync the mirrors.

metastat d50
d50: Mirror
Submirror 0: d51
State: Okay
Submirror 1: d52
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 8405376 blocks (4.0 GB)

http://dlc.sun.com/osol/docs/content/LOGVOLMGRADMIN/tasks-state-db-replicas-11.html#troubleshoottasks-31036

5120's & LDOMs

New Stuff from sun with T5120 T5140's


Power on via the ilom

start /SYS

then switch to the console

start /SP/console

Default ilom password
root , changeme

Changing the ilom default password
set /SP/users/root password

Enter new Password: *******

Reset machine back to factory defaults
with a running machine
ldm set-spconfig factory-default
or from the service processor
bootmode config="factory-default"



Enable/ Disable SSH
set /SP/services/ssh state=[enable|disable]

Display the active ILOM sessions
show /SP/sessions


Display information about commands
show /SP/cli/commands



Add a local user
create /SP/users/bob password=password role=administrator|operator


Delete a local user
delete /SP/users/fred




change the ip address to static

cd /SP/network
set pendingipdiscovery=static
set pendingipaddress=xxx.xxx.xxx.xxx
set pendingipnetmask=yyy.yyy.yyy.yyy
set pendingipgatwat=zzz.zzz.zzz.zzz

show to verify setings

set commitpending=true



Enable web interface
set /SP/services/http state=enabled


Reset Service Processor
reset /SP


Boot System
start /SYS
(reset /SYS - for a vulgar system reset)





How do i break into the obp on a 5120

set /HOST send_break_action=break
start /SP/console
r)eboot, o)k prompt, h)alt?
o


- why , every domain gets it's own obp

the older revision procedure is to send a break , select r to reboot , then send another break to get to the obp for that ldom


one other way
set /HOST/bootmode script="setenv auto-boot? false"
then init 0 or / reset /sys

Jumpstart from the control domain ldom

so you have build your jet/jumpstart server and your first ldom host , and try and boot net install

but all you get is arp timeouts

you even snoop your interfaces looking for packets ... but still nothing!

ok here is the fix

(my example uses two interfaces)


first you need to use other interfaces than your e1000g0 g1 etc

remove your vsw interfaces from primary control domain (if configured)

then examine the real mac addesses for your interfaces

-bash-3.00# ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000

e1000g0: flags=1000843 mtu 1500 index 2
inet xx.yy.zz.40 netmask fffff000 broadcast x.x.x.x
ether xx:xx:xx:xx:be:7b

e1000g1: flags=1000843 mtu 1500 index 3
inet zz.yy.zz.40 netmask fffff000 broadcast x.x.x.x
ether xx:xx:xx:xx:be:7a



now unplumb both interfaces

-bash-3.00# ifconfig e1000g0 unplumb

-bash-3.00# ifconfig e1000g1 unplumb

now configure the virtual switch interfaces

-bash-3.00# ldm add-vsw mac-addr= net-dev=e1000g0 vsw0 primary
-bash-3.00# ldm add-vsw mac-addr= net-dev=e1000g0 vsw0 primary

now ifconfig vsw0 and vsw1

-bash-3.00# ifconfig vsw0 plumb

-bash-3.00# ifconfig vsw1 plumb

and ifconfig your interfaces as you add them before

-bash-3.00# ifconfig vsw0 up xx.yy.zz.40 netmask + broadcast +


-bash-3.00# ifconfig vsw1up zz.yy.zz.40 netmask + broadcast +

no ifconfig will show :


-bash-3.00# ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000

vsw0: flags=1000843 mtu 1500 index 2
inet xx.yy.zz.40 netmask fffff000 broadcast x.x.x.x
ether xx:xx:xx:xx:be:7b

vsw1: flags=1000843 mtu 1500 index 3
inet zz.yy.zz.40 netmask fffff000 broadcast x.x.x.x
ether xx:xx:xx:xx:be:7a
copy your interface files from the old e1000g0 files so your changes survive a reboot


-bash-3.00# mv /etc/hostname.e1000g0 /etc/hostname.vsw0

-bash-3.00# mv /etc/hostname.e1000g1 /etc/hostname.vsw1



you should now be able to jumpstart from your control domain

these steps are not required if your jumpstart is remote from the ldom host




Set up the hardware mirror (t2000 & t5120)
think really carefully before you do this ... if you dont leave a slice for liveupgrade you will not be able to split the mirror for patching or os upgrade


(best done from cdrom/net boot as you get into the well known catch 22 problem)

/usr/sbin/raidctl [-f] -c cXtXdX cYtYdY


# raidctl
Controller: 1
Disk: 0.0.0
Disk: 0.1.0
# format < /dev/null Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c1t0d0
/pci@0/pci@0/pci@2/scsi@0/sd@0,0
1. c1t1d0
/pci@0/pci@0/pci@2/scsi@0/sd@1,0
Specify disk (enter its number):
# raidctl -c c1t0d0 c1t1d0
Creating RAID volume will destroy all data on spare space of member disks, proceed (yes/no)? y
/pci@0/pci@0/pci@2/scsi@0 (mpt0):
Physical disk 0 created.
/pci@0/pci@0/pci@2/scsi@0 (mpt0):
Physical disk 1 created.
/pci@0/pci@0/pci@2/scsi@0 (mpt0):
Volume 0 is |enabled||optimal|
/pci@0/pci@0/pci@2/scsi@0 (mpt0):
Volume 0 is |enabled||optimal|
/pci@0/pci@0/pci@2/scsi@0 (mpt0):
Volume 0 created.
/pci@0/pci@0/pci@2/scsi@0 (mpt0):
Physical disk (target 1) is |out of sync||online|
/pci@0/pci@0/pci@2/scsi@0 (mpt0):
Volume 0 is |enabled||degraded|
/pci@0/pci@0/pci@2/scsi@0 (mpt0):
Volume 0 is |enabled||resyncing||degraded|
Volume c1t0d0 is created successfully!
# raidctl
Controller: 1
Volume:c1t0d0
Disk: 0.0.0
Disk: 0.1.0


List Ldoms
# ./ldm list
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-c- SP 32 8064M 0.0% 3m



Setup ldom default service

# /opt/SUNWldm/bin/ldm add-vds primary-vds0 primary
# /opt/SUNWldm/bin/ldm add-vcc port-range=5000-5100 primary-vcc0 primary
# /opt/SUNWldm/bin/ldm add-vsw net-dev=e1000g0 primary-vsw0 primary
# /opt/SUNWldm/bin/ldm set-mau 1 primary
# /opt/SUNWldm/bin/ldm set-vcpu 4 primary


List ldom services

# /opt/SUNWldm/bin/ldm list-services primary
VCC
NAME PORT-RANGE
primary-vcc0 5000-5100

VSW
NAME MAC NET-DEV DEVICE MODE
primary-vsw0 00:14:4f:fb:37:32 e1000g0 switch@0

VDS
NAME VOLUME OPTIONS DEVICE
primary-vds0


Listing ldom sp config

# /opt/SUNWldm/bin/ldm list-spconfig
factory-default [current]



Saving sp config
# /opt/SUNWldm/bin/ldm add-spconfig initial
# /opt/SUNWldm/bin/ldm list-spconfig
factory-default [current]
initial [next]

(remember to reboot if you have made changes)

List ldom service bindings
bash-3.00# ./ldm list-bindings primary
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-cv SP 4 1G 0.0% 3m

MAC
00:21:28:ZZ:YY:XX

VCPU
VID PID UTIL STRAND
0 0 0.0% 100%
1 1 0.0% 100%
2 2 0.0% 100%
3 3 0.0% 100%

MAU
ID CPUSET
0 (0, 1, 2, 3, 4, 5, 6, 7)

MEMORY
RA PA SIZE
0x8000000 0x8000000 1G

VARIABLES
auto-boot?=false
boot-device=/pci@0/pci@0/pci@2/scsi@0/disk@0,0:a disk net
keyboard-layout=US-English

IO
DEVICE PSEUDONYM OPTIONS
pci@0 pci
niu@80 niu

VCC
NAME PORT-RANGE
primary-vcc0 5000-5100

VSW
NAME MAC NET-DEV DEVICE MODE
primary-vsw0 00:14:4f:fb:37:32 e1000g0 switch@0

VDS
NAME VOLUME OPTIONS DEVICE
primary-vds0

VCONS
NAME SERVICE PORT
SP



Example simple Ldom
bash-3.00# ldm add-domain secondary
bash-3.00# ldm add-vcpu 12 secondary
bash-3.00# ldm add-memory 1G secondary
bash-3.00# ldm add-vnet vnet1 primary-vsw0 secondary
bash-3.00# ldm add-vdsdev /dev/zvol/rdsk/domains/secondary vol1@primary-vds0
bash-3.00# ldm add-vdisk vdisk1 vol1@primary-vds0 secondary
bash-3.00# ldm set-variable auto-boot\?=false secondary
bash-3.00# ldm set-variable boot-device=/virtual-devices@100/channel-devices@20
0/disk@0 secondary
bash-3.00# ldm bind-domain secondary
bash-3.00# ldm start-domain secondary

LDom secondary started
bash-3.00# telnet localhost 5000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Connecting to console "secondary" in group "secondary" ....
Press ~? for control options ..

{0} ok banner

SPARC Enterprise T5120, No Keyboard
Copyright 2008 Sun Microsystems, Inc. All rights reserved.
OpenBoot 4.28.0, 1024 MB memory available, Serial #66796533.
Ethernet address 0:14:4f:fb:3b:f5, Host ID: 83fb3bf5.




##list physical cdrom / cdr drives
-bash-3.00# cdrw -l
Looking for CD devices...
Node Connected Device Device type
----------------------+--------------------------------+-----------------
/dev/rdsk/c0t0d0s2 | TSSTcorp CD/DVDW TS-T632A SR03 | CD Reader/Writer



Set up an iso image as a vdisk (to boot from)
-bash-3.00# ldm add-vdsdev /var/tmp/sol-10-u5-ga-sparc-dvd.iso iso@primary-vds0
-bash-3.00# ldm add-vdisk iso iso@primary-vds0 secondary


Yes it will run a sparc linux system:)
this was a quick test using the iso tip abobe and booting from the cdrom




~ # cat /proc/cpuinfo
cpu : UltraSparc T2 (Niagara2)
fpu : UltraSparc T2 integrated FPU
prom : OBP 4.28.0 2008/01/22 21:10
type : sun4v
ncpus probed : 12
ncpus active : 1
D$ parity tl1 : 0
I$ parity tl1 : 0
Cpu0ClkTck : 00000000457646c0
MMU Type : Hypervisor (sun4v)






ilom/Sp Is LINUX !

U-Boot 1.1.1 (Apr 3 2008 - 19:06:21)

CPU: MPC885ZPnn at 133 MHz: 8 kB I-Cache 8 kB D-Cache FEC present
Board: SPARC885
Watchdog enabled
I2C: ready
DRAM:
trying 128 MBytes
trying 64 MBytes
(64 MB SDRAM) 64 MB
Memory Tests: DA A1 A2 00 FF 55 AA T2 T3 T4
POST memory PASSED
FLASH: 32 MB
In: serial
Out: serial
Err: serial
Net: FEC ETHERNET
POST i2c c d 18 20 23 2a 2d 2e 30 40 43 46 51 53 54 56 68 69 6a 6b 70 71 PASSED
POST cpu PASSED
POST ethernet PASSED
Booting linux in 5 seconds...
## Booting image at fe080000 ...
Image Name: Linux-2.4.22
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 814987 Bytes = 795.9 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK

Solaris Patching (SPARC) - non liveupgrade

Prep work - Backup the entire system :
Flar , ufsdump , networker , etc

I find flar the fastest as it will give you an option for complete recovery in the event of a total abort

a good practice is to copy your /etc/system file somewhere save , I would also grab the metastat -p , metastat , metadb and eeprom , outputs and keep them off the machine

metastat -p |mailx -s "meta db for target x" me@company

repeat for any metasets !

and while we are at it .. grab the /etc/lvm directory too!




Verify Quorum flag in /etc/system
set md:mirrored_root_flag=1



backup metadb's

metadb
flags first blk block count
a m p luo 16 8192 /dev/dsk/c1t0d0s3
a p luo 8208 8192 /dev/dsk/c1t0d0s3
a p luo 16 8192 /dev/dsk/c1t0d0s4
a p luo 8208 8192 /dev/dsk/c1t0d0s4
a p luo 16 8192 /dev/dsk/c1t1d0s4
a p luo 8208 8192 /dev/dsk/c1t1d0s4


dd if=/dev/rdsk/c1t0d0s3 of=//metadb.c1t0d0s3 bs=2048k
dd if=/dev/rdsk/c1t0d0s4 of=//metadb.c1t0d0s4 bs=2048k
dd if=/dev/rdsk/c1t1d0s3 of=//metadb.c1t1d0s3 bs=2048k





DETACH ROOT MIRROR DISK

Check which is the root meta device: df –k /
Filesystem kbytes used avail capacity Mounted on
/dev/md/dsk/d10 66419890 8134395 57621297 13% /

# metastat -p d10

a grab the second copy


# metadetach d10 d12
d10: submirror d12 is detached

verify with a metastat command the detach successful

remove disk from metadb


# metadb -d /dev/dsk/c1t1d0s7

You are now ready to patch , i find localcopy to work best as Solaris 10 had some issues wth patching accross nfs!

Patching is Successful

resilver the submirror

# metattach d10 d12
Add disk back into metadb


# metadb -a -c3 /dev/dsk/c1t1d0s7

resilver will take a while , you can monitor in the usual way



DISASTER - Patching has Failed , total recal required

(you need to back out the patches patchrm them one by one)

Boot using corrupt/patched environment. If the patched environment is not bootable, boot using net , cdrom.
now mount the basic device file from the old mirror disk and replace the rootdev entry in the /etc/system file (remember to edit the correct etc/system file)



vi system
details are from your saved eeprom outputs!


The details of below can be seen in step 3 output (add whatever 100,blk comes after the disk id)
example :
rootdev:/pseudo/md@0:0,100,blk
change to:
rootdev:/ssm@0,0/pci@18,600000/scsi@2/disk@1,0:a,100,blk


revert your vfstab back to pre svm

Replace disk entries of / with the new disk (comment out the original and make a copy with the following)

/dev/md/dsk/d10 /dev/md/rdsk/d10 / ufs 1 no logging
change to
/dev/dsk/c1t1d0s0 /dev/rdsk/c1t1d0s0 / ufs 1 no logging

lockfs -fa;sync;sync;reboot


now boot from your mirror disk

if there are any remaning metadevices remove them



system will now be in a svm less pre patch state

rebuild the svm state from scratch using the now new boot disk as the primary mirror drive

Recover Metadb from backup

if all copies of the metadb have a problem, use dd to restore the dd backup.

Example:

dd if= /opt/sun/sdsbackup/metadb.c0t0d0s7.dd of=/dev/rdsk/c0t0d0s7 bs=2048k

Jumpstarting Zones

PREP

Zone host:
mkdir /usr/lib/jetzone/
ln -s /net//opt/SUNWjet/Products/zones/smf/jetzonefinish.xml /usr/lib/jetzone/jetzonefinish.xml
(or copy it)

add /etc/default/jetzone
JET_SERVER="i"
JET_CONFIG="/opt/SUNWjet"
JET_ZONEDIR="/zones"


cp /net//opt/SUNWjet/Products/zones/jetzone /usr/local/bin
chmod +x /usr/local/bin/jetzone



Configure Zone on JET server

Jumpstart server :
make_zone_template -f -T SUS_ZONE
make_client -f


BUILDING
jetzone -F bluecat
JumpStart Enterprise Toolkit Zone creation: bluecat
Cleaning out zone bluecat
Uninstall zone bluecat
zoneadm: zone 'bluecat': is already in state 'configured'.
Cleaning up zone area
Mounting JET configuration area on /tmp/jet.8791
Loading zone bluecat configuration data
Forcing permissions to 700 for /zones/bluecat
Building zone bluecat configuration
Add network (aggr1/192.168.1.38/255.255.255.0) to zone
Creating zone bluecat
Installing zone bluecat
Preparing to install zone .
Creating list of files to copy from the global zone.
Copying <3135> files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize <585> packages on the zone.
Initialized <585> packages on zone.
Zone is initialized.
Installation of <2> packages was skipped.
The file contains a log of the zone installation.
Populating zone bluecat sysidcfg
Disable NFSv4 prompt
Adding JET hook to zone bluecat
cp: cannot access /usr/lib/jetzone/jetzonefinish.xml
Booting zone bluecat
To monitor the installation of the zone, please run the command
zlogin -C bluecat

[Connected to zone 'bluecat' console]
142/142
Reading ZFS config: done.
Creating new rsa public/private host key pair
Creating new dsa public/private host key pair
Configuring network interface addresses: aggr1.

rebooting system due to change(s) in /etc/default/init


[NOTICE: Zone rebooting]


SunOS Release 5.10 Version Generic_142909-17 64-bit
Copyright (c) 1983, 2010, Oracle and/or its affiliates. All rights reserved.
Hostname: bluecat
Reading ZFS config: done.
Starting JumpStart Enterprise Toolkit helper script
Mounting JET filesystem
Starting JET finish script
Installation of bluecat at 12:28 on 07-Dec-2010
Loading JumpStart Server variables
JumpStart Enterprise Toolkit version 4.8
Loading Client configuration file
Creating directory: /var/opt/sun/jet/post_install
Creating directory: /var/opt/sun/jet/Utils
Dec 7 12:28:18 bluecat sendmail[22716]: My unqualified host name (bluecat) unknown; sleeping for retry
Creating directory: /var/opt/sun/jet/config
Creating directory: /var/opt/sun/jet/js_media/patch
Creating directory: /var/opt/sun/jet/js_media/pkg
Dec 7 12:28:18 bluecat sendmail[22755]: My unqualified host name (bluecat) unknown; sleeping for retry
Copying file Clients/bluecat/sysidcfg to //var/opt/sun/jet/config/sysidcfg
Copying file Clients/bluecat/host.config to //var/opt/sun/jet/config/host.config
Copying file Utils/solaris/releaseinfo to //var/opt/sun/jet/config/releaseinfo
Copying functions to //var/opt/sun/jet/Utils/lib
Copying file Clients/bluecat/module_hints to //var/opt/sun/jet/config/module_hints
NFS Mounting Media Directories
Mounting nfs://192.168.1.86/export/install/patches on //var/opt/sun/jet/js_media/patch
Mounting nfs://192.168.1.86/export/install/pkgs on //var/opt/sun/jet/js_media/pkg
BASE_CONFIG: Running base_config install script....
BASE_CONFIG: Product base_config started
BASE_CONFIG: Trying to use external matrix cmd /tmp/jet/Products/zones/empty-matrix
BASE_CONFIG: External matrix cmd returned non-zero status or no entries
BASE_CONFIG: Unable to locate package.matrix file... exiting.
BASE_CONFIG: No HW specific packages for platform SUNW,SPARC-Enterprise-T5220
BASE_CONFIG: Trying to use external matrix cmd /tmp/jet/Products/zones/empty-matrix
BASE_CONFIG: External matrix cmd returned non-zero status or no entries
BASE_CONFIG: Unable to locate patch.matrix file... exiting.
BASE_CONFIG: No HW specific patches for platform SUNW,SPARC-Enterprise-T5220
BASE_CONFIG: Set root password
BASE_CONFIG: Setting netmask for primary interface
BASE_CONFIG: Add netmask 192.168.1.0 / 255.255.255.0
BASE_CONFIG: Disabling power management
BASE_CONFIG: Creating directory: /var/opt/sun/jet/post_install/n-post
BASE_CONFIG: Register postinstall script 'setupdumpdevice' for boot n
BASE_CONFIG: Creating directory: /var/opt/sun/jet/post_install/n
BASE_CONFIG: Register postinstall script 'run_sshkeygen' for boot n
BASE_CONFIG: Setting system terminal type to vt100
BASE_CONFIG: Register postinstall script 'console' for boot n
BASE_CONFIG: Setting NFSv4 domain
BASE_CONFIG: Creating directory: /var/opt/sun/jet/system.add
BASE_CONFIG: Product base_config finished
BASE_CONFIG: Running base_config install script....
BASE_CONFIG: Product base_config started
BASE_CONFIG: Trying to use external matrix cmd /tmp/jet/Products/zones/empty-matrix
BASE_CONFIG: External matrix cmd returned non-zero status or no entries
BASE_CONFIG: Unable to locate package.matrix file... exiting.
BASE_CONFIG: No HW specific packages for platform SUNW,SPARC-Enterprise-T5220
BASE_CONFIG: Trying to use external matrix cmd /tmp/jet/Products/zones/empty-matrix
BASE_CONFIG: External matrix cmd returned non-zero status or no entries
BASE_CONFIG: Unable to locate patch.matrix file... exiting.
BASE_CONFIG: No HW specific patches for platform SUNW,SPARC-Enterprise-T5220
BASE_CONFIG: Set root password
BASE_CONFIG: Setting netmask for primary interface
BASE_CONFIG: Disabling power management
BASE_CONFIG: Register postinstall script 'setupdumpdevice' for boot n
BASE_CONFIG: Register postinstall script 'run_sshkeygen' for boot n
BASE_CONFIG: Setting system terminal type to vt100
BASE_CONFIG: Register postinstall script 'console' for boot n
BASE_CONFIG: Setting NFSv4 domain
BASE_CONFIG: Product base_config finished
CUSTOM: Running custom install script....
CUSTOM: Copying file Clients/bluecat/../common.files/ntp.conf to //etc/inet/ntp.conf
CUSTOM: Copying file Clients/bluecat/../common.files/etc_profile to //etc/profile
CUSTOM: Copying file Clients/bluecat/../common.files/ITC_jet_post to //post_install/ITC_jet_post
CUSTOM: Copying file Clients/bluecat/../common.files/deploy_foo_solaris to //post_install/deploy_altiris_solaris
CUSTOM: Copying file Clients/bluecat/../common.files/syslog.conf to //etc/syslog.conf
CUSTOM: Copying file Clients/bluecat/../common.files/jfdi to //post_install/jfdi
CUSTOM: Register postinstall script 'ITC_jet_post' for boot n
----------------------------------------------------------
Product modules processed, finish up installation tasks
Creating directory: /var/opt/sun/jet/system.add/updated
Copying file etc/jumpstart.conf to //var/opt/sun/jet/config/jumpstart.conf
Copying file Utils/smf/jetjump.xml to //var/svc/manifest/site/jetjump.xml
Copying file Utils/S99jumpstart to //var/opt/sun/jet/post_install/S99jumpstart
NFS Unmounting Media Directories
Unmounting /var/opt/sun/jet/js_media/pkg
Unmounting /var/opt/sun/jet/js_media/patch
Make a link to finish log...
Updating boot-archive
/: not a boot archive based Solaris instance
Disable & delete SMF tag svc:/site/jetzonefinish

bluecat console login: Dec 7 12:28:28 bluecat reboot: rebooted by LOGIN
Dec 7 12:28:28 bluecat syslogd: going down on signal 15
Dec 7 12:28:28 /usr/lib/snmp/snmpdx: received signal 15

[NOTICE: Zone rebooting]


SunOS Release 5.10 Version Generic_142909-17 64-bit
Copyright (c) 1983, 2010, Oracle and/or its affiliates. All rights reserved.
Hostname: bluecat
Loading smf(5) service descriptions: 1/1
Reading ZFS config: done.
JumpStart (/var/opt/sun/jet/post_install/S99jumpstart) started @ Tue Dec 7 12:28:59 MET 2010
Loading JumpStart Server variables
Loading Client configuration file
No more reboots required
Running additional install files for reboot n
NFS Mounting Media Directories
Mounting nfs://192.168.1.86/export/install/patches on /var/opt/sun/jet/js_media/patch
Dec 7 12:28:59 bluecat sendmail[24360]: My unqualified host name (bluecat) unknown; sleeping for retry
Dec 7 12:28:59 bluecat sendmail[24364]: My unqualified host name (bluecat) unknown; sleeping for retry
Mounting nfs://192.168.1.86/export/install/pkgs on /var/opt/sun/jet/js_media/pkg
BASE_CONFIG: Running 001.base_config.001.run_sshkeygen
BASE_CONFIG: Running 001.base_config.002.console
BASE_CONFIG: Setting terminal type to vt100
BASE_CONFIG: Running 001.base_config.003.run_sshkeygen
BASE_CONFIG: Running 001.base_config.004.console
BASE_CONFIG: Setting terminal type to vt100
CUSTOM: Running 002.custom.001.ITC_jet_post
Dec 7 12:29:31 bluecat sendmail[25179]: My unqualified host name (bluecat) unknown; sleeping for retry
Dec 7 12:29:59 bluecat sendmail[24360]: unable to qualify my own domain name (bluecat) -- using short name
Dec 7 12:29:59 bluecat sendmail[24364]: unable to qualify my own domain name (bluecat) -- using short name
Dec 7 12:30:14 bluecat sshd[25284]: Failed keyboard-interactive for root from 10.128.101.58 port 56954 ssh2
Dec 7 12:30:28 bluecat login: ROOT LOGIN /dev/pts/4
Dec 7 12:30:31 bluecat sendmail[25179]: unable to qualify my own domain name (bluecat) -- using short name
Dec 7 12:31:12 bluecat ntpdate[25718]: can't find host ntp1.ch.sus.local
Dec 7 12:31:12 bluecat ntpdate[25718]: can't find host ntp2.ch.sus.local
Dec 7 12:31:12 bluecat ntpdate[25718]: can't find host ntp3.ch.sus.local
Dec 7 12:31:12 bluecat ntpdate[25718]: can't find host ntp4.ch.sus.local
Dec 7 12:31:12 bluecat ntpdate[25718]: no servers can be used, exiting
Dec 7 12:31:12 bluecat xntpd[25720]: sched_setscheduler(): Not owner
Dec 7 12:31:12 bluecat xntpd[25720]: loop_config: ntp_adjtime() failed: Not owner
Dec 7 12:31:12 bluecat last message repeated 1 time
Dec 7 12:31:14 bluecat xntpd[25721]: couldn't resolve `ntp1.ch.sus.local', giving up on it
Dec 7 12:31:14 bluecat xntpd[25721]: couldn't resolve `ntp2.ch.sus.local', giving up on it
Dec 7 12:31:14 bluecat xntpd[25721]: couldn't resolve `ntp3.ch.sus.local', giving up on it
Dec 7 12:31:14 bluecat xntpd[25721]: couldn't resolve `ntp4.SUS', giving up on it

BASE_CONFIG: Running 001.base_config.001.setupdumpdevice
BASE_CONFIG: Running 001.base_config.002.setupdumpdevice
NFS Unmounting Media Directories
Unmounting /var/opt/sun/jet/js_media/pkg
Unmounting /var/opt/sun/jet/js_media/patch
Disable & delete SMF tag svc:/site/jetjump

bluecat console login: JumpStart is complete @ Tue Dec 7 12:32:44 MET 2010

Solaris and SAN

Scanning for a new Lun
luxadm probe -p
cfgadm -al


Should be Enough:
emcpdiscover
powermt check




Force HBA to scan bus


cfgadm -al|grep fc-fabric
c1 fc-fabric connected configured unknown
c2 fc-fabric connected configured unknown


cfgadm -o force_update -c configure cX


cX taken from above




UNLIC paths
suddenly your paths become like this :
Pseudo name=emcpower28a
CLARiiON ID=CKxxxxxxxx [host]
Logical device ID=600601604506260086790600F2F3DF11 [DOCUMENTUM_zone_seg_2]
state=alive; policy=BasicFailover; priority=0; queued-IOs=0
Owner: default=SP A, current=SP A Array failover mode: 1
==============================================================================
---------------- Host --------------- - Stor - -- I/O Path - -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
==============================================================================
3076 pci@2,600000/SUNW,qlc@0/fp@0,0 c1t500601623B20211Ed20s0 SP A2 active alive 0 0
3076 pci@2,600000/SUNW,qlc@0/fp@0,0 c1t5006016B3B20211Ed20s0 SP B3 active alive 0 0
3074 pci@3,700000/SUNW,qlc@0,1/fp@0,0 c2t500601633B20211Ed20s0 SP A3 unlic alive 0 0
3074 pci@3,700000/SUNW,qlc@0,1/fp@0,0 c2t5006016A3B20211Ed20s0 SP B2 unlic alive 0 0




fix:
reset the policy to Clariion Optimization
powermt set policy=co dev=all
powermt save


Now :
Pseudo name=emcpower28a
CLARiiON ID=CKxxxxxxxxxx [host]
Logical device ID=600601604506260086790600F2F3DF11 [DOCUMENTUM_zone_seg_2]
state=alive; policy=CLAROpt; priority=0; queued-IOs=0
Owner: default=SP A, current=SP A Array failover mode: 1
==============================================================================
---------------- Host --------------- - Stor - -- I/O Path - -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
==============================================================================
3076 pci@2,600000/SUNW,qlc@0/fp@0,0 c1t500601623B20211Ed20s0 SP A2 active alive 0 0
3076 pci@2,600000/SUNW,qlc@0/fp@0,0 c1t5006016B3B20211Ed20s0 SP B3 active alive 0 0
3074 pci@3,700000/SUNW,qlc@0,1/fp@0,0 c2t500601633B20211Ed20s0 SP A3 active alive 0 0
3074 pci@3,700000/SUNW,qlc@0,1/fp@0,0 c2t5006016A3B20211Ed20s0 SP B2 active alive 0 0