
On Nov 6, 2009, at 3:32 PM, Brian Sneddon wrote:
None of those will preserve state, however, which I believe was the main issue being presented by the original poster. I use Linux-HA quite a bit and it's great for service availability, but doesn't really help if you're trying to perform a stateful failover.
Brian
[snip] I, for one, would be very interested to see anyone's results with the logically extreme version of "keeping state", meaning keeping media state. Asterisk can't perform failover between two discreet systems and maintain media state, if media is indeed being handled as a B2BUA and RTP relay. We (Digium) have been asked a few times about it, but the engineering effort is much much larger than the payoff and nobody from the open-source community has stepped forward with any code. The amount of synchronization data that would have to be exchanged between two systems running RTP and signaling is large. VERY large. That's not to say it can't be done, but I just haven't seen it done even with VMWare or other VM-based systems which may claim to be able to synchronize instances between chassis platforms. Most failures aren't hardware or chassis-based; they're software- based, so duplicating corrupted memory structures between two machines will give you (surprise!) two dead machines, or two dead apps on two machines regardless of the application being used. So this has limited use. Anyone who has code that relays minimal state WITHOUT mirroring the whole app/system so that two instances of (for instance) Asterisk could be synchronized without shared fate... I'll be very VERY interested in that. :-) So: has anyone out there done this with any RTP-capable systems running on Linux (Asterisk or otherwise)? If so, can you post notes and operational techniques? JT --- John Todd email:jtodd at digium.com Digium, Inc. | Asterisk Open Source Community Director 445 Jan Davis Drive NW - Huntsville AL 35806 - USA direct: +1-256-428-6083 http://www.digium.com/