[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Solaris device tree question
Evening/Morning (depending on the time zone :-),
I have this situation which I can't believe hasn't been solved by someone
out there. It goes something like this...
When you install Solaris, it builds up the "device tree" which is a
mapping of /dev entries to underlying hardware. Part of this is the
allocation of controller numbers to each disk controller it finds. This
search is conducted in order by backplane (across multi-system board
configs), and by SBus card. The numbers are allocated sequentially,
eliminating any gaps. (So you see /dev/c0xxx, /dev/c1xxx, etc).
If you add hardware (a new controller) after this build, the new
controller gets the next number. (i.e. Solaris remembers where it was
up to.) All this is handled by /etc/path_to_inst, which is a file
you really don't want to edit by hand.
Now the problem arises when you build a new O/S from scratch (or when
you boot of CDROM) and it builds a new device tree from scratch --
altering the positions of the disks with somewhat less than desirable
consequences... :-|
There are (to my way of thinking) 4 strategies for dealing with this:
1. Physically move controllers around so they match the search
order (the hardware solution).
2. Tell the EEPROM the sequence to 'discover' devices in (the
firmware solution).
3. Remap the devices in Solaris to map the original sequence.
(maintain existing mappings)
4. (Find and) update all device references to reflect the new
(default) device paths. (Application reconfiguration)
Now, it would seem (2) is the best, but I don't know if it can be
done. (3) is only deferring the problem, and (1) requires pulling the
machine apart, and probably unbalances the I/O load somewhat. (4) is a
pain in the butt 'cause you have to find all the references, and if you
miss one... :-(
Also, the machine uses Disk Suite so this makes things worse. Yes, I've
read infodoc 2224 (I think that's the number), which basically describes
how to do (4), but it's very manual and error prone. If we go with (4),
I'd like to automate it a little.
So:
Q1. How have people tackled this problem?
Q2. Are there any tools which give you a complete mapping of the
existing config as a precursor to all of the above options?
(prtdiag isn't quite there, neither is prtconf)
Q3. Any other techniques or advice?
Send to me and I'll summarise.
Warm regards,
Geoff
----------------------------------------------------------------------------
Geoff Halprin Geoff.Halprin@sysadmin.com.au
Managing Director http://www.sysadmin.com.au
The SysAdmin Group Pty Ltd Phone: +61-3-9686-3233
238 Richardson Street, Middle Park, VIC 3206 Fax: +61-3-9686-3399
PGP Fingerprint: (FE349AAD) 05 93 68 35 B2 09 8E 6F 79 8C 16 F8 8F BC 2E CB
----------------------------------------------------------------------------