I was just curious to what your redundancy solution is. I have considered many options, so I thought I would share and get an idea for what others are doing. My setup is two different locations with a 10MB WLAN fiber link between the two. Each location has it's own PRI as well. I have considered and tested many options this last year or so. 1) Using hearbeat and drbd to monitor the servers. When the primary fails the backup will assign itself the virtual ip used between the two, and then mount the drbd disk which has the asterisk configs and voicemail. The biggest con to this is hearbeat just monitors a ping response either over IP or a COM port. So if the asterisk service dies, heartbeat will not fail over. Although I think there are work arounds for this. The newest version is suppose to have support for monitoring a TCP port as well.... 2) Have two servers with the same dialplan. One in each location. Each server has it's own TDM cards installed. Phones on Site A will register with the server on Site A, and phones on Site B will register with the server on Site B. Then using Polycom phones, they will failover to using the server not on their site, if their primary isn't available. I have setup scripts to copy the dialplan from one server to the other then reload asterisk nightly. The biggest Con to this is I have to be sure my dialplans don't get different. The user's voicemail wouldn't be available until their primary server is back up, but that's OK. 3) Having a main asterisk server and a smaller VoIP gateway at each site. The gateway is a small 14inch deep rack server with a P4 and 1Gig RAM running asterisk. It will host the TDM cards, and just handle traffic to/from the PRI. The main asterisk server will just see it as a SIP trunk. The failover here is that the polycom phones will register with the gateway if the primary server isn't available. They won't have all the features and voicemail, but at least they can dial out and get 911 if needed. What do you think? Do you have a better solution? Thanks!! -- *** Forrest Beck IAXTEL: 17002871718 jonforrest.beck@gmail.com
On 4/11/07, Forrest Beck <jonforrest.beck@gmail.com> wrote:> 2) Have two servers with the same dialplan. One in each location. > Each server has it's own TDM cards installed. Phones on Site A will > register with the server on Site A, and phones on Site B will register > with the server on Site B. Then using Polycom phones, they will > failover to using the server not on their site, if their primary isn't > available. I have setup scripts to copy the dialplan from one server > to the other then reload asterisk nightly. The biggest Con to this is > I have to be sure my dialplans don't get different. The user's > voicemail wouldn't be available until their primary server is back up, > but that's OK.Now you said you had two machines with the same dialplans. What happens when you go into fail over an someone leaves a voice message and it gets stuck on the other server? I think the key here is to treat functions as a cluster. IVRs, voicemail, phone calls, etc you need to have a redundant solution for each, not just a spare or redundant asterisk server. Then again you could be working on a small scale project where what I describe its not really important.
On Wed, 11 Apr 2007, Forrest Beck said something to this effect:> 1) Using hearbeat and drbd to monitor the servers. When the primary > fails the backup will assign itself the virtual ip used between the two, > and then mount the drbd disk which has the asterisk configs and > voicemail. The biggest con to this is hearbeat just monitors a ping > response either over IP or a COM port. So if the asterisk service dies, > heartbeat will not fail over. Although I think there are work arounds > for this. The newest version is suppose to have support for monitoring a > TCP port as well....This seems like a good approach, if you've got any stability and/or filesystem-related quirks ironed out -- I've heard of some. I don't know much about heartbeat, but I don't imagine it'd be hard to hack in a SIP polling event either internally or externally. You could use SIP Swiss Army Knife (sipsak) or some other SIP testing tool to send a periodic OPTIONS ping to the SIP service and trigger a protection switch to the secondary server if it's down. Even if you can't hack this into the heartbeat setup itself (can't it use external scripts for monitoring?), you can certainly do something like run it on the primary server and if the SIP service dies, enact a firewall rule that drops ICMP responses and thus artificially trigger a failure. -- Alex -- Alex Balashov <sasha@presidium.org>
On Wed, 11 Apr 2007, Andrew Joakimsen said something to this effect:> Now you said you had two machines with the same dialplans. What happens > when you go into fail over an someone leaves a voice message and it gets > stuck on the other server?I would agree strongly. This is why I favour either a Linux high-availability cluster (HA & heartbeat) setup, or some kind of intermediate storage layer for more sophisticated messaging systems that is replicated and which all the nodes can access uniformly. -- Alex Balashov <sasha@presidium.org>
alex, I have been considering linux clustering for *... am not ready today and expect it in about 6-9 months... was wondering if anyone had put * on a cluster and what experiences they gained?.... have you done this? daveC Alex Balashov wrote:> On Wed, 11 Apr 2007, Andrew Joakimsen said something to this effect: > >> Now you said you had two machines with the same dialplans. What >> happens when you go into fail over an someone leaves a voice message >> and it gets stuck on the other server? > > I would agree strongly. This is why I favour either a Linux > high-availability cluster (HA & heartbeat) setup, or some kind of > intermediate storage layer for more sophisticated messaging systems > that is replicated and which all the nodes can access uniformly. > > -- > Alex Balashov <sasha@presidium.org> > _______________________________________________ > --Bandwidth and Colocation provided by Easynews.com -- > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users > > >-- Building Strong Relationships w/ Intelligent Customer Service -- Interlocking Business Solutions, LLC 856-380-0894 x5000
Hi Forrest, This is very close to the option we use - we have 2 identical servers, and keep the configs the same using Visual Sourcesafe to shadow all changes on server1 to server2. Voicemail and other lib files are stored on the spare server and exported to the primary server using NFS. If the primary server fails, DNS SRV records have the Polycom phones failover to the spare server. We physically move the PRIs from one server to the other. Forrest Beck wrote:> 2) Have two servers with the same dialplan. One in each location. > Each server has it's own TDM cards installed. Phones on Site A will > register with the server on Site A, and phones on Site B will > register with the server on Site B. Then using Polycom phones, they > will failover to using the server not on their site, if their primary > isn't available. I have setup scripts to copy the dialplan from one > server to the other then reload asterisk nightly. The biggest Con to > this is I have to be sure my dialplans don't get different. The > user's voicemail wouldn't be available until their primary server is > back up, but that's OK. >-- Anthony Rodgers Business Systems Analyst District of North Vancouver Web: http://www.dnv.org RSS Feed: http://www.dnv.org/rss.asp