Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
On Wednesday 02 February 2005 23:38, Jens Vagelpohl wrote: On Feb 3, 2005, at 0:03, Miguel Ruiz Velasco Sobrino wrote: --- [EMAIL PROTECTED] wrote: The DNS approach does not handle single or multiple system failures, only very elementary load balancing over a lengthy period of time. Are you shure of that? I'm aware that the load criteria is trickier, but very possible. Operating systems and probably a lot of devices *cache* the results of DNS lookups. That means removing A records won't do any good. If you give the DJBDNS name server multiple IPs for the same machine, it will return a set of 8 at random. Won't Windows (and hardphones??) then try those in order until they succeed? If the address they reach later becomes unavailable, will the be bright enough to try the other addresses? The hard phones must surely expire their DNS cache at some point? Gary ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
On Wed, 2005-02-09 at 20:15 +, Gary Stimson wrote: On Wednesday 02 February 2005 23:38, Jens Vagelpohl wrote: On Feb 3, 2005, at 0:03, Miguel Ruiz Velasco Sobrino wrote: --- [EMAIL PROTECTED] wrote: The DNS approach does not handle single or multiple system failures, only very elementary load balancing over a lengthy period of time. Are you shure of that? I'm aware that the load criteria is trickier, but very possible. Operating systems and probably a lot of devices *cache* the results of DNS lookups. That means removing A records won't do any good. If you give the DJBDNS name server multiple IPs for the same machine, it will return a set of 8 at random. Won't Windows (and hardphones??) then try those in order until they succeed? If the address they reach later becomes unavailable, will the be bright enough to try the other addresses? The hard phones must surely expire their DNS cache at some point? Grandstream phones works fine. Gary ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users -- Domjan Attila [EMAIL PROTECTED] ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
The DNS approach does not handle single or multiple system failures, only very elementary load balancing over a lengthy period of time. Are you shure of that? I'm aware that the load criteria is trickier, but very possible. Yes, very sure. Look at past posts relative to the Broadvoice.com problem and you'll see one step in the recommended 'fix' was to install a /etc/hosts entry in the customer's system. Once something like that is done getting that admin to remove/change it is almost impossible. Operating systems and probably a lot of devices *cache* the results of DNS lookups. That means removing A records won't do any good. One can specify a short dns cache time within the primary dns, however a substantial number of machines ignore the value. Short story: No matter what network service is being balanced, if you want to guard against failure and against customers noticing that failure use a real load balancing solution, DDNS is not suitable. Agree with that 100%. ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
How about a management server that polls the asterisk servers every minute with snmp to check cpu and ram cache, maybe even drive space. Then you could have a script decide whether the server can handle anymore connections. There are lots of different ways to measure how busy a server happens to be and snmp can be made to do that. Another is simply counting pkts/sec to/from a server. I am still a beginner so I am not sure how you could have asterisk delegate calls to other servers. would a redirect transfer remove the management server from the loop? Part of the problem is that something needs to detect a failed server and that failure can be anything from a broken cat5 cable to an internal s/w error (* failed, OS is up), etc. using loadbalancer? http://www.vovida.org/applications/downloads/loadbalancer/ The person that wrote that has a rather lengthy list of ToDo's and hasn't touched it since May 2002. I'd bet they decide the problem was much larger then what they initially thought. Documenting and handling the exception conditions with sip rtp is more difficult then what it appears on the surface. these are just ideas I am tossing out here for you. Writing code to handle asterisk-to-asterisk load balancing would be substantially easier then dealing with sip phones and adapters that have hard coded logic, and in at least some cases, that logic is less then robust. All sip devices would need to be covered one way or another. ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
DNS based load ballancing has it's place, as dose using an application level switch. Say an earthquake takes out your California data center. Shortly the DNS servers will notice and pull that center's record. However do to caches and all this is not fast and users will notice. What the switch does is route at the protocol level between local machines. You can take a machine off line and no one will notice. Works great until the big quake a backhoe takes out a fiber cable ro there is a fire flood or who knows what. You have fiber-seeking-backhoes in your area? Wow! protocol level switches have to know about the protocol. You can buy them that work with HTTP, HTTPS and the common ones but I wonder aboit SIP? Getting the RPT to the right * server would be hard beetrer to have a proxy tell the user which * server to go to and nothave to route RTP. Handling sip-rtp via a load balancer is roughly equivalent to handling ftp (ports 20 21, passive, etc). The load balancer really needs to inspect sip packet content and follow the rtp port negotiation process. I'm not aware of any balancers that can do that today. ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
I'm trying to stay away from a software based load balancer cause what happens if that server fails? Its far less likely for a piece of dedicated hardware to fail than an actual computer. A piece of dedicated hardware runs an OS as well. I've been running software solutions for virtually everything there is, with linux, and it's rock stable. roy ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
Rich Adamson wrote: [snip] I'm not aware of any balancers that can do that today. Afaik Cisco is working on SIP aware loadbalancer functionality. Don't know what the status is and since it's Cisco I'm sure it will cost a bundle. Regards, Patrick ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
RE: [Asterisk-Users] Re: load balancing 20 asterisk servers
-Original Message- From: Rich Adamson [mailto:[EMAIL PROTECTED] You have fiber-seeking-backhoes in your area? Wow! They're everywhere, man! When I was in college an entire nearby town lost all phone service for 24 hours due to a backhoe cutting a fiber optic cable. 3,000 people with no way of calling emergency services for an entire day. ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
Backhoe's are pretty indiscriminatethey'll cut copper just as easily as fiber. - Original Message - From: David Brodbeck [EMAIL PROTECTED] To: 'Asterisk Users Mailing List - Non-Commercial Discussion' asterisk-users@lists.digium.com Sent: Thursday, February 03, 2005 9:32 AM Subject: RE: [Asterisk-Users] Re: load balancing 20 asterisk servers -Original Message- From: Rich Adamson [mailto:[EMAIL PROTECTED] You have fiber-seeking-backhoes in your area? Wow! They're everywhere, man! When I was in college an entire nearby town lost all phone service for 24 hours due to a backhoe cutting a fiber optic cable. 3,000 people with no way of calling emergency services for an entire day. ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
Don't confuse load balacing with failover. They are quite different beasts and are handled differently. (sure, they can be combined into one solution, but they are still effectively very different) Round Robin DNS based load balancing is still a viable load balancing solution (read some of the early Netscape white papers compaing round robin DNS to intelligent load balancers, the results were almost identical if not BETTER with round robin DNS.) As far as the failover part, all thats needed is a simple IP Address takeover. nowadays, ip address takeovers is VERY simple. change an ip address, possibly add a proxy arp, and clear the arp cache (or send a garp packet) I'm not necessarially saying this is or should be the solution for this specific problem, i havent really spent any time thinking about SIP. i'm just suggesting a possible easy solution, what people are saying, using SER to redirect to an asterisk server (thats the load balancing piece), and then simple IP Takeover for failover (why buy an expensive cisco box for doing something as easy as ARP) -Mark On Thu, 03 Feb 2005 13:38:49 +0100, Patrick [EMAIL PROTECTED] wrote: Rich Adamson wrote: [snip] I'm not aware of any balancers that can do that today. Afaik Cisco is working on SIP aware loadbalancer functionality. Don't know what the status is and since it's Cisco I'm sure it will cost a bundle. Regards, Patrick ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
Nortel AAS-2000 range of LB's can do this today. Giles - Original Message - From: Patrick [EMAIL PROTECTED] To: Asterisk Users Mailing List - Non-Commercial Discussion asterisk-users@lists.digium.com Sent: Thursday, February 03, 2005 12:38 PM Subject: Re: [Asterisk-Users] Re: load balancing 20 asterisk servers Rich Adamson wrote: [snip] I'm not aware of any balancers that can do that today. Afaik Cisco is working on SIP aware loadbalancer functionality. Don't know what the status is and since it's Cisco I'm sure it will cost a bundle. Regards, Patrick ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users -- This message has been scanned for viruses and dangerous content by Swift Internet, and is believed to be clean. ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
Don't confuse load balacing with failover. They are quite different beasts and are handled differently. (sure, they can be combined into one solution, but they are still effectively very different) Round Robin DNS based load balancing is still a viable load balancing solution (read some of the early Netscape white papers compaing round robin DNS to intelligent load balancers, the results were almost identical if not BETTER with round robin DNS.) That's true for well behaved systems, but isn't true with the majority of sip phones and adapters. The majority do not pay any attention to the ttl fields in the dns response, and thus won't try another dns query during follow on attempts. Plus, a fair number of phones and adapters have problems with dns and the work around (as suggested by the OEM) is to use hard coded IP addresses. There are actually far more exception cases then there are solid sip devices (from a dns perspective), therefore round robin with sip boxes will not see the same results as the white paper you've referred to. I have not tried to prove this, but I'd bet at least some money that sip phones and adapters don't do a dns lookup each time a call is placed. It _might_ do a lookup on each register, but not each call. As far as the failover part, all thats needed is a simple IP Address takeover. nowadays, ip address takeovers is VERY simple. change an ip address, possibly add a proxy arp, and clear the arp cache (or send a garp packet) The OP was asking about load balancing 20 servers. IP address takeover wouldn't apply nor would it scale. I'm not necessarially saying this is or should be the solution for this specific problem, i havent really spent any time thinking about SIP. i'm just suggesting a possible easy solution, what people are saying, using SER to redirect to an asterisk server (thats the load balancing piece), and then simple IP Takeover for failover (why buy an expensive cisco box for doing something as easy as ARP) That does sound like a very reasonable approach. :) ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
Mark, I've been following this thread with some interest as we're gearing up for load/failover processing. Can you elaborate on the garp and IP takeover process, like what software packages do that in Linux or point me to a site for more info? Thanks, Jon - Original Message - From: Mark Musone [EMAIL PROTECTED] To: Asterisk Users Mailing List - Non-Commercial Discussion asterisk-users@lists.digium.com Sent: Thursday, February 03, 2005 10:36 AM Subject: Re: [Asterisk-Users] Re: load balancing 20 asterisk servers Don't confuse load balacing with failover. They are quite different beasts and are handled differently. (sure, they can be combined into one solution, but they are still effectively very different) Round Robin DNS based load balancing is still a viable load balancing solution (read some of the early Netscape white papers compaing round robin DNS to intelligent load balancers, the results were almost identical if not BETTER with round robin DNS.) As far as the failover part, all thats needed is a simple IP Address takeover. nowadays, ip address takeovers is VERY simple. change an ip address, possibly add a proxy arp, and clear the arp cache (or send a garp packet) I'm not necessarially saying this is or should be the solution for this specific problem, i havent really spent any time thinking about SIP. i'm just suggesting a possible easy solution, what people are saying, using SER to redirect to an asterisk server (thats the load balancing piece), and then simple IP Takeover for failover (why buy an expensive cisco box for doing something as easy as ARP) -Mark On Thu, 03 Feb 2005 13:38:49 +0100, Patrick [EMAIL PROTECTED] wrote: Rich Adamson wrote: [snip] I'm not aware of any balancers that can do that today. Afaik Cisco is working on SIP aware loadbalancer functionality. Don't know what the status is and since it's Cisco I'm sure it will cost a bundle. Regards, Patrick ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
On Feb 3, 2005, at 17:08, Jon Bebeau wrote: Mark, I've been following this thread with some interest as we're gearing up for load/failover processing. Can you elaborate on the garp and IP takeover process, like what software packages do that in Linux or point me to a site for more info? http://www.linux-ha.org/ jens ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
[Asterisk-Users] Re: load balancing 20 asterisk servers
As being said, the cost of HW based solutions is in many cases too expensive to be practical, leave alone to have a spare one to give you true high-availibility. If you complain about DNS caching and timeouts not being respected, you can do a fairly easy thing. As said in the follow-up, you can drop in a data center many tiny boxes. When one box stops working or crashes you can bring down it's interface and give a spare box the same IP of the [now] defunct machine. If the box becomes irresponsive (a real OS crash) and you have IMPI 2.0 capable MoBo's (all intel server boards have that, also some other brands), you can remotely shutdown or reset the machine to avoid IP clashes. Intel has a command line utility (also the graphical console) to manage that, i've using for a while this and is absolutely wonderful. Obiously, you will need a separate LAN with privates IP's to make much of the administration and the DB access, and use the public LAN only for internet-related things, so each box has it's own fixed private IP and only the public IP changes. Indeed, with IMPI 2.0 is possible to remotely power-up a machine (if you are enviromentally concerned... or if the datacenter metters the electricity you use), so you don't need to be running all your spare servers waiting for a failure, maybe only one and have the others shut-down until needed. --- [EMAIL PROTECTED] wrote: Message: 5 Date: Wed, 2 Feb 2005 21:57:42 -0600 (CST) From: Joe Greco [EMAIL PROTECTED] Subject: Re: [Asterisk-Users] Re: load balancing 20 asterisk servers To: asterisk-users@lists.digium.com Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii I'm trying to stay away from a software based load balancer cause what happens if that server fails? Its far less likely for a piece of dedicated hardware to fail than an actual computer. You really ought to open up one of those pieces of dedicated hardware sometime and see what's inside. Yep, it's software based. Heck, many of the so-called pieces of dedicated hardware are in fact nothing more than a fancy rack mount PC. Open up something like a CacheFlow server and you find an Intel server motherboard, some propietary software, and that is about it. Heck, go on eBay and pick yourself up some of those nice F5 BigIP ... rack mount PC's. Some of the newer stuff is software based with some ASIC assistance for SSL/compression. I know that F5 has made an effort to not look like a PC anymore, for example, and has integrated some switchlike capabilities in their product. Still, when it comes right down to it, the traffic direction logic in these things is software based. Incidentally: one of the /down/sides to these devices, aside from being hellishly expensive, is that when it blows at 5:01PM on a Thursday evening when Friday is Christmas, even if you have the best service contract, it can be a trying experience to get service. PC's have the distinct advantage that you can actually plan to have spare parts available, and on top of it, you can actually build high quality redundant equipment fairly inexpensively. AIC RMC2N-XP Chassis$150 EMACS R2G-6350P Power $300 SuperMicro P4SC8$300 Intel P4-3.0 Prescott $175 Memory as desired CF Adapter $ 20 1GB CompactFlash Boot $ 60 $1005 Toss in a monster passive heatsink and you have a system that isn't particularly susceptible to the loss of any single moving part. Of course, you have to be able to sysadmin your way out of a cardboard box, so it's not like it's cost-free, but here's the thing: If my hypothetical load balancer fails at 5:01PM on Xmas eve, I can: 1) Grab the cold spare I built because it's cheaper to do two of these than a single expensive HW based solution 2) Configure the hot spare I built into production (again because it's cheaper). 3) Grab a desktop PC and stick a few Intel GigE NIC's in it and go to town. 4) At least have a reasonable chance of figuring out some other way to fix things temporarily. So. What's really interesting is that even some networking hardware is actually just computing gear on steroids. I recently saw a SMC 8624T 24-port gigE switch, and it appears to be a bunch of Broadcom GigE chips with a CPU that runs some (can't recall which) embedded OS. VxWorks? ... JG = Miguel Ruiz Velasco Version: OpenKeyServer v1.2 Comment: Extracted from belgium.keyserver.net Signature: 0x59831109 __ Do you Yahoo!? Meet the all-new My Yahoo! - Try it today! http://my.yahoo.com ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
Jon Bebeau wrote: Mark, I've been following this thread with some interest as we're gearing up for load/failover processing. Can you elaborate on the garp and IP takeover process, like what software packages do that in Linux or point me to a site for more info? Thanks, Jon Jon, http://www.linux-ha.org/ http://www.ultramonkey.org/ http://www.linuxvirtualserver.org/ -- Kristian Kielhofner ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
Backhoe's are pretty indiscriminatethey'll cut copper just as easily as fiber. Not really. They tend to do a lot more damage to copper, because there are usually a ton of conductors in the copper cable, and the bundle may be strong enough to be pulled out of the ground. This causes all sorts of interesting damage to copper, and the telco is generally reluctant to replace the entire section unless it's completely ripped. Fiber is usually a smaller bundle and tends to snap when met with a lot force. Backhoes definitely *find* copper just as easily as fiber, but the effects from a strike are generally quite different. ... JG -- Joe Greco - sol.net Network Services - Milwaukee, WI - http://www.sol.net We call it the 'one bite at the apple' rule. Give me one chance [and] then I won't contact you again. - Direct Marketing Ass'n position on e-mail spam(CNN) With 24 million small businesses in the US alone, that's way too many apples. ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
[Asterisk-Users] Re: load balancing 20 asterisk servers
You may want to consider a simpler aproach, why don't you balance the load via DNS? If you put in a zone file various A records for the same machine, but with different IP's, BIND will catch the trick and send a different IP (from the pool yo defined) each time a DNS request arrives. That's a simple way of doing that, it will definively work for termination, but you may have to think more who to cope with origiation (outgoing calls), since different clients will be connected to different servers. --- [EMAIL PROTECTED] wrote: Hi, You may want to look into LVS (Linux Virtual Server). It allows load ballancing in a highly configurable way. http://www.linuxvirtualserver.org/ We use it on our web and mail server to load ballance across multiple hosts. The way we have it configured it will maintain a session for 15 minutes between a client and a specific server. So long as you have qualify=yes in your configuration files, each client will continue to talk to the one server until they are turned off/ deactivated for at least 15 minutes (or whatever time period you configure into it). I've not tested LVS with Asterisk, but it may be the right direction for you to take. Cheers, -Shaun Matthew Boehm wrote: I've read several other emails and pages on the wiki but none give any deffinate answers. if you have 20 asterisk servers each with 4 pri's, all running RealTime Extensions and RealTime SIPBuddies from the same MySQL server, what prevents you from putting all 20 servers behind a single load balancer? That way all of your UA's can use the same IP to register to; vs maintaining which customer is assigned to which machine. perhaps its just that i am not that familiar with load balancers. i was under the impression that a load balancer could/would send each recieved packet to a different server. this doesn't matter in the case of register requests since all asterisk boxes share same SIP registry database. but what about invite requests and the rtp stream? you would have a majorly broken conversation if each packet in the rtp stream went to a different asterisk box. or are load balancers SIP aware? or is there some sort of session control that the balancer is aware of and will send all packets in a sip session to the same asterisk box? and then what about meet me conferences? if 10 UA's all dial a conference DID number and all 10 get balanced to 10 different servers then they are all sitting in seperate rooms right? hints, opinions, facts...all welcome and appreciated. -Matthew ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users __ Do you Yahoo!? All your favorites on one personal page Try My Yahoo! http://my.yahoo.com ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
The DNS approach does not handle single or multiple system failures, only very elementary load balancing over a lengthy period of time. You may want to consider a simpler aproach, why don't you balance the load via DNS? If you put in a zone file various A records for the same machine, but with different IP's, BIND will catch the trick and send a different IP (from the pool yo defined) each time a DNS request arrives. That's a simple way of doing that, it will definively work for termination, but you may have to think more who to cope with origiation (outgoing calls), since different clients will be connected to different servers. --- [EMAIL PROTECTED] wrote: We use it on our web and mail server to load ballance across multiple hosts. The way we have it configured it will maintain a session for 15 minutes between a client and a specific server. So long as you have qualify=yes in your configuration files, each client will continue to talk to the one server until they are turned off/ deactivated for at least 15 minutes (or whatever time period you configure into it). I've not tested LVS with Asterisk, but it may be the right direction for you to take. Cheers, -Shaun Matthew Boehm wrote: I've read several other emails and pages on the wiki but none give any deffinate answers. if you have 20 asterisk servers each with 4 pri's, all running RealTime Extensions and RealTime SIPBuddies from the same MySQL server, what prevents you from putting all 20 servers behind a single load balancer? That way all of your UA's can use the same IP to register to; vs maintaining which customer is assigned to which machine. perhaps its just that i am not that familiar with load balancers. i was under the impression that a load balancer could/would send each recieved packet to a different server. this doesn't matter in the case of register requests since all asterisk boxes share same SIP registry database. but what about invite requests and the rtp stream? you would have a majorly broken conversation if each packet in the rtp stream went to a different asterisk box. or are load balancers SIP aware? or is there some sort of session control that the balancer is aware of and will send all packets in a sip session to the same asterisk box? and then what about meet me conferences? if 10 UA's all dial a conference DID number and all 10 get balanced to 10 different servers then they are all sitting in seperate rooms right? hints, opinions, facts...all welcome and appreciated. -Matthew ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users __ Do you Yahoo!? All your favorites on one personal page Try My Yahoo! http://my.yahoo.com ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users ---End of Original Message- ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
[Asterisk-Users] Re: load balancing 20 asterisk servers
--- [EMAIL PROTECTED] wrote: The DNS approach does not handle single or multiple system failures, only very elementary load balancing over a lengthy period of time. Are you shure of that? I'm aware that the load criteria is trickier, but very possible. If you use DDNS (dynamic DNS) using Bind 9. You have to run a health monitor (like a tcp or ping monitor) in one server (like the dns one) if one server dies, a script removes it's A record automagically from the pool, and even with a script that monitors the load you can dynamically add and remove the entry of each individual server in the DNS server. And you would not need to care if the load balancer sends the SIP stream to one server and the RTP stream to an other or in the case of outgoing connections or whatever extrange situation. Use nsupdate utility for doing DDNS, it's really simple and incredibly powerfull. Also because all the requests are digitally signed, you will likely don't have security problems. You may want to consider a simpler aproach, why don't you balance the load via DNS? If you put in a zone file various A records for the same machine, but with different IP's, BIND will catch the trick and send a different IP (from the pool yo defined) each time a DNS request arrives. That's a simple way of doing that, it will definively work for termination, but you may have to think more who to cope with origiation (outgoing calls), since different clients will be connected to different servers. --- [EMAIL PROTECTED] wrote: We use it on our web and mail server to load ballance across multiple hosts. The way we have it configured it will maintain a session for 15 minutes between a client and a specific server. So long as you have qualify=yes in your configuration files, each client will continue to talk to the one server until they are turned off/ deactivated for at least 15 minutes (or whatever time period you configure into it). I've not tested LVS with Asterisk, but it may be the right direction for you to take. Cheers, -Shaun Matthew Boehm wrote: I've read several other emails and pages on the wiki but none give any deffinate answers. if you have 20 asterisk servers each with 4 pri's, all running RealTime Extensions and RealTime SIPBuddies from the same MySQL server, what prevents you from putting all 20 servers behind a single load balancer? That way all of your UA's can use the same IP to register to; vs maintaining which customer is assigned to which machine. perhaps its just that i am not that familiar with load balancers. i was under the impression that a load balancer could/would send each recieved packet to a different server. this doesn't matter in the case of register requests since all asterisk boxes share same SIP registry database. but what about invite requests and the rtp stream? you would have a majorly broken conversation if each packet in the rtp stream went to a different asterisk box. or are load balancers SIP aware? or is there some sort of session control that the balancer is aware of and will send all packets in a sip session to the same asterisk box? and then what about meet me conferences? if 10 UA's all dial a conference DID number and all 10 get balanced to 10 different servers then they are all sitting in seperate rooms right? hints, opinions, facts...all welcome and appreciated. -Matthew __ Do you Yahoo!? Meet the all-new My Yahoo! - Try it today! http://my.yahoo.com ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
On Feb 3, 2005, at 0:03, Miguel Ruiz Velasco Sobrino wrote: --- [EMAIL PROTECTED] wrote: The DNS approach does not handle single or multiple system failures, only very elementary load balancing over a lengthy period of time. Are you shure of that? I'm aware that the load criteria is trickier, but very possible. Operating systems and probably a lot of devices *cache* the results of DNS lookups. That means removing A records won't do any good. Short story: No matter what network service is being balanced, if you want to guard against failure and against customers noticing that failure use a real load balancing solution, DDNS is not suitable. jens ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
How about a management server that polls the asterisk servers every minute with snmp to check cpu and ram cache, maybe even drive space. Then you could have a script decide whether the server can handle anymore connections. I am still a beginner so I am not sure how you could have asterisk delegate calls to other servers. would a redirect transfer remove the management server from the loop? using loadbalancer? http://www.vovida.org/applications/downloads/loadbalancer/ these are just ideas I am tossing out here for you. Kyle On Feb 2, 2005, at 4:38 PM, Jens Vagelpohl wrote: Operating systems and probably a lot of devices *cache* the results of DNS lookups. That means removing A records won't do any good. Short story: No matter what network service is being balanced, if you want to guard against failure and against customers noticing that failure use a real load balancing solution, DDNS is not suitable. jens ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
DNS based load ballancing has it's place, as dose using an application level switch. Say an earthquake takes out your California data center. Shortly the DNS servers will notice and pull that center's record. However do to caches and all this is not fast and users will notice. What the switch does is route at the protocol level between local machines. You can take a machine off line and no one will notice. Works great until the big quake a backhoe takes out a fiber cable ro there is a fire flood or who knows what. protocol level switches have to know about the protocol. You can buy them that work with HTTP, HTTPS and the common ones but I wonder aboit SIP? Getting the RPT to the right * server would be hard beetrer to have a proxy tell the user which * server to go to and nothave to route RTP. --- Miguel Ruiz Velasco Sobrino [EMAIL PROTECTED] wrote: --- [EMAIL PROTECTED] wrote: The DNS approach does not handle single or multiple system failures, only very elementary load balancing over a lengthy period of time. Are you shure of that? I'm aware that the load criteria is trickier, but very possible. If you use DDNS (dynamic DNS) using Bind 9. You have to run a health monitor (like a tcp or ping monitor) in one server (like the dns one) if one server dies, a script removes it's A record automagically from the pool, and even with a script that monitors the load you can dynamically add and remove the entry of each individual server in the DNS server. And you would not need to care if the load balancer sends the SIP stream to one server and the RTP stream to an other or in the case of outgoing connections or whatever extrange situation. Use nsupdate utility for doing DDNS, it's really simple and incredibly powerfull. Also because all the requests are digitally signed, you will likely don't have security problems. You may want to consider a simpler aproach, why don't you balance the load via DNS? If you put in a zone file various A records for the same machine, but with different IP's, BIND will catch the trick and send a different IP (from the pool yo defined) each time a DNS request arrives. That's a simple way of doing that, it will definively work for termination, but you may have to think more who to cope with origiation (outgoing calls), since different clients will be connected to different servers. --- [EMAIL PROTECTED] wrote: We use it on our web and mail server to load ballance across multiple hosts. The way we have it configured it will maintain a session for 15 minutes between a client and a specific server. So long as you have qualify=yes in your configuration files, each client will continue to talk to the one server until they are turned off/ deactivated for at least 15 minutes (or whatever time period you configure into it). I've not tested LVS with Asterisk, but it may be the right direction for you to take. Cheers, -Shaun Matthew Boehm wrote: I've read several other emails and pages on the wiki but none give any deffinate answers. if you have 20 asterisk servers each with 4 pri's, all running RealTime Extensions and RealTime SIPBuddies from the same MySQL server, what prevents you from putting all 20 servers behind a single load balancer? That way all of your UA's can use the same IP to register to; vs maintaining which customer is assigned to which machine. perhaps its just that i am not that familiar with load balancers. i was under the impression that a load balancer could/would send each recieved packet to a different server. this doesn't matter in the case of register requests since all asterisk boxes share same SIP registry database. but what about invite requests and the rtp stream? you would have a majorly broken conversation if each packet in the rtp stream went to a different asterisk box. or are load balancers SIP aware? or is there some sort of session control that the balancer is aware of and will send all packets in a sip session to the same asterisk box? and then what about meet me conferences? if 10 UA's all dial a conference DID number and all 10 get balanced to 10 different servers then they are all sitting in seperate rooms right? hints, opinions, facts...all welcome and appreciated. -Matthew __ Do you Yahoo!? Meet the all-new My Yahoo! - Try it today! http://my.yahoo.com ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users = Chris Albertson Home: 310-376-1029 [EMAIL PROTECTED] Cell: 310-990-7550 Office: 310-336-5189 [EMAIL PROTECTED] KG6OMK
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
I'm trying to stay away from a software based load balancer cause what happens if that server fails? Its far less likely for a piece of dedicated hardware to fail than an actual computer. -Matthew - Original Message - From: Kyle Loree [EMAIL PROTECTED] To: Asterisk Users Mailing List - Non-Commercial Discussion asterisk-users@lists.digium.com Sent: Wednesday, February 02, 2005 5:54 PM Subject: Re: [Asterisk-Users] Re: load balancing 20 asterisk servers How about a management server that polls the asterisk servers every minute with snmp to check cpu and ram cache, maybe even drive space. Then you could have a script decide whether the server can handle anymore connections. I am still a beginner so I am not sure how you could have asterisk delegate calls to other servers. would a redirect transfer remove the management server from the loop? using loadbalancer? http://www.vovida.org/applications/downloads/loadbalancer/ these are just ideas I am tossing out here for you. Kyle On Feb 2, 2005, at 4:38 PM, Jens Vagelpohl wrote: Operating systems and probably a lot of devices *cache* the results of DNS lookups. That means removing A records won't do any good. Short story: No matter what network service is being balanced, if you want to guard against failure and against customers noticing that failure use a real load balancing solution, DDNS is not suitable. jens ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
On Wed, 2005-02-02 at 21:20 -0600, Matthew Boehm wrote: I'm trying to stay away from a software based load balancer cause what happens if that server fails? Its far less likely for a piece of dedicated hardware to fail than an actual computer. There are many ways to accomplish this, and there are many things to be considered. Here are just a few of my observations/comments on the various things that have been said to date. Not that I really know much about any of this, so take what I say with a grain of salt. You can use DNS to load balance/failover, however, there is a delay. Some of the delay you can control with various DNS timeout values, unfortunately, one specific OS (MS Windows) will ignore the timeout, and cache the value for ever (until reboot, which isn't so long, and I suppose is the first thing people try when there is a problem). However, there are probably a number of other configurations/OS's which will also hold onto the old value for longer than they should, and you can't control this. This is especially bad if it is an ISP's DNS server or company wide, or similar. Also, when looking at devices (phones/ATA's) they are more likely to cut corners, and I would suspect that they are more likely to keep the old value for too long also. Depending on how badly this would affect *your* customers is for you to decide. Also, you could just blame the customer and say it is their fault they are offline... Having said all that, DNS balancing DOES have it's place in these things. eg, when you have multiple data centre's (east/west coast for eg) and one is taken out by meteor strike, then it isn't going to be back within the next 4 - 24 hours, so you could remove it from DNS, and people might be offline for some period, but would be back online eventually. (although they are more likely to want to use the phone during that first 4 hours :) Then we have LVS (Linux Virtual Server) and other similar devices (I think some cisco routers, and probably *BSD/etc) which can do 'smarter' load balancing based on the various server loads (perhaps bandwidth loads, or even call quality records for recent calls), and could balance based on source IP rather than source IP:port. This would solve (I think) all the discussion about register verses RTP data. IMHO, I think a really serious deployment (multi-site) would use some form of both of these options. As far as reliability: DNS is designed to be reliable, you just throw lots of tiny boxes in as many places as possible, and you have reliability. LVS is a single point of failure, but probably so is your router/switch. Consider the case where the LVS *is* the router, use good quality components for the PC (we should all know about this part on this list), and you have something that can perform reliably for many years. The complexity of LVS is much lower than asterisk, so from that respect, it is going to be much more reliable than not using LVS So, you can take things as far as you want, and try to remove all your SPOF's, but what you think you gain in reliability, you may lose due to the added complexity. ie, when something goes wrong, nobody has any idea where to start looking for the problem or how to fix it. Oh, there is also the money factor... it can quickly get significantly more expensive for a very small gain. eg, to move from 99.5% uptime to 99.9% is a lot of extra work. It is even worse getting from 99.9% to 99.99%, and much much worse the more 9's you add! (worse == more money, and much harder). Regards, Adam -- -- Adam Goryachev Website Managers Ph: +61 2 8304 [EMAIL PROTECTED] Fax: +61 2 9345 4396www.websitemanagers.com.au -- -- Adam Goryachev Website Managers Ph: +61 2 8304 [EMAIL PROTECTED] Fax: +61 2 9345 4396www.websitemanagers.com.au ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
LVS is a single point of failure, but probably so is your router/switch. Consider the case where the LVS *is* the router, use good quality components for the PC (we should all know about this part on this list), We've used the via-based eden motherboards for this sort of thing - rock solid, and no CPU fan either. amazing machines. ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
I'm trying to stay away from a software based load balancer cause what happens if that server fails? Its far less likely for a piece of dedicated hardware to fail than an actual computer. You really ought to open up one of those pieces of dedicated hardware sometime and see what's inside. Yep, it's software based. Heck, many of the so-called pieces of dedicated hardware are in fact nothing more than a fancy rack mount PC. Open up something like a CacheFlow server and you find an Intel server motherboard, some propietary software, and that is about it. Heck, go on eBay and pick yourself up some of those nice F5 BigIP ... rack mount PC's. Some of the newer stuff is software based with some ASIC assistance for SSL/compression. I know that F5 has made an effort to not look like a PC anymore, for example, and has integrated some switchlike capabilities in their product. Still, when it comes right down to it, the traffic direction logic in these things is software based. Incidentally: one of the /down/sides to these devices, aside from being hellishly expensive, is that when it blows at 5:01PM on a Thursday evening when Friday is Christmas, even if you have the best service contract, it can be a trying experience to get service. PC's have the distinct advantage that you can actually plan to have spare parts available, and on top of it, you can actually build high quality redundant equipment fairly inexpensively. AIC RMC2N-XP Chassis$150 EMACS R2G-6350P Power $300 SuperMicro P4SC8$300 Intel P4-3.0 Prescott $175 Memory as desired CF Adapter $ 20 1GB CompactFlash Boot $ 60 $1005 Toss in a monster passive heatsink and you have a system that isn't particularly susceptible to the loss of any single moving part. Of course, you have to be able to sysadmin your way out of a cardboard box, so it's not like it's cost-free, but here's the thing: If my hypothetical load balancer fails at 5:01PM on Xmas eve, I can: 1) Grab the cold spare I built because it's cheaper to do two of these than a single expensive HW based solution 2) Configure the hot spare I built into production (again because it's cheaper). 3) Grab a desktop PC and stick a few Intel GigE NIC's in it and go to town. 4) At least have a reasonable chance of figuring out some other way to fix things temporarily. So. What's really interesting is that even some networking hardware is actually just computing gear on steroids. I recently saw a SMC 8624T 24-port gigE switch, and it appears to be a bunch of Broadcom GigE chips with a CPU that runs some (can't recall which) embedded OS. VxWorks? ... JG -- Joe Greco - sol.net Network Services - Milwaukee, WI - http://www.sol.net We call it the 'one bite at the apple' rule. Give me one chance [and] then I won't contact you again. - Direct Marketing Ass'n position on e-mail spam(CNN) With 24 million small businesses in the US alone, that's way too many apples. ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Re: load balancing 20 asterisk servers
On Feb 3, 2005, at 4:20, Matthew Boehm wrote: I'm trying to stay away from a software based load balancer cause what happens if that server fails? Its far less likely for a piece of dedicated hardware to fail than an actual computer. There are useful things like heartbeat which can transparently fail over from one machine to the next. They even take the IP address of the failed machine. A professional setup would have redundancy built in that way. I have run extremely busy load balancers that way and in the failover case everything is back to normal within seconds. jens ___ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users