cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
11919
Views
10
Helpful
17
Replies

CMS clustering question

danny.yf_li
Level 1
Level 1

Hi all

 

        In CMS configuration guide, it is said that at least 3 nodes should be configured in  database cluster and xmpp cluster in  order to archieve full resilliency. However, one of my client has two CMS 1000 servers. Is it possible that I create the third CMS VM on a BE7K and configure ONLY the database clustering and XMPP clustering on it, so that makes 3 nodes to form the database cluster and XMPP cluster?

 

Thanks!!

 

Danny

1 Accepted Solution

Accepted Solutions

Patrick Sparkman
VIP Alumni
VIP Alumni
If you can meet the requirements to install a CMS on your BE7K, you can use it to deploy a third CMS for database and XMPP resiliency. No licenses aren't required to deploy the database, but you'll need an activated Call Bridge to deploy the XMPP server.

View solution in original post

17 Replies 17

Patrick Sparkman
VIP Alumni
VIP Alumni
If you can meet the requirements to install a CMS on your BE7K, you can use it to deploy a third CMS for database and XMPP resiliency. No licenses aren't required to deploy the database, but you'll need an activated Call Bridge to deploy the XMPP server.

Thanks patrick.

         

     Can I cluster only callbridges and databases and leave xmpp servers standalone? Since my client only purchased two CMS 1000. What will happen if I leave xmpp servers standalone except no resilliency

You can do that, that is how I have my CMS cluster setup currently.  I don't know of all the scenarios of running multiple Meeting Servers with their own standalone XMPP servers, but I do know that if you don't have XMPP resiliency setup and each CMS has a CMA client logged in, that they won't be able to message each other as XMPP isn't linked.

Hi Patrick,

My customer purchased 2 x CMS1000  in order to have a full redundant Solution (The BOM was suggested by Cisco Presales PDI)

After reading many deployment guides : (single combined, single split and resilient deployment guide) i am still confused on the ideal architecture for the customer.

I can manage to have an additional VM to install a third DB since we need to have at least 3 DB for redundancy.

On the other hand i have some questions: 

 

1) Is this a correct deployment?

* First CMS 1000 (Combined server) : All services : CallBridge, XMPP, DB, Webadmin, Webbridge, Turn.

* Second CMS1000 (Combined Server) : All services except XMPP (Because i have only 2 callbridge licenses and Xmpp needs a Callbridge . the docs says that it's better to have 1 XMPP than 2 active)

* A separate VM : DB and Recorder

 

2) In this type of deployment , do i need a loadbalancer? Following the guides the loadbalancer is only configured in a split server deployment

 

2) The scalable and resilient deployment guide is not clear about how to setup The edge components (Turn, Webbridge ) . Mostly questions about interfaces and how to place them in the DMZ in the same server. Can you give me some examples please?

 

Thank you in advance

Regards

Hello. The XMPP follow the same concept as DB, for redundancy use 3 (do not use 2, unsupported).

For callbridge redundancy it is mandatory to have DB redudancy, so, you need to deploy 3 DB servers as you described.

If you have only one XMPP and this server fails, your CMA clients will not be able to sign In (but other devices will be able to connected to the second CB)

You can use Single Server combined, but keep in mind that your "a" interface will be your local network (where webadmin will run together with SSH deamon) and another interface (b or c depending on your scenario) as Public.

PS: You license file will be associated to tha "a" MAC address.

 

1) in my point of view is a valid concept (take into account its characteristics)

2) You don´t need loadbalancer in case you want external CMS registration and configure your XMPP to listen on a public interface (LB is basically an extension of XMPP)

3) configure both (WB and Turn) with Public IP interface (b or c, depending on your scenario) and check the Deployment Guide regarding the required connections. You will need to use APIs to configure this environment and play with certificate bundles for trust relationship. Special attention to Turn TLS.  Remember to match DNS SRV Records with CN

 

Hope it helps. Best Regards

Elter,

Where does it talk using (3) servers for DB redundancy and XMPP redundancy and (2) not being supported?  I have been through the old Acano training and the new Cisco training and this was never relayed via the training's at least.

Thank you,
Justin Ferello
Technical Support Specialist, ScanSource KBZ

Former ACE I, didn´t explicitly metion, but if you realize the environment use 3 DB servers.

COLLAB350 day2 instructs you that you are required with at least 3 servers for DB redundancy (odd number, 3 or 5)

Deployment Guide says:

Note: Do not create a database cluster of 2 nodes, as it reduces resilience rather than increases
it. Using an odd number of nodes aids resiliency in the case of network partitions, and Cisco
recommends running at least 3 database nodes.

 

So, if you deploy a resilient solution and expect a resilient solution, you need to use 3 DB servers. In case you call TAC with 2 DB servers only they may instruct you that your scenario do not provide redundancy.

 

PS: "not supported" doesn´t mean it will not work.

Regards

Database Clustering and subsequent elections for DB Master require a quorum to properly elect the Master.

If you have an even number (4) of DB's in a cluster you run the risk of having two DB's separated from the other 2 DB's and each set of two could then enter into a Master election resulting in a dual master scenario. 

CMS (part number R-CMS-K9) is $0, so you should be able to get another activation license for your third CMS (used for database and XMPP resiliency).
Recorder/streamer should be on a separate standalone CMS, recommend not putting it on the same CMS as your redundant database/XMPP.

Hi guys,

 

Finally i was able to get an additional CMS license from our local Cisco AM.

Now my design will be as follow:

1) 1 X CMS 1000 core (Callbridge1,XMPP,1Database1)

2) 1 x CMS 1000 edge (Webbridge1, Loadbalancer1, TURN1)

3) 1 VM CMS core (Call bridge2 XMPP2, Database2)

4) 1 VM CMS core (Call bridge3 XMPP3, Database3)

5) 1 VM CMS edge (Webbridge2, Loadbalancer2, TURN2)

 

I think with this design i have full resiliency for all components.

Now i am configuring DNS records but i have some questions:

My DNS configuration will be as follow:

 

Type

Hostname

DNS

INTERNAL/EXTERNAL

Resolve to

 

A

cms-core1.example.com

INTERNAL

10.12.40.58(LAN)

 

A

cms-core2.example.com

INTERNAL

10.12.40.158(LAN)

 

A

cms-core3.example.com

INTERNAL

10.12.40.59(LAN)

 

A

cms-edge1.example.com

INTERNAL

10.12.230.58(DMZ)

 

A

cms-edge2.example.com

INTERNAL

10.12.230.158(DMZ)

 

SRV

_xmpp-server._tcp port 5269

Priority 0 weight 10

INTERNAL

cms-core1.example.com

 

SRV

_xmpp-server._tcp port 5269

Priority 10  weight 10

INTERNAL

cms-core2.example.com

SRV

_xmpp-server._tcp port 5269

Priority 20  weight 10

INTERNAL

cms-core3.example.com

SRV

_xmpp-client._tcp port 5222

Priority 0 weight 10

INTERNAL

cms-core1.example.com

SRV

_xmpp-client._tcp port 5222

Priority 10 weight 10

INTERNAL

cms-core2.example.com

SRV

_xmpp-client._tcp port 5222

Priority 20 weight 10

INTERNAL

cms-core3.example.com

A

cms-join.example.com

INTERNAL

10.12.230.58 (DMZ)

A

cms-join.example.com

INTERNAL

10.12.230.158(DMZ)

A

loadb1.example.com

EXTERNAL

Adresse IP Publique CMS edge 1

A

loadb2.example.com

EXTERNAL

Adresse IP Publique CMS edge 2

SRV

_xmpp-server._tcp port 5269

Priority 0  weight 10

EXTERNAL

loadb1.example.com

SRV

_xmpp-server._tcp port 5269

Priority 10  weight 10

EXTERNAL

loadb2.example.com

SRV

_xmpp-client._tcp port 5222

Priority 0 weight 10

EXTERNAL

loadb1.example.com

SRV

_xmpp-client._tcp port 5222

Priority 10 weight 10

EXTERNAL

loadb2.example.com

A

cms-join.example.com

EXTERNAL

Public IP Address CMS edge 1

A

cms-join.example.com

EXTERNAL

Public IP Address CMS edge 2

 

Is this DNS config correct?

Do i need to configure A records on internal and external DNS for cms join webrtc? 

In my case, with 2 edge servers, do i need 2 A records pointing to both servers?

In case of one of the edge servers is down, the DNS will automatically resolve to the second edge?

 

Regards

 

Be careful with SRVs. To have load balance you must use the same priority. If the servers do not have the same HW capacity, you can use the SRV weight field for the DNS load sharing.

Take a look here:  https://en.wikipedia.org/wiki/SRV_record

 

_xmpp-server._tcp port 5269  is used for federation. If you do not have it internally, you don´t need this one at your internal DNS.

 

Your  cms-join.example.com  record will point to the Public webbridge IP on External DNS and is OK if you network allow the connectivity from your LAN to DMZ to point the cms-join.example.com record on iternal DNS server to your Edge (the webbridge will need to listen on both interfaces, DMZ and Public). Another method is to configure the webbridge component at your core server and keep the traffic internally. Using APIs you can configure multiple webbridges.

 

Do i need to configure A records on internal and external DNS for cms join webrtc? 

R: Yes, but it depends on your topology

In my case, with 2 edge servers, do i need 2 A records pointing to both servers?

R: Yes. You will have DNS round robin characteristic

In case of one of the edge servers is down, the DNS will automatically resolve to the second edge?

R: When you have two DNS A records, both are informed and the DNS server may change the order randomly. The initiator will contact the first one and in case it is not reachable it will try the second one (but here it is the behavior of the session initiator). You may also decrease the TTL to speed up the order changes.

 

Hope it helps

Thank you very much Elter,

Great answer !!!

Just a detail: for edge servers i am planning to setup just one interface on DMZ and do NAT to external public IP. 

 

Regards

Yes, but keep only one XMPP enabled and in case you have CMS Edge, the trunks will need to be configured at the XMPP server only.

Hello Experts,

 

  I have some queries regarding CMS clustering. One of my customer purchased one CMS 1000 appliance and for redundancy they want to deploy second CMS on Hyper-V. So can we cluster two call bridge, XMPP and webbridge just using one database. and Do we required extra licenses to activate second call bridge, web bridge and XMPP service on second CMS.

 

Here we are considering single deployment.

 

Thank you..

 

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: