Hi verybody,
WARNING: Long e-mail.....
I just started learning how to set up a "classical" configuration with load balancer, DB backend and so on....I was reading several threads of the mailing lists but since I am a begginer I would need some help and clarifications. Apologies if my questions have been solved before. [I read Greger and Granig (and more people, I guess) are working (?) on a document describing what I try to explain in the follofwing lines. I would like to know if you are on it or commercial strategies forced you to leave it...as it seems that HA setups are high confidential ;)]
I'll try to draw what I have guessed from the threads and other literature...
[SER1] [LB1] [SER2] . [DB (mysql cluster)] [LB2] . [SERn]
LBi are the front-end load balancers. SER: do I have to say what are these?? (either openSER/SER. I will use the name SER for simplicity but I refer to both) DB: I placed mysql cluster because it seems to be the most common backend...
Let me make an overview...
Load Balancer For LB, it seems that dispacther module can be used. (I don´t remember who proposed to dispatch REGISTER with To: and INIVTE with Req-URI, why not using Call-ID?? For distributing the registration of a given user between several registrars?). Dispatcher module does not have failover in case SERi fails so somebody propose to use lcr. Using lcr module provides failover but does not guarantee to balance to the right instance of SER so I think the only option is to use dispatcher. Alternatives: Please correct me if I am wrong but there isn´t yet an LVR implementation being Call-ID aware.... DNS SRV records...lack of implementation in end-points and not NAT-friendly..
In order to provide high availability, I tried linux-ha between the 2 LBi for simplicity although it has some wasted resources. Is it worth to give a try to other IP failover aplications (anycast, quagga/bgp, vrrpd)? Anyone with more experience can comment their use??
SIP proxy SER....just a matter of taste what you want to use, SER or openSER.... I read about the cacheless usrloc patch but I could not find it on CVS...has it been integrated into the head branch??? has it been deprecated because of ...(please fill in the reason)?
DB Backend For the DB backend...I am going to comment mysql clustering...I am using now 4.1.11 because it was already installed. Is it recommended to upgrade?? I tried setting the management node, a couple of data nodes, and I was trying to set a linux-ha configuration with ip take over for the mysql api node (is it possible??) but unsuccessfully: When the preferred mysql api node falls down, SER detects the connection is closed and all further requests are replied with "Internal Server Error" although the secondary mysql api has overtaken the service IP and ser database is properly populated. Is it possible to make SER reconnecting on mysql failure?? It reconnects to the preferred server once it comes back to live but it is impossible to connect to the secondary.... As you might have guessed I am a total begginer with mySQL...
Thank for reading until this line, all kinds of comments are wellcome,
Samuel.
I just posted a question about MySQL failure in the forums. Check it out here: http://www.voipuser.org/forum_topic_3853.html
samuel wrote:
Hi verybody,
WARNING: Long e-mail.....
I just started learning how to set up a "classical" configuration with load balancer, DB backend and so on....I was reading several threads of the mailing lists but since I am a begginer I would need some help and clarifications. Apologies if my questions have been solved before. [I read Greger and Granig (and more people, I guess) are working (?) on a document describing what I try to explain in the follofwing lines. I would like to know if you are on it or commercial strategies forced you to leave it...as it seems that HA setups are high confidential ;)]
I'll try to draw what I have guessed from the threads and other literature...
[SER1]
[LB1] [SER2] . [DB (mysql cluster)] [LB2] . [SERn]
LBi are the front-end load balancers. SER: do I have to say what are these?? (either openSER/SER. I will use the name SER for simplicity but I refer to both) DB: I placed mysql cluster because it seems to be the most common backend...
Let me make an overview...
Load Balancer For LB, it seems that dispacther module can be used. (I don´t remember who proposed to dispatch REGISTER with To: and INIVTE with Req-URI, why not using Call-ID?? For distributing the registration of a given user between several registrars?). Dispatcher module does not have failover in case SERi fails so somebody propose to use lcr. Using lcr module provides failover but does not guarantee to balance to the right instance of SER so I think the only option is to use dispatcher. Alternatives: Please correct me if I am wrong but there isn´t yet an LVR implementation being Call-ID aware.... DNS SRV records...lack of implementation in end-points and not NAT-friendly..
In order to provide high availability, I tried linux-ha between the 2 LBi for simplicity although it has some wasted resources. Is it worth to give a try to other IP failover aplications (anycast, quagga/bgp, vrrpd)? Anyone with more experience can comment their use??
SIP proxy SER....just a matter of taste what you want to use, SER or openSER.... I read about the cacheless usrloc patch but I could not find it on CVS...has it been integrated into the head branch??? has it been deprecated because of ...(please fill in the reason)?
DB Backend For the DB backend...I am going to comment mysql clustering...I am using now 4.1.11 because it was already installed. Is it recommended to upgrade?? I tried setting the management node, a couple of data nodes, and I was trying to set a linux-ha configuration with ip take over for the mysql api node (is it possible??) but unsuccessfully: When the preferred mysql api node falls down, SER detects the connection is closed and all further requests are replied with "Internal Server Error" although the secondary mysql api has overtaken the service IP and ser database is properly populated. Is it possible to make SER reconnecting on mysql failure?? It reconnects to the preferred server once it comes back to live but it is impossible to connect to the secondary.... As you might have guessed I am a total begginer with mySQL...
Thank for reading until this line, all kinds of comments are wellcome,
Samuel.
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Thanks a lot.
I had no idea of ping_interval or auto_reconnect. Unfortunately, auto_reconnect is enabled by default and, in fact, when the first myql api node restarts again SER reconnects to it. The problem is that SER does not connect to the "backup" myql api node although it has overtaken the same IP.
Answering to myself....I found ldirectord (load balancer part of the ultramonkey project). Anyone with experience can assure that it will keep the connection open when one mysql node fails?? And in case of redundancy (with two ldirectord sharing connection status) the connection will not be closed when the "primary" ldirectord fails?
Thanks again,
Samuel.
2005/12/12, Mike Williams mwilliams@etc1.net:
I just posted a question about MySQL failure in the forums. Check it out here: http://www.voipuser.org/forum_topic_3853.html
samuel wrote:
Hi verybody,
WARNING: Long e-mail.....
I just started learning how to set up a "classical" configuration with load balancer, DB backend and so on....I was reading several threads of the mailing lists but since I am a begginer I would need some help and clarifications. Apologies if my questions have been solved before. [I read Greger and Granig (and more people, I guess) are working (?) on a document describing what I try to explain in the follofwing lines. I would like to know if you are on it or commercial strategies forced you to leave it...as it seems that HA setups are high confidential ;)]
I'll try to draw what I have guessed from the threads and other literature...
[SER1] [LB1] [SER2] . [DB (mysql cluster)] [LB2] . [SERn]
LBi are the front-end load balancers. SER: do I have to say what are these?? (either openSER/SER. I will use the name SER for simplicity but I refer to both) DB: I placed mysql cluster because it seems to be the most common backend...
Let me make an overview...
Load Balancer For LB, it seems that dispacther module can be used. (I don´t remember who proposed to dispatch REGISTER with To: and INIVTE with Req-URI, why not using Call-ID?? For distributing the registration of a given user between several registrars?). Dispatcher module does not have failover in case SERi fails so somebody propose to use lcr. Using lcr module provides failover but does not guarantee to balance to the right instance of SER so I think the only option is to use dispatcher. Alternatives: Please correct me if I am wrong but there isn´t yet an LVR implementation being Call-ID aware.... DNS SRV records...lack of implementation in end-points and not NAT-friendly..
In order to provide high availability, I tried linux-ha between the 2 LBi for simplicity although it has some wasted resources. Is it worth to give a try to other IP failover aplications (anycast, quagga/bgp, vrrpd)? Anyone with more experience can comment their use??
SIP proxy SER....just a matter of taste what you want to use, SER or openSER.... I read about the cacheless usrloc patch but I could not find it on CVS...has it been integrated into the head branch??? has it been deprecated because of ...(please fill in the reason)?
DB Backend For the DB backend...I am going to comment mysql clustering...I am using now 4.1.11 because it was already installed. Is it recommended to upgrade?? I tried setting the management node, a couple of data nodes, and I was trying to set a linux-ha configuration with ip take over for the mysql api node (is it possible??) but unsuccessfully: When the preferred mysql api node falls down, SER detects the connection is closed and all further requests are replied with "Internal Server Error" although the secondary mysql api has overtaken the service IP and ser database is properly populated. Is it possible to make SER reconnecting on mysql failure?? It reconnects to the preferred server once it comes back to live but it is impossible to connect to the secondary.... As you might have guessed I am a total begginer with mySQL...
Thank for reading until this line, all kinds of comments are wellcome,
Samuel.
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
I'll post my own findings just in case anyone encounter the same problem. I installed ultramonkey (ldirectord is part of it) in the mysql APIs and it solved the connection issue......now some stress tests to see how it behaves in real life...
Samuel.
2005/12/13, samuel samu60@gmail.com:
Thanks a lot.
I had no idea of ping_interval or auto_reconnect. Unfortunately, auto_reconnect is enabled by default and, in fact, when the first myql api node restarts again SER reconnects to it. The problem is that SER does not connect to the "backup" myql api node although it has overtaken the same IP.
Answering to myself....I found ldirectord (load balancer part of the ultramonkey project). Anyone with experience can assure that it will keep the connection open when one mysql node fails?? And in case of redundancy (with two ldirectord sharing connection status) the connection will not be closed when the "primary" ldirectord fails?
Thanks again,
Samuel.
2005/12/12, Mike Williams mwilliams@etc1.net:
I just posted a question about MySQL failure in the forums. Check it out here: http://www.voipuser.org/forum_topic_3853.html
samuel wrote:
Hi verybody,
WARNING: Long e-mail.....
I just started learning how to set up a "classical" configuration with load balancer, DB backend and so on....I was reading several threads of the mailing lists but since I am a begginer I would need some help and clarifications. Apologies if my questions have been solved before. [I read Greger and Granig (and more people, I guess) are working (?) on a document describing what I try to explain in the follofwing lines. I would like to know if you are on it or commercial strategies forced you to leave it...as it seems that HA setups are high confidential ;)]
I'll try to draw what I have guessed from the threads and other literature...
[SER1] [LB1] [SER2] . [DB (mysql cluster)] [LB2] . [SERn]
LBi are the front-end load balancers. SER: do I have to say what are these?? (either openSER/SER. I will use the name SER for simplicity but I refer to both) DB: I placed mysql cluster because it seems to be the most common backend...
Let me make an overview...
Load Balancer For LB, it seems that dispacther module can be used. (I don´t remember who proposed to dispatch REGISTER with To: and INIVTE with Req-URI, why not using Call-ID?? For distributing the registration of a given user between several registrars?). Dispatcher module does not have failover in case SERi fails so somebody propose to use lcr. Using lcr module provides failover but does not guarantee to balance to the right instance of SER so I think the only option is to use dispatcher. Alternatives: Please correct me if I am wrong but there isn´t yet an LVR implementation being Call-ID aware.... DNS SRV records...lack of implementation in end-points and not NAT-friendly..
In order to provide high availability, I tried linux-ha between the 2 LBi for simplicity although it has some wasted resources. Is it worth to give a try to other IP failover aplications (anycast, quagga/bgp, vrrpd)? Anyone with more experience can comment their use??
SIP proxy SER....just a matter of taste what you want to use, SER or openSER.... I read about the cacheless usrloc patch but I could not find it on CVS...has it been integrated into the head branch??? has it been deprecated because of ...(please fill in the reason)?
DB Backend For the DB backend...I am going to comment mysql clustering...I am using now 4.1.11 because it was already installed. Is it recommended to upgrade?? I tried setting the management node, a couple of data nodes, and I was trying to set a linux-ha configuration with ip take over for the mysql api node (is it possible??) but unsuccessfully: When the preferred mysql api node falls down, SER detects the connection is closed and all further requests are replied with "Internal Server Error" although the secondary mysql api has overtaken the service IP and ser database is properly populated. Is it possible to make SER reconnecting on mysql failure?? It reconnects to the preferred server once it comes back to live but it is impossible to connect to the secondary.... As you might have guessed I am a total begginer with mySQL...
Thank for reading until this line, all kinds of comments are wellcome,
Samuel.
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Inline.
Hi verybody,
WARNING: Long e-mail.....
I just started learning how to set up a "classical" configuration with load balancer, DB backend and so on....I was reading several threads of the mailing lists but since I am a begginer I would need some help and clarifications. Apologies if my questions have been solved before. [I read Greger and Granig (and more people, I guess) are working (?) on a document describing what I try to explain in the follofwing lines. I would like to know if you are on it or commercial strategies forced you to leave it...as it seems that HA setups are high confidential ;)]
Andreas is working on the setup and I have promised to replicate his setup and document it as an appendix/separate document from ONsip.org. The two main pieces of code (usrloc-cl and Path patch) are sort of stuck in between stable and head (usrloc-cl is for 0.9.x and must be ported to head, while the Path patch was made for head, but several changes to head requires a review/new patch).
I'll try to draw what I have guessed from the threads and other literature...
[SER1]
[LB1] [SER2] . [DB (mysql cluster)] [LB2] . [SERn]
LBi are the front-end load balancers. SER: do I have to say what are these?? (either openSER/SER. I will use the name SER for simplicity but I refer to both) DB: I placed mysql cluster because it seems to be the most common backend...
Let me make an overview...
Load Balancer For LB, it seems that dispacther module can be used. (I don´t remember who proposed to dispatch REGISTER with To: and INIVTE with Req-URI, why not using Call-ID?? For distributing the registration of a given user between several registrars?).
This way you will always send all registrations for a given user to the same server and INVITEs to that user to the same server. Using Call-Id, you would spread the requests across servers randomly.
Dispatcher module does not have failover in case SERi fails so somebody propose to use lcr. Using lcr module provides failover but does not guarantee to balance to the right instance of SER so I think the only option is to use dispatcher. Alternatives: Please correct me if I am wrong but there isn´t yet an LVR implementation being Call-ID aware....
That's correct, except commercial ones.
DNS SRV records...lack of implementation in end-points and not NAT-friendly..
You will probably want to use DNS SRV as well. However, implementation can differe between UAs.
In order to provide high availability, I tried linux-ha between the 2 LBi for simplicity although it has some wasted resources. Is it worth to give a try to other IP failover aplications (anycast, quagga/bgp, vrrpd)?
Well, the same issues are there. Also, there are some issues related to failover time. Linux HA is probably as good as any. What you could do is to run two instances of SER on each server and let both load balance each other (using xen or vmware). The problem is that you still cannot put more load on both servers than what one server can take, in case one physical server goes down.
Anyone with more experience can comment their use??
SIP proxy SER....just a matter of taste what you want to use, SER or openSER.... I read about the cacheless usrloc patch but I could not find it on CVS...has it been integrated into the head branch??? has it been deprecated because of ...(please fill in the reason)?
Can be found in experimental module of rel_0_9_0 branch. g-)
DB Backend For the DB backend...I am going to comment mysql clustering...I am using now 4.1.11 because it was already installed. Is it recommended to upgrade?? I tried setting the management node, a couple of data nodes, and I was trying to set a linux-ha configuration with ip take over for the mysql api node (is it possible??) but unsuccessfully: When the preferred mysql api node falls down, SER detects the connection is closed and all further requests are replied with "Internal Server Error" although the secondary mysql api has overtaken the service IP and ser database is properly populated. Is it possible to make SER reconnecting on mysql failure?? It reconnects to the preferred server once it comes back to live but it is impossible to connect to the secondary.... As you might have guessed I am a total begginer with mySQL...
Thank for reading until this line, all kinds of comments are wellcome,
Samuel.
Serusers mailing list Serusers@iptel.org http://mail.iptel.org/mailman/listinfo/serusers
Inline.
2005/12/21, Greger V. Teigre greger@teigre.com:
Inline.
Hi verybody,
WARNING: Long e-mail.....
I just started learning how to set up a "classical" configuration with load balancer, DB backend and so on....I was reading several threads of the mailing lists but since I am a begginer I would need some help and clarifications. Apologies if my questions have been solved before. [I read Greger and Granig (and more people, I guess) are working (?) on a document describing what I try to explain in the follofwing lines. I would like to know if you are on it or commercial strategies forced you to leave it...as it seems that HA setups are high confidential ;)]
Andreas is working on the setup and I have promised to replicate his setup and document it as an appendix/separate document from ONsip.org. The two main pieces of code (usrloc-cl and Path patch) are sort of stuck in between stable and head (usrloc-cl is for 0.9.x and must be ported to head, while the Path patch was made for head, but several changes to head requires a review/new patch).
GREAT NEWS!!!!! I am not at all an expert but if you need help, just ask and I'll contribute!
I'll try to draw what I have guessed from the threads and other literature...
[SER1]
[LB1] [SER2] . [DB (mysql cluster)] [LB2] . [SERn]
LBi are the front-end load balancers. SER: do I have to say what are these?? (either openSER/SER. I will use the name SER for simplicity but I refer to both) DB: I placed mysql cluster because it seems to be the most common backend...
Let me make an overview...
Load Balancer For LB, it seems that dispacther module can be used. (I don´t remember who proposed to dispatch REGISTER with To: and INIVTE with Req-URI, why not using Call-ID?? For distributing the registration of a given user between several registrars?).
This way you will always send all registrations for a given user to the same server and INVITEs to that user to the same server. Using Call-Id, you would spread the requests across servers randomly.
Dispatcher module does not have failover in case SERi fails so somebody propose to use lcr. Using lcr module provides failover but does not guarantee to balance to the right instance of SER so I think the only option is to use dispatcher.
I just read today that openser has failover support for the dispather module...
Alternatives: Please correct me if I am wrong but there isn´t yet an LVR implementation being Call-ID aware....
That's correct, except commercial ones.
DNS SRV records...lack of implementation in end-points and not NAT-friendly..
You will probably want to use DNS SRV as well. However, implementation can differe between UAs.
In order to provide high availability, I tried linux-ha between the 2 LBi for simplicity although it has some wasted resources. Is it worth to give a try to other IP failover aplications (anycast, quagga/bgp, vrrpd)?
Well, the same issues are there. Also, there are some issues related to failover time. Linux HA is probably as good as any. What you could do is to run two instances of SER on each server and let both load balance each other (using xen or vmware). The problem is that you still cannot put more load on both servers than what one server can take, in case one physical server goes down.
Anyone with more experience can comment their use??
SIP proxy SER....just a matter of taste what you want to use, SER or openSER.... I read about the cacheless usrloc patch but I could not find it on CVS...has it been integrated into the head branch??? has it been deprecated because of ...(please fill in the reason)?
Can be found in experimental module of rel_0_9_0 branch. g-)
DB Backend For the DB backend...I am going to comment mysql clustering...I am using now 4.1.11 because it was already installed. Is it recommended to upgrade?? I tried setting the management node, a couple of data nodes, and I was trying to set a linux-ha configuration with ip take over for the mysql api node (is it possible??) but unsuccessfully: When the preferred mysql api node falls down, SER detects the connection is closed and all further requests are replied with "Internal Server Error" although the secondary mysql api has overtaken the service IP and ser database is properly populated. Is it possible to make SER reconnecting on mysql failure?? It reconnects to the preferred server once it comes back to live but it is impossible to connect to the secondary.... As you might have guessed I am a total begginer with mySQL...
Thank for reading until this line, all kinds of comments are wellcome,
Samuel.
Serusers mailing list Serusers@iptel.org http://mail.iptel.org/mailman/listinfo/serusers
Thanks,
Samuel.