Documente Academic
Documente Profesional
Documente Cultură
who -r : show current run level (useful like when doing boot -s)
who -b : show system boot time
shutdown, etc cmd does not seems to reboot automatically either, unless specify a reboot init
level (eg -i 6)
STORAGE
FILESYSTEM
newfs /dev/rdsk/c... create a new fs for the sapce on "raw" slide
(also appliable to metadevices from disksuite (and veritas?) in both the
stripe+concat and raid5 drives. mirror would need a sync cmd.
see cmd.diskstuite.ref
-v verbose
-b [bsize] specify block size, def should be 8192 (req by dba)
-N print the mkfs cmd that will be used, w/o actually doing any work.
mkfs -m /dev/dsk/c0t0d0s0 show the mkfs used to create the existing fs.
mkfs -m /dev/md/d0 for sds disk, looking at subcomponent will give bogus data.
Journaling (add link to doc that journaling can actually increase performance!)
VOLUME MANAGEMENT
Solaris by default does not use a Volume Manager, the file system by default is created right on top of a partition. Sun
does have a Volume Manager that is very tied to Solaris: The Solaris Volume Manager, formerly Solstice Disk Suite.
Alternatively, lot of places use Veritas Volume Manager. IMHO, the OS boot disk is best left in control of the SVM.
This is a hotly contested topic. I will just say that starting with VxVM 4.0, the word from Veritas tech support is: "We
no longer require you to use VxVM for the boot disk, why don't you just use Veritas for your data disks". They told me
this after I ran into some bugs and they needed me to update from 4.0 to 4.01. Needless to say, I changed my school of
thought then and used SVM for the bootdisk from then on.
SVM/SDS Commands
metastat
show config of disk suite, status and minor stat
metadb
who info about the meta db (state db) used by disksuite to maintian meta/state info.
metareplace -e d0 c0t0d0s0
This perform a resync on the mirror drive d0, component c0t0d0s0 is the
one that will be wipe out and rebuild. (Used when rebuilding the root partition,
disk0 was yanked out, and so needed to use data from c0t1d0s0 to rebuild
the mirror).
metastat | awk '/State:/ { if ($2 != "Okay") if (prev ~ /^d/) print prev, $0} {prev = $0}'
Quickly list drives that are not in okay mode. eg, error, sync, etc.
#quickly list drives that are not in okay mode (eg, error, sync, etc.):
OUTPUT1=`metastat | \
awk '/State:/ { if ($2 != "Okay") if (prev ~ /^d/) print prev, $0} {prev = $0}'`
#quickly see if there are any problems with metadb replicas (state db)
#(work cuz metadb use caps only when they have errors in them.
Note that due to this approach, once the disk is mirrored, even if slide has more space, it can never be used. On the
other hand, this approach allows disks of dissimilar size to work as mirror pair, allowing some extra partition space for
other "scrach" use.
eg of copying files from 9 gb drive to 18 gb drive, increased partitiion size via format, but after mirror, all disk slides
show matching size for the mirrors, even after the smaller submirrors has been removed.
The final solution of the migration is to use ufsdump | ufsrestore. see backup.ref for info of the exact command.
format> verify
Volume name =
ascii name =
pcyl = 4926
ncyl = 4924
acyl = 2
nhead = 27
nsect = 133
Part Tag Flag Cylinders Size Blocks
0 root wm 580 - 1109 929.31MB (530/0/0) 1903230
1 swap wu 2 - 579 1013.48MB (578/0/0) 2075598
2 backup wm 0 - 4923 8.43GB (4924/0/0) 17682084
3 unassigned wm 0 0 (0/0/0) 0
4 usr wm 1170 - 2039 1.49GB (870/0/0) 3124170
5 var wm 2040 - 2329 508.49MB (290/0/0) 1041390
6 unassigned wm 2330 - 4919 4.43GB (2590/0/0) 9300690
7 unassigned wm 4920 - 4923 7.01MB (4/0/0) 14364
format>
Copy the partition table to the 2nd disk that will hold the mirror.
output of metadb:
flags first blk block count
a m p luo 16 1034 /dev/dsk/c0t0d0s7
a p luo 1050 1034 /dev/dsk/c0t0d0s7
a p luo 16 1034 /dev/dsk/c0t1d0s7
a p luo 1050 1034 /dev/dsk/c0t1d0s7
This is what the mirroring setup will be. Can place this
content in /etc/vfstab for easy future reference.
###
### metadevice mapping to physical devices
### disk in tag 0 and 1 (9 gigs) pair
###
### orig new mirror
### root d0 submirrors: d10 d20 : c0t0d0s0 c0t1d0s0
### swap d1 submirrors: d11 d21 : c0t0d0s1 c0t1d0s1
### usr d4 submirrors: d14 d24 : c0t0d0s4 c0t1d0s4
### var d5 submirrors: d15 d25 : c0t0d0s5 c0t1d0s5
### u01 d6 submirrors: d16 d26 : c0t0d0s6 c0t1d0s6
###
# create the basic support for SVM based on original
# boot disk c0t0 ::
metainit -f d10 1 1 c0t0d0s0 # init submirror of /
metainit -f d11 1 1 c0t0d0s1 # swap
metainit -f d14 1 1 c0t0d0s4 # /usr
metainit -f d15 1 1 c0t0d0s5 # /var
metainit -f d16 1 1 c0t0d0s6 # /oracle/u01
# create the additional submirror components of all slides, use disk in c0t1
metainit -f d20 1 1 c0t1d0s0 # addtional mirror of /
metainit -f d21 1 1 c0t1d0s1 # additiional mirror for swap
metainit -f d24 1 1 c0t1d0s4 # additiional mirror for /usr
metainit -f d25 1 1 c0t1d0s5 # additiional mirror for /var
metainit -f d26 1 1 c0t1d0s6 # additiional mirror for /u01
# the above cmd return right away, use metastat to monitor sync process
# or metatool for gui monitor/admin tool.
# review /etc/lvm/md.tab
If these errors are annoying, update /etc/system and comment out the
forceload of the unecessary components. The problem with such mods is that
should there be a need of raid 5 device down the road, and forget to re-enable
these, then there maybe some hair pulling in finding out the error :)
----
--------
A sample test for failure scenario: replacing one submirror.
Someime, metastat will report "maintenance needed, issue metareplace...",
this can also be used to fix the error if disk err was transitive or relocatable.
metadetach d5 d15 # detaches submirror d15 from the host mountable drive
# d5 (/var)
# real failure req metareplace will need -f
http://www.sun.com/bigadmin/content/submitted/expand_ufs_svm.html
describe way of expanding disk using SDS trick.
mkfs -G -M ...
will expand ufs w/o lvm, but it is "undocumented"
if somehow need to reimport the raid 5 volume, use -k option in metainit. Not sure how to use
it yet though.
In contracst, Veritas Volume Manager usually needs 2 free avail partitions (except for boot/root disk, which can do
swap reloc but not recommen ded anyway). Typically, slice 3 contains all cyl, just like standard slide 2. Slide 4 would
be the private region for additional VxVM managed partitions. However, for root disk needing encapsulation, slide 4 is
1 cylinder at beginning or end of disk. Other slide number can be used, 3 and 4 are just convention.
So, if you want to be safe in term of future upgrade (or downgrade) to Veritas, SVM meta data info should be stored in
slide 3, and leave slide 4 unused.
Save your disk VTOCs and do metastat -p /etc/lvm/md.tab and save both somewhere safe. It will save you lots of time
if you need to redo it.
Also recommended: Put two copies of your metdb on each disk in a seperate partition on each disk.
#BKDIR=/export/cfbk
BKDIR=/var/adm/cfbk
mkdir $BKDIR
cp -p /etc/vfstab $BKDIR
cp -p /etc/system $BKDIR
cp -p /kernel/drv/md.conf $BKDIR
cp -p /etc/lvm/md.cf $BKDIR
cp -p /etc/lvm/mddb.cf $BKDIR
cp -p /etc/lvm/md.tab $BKDIR # really manual file, metastat -p
DISKPATH=/dev/rdsk/
DISKSET="c0t0d0s2 c0t8d0s2 c0t9d0s2 c0t10d0s2"
#DISKSET="c0t0d0s2 c0t8d0s2 c0t9d0s2 c0t10d0s2 c0t11d0s2 c0t12d0s2"
for DISK in $DISKSET; do
prtvtoc $DISKPATH/$DISK > $BKDIR/`date +%Y%m%d`.vtoc."$DISK"
done
----
sol 8:
/etc/system
* Begin MDD root info (do not edit)
forceload: misc/md_stripe
forceload: misc/md_mirror
forceload: misc/md_trans
forceload: misc/md_raid
forceload: misc/md_hotspares
forceload: misc/md_sp
forceload: drv/pcipsy
forceload: drv/glm
forceload: drv/sd
rootdev:/pseudo/md@0:0,0,blk
* End MDD root info (do not edit)
ls -lL /dev/dsk/c*sX
where X is the slide number of the metadb slide (typically 7)
CONNECTIVITY (NETWORK)
NIC
ndd -get /dev/hme status_link # query nic speed, see ndd ref in email
ndd -get /dev/hme \? # list all possible param
ndd -get /dev/hme \? | fgrep -v '?' | awk '{print "echo " $1 "; ndd -get /dev/hme " $1 }' |
sh
# display all NIC parameters, must run as root
ndd -get /dev/ip \? | fgrep -v '?' | awk '{ print $1 }' | awk -F\( '{print "echo; echo ---- "
$1 " ----; ndd -get /dev/ip " $1 " ; echo"}' | sh
# display lot of IP info. May want to pipe it to less...
ndd -get /dev/tcp \? | egrep -v '\?|obsolete' | awk '{print "echo; echo ---- $1 " ----; ndd -
get /dev/tcp " $1 " ; echo"}' | sh
# display lot of TCP info.
kstat -p hme:0::'/collisions|framing|crc|code_violations|tx_late_collisions/'
kstat -p dmfe:0::'/collisions|framing|crc|code_violations|tx_late_collisions/'
# get NIC collision stat from kernel stat. Runnable as user.
ifconfig -a
ifconfig hme0 plumb
ifconfig hme0 10.10.0.101 broadcast 10.10.0.255 netmask 255.255.255.0 up
hostname
/etc/inet/hosts ::
172.27.3.71 oaprod1
172.27.3.72 oaprod1-ce0
172.27.3.73 oaprod1-ce2
172.27.3.74 oaprod2-nic2
NFS
/etc/dfs/dfstab
(add sample)
/etc/default/nfs # solaris 10, need to change NFS client (and server) default vers max
to 3
# NFS 4 has nasty problems of ignoring NFS v3 security settings!!
/etc/default/autofs # all automount options are to be specified here,
# no more args for cli/init script such as -D ARCH=SOL10
# eg: AUTOMOUNTD_ENV=ARCH=SOL10
SYSTEM CONFIG
SOFTWARE MANAGEMENT
pkginfo : display installed package
pkgchk [pkgname] : check the accuracy of package (installed or spooled)
pkgadd -d [pkgname] all : install all entries from [pkgname]
pkgrm [pkgname] : remore package shown in pkginfo
0 No error
1 Usage error
2 Attempt to apply a patch that's already been applied [S10=1]
3 Effective UID is not root
4 Attempt to save original files failed
5 pkgadd failed
6 Patch is obsoleted
7 Invalid package directory
8 Attempting to patch a package that is not installed [S10=1,8]
9 Cannot access /usr/sbin/pkgadd (client problem)
10 Package validation errors
11 Error adding patch to root template
12 Patch script terminated due to signal
13 Symbolic link included in patch
14 NOT USED
15 The prepatch script had a return code other than 0.
16 The postpatch script had a return code other than 0.
17 Mismatch of the -d option between a previous patch
install and the current one.
18 Not enough space in the file systems that are targets
of the patch.
19 $SOFTINFO/INST_RELEASE file not found
20 A direct instance patch was required but not found
21 The required patches have not been installed on the manager
22 A progressive instance patch was required but not found
23 A restricted patch is already applied to the package
24 An incompatible patch is applied
25 A required patch is not applied [common]
26 The user specified backout data can't be found
27 The relative directory supplied can't be found
28 A pkginfo file is corrupt or missing
29 Bad patch ID format
30 Dryrun failure(s)
31 Path given for -C option is invalid
32 Must be running Solaris 2.6 or greater
33 Bad formatted patch file or patch file not found
34 Incorrect patch spool directory
35 Later revision already installed [S10=8]
36 Cannot create safe temporary directory
37 Illegal backout directory specified
38 A prepatch, prePatch or a postpatch script could not be executed
39 A compressed patch was unable to be decompressed
40 Error downloading a patch
41 Error verifying signed patch
To search to see which package installed a given file, grep thru the /var/sadm/install/contents
file.
eg, find who installed the cc (shell script!):
grep /usr/ucb/cc /var/sadm/install/contents
---
admintool : gui for varios task, add user, etc. runnable by user in gid 14
JASS
Sun JASS Security toolkit. Good stuff, can replace all the security script I wrote, but I still prefer to use mine for the
basic service disabling as the filename created by jass is kinda long and clunky.
default root password: t00lk1t
---
cd /opt/SUNWjass
script
./jass-execute -d secure.driver
exit
exit
NOTE that jass disalbe the X server, so even Xvnc will not be able to start.
vi /etc/dt/config/Xservers
bottom of file, remove the the section 'nolisten tcp'
==============================================================================
secure.driver: Finish script: disable-xserver-listen.fin
==============================================================================
---
/etc/inetd.conf
/etc/hosts.equiv # not really needed.
/.rhosts
hostname user
HARDWARE COMMANDS
format = slice/partition disk, surface scan, etc. Linux/DOS call this fdisk.
Note that under part submenu, use "label" to save changes to the partition table to
disk.
Use "volname" to add a name to the disk volume (shown in format disk list)
prtvtoc : print the volume table of content (vtoc, ie the partition table + disk geometry data)
drvconfig; tapes; devlinks : tell system to reconfigure for new tape drive, eg
/dev/rmt/0cbn etc
luxadm fcode_download -p
display HBA firmware version and driver/path info.
luxadm is probably only for 880 w/ sse dev, and some sun array products.
luxadm probe
display WWN of fc dev
Display resolution
fbconfig -help
fbconfig -res \? = list supported resolution for given frame buffer card
It seems to poke the monitor to see what it supports also.
fbconfig -res VESA_STD_1600x1200x85 try = test out desired resolution, test doesn't display
anything
but it does set monitor to that resolution, and
monitor ODM
can be used to see resolution/refresh or whether it
blank out.
At the end, it prompt to save cnofig or not.
fbconfig -res VESA_STD_1600x1200x85 now = setup for this session only, but not permanent?
fbconfig -res VESA_STD_1600x1200x85 = no subcommand, seems to just set it.
fbconfig -res VESA_STD_1856x1392x75 now = used in sunblade2500, actual monitor res=1920x1440,
which fb don't support.
Drivers
For the odd occasion of needing to add drivers, here are the things to lookup:
add_drv
rm_drv
FILES
/kernel/drv
boot device drivers
/usr/kernel/drv
other drivers that could potentially be shared between platforms
/platform/`uname -i`/kernel/drv
platform-dependent drivers
/etc/driver_aliases
driver aliases file
/etc/driver_classes
driver classes file
/etc/minor_perm
minor node permissions
/etc/name_to_major
major number binding
OBP
stop-a : abort
stop-d : enter diag mode
stop-f : forth in ttya
stop-n : reset nvram to default values
boot cdrom - install install new os (upgrade is done by software after boot).
boot cdrom - install = normal install from cdrom
boot net - install = jumptstart install
boot -s = single user mode, hd is typically first default boot device
boot cdrom -s = single user mode boot from cd (for resetting root password use, etc)
boot net0 -s = use jumpstart server, boot over network as single user
boot net1 -s = net=net0, net1 is 2nd NIC
probe-scsi-all
test-all
test /memory
test net
[var]
output-device def: screen alt: ttya ttyb
input-device def: keyboard alt: ttya ttyb
(some jerk has console, which, with frame buffer
card present, won't use ttya for output, weired...)
ttya-mode def: 9600,8,n,1,-
screen-#rows def: 34
auto-boot? def: true
device alias are set via nvalias [var] [val] and nvunalias [var]
---
Inside Solaris, shell command prompt can issue command eeprom to view and set eeprom variables,
including nvramrc, see the SDS/SVM root disk mirror for procedure.
for nvramrc modification, it is easiest if done from within solaris rather than
at the actual OK prompt.
For x86 platform, eeprom command from the shell must be used, as it doesn't have
a real OBP proper.
eeprom | grep serial # show system board serial, but not serial of machine
# for sun support case.
# eeprom local-mac-address?=true
use qfe internal local mac instead of same mac for all interfaces).
seems to require reboot; unplumb and plumb did not get it changed.
ifconfig has another option to program desired mac on it.
(in obp, it was either setenv or nvram something...)
---
Note that IDE disks have diff device path than scsi and fc devices:
IDE disks device on x86 has name of the form: c0d0s1 (ie, no d-number)
----
eeprom tty-ignore-cd=true
eeprom input-device=ttya
eeprom output-device=ttya
---
redirecting serial console to the serial port of RSC card (Remote Server Control)
Note that it is not like the LOM on SunFire V100.
RSC require OS software counterpart to work.
So, before setting this OBP param, install RSC software first!!
diag-console rsc
setenv input-device rsc-console
setenv output-device rsc-console
After turning on the power to your system, watch the front panel wrench
LED for rapid flashing during the boot process. Press the front panel Power
button twice (with a short, one-second delay in between presses).
[it is not the immediate boot flashing, wait for about 1 minutes later,
where service light flashes longer and front panel yellow arrrow does not comes on).
Notes:
The above procedure sets all nvram parameters to their default settings.
These changes are temporary and the original values will be restored after the
next hardware or software reset.
Ref:
http://www.sunshack.org/data/sh/2.1/infoserver.central/data/syshbk/General/OBP.html
poweron
poweroff
there are options for LOM to automatically power cycle machine if it does not receive LOM
events after threshold.
Solve misterious hang problem.
---
It is probably a bit more integrated with the OS, to the sense that OS
can issue commands to configure/interact with ALOM, via the scadm command in
/usr/platform/SUNW,Sun-Fire-V240/sbin/scadm ALOM-cmd
ALOM cmd:
usershow
...
A large number of Sun machines have an RSC PCI card in the back, eg E220$, E420R, V480).
The PCI card has a build in batter pack and thus allow one to use it even when
machine is powered off. It allows the admin to remotely power on the machine, and,
if Serial Console is redirected, to gain access to it also.
The biggest flaw is that the console has to be redirected via OBP, and it is a redirect,
not a mirroring of the console as done by HP-UX or AIX. The RSC card also need special
software installed on the machine first, so forget about using it as the console for
setting up OS on a new box. Again, I like LOM, nothing else from Sun is better than LOM :)
I do wish that the make LOM the standard for ALL machines, but with the new AMD-based machines,
I think Sun is going even more backward and using VGA, PS/2 Keyboard and Mouse. Yikes!
RSC has both serial console and NIC for telnet/http login to the RSC service.
If terminal server/serial concentrator is available, the only thing that
RSC provides is the ability to remotely power cycle the machine.
Main ref:
Sun Remote System Control (RSC) 2.2 User's Guide
It refers to E-250, but okay in 280R, V480
pkgadd -d .
system SUNWrsc Remote System Control
system SUNWrscd Remote System Control User Guide
system SUNWrscj Remote System Control GUI
/usr/platform/.../rsc/rsc-config
ok diag-console rsc
ok setenv input-device rsc-console
ok setenv output-device rsc-console
p34:
If RSC is not designated as the system console, you cannot use RSC to access the
console. You can temporarily redirect the console to RSC using the RSC bootmode
-u command, or by choosing Set Boot Mode using the RSC GUI and checking the
box labeled ôForce the host to direct the console to RSC.ö These methods affect the
next boot only.
---
Saving config and user account info:
---
Security assesment:
Ports open on RSC card IP address as per nmap scan:
filtered ports are not actually connectable using telnet test.
so, really just open 23 and 7598.
RSC COMMANDS
IPMI
---
-----
----
IPMI commands.
see ...
IPMI commands can be issued via a login to the IPMI LAN port, or
from the running host using the command ipmitool,
this is available in both Solaris and Linux,
and it is a special kernel module that need to be installed/compiled in,
and activated/loaded after boot.
# enabling IPMI thru lan interface on sol x64 / linux p 17
ipmitool -I lipmi lan set 6 ipaddr
ipmitool -I lipmi lan set 6 netmask
ipmitool -I lipmi lan set 6 defgw ipaddr
ipmitool -I lipmi lan set 6 password
# enabling LAN IPMI access, via out-of-band setup via LAN, p18
ipmi enable channel lan
DIAGNOSTIC TOOL
--
SunVTS, Sun Validation and Test suite for hardware verification and stress test.
http://www.sun.com/oem/products/vts/index.html
ver 5.1 (ps9) works for sol 9 and 8 (maybe 7).
[ver 6.0 works exclusively for sol 10; pkg install slightly diff]
pkgadd -d . SUNWlxml SUNWlxmlx # for sol 8 w/o xml pkg
pkgadd -d . SUNWvts SUNWvtsx SUNWvtsmn
# ask to enable kerberos, answer no.
Can copy /opt/SUNWvts/bin to an NFS dir and run it from there.
Sol 8 still need SUNWlxml and SUNWlxmlx installed for lib dependencies.
Sol9 seems to have some warning but runs ok.
cd /opt/SUNWvts/bin
./sunvts -t -l logdir # -t = TUI, easy to just start default test and let it run
# -l /path/to/logdir so that it does not log to /tmp by default
RANDOM SUN HARDWARE INFO
not sure what is system view of CPU numbering, guess it would be:
http://docs.sun.com/db?p=/doc/806-3992-10/6jd3qmd5l&a=view
no special procedure other than unmounting the drive and/or stopping volume mgnt software on
the os level.
then just plug in drive and reprobe with drvconfig...
actually, 450 probed the disk automatically and onlined it (LED on, see new disk in format).
NIC name
hme0 most machines circa 2000 machines, eg Ultra 10, E220R, E250, E450, etc. 100 Mbps.
aka Happy Meal Entrie
qfe0 PCI quad card 100 Mbps each, circa 2000
qfe4
iprb0 intel-based NIC (x86, eg Dell desktop, IBM laptop, PCI card)
elxl0 3Com NIC (x86, eg PCI card for desktop)
kbd -a disable : disable break mode when keyboard is pulled (safe to pull keyboard).
kbd -a enable : enable break mode, when keyboard is pulled, system drop to OK prompt.
# also make changes to /etc/default/kbd for boot time default.
ls /platform/sun4u/kernel/
isalist
(ref)
SAR
MULTI BOOT
reboot -- disk2
JUMPSTART
Run
add_install_server
from the Solaris CD #1, inside the Tools directory.
It will copy over all the necessary files to host the jumpstart server.
Files to modify after jumpstart server is setup, but just need to add client::
rules
Profiles/
Sysidcfg/
/etc/ethers
/etc/hosts
cd /jumpstart/OS.local/sol_10_305_sparc/Solaris_10/Tools/
./add_install_client -p 172.27.38.15:/jumpstart/Sysidcfg/sol-client10 -c
172.27.38.15:/jumpstart sol-client10 sun4u
cd /jumpstart/OS.local/sol_8_1001_sparc/Solaris_8/Tools/
./add_install_client -p 172.27.13.15:/jumpstart/Sysidcfg/sol-client8 -c
172.27.13.15:/jumpstart sol-client8 sun4u
edit /etc/bootparams, and ensure all entries for server use IP address, not hostname.
If wanting to use another NFS server for main file repository,
would need to edit bootparams file carefully.
Be sure to correlate the info with local hosts file also.
Cavets:
10. network_interface=primary
11. network_interface=default
12.
13.
14.
15. Virtual interfaces.
16. If the jumpstart machine has a single nic that would be plugged to different vlan,
17. it is okay to have /etc/rc2.d/S98setVlan script that setup a bunch of virtual
interfaces:
18. ifconfig iprb0:8 plumb
19. ifconfig iprb0:8 172.27.8.15 netmask + broadcast + up
20. ifconfig iprb0:13 plumb
21. ifconfig iprb0:13 172.27.13.15 netmask + broadcast + up
22. ifconfig iprb0:38 plumb
23. ifconfig iprb0:38 172.27.38.15 netmask + broadcast + up
24.
25. ensure that /etc/netmasks has all the vlan defined, mistake may cause
26. jumpstart client boottime hang problem.
27.
28. This way, just need to plug cable to the right vlan and no software changes.
29. The downside of this config is that routing to different vlan defined by the
30. virtual interface won't work (unless the switch configure all the vlans on the
31. port the jumpstart server NIC is connected to).
32.
33.
34.
35. If change IP of the jumpstart server, be sure to:
36.
37. /etc/init.d/boot.server stop
38. /etc/init.d/boot.server start
39.
40.
41.
"SPECIAL" HARDWARE CONFIG
There are some posting about issues of creating more than one mirror pair...
Can probably only do RAID 1+0.
Monitor task:
--------------------------
set ip
set gateway 10.215.2.2
set netmask 255.255.255.0
Target:
disk 1-6, strip + mirror ( raid 1 in T3+ of 2n, n>1 will automatically be strip + m
irror)
disk 7-8, mirror
disk 9, hot spare
files:
/etc/
syslog
---
Sun StorEdge Component Manager is software that can be installed on host to manage the T3/T3+
array.
But I didn't install it, and configured it via telnet/serial login cli.
Raid Manager (RM6) is used to control the A1000 (array) and D1000 (JBOD) boxen.
These are pretty old by now, popular during the dot-bomb days circa Y2k.
As old as the D1000 is, it will take drives up to 144 GB in size.
D1000 system handbook Sun login required now :(
RM6 commands
raidutil -c c2t5d0 -i : get info about raid device, such as firmware version, etc.
drivutil
fwutil
healthck
lad
logutil
nvutil
parityck
raidutil
rdacutil
rm6
storutil
rm6 Gives an overview of the softwareÆs graphical user interface (GUI), command-line
programs, background process programs and driver modules, and customizable
elements.
rdac Describes the software's support for RDAC (Redundant Disk Array Controller),
including details on any applicable drivers and daemons.
rmevent The RAID Event File Format. This is the file format used by the applications to
dispatch an event to the rmscript notification script. It also is the format for
Message Log's log file (the default is rmlog.log).
raidcode.txt A text file containing information about the various RAID events and error codes.
Command-Line Utilities
drivutil The drive/LUN utility. This program manages drives/LUNs. It allows you to
obtain drive/LUN information, revive a LUN, fail/revive a drive, and obtain LUN
reconstruction progress.
fwutil The controller firmware download utility. This program downloads appware,
bootware, or an NVSRAM file to a specified controller.
healthck The health check utility. This program performs a health check on the indicated
RAID module and displays a report to standard output.
lad The list array devices utility. This program identifies the RAID controllers and
logical units that are connected to the system.
logutil The log format utility. This program formats the error log file and displays a
formatted version to the standard output.
nvutil The NVSRAM display/modification utility. This program views and changes RAID
controller non-volatile RAM settings, allowing for some customization of controller
behavior. It verifies and fixes any NVSRAM settings that are not compatible with
the storage management software.
parityck The parity check/repair utility. This program checks and, if necessary, repairs the
parity information stored on the array.
raidutil The RAID configuration utility. This program is the command-line counterpart to
the graphical Configuration application. It allows you to create and delete RAID
logical units and hot spares from a command line or script. It also allows certain
battery management functions to be performed on one controller at a time.
rdacutil The redundant disk array controller management utility. This program permits
certain redundant controller operations such as LUN load balancing and controller
storutil The host store utility. This program performs certain operations on a region of the
controller called host store. You can use this utility to set an independent controller
configuration, change RAID module names, and clear information in the host store
region.
arraymon The array monitor background process. The array monitor watches for the
occurrence of exception conditions in the array and provides administrator
notification when they occur.
rdaemon
(UNIX only)
The redundant I/O path error resolution daemon. The rdaemon receives and
reacts to redundant controller exception events and participates in the applicationtransparent
recovery of those events through error analysis and, if necessary,
controller failover.
rdriver
(Solaris only)
The redundant I/O path routing driver. The rdriver module works in
cooperation with rdaemon in handling the transparent recovery of I/O path
failures. It routes I/Os down the proper path and communicates with the rdaemon
about errors and their resolution.
CUSTOMIZABLE ELEMENTS
rmparams The storage management softwareÆs parameter file. This ASCII file has a number of
parameter settings, such as the array monitor poll interval, what time to perform
the daily array parity check, and so on. The storage management applications read
this file at startup or at other selected times during their execution. A subset of the
parameters in the rmparams file are changeable under the graphical user interface.
For more information about the rmparams file, see the Sun StorEdge RAID Manager
Installation and Support Guide.
rmscript The notification script. This script is called by the array monitor and other
programs whenever an important event is reported. The file has certain standard
actions, including posting the event to the message log (rmlog.log), sending
email to the superuser/administrator and, in some cases, sending an SNMP trap.
Although you can edit the rmscript file, be sure that you do not disturb any of
the standard actions.
----
a1000 (at least the one attached to sonata, then moved to perseus),
scsi controller is DIFF, SE don't work. From An, DIFF is high voltage differential,
SE is low voltage diff. Thus, A1000 controller is High Voltage Diff.
If connect to SE, the scsi bus light blink on the A1000, and no disk/arraay
will be seen by the host.
install RM6 (old software, circa 2002. version 6.22.1 was last one).
get patches for OS, most are in cluster patch now.
patchadd -M . 112126-06
# patchadd -M . 113277-04 113033-03 # these 2 seems to be added by cluster patch
# 113033-03 is only for sbus hba
init S; patchadd 112233-04; touch /reconfigure; reboot
#112233 seems to have later version in latest cluster patch.
run rm6, select controller on array, go to firmware, and after all the warnings,
it will provide list of firmwares that came with RM6, ready for download to the array
controller.
Upgrade them in sequence to avoid firmware jump unsupported problems.
It is possible to change a group from RAID 10 to RAID 5 while disk online w/ file system
active.
Extra space gained can be used to create extra LUN.
But RM6 (on A1000) does not support LUN expandsion, so if desire to create a single LUN
with all the disk space of RAID 5, it will still need to remove the LUN, and then recreate it.
This of course means offline the fs.
RM6 warns that OS communicate with array and expect to see a LUN 0, and problem can arise when
there is no LUN 0, and that to recreate it back right away.
So far, no problem. Maybe should avoid using format and other disk poking tool
when there is no LUN 0.
---
raid storage array
STOREDGE 3510
IP config
software control via fc port: Configuration Service Console
/opt/SUNWsscs/sscsconsole/sscs (GUI)
SE3510 allow global standby/hotspare disk that can serve multiple LD/LV.
---
---
Use the custom config button to see all the tasks that can be done on an LV
such as partition/lun creation, channel/port binding (for host to see), etc.