Subject: Re: Config ...
To: Todd Whitesel <toddpw@best.com>
From: Eduardo E. Horvath <eeh@one-o.com>
List: tech-kern
Date: 08/20/1998 20:54:47
On Thu, 20 Aug 1998, Todd Whitesel wrote:

> >I hate rebooting my machine to turn on/off a tape or move it to another machine
> >There is only one thing missing in NETBsd, a command to start/stop a scsi-bus,
> >and you could revommend a save method for switching devices online.
> >(eg. Unixware 7 has this now)
> 
> When I was using/adminning SunOS at my last job, tape drives and CD-ROMs
> were regularly moved around without rebooting machines:
> 
> 	umount (does this guarantee a sync?)
> 	stop-A (suspend the kernel and enter debug firmware with ints masked)
> 	unplug tape/cdrom and fix terminator
> 	'go' (unsuspend the kernel)
> 
> ... and a similar reverse procedure for reconnecting things. I found that
> this worked quite well, and never once observed any fried hardware.
> 
> The same technique worked with Solaris2 but could be foiled by "boot -r"
> which would remove the unused device nodes from /dev.

Solaris as of 2.6 has some support for doing this on-line.  If you look in
the obscure recesses of the luxadm command you will see options to quiesce
and unquiesce HBAs that support those operations.  You can:

	quiesce the HBA
	plug in a new disk
	unquiesce the HBA
	run drvconfig, devlinks and disks
	access your brand-spanking-new HDD you just attached to the system

Sounds good?  Well, there are some problems.  Don't quiesce your root disk
or you can easily hang your machine.  And keeping track of what devices
are plugged in where on a system of any size is a nightmare, since you
never know what physical slot your controller number 1 is plugged into.
Or is it an on-board device?

I strongly recommend deciding what you want to do about device naming
before embarking on dynamic configuration.  It's really annoying when sd3a
which has your root partition on it suddenly changes and becomes sd2a
because one of the other disks did not come up.  And Wiring it down in the
kernel config file is useless because, since it's a fully dynamic kernel,
none of the devices are in the kernel config file.  

=========================================================================
Eduardo Horvath				eeh@one-o.com
	"I need to find a pithy new quote." -- me