Path: utzoo!utgpu!attcan!telly!eci386!clewis From: clewis@eci386.uucp (Chris Lewis) Newsgroups: comp.unix.xenix Subject: Re: Disk duplexing w/SCO Unix/Xenix Keywords: fault tolerance, disk Message-ID: <1989Jul20.160555.12182@eci386.uucp> Date: 20 Jul 89 16:05:55 GMT References: <14@aostul.UUCP> Reply-To: clewis@eci386.UUCP (Chris Lewis) Organization: R. H. Lathwell Associates: Elegant Communications, Inc. Lines: 53 In article <14@aostul.UUCP> steveb@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