Brekeke Contact Center Suite Wiki

Brekeke CCS Redundancy Active - Standby for DR

Preparation:

1. In both of the Primary and Secondary site, install the following modules and configure initial settings.

PBX Server
CIM/CRM Server *1
CA/RFS Server *2
Database Server

 

*1. In this example, CIM and CRM are installed into the same server.

*2. In this example, CA and RFS are installed into the same server.

For initial setup, you can refer to the following instructins:

Brekeke PBX : Brekeke PBX Administrator’s Guide (Basic) >>

Brekeke CCS (CIM,CRM,CA, and RFS) : Brekeke CCS Installation >>

 

 

Configure Active – Standby Settings

Brekeke PBX :  Set up Brekeke PBX Auto Sync >>

 

– Brekeke CCS  (CIM,CRM,CA, and RFS) :

By using replication feature of MySQL, all CCS data of the primary site is replicated to the databases in the secondary site.

In this example, we assume that the following databases has been created in each site.

cimdb 
logdb
crmdb
cadb
rfsdb

 

1. Setup replication of MySQL.

Here, as an example, settings of standard replication of MySQL is introduced.

With the follwing settings, updated data in each sites will be replicated each other.

For details of replication functions, refer to the MySQL website.

 

Step 1-1. Prepare my.cnf 

Primary site:

<my.cnf>

#Common
server-id=1001
auto_increment_increment=5
auto_increment_offset=1
innodb_flush_log_at_trx_commit=0
sync_binlog=0
slave_parallel_type=LOGICAL_CLOCK
slave-parallel-workers=20

#Master Server Settings
expire_logs_days=3
log-bin=mysql-bin

#Slave Server Settings
relay_log_info_repository = TABLE
master_info_repository = TABLE
relay_log_recovery = ON
slave-skip-errors=1032,1062,1146,1051

# Exclude system configuration tables

replicate-ignore-table=cadb.m_system_config
replicate-ignore-table=cimdb.m_system_config
replicate-ignore-table=crmdb.m_system_config
replicate-ignore-table=logdb.m_system_config
replicate-ignore-table=rfsdb.m_rfs_config

Restart MySQL.

You can check the master status with the following command.

mysql> show master status;

 

 

Secondary Site:

<my.cnf>

#Common
server-id=1002
auto_increment_increment=5
auto_increment_offset=2
innodb_flush_log_at_trx_commit=0
sync_binlog=0
slave_parallel_type=LOGICAL_CLOCK
slave-parallel-workers=20

#Master Server Settings
expire_logs_days=3
log-bin=mysql-bin

#Slave Server Settings
relay_log_info_repository = TABLE
master_info_repository = TABLE
relay_log_recovery = ON
slave-skip-errors=1032,1062,1146,1051

# Exclude system configuration tables
replicate-ignore-table=cadb.m_system_config
replicate-ignore-table=cimdb.m_system_config
replicate-ignore-table=crmdb.m_system_config
replicate-ignore-table=logdb.m_system_config
replicate-ignore-table=rfsdb.m_rfs_config

Restart MySQL.

You can check the master status with the following command.

mysql> show master status;

 

Step 1-2. Start Replication

Secondary site:

Login MySQL and execute the folloiwng commands.

 mysql> CHANGE MASTER TO
-> MASTER_HOST='Primary MySQL's address',
-> MASTER_USER='database user for replication',
-> MASTER_PASSWORD='database user's password',
-> MASTER_PORT=3306,
-> MASTER_LOG_FILE='mysql-bin.000001',
-> MASTER_LOG_POS=Current position of Master log file,
-> MASTER_CONNECT_RETRY=10
-> for channel 'Primary MySQL's address';

Example:

 mysql> CHANGE MASTER TO
-> MASTER_HOST='172.19.0.10',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='replpassword',
-> MASTER_PORT=3306,
-> MASTER_LOG_FILE='mysql-bin.000001',
-> MASTER_LOG_POS=3220,
-> MASTER_CONNECT_RETRY=10
-> for channel '172.19.0.10';

You can check status with the followin MySQL commands

mysql> show slave status\G;

If the slave process hasn’t started,yet start it.

mysql> start slave;

 

The settings for replication from the primary site (Master) to the secondary site (Slave) is completed.

 

Step 2-3 (Optional Step)

In the case the replication from the secondary site (Master) to primary site (Slave) is needed.

Primary site:

Login MySQL and execute the folloiwng commands.

 mysql> CHANGE MASTER TO
-> MASTER_HOST='Secondary MySQL's address',
-> MASTER_USER='database user for replication',
-> MASTER_PASSWORD='database user's password',
-> MASTER_PORT=3306,
-> MASTER_LOG_FILE='mysql-bin.000002',
-> MASTER_LOG_POS=Current position of Secondary Master log file,
-> MASTER_CONNECT_RETRY=10
-> for channel 'Secondary MySQL's address';

Example:

 mysql> CHANGE MASTER TO
-> MASTER_HOST='172.19.2.22',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='replpassword',
-> MASTER_PORT=3306,
-> MASTER_LOG_FILE='mysql-bin.000001',
-> MASTER_LOG_POS=3220,
-> MASTER_CONNECT_RETRY=10
-> for channel '172.19.2.22';

You can check status with the following MySQL command.

mysql> show slave status\G;

If the slave process hasn’t started,yet start it.

mysql> start slave;

 

2. Synchronize recording files of RFS.

Brekeke doesn’t provide the feature to synchronize the physical recording files between primary and secondary site.

By using copy function of OS or Storage, the recording files are needed to be synchronized.

 

Yes No
Suggest Edit