[ENBD] raid1 mirroring inside enbd

Peter T. Breuer enbd@lists.community.tummy.com
Sun, 5 Jan 2003 13:18:33 +0100 (MET)


"Matthew Sackman wrote:"
> initially only a network issue. What I would suggest is that there is
> some means, when the faulty server comes back up, that you can ascertain
> whether it really was just a network issue or something more fatal. Two
> methods that spring to mind:
> i) Maintain a copy of the last write on the client and the server. When
> the server comes back, ask it what the last write was and if it doesn't
> match the client copy then do a full classical resync.
> ii) Maintain a counter of the number of writes made per disk in the
> array on both the client and the server. Proceed as above.
> iii) Some combination of both.

I don't think any of these work. i) is out for efficiency reasons
(well, it's possible with mmap, but I'd rather not try it ..), 
ii) is not safe.

What I suggest is that the server decide if it wants a full resync or
not when it comes back up. Let's leave the question of the servers
decision for the moment. It should tell the client if it wants to
be integrated into the array with partial update (0) or full update
(1).

How should the server decide? Well, it has to know if its resource
medium has changed or not.

One could keep a session signature somewhere on the source medium,
but I'm reluctant to do that.


Peter