Disk duplexing w/SCO Unix/Xenix

Chris Lewis clewis at eci386.uucp
Fri Jul 21 02:05:55 AEST 1989


In article <14 at aostul.UUCP> steveb at aostul.UUCP (Steve Bogner) writes:
>
>We have a large (potential) customer that wants an SCO Unix system
>that is "fault tolerant" (in the Novell LAN sense).  This would
>include "disk mirroring" or "disk duplexing" where a second hard disk
>is maintained as an exact image of the primary disk.  The reasoning
>goes that if the primary disk goes bad, they can automatically run off
>the second disk without any difficulty.  Does anyone know if there is
>such an animal?  

This *might* be moderately easy to do if you don't get too petrified by
playing with drivers.  The disk drivers have open, close, read, write
entries.  Create a new pseudo driver that:

	- has the same entries as the disk driver.
	- each open/read/write entry examines its minor number, and
	  for each minor number you want to mirror (you *probably*
	  want to mirror the *whole* disk), call the regular disk
	  driver, and then call it again with the minor number of the
	  same partition of the second disk.  (Usually by simply
	  or'ing in a bit into the minor).  Obviously you *don't*
	  want to do this with "reads" ;-).
	- set this new driver as the driver that the O/S uses for
	  the disks in question - eg: you may want to change the
	  root device, /dev/usr major/minor numbers etc.

Then, you have to build the two disks to be EXACT duplicates of the
other (except of course for bad blocks).  This could be done by building
a kernel with write mirroring, putting it on a boot floppy, booting
with it, and doing the rest of the installation that way.

It's tricky tho - fsck would be reading from one disk to find defects
and would be correcting all defects on *both* drives - which may
not be the same.  A better approach would be to confirm that the disk
is okay and fsck it thru the *original* (non-duplicating) driver
entries, and then copy the whole drive to the other disk.

I'm not sure from an operational standpoint whether this could be made 
feasible and/or bullet-proof enough to do this to the root disk.  Then again,
you could do it on specific partitions without too much difficulty.
*Don't* do it to the swap device.  Prepare to be hit with a performance
penalty too (even if you do get fancy and manage to get the pseudo driver
to call both drivers simultaneously).   And, you would have to play around
with creating additional disk buffers (the two invocations would have
to have different buffers for the write buffers).

Better yet, sell 'em a NCR Tower with SCSI disks and turn mirroring on
there....
-- 
Chris Lewis, R.H. Lathwell & Associates: Elegant Communications Inc.
UUCP: {uunet!mnetor, utcsri!utzoo}!lsuc!eci386!clewis
Phone: (416)-595-5425



More information about the Comp.unix.xenix mailing list