lkml.org 
[lkml]   [1999]   [Jul]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: High-availability question
From
Date
>> Hope this is not too much off-topic.  I have a client who wants to setup
>> a
>> high-availability linux server network. It's an ISP, so we're talking
>> mail/web/ftp/dns/etc. I would like to have 2 identical boxes, with
>> identical harddisks partitioned the same way, and to have the main box
>> constantly synchronize it's filesystem with the standby box, so that when
>> it fails, the standby just does an IP takeover, and has all the recent
>> data
>> in place.
>
>If you don't want that, then my only other thought would be to modify the
>kernel to do some logging of disk blocks that are not up to date since the
>last time you updated the other system. Then you could atomically plug
>the I/O device, handle pending requests, and retrieve a worklist of blocks
>to update in order to sync the drives. Then you could ship that over the
>network and then update the drive in the other system. This time, you
>could theoretically avoid the fsck if all processes on the system were
>made aware of the failover situation and were to cooperate to get a
>consistent snapshot of the drive... but I don't think that's gonna happen.
>So again, you'll probably need to fsck.

Yes, this was exactly what I was thinking about. Simply syncing each raw
disk transaction, and since the geometry and partitions are the same, it
should be up to date. Running only one process instead of init gets rid of
the problem of notifying other processes of the updates.

>
>> My idea was to have the standby box run a custom init binary, that would
>> just sync the disks and wait for the other box to die. When it dies, it
>> runs the real init, everything comes up, and the box takes over.
>
>My recommendation is probably that you mirror the disks (software, or
>hardware if you have the $ to spend) to preserve data, and adapt the above
>slightly, so that instead of a custom init, you have kernel support for
>"wait until failover". And don't bother syncing the disks, because the md
>driver (or hardware RAID system) will do that work for you.


The boxes will have RAID anyway, but I'm trying to guard against the RAID
controller failure. Can the md driver do mirroring over network? If so,
then all my problems are solved. If not, where in the kernel sources should
I look for the code that flushes the buffer cache to disk?

--
Regards,
Modemch


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:53    [W:0.149 / U:0.312 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site