Introduction
A jtel ACD consists of a minimum 2 of virtual machines and may grow to sizes of 30 or more, in concurrence with for example redundancy or performance requirements. Based on a systems architecture, there are certain dependencies between the services, so a clean startup and shutdown is required and only done in a certain order to prevent problems during and after startup. The following page describes the various possible scenarios for proper shutdown and startup procedures, depending on the systems architecture.
On Premise
Caution for on premise jtel ACD systems:
Shutting down and starting the virtual machines of your jtel ACD back is not part of the jtel service contract and may incur service fees as a result. For further information, or to book a service appointment, please contact us at service@jtel.de
Page Layout
The pages are split into a parent and child pages. This parent page contains general information. The child pages each contain information about the specific procedure, depending on the sizing of the system. The sizing variants are Small, Medium and Large
General
The Hostnames of an ACDs jtel virtual machines may not be in concurrence with the aliases displayed below.
Alias | Signifies | Shutdown Priority | Startup Priority |
---|---|---|---|
acd-dbm | Database Master | Third | Third |
acd-dbm1 | First Database Master | Third | Third |
acd-dbm2 | Second Database Master | Third | Third |
acd-dbs | Database Slave | Second | Fourth |
acd-dbs1 | First Database Slave | Second | Fourth |
acd-dbs2 | Second Database Slave | Second | Fourth |
acd-dbr | Reporting Database | Second | Fourth |
acd-lb | The Load Balancer | Fourth | Second |
acd-lb1 | First Load Balancer | Fourth | Second |
acd-lb2 | Second Load Balancer | Fourth | Second |
acd-store | The File Storage | Last | First |
acd-tel1 | The Telephony Machine(s) Numbered from 1 ... N | First | Last |
acd-jb1 | The Webserver Machine(s) Numbered from 1 ... N | First | Last |
acd-api | The REST-API | First | Last |
acd-chat | Chat and or WhatsApp | First | Last |
acd-chatbot | Chatbot | First | Last |
Dependencies
All services of the platform are dependent on two central entities:
- The Storage(s)
- The Database(s)
To boot the solution, the storage should always be booted first. If this is external to the solution, continue with the next step. Otherwise, the computer (or in case of redundancy - both computers) is started on which the storage is located. This is usually the load balancer, but for larger systems a separate storage machine could have been implemented. Afterwards, the master database is booted. As soon as its is finished, the slave can be started up. Finally, the telephony servers and web servers can be started up in any order, even simultaneously.
Startup Dependencies for Large Systems
Shutting down redundant clusters is generally easier than starting them back up.
If problems occur after starting back up, some components must be checked.
Database:
- MySQL Replication between all replication partners
Load Balancing:
- pcs cluster status
Storage:
- pcs cluster status
- drbd status
Checks after starting a system
To ensure proper system functionality after a boot, tests are required. Follow the guideline on this page: System Health Check
Medium V1
First shutdown acd-tel and acd-jbN in no particular order. You do not have to wait until acd-tel and acd-jbN are down before starting the shutdown at acd-dbs/dbr. Wait until acd-dbs/dbr is shutdown before shutting acd-dbm down. Wait until acd-dbm is shutdown before shutting acd-store/lb down.
Medium V2
First shutdown acd-tel and acd-jbN in no particular order. You do not have to wait until acd-tel and acd-jbN are down before shutting acd-dbs/dbr down. Wait until acd-dbs/dbr is shutdown before shutting acd-dbm down. Wait until acd-dbm is shutdown before shutting acd-lb down. Wait until acd-lb is shutdown before shutting acd-store down.
Large V1 - Redundant Databases
When shutting down a redundant database architecture, the inactive machines are shutdown first. Therefore, before a shutdown procedure can begin, the active machines must be known. The table at Large V1 assumes that acd-dbm2 is currently the active master database and displays the shutdown procedure according to that. Only start the next step if the previous shutdown was completed successfully:
First shutdown acd-tel and acd-jbN in no particular order. You do not have to wait until acd-tel and acd-jbN are down before shutting acd-dbs1/dbr1 and acd-dbs2/dbr2 down simultaneously, but in correct order. Wait until acd-dbs1/dbr1 and acd-dbs2/dbr2 are down until shutting acd-dbm1 down. Wait until acd-dbm1 is down before shutting down acd-dbm2. Wait until acd-dbm2 is down before shutting down acd-lb. Wait until acd-lb is down before shutting acd-store down.
Large V2 - Redundant Databases + Load Balancing
When shutting down a redundant load balancing architecture, the inactive machines are shutdown first. Therefore, before a shutdown procedure can begin, the active machines must be known. The table at Large V2 assumes that acd-lb2 is currently the active load balancer and displays the shutdown procedure according to that. Only start the next step if the previous shutdown was completed successfully:
First shutdown acd-tel and acd-jbN in no particular order. You do not have to wait until acd-tel and acd-jbN are down before shutting acd-dbs1/dbr1 and acd-dbs2/dbr2 down simultaneously, but in correct order. Wait until acd-dbs1/dbr1 and acd-dbs2/dbr2 are down until shutting acd-dbm1 down. Wait until acd-dbm1 is down before shutting down acd-dbm2. Wait until acd-dbm2 is down before shutting down acd-lb1. Wait until acd-lb1 is down before shutting down acd-lb2. Wait until acd-lb2 is down before shutting down acd-store.
Large V3 - Redundant Databases + Load Balancing + Storage
When shutting down a redundant storage architecture, the inactive machine is shutdown first. Therefore, before a shutdown procedure can begin, the active machine must be known. The table at Large V3 assumes that acd-store2 is currently the active storage and displays the shutdown procedure according to that. Only start the next step if the previous shutdown was completed successfully:
First shutdown acd-tel and acd-jbN in no particular order. You do not have to wait until acd-tel and acd-jbN are down before shutting acd-dbs1/dbr1 and acd-dbs2/dbr2 down simultaneously, but in correct order. Wait until acd-dbs1/dbr1 and acd-dbs2/dbr2 are down until shutting acd-dbm1 down. Wait until acd-dbm1 is down before shutting down acd-dbm2. Wait until acd-dbm2 is down before shutting down acd-lb1. Wait until acd-lb1 is down before shutting down acd-lb2. Wait until acd-lb2 is down before shutting down acd-store1. Wait until acd-store1 is down until shutting acd-store2 down.
Medium
Medium V1
Steps 1 to N | Shutdown | Startup |
---|---|---|
1 | acd-tel | acd-store/lb |
2 | acd-jbN | acd-dbm |
3 | acd-dbs/dbr | acd-dbs/dbr |
4 | acd-dbm | acd-jbN |
5 | acd-store/lb | acd-tel |
Medium V2
Steps 1 to N | Shutdown | Startup |
---|---|---|
1 | acd-tel | acd-store |
2 | acd-jbN | acd-lb |
3 | acd-dbs/dbr | acd-dbm |
4 | acd-dbm | acd-dbs/dbr |
5 | acd-lb | acd-jbN |
6 | acd-store | acd-tel |
Medium V1
First start acd-store/lb and wait until it is up. Start acd-dbm and wait until it is up. Start acd-dbs/dbr and check the MySQL replication status after it is up. Start acd-jbN and acd-tel afterwards in no particular order.
Medium V2
First start acd-store and wait until it is up. Start acd-lb and wait until it is up. Start acd-dbm and wait until it is up. Start acd-dbs/dbr and wait until it is up. Start acd-jbN and acd-tel afterwards in no particular order.
Large V1
When starting up a redundant database architecture, replication status must be checked on all replication partners of the system. Additional information can be found here: System Health Check
First start acd-store and wait until it is up. Start acd-lb and wait until it is up. Start acd-dbm2 and wait until it is up. Start acd-dbm1 and wait until it is up. start acd-dbs2/dbr2 and wait until it is up. Start acd-dbs1/dbr1 and wait until it is up. Start acd-jbN and acd-tel afterwards in no particular order.
Large V2
When starting up a redundant load balancing architecture, the pcs cluster status must be checked on all pcs cluster members. Additional information can be found here: System Health Check
First start acd-store and wait until it is up. Start acd-lb2 and wait until it is up. Start acd-lb1 and wait until it is up. Start acd-dbm2 and wait until it is up. Start acd-dbm1 and wait until it is up. start acd-dbs2/dbr2 and wait until it is up. Start acd-dbs1/dbr1 and wait until it is up. Start acd-jbN and acd-tel afterwards in no particular order.
Large V3
When starting up a redundant storage architecture, the pcs cluster and drbd replication status must be checked on all pcs cluster members. Additional information can be found here: System Health Check
First start acd-store2 and wait until it is up. Start acd-store1 and wait until it is up. Start acd-lb2 and wait until it is up. Start acd-lb1 and wait until it is up. Start acd-dbm2 and wait until it is up. Start acd-dbm1 and wait until it is up. start acd-dbs2/dbr2 and wait until it is up. Start acd-dbs1/dbr1 and wait until it is up. Start acd-jbN and acd-tel afterwards in no particular order.
Large
Large V1 - Redundant Databases
Steps 1 to N | Shutdown | Startup |
---|---|---|
1 | acd-telN | acd-store |
2 | acd-jbN | acd-lb |
3 | acd-dbs1/dbr1 | acd-dbm2 |
4 | acd-dbs2/dbr2 | acd-dbm1 |
5 | acd-dbm1 | acd-dbs2/dbr2 |
6 | acd-dbm2 | acd-dbs1/dbr1 |
7 | acd-lb | acd-jbN |
8 | acd-store | acd-telN |
Large V2 - Redundant Databases + Load Balancing
Steps 1 to N | Shutdown | Startup |
---|---|---|
1 | acd-telN | acd-store |
2 | acd-jbN | acd-lb2 |
3 | acd-dbs1/dbr1 | acd-lb1 |
4 | acd-dbs2/dbr2 | acd-dbm2 |
5 | acd-dbm1 | acd-dbm1 |
6 | acd-dbm2 | acd-dbs2/dbr2 |
7 | acd-lb1 | acd-dbs1/dbr1 |
8 | acd-lb2 | acd-jbN |
9 | acd-store | acd-telN |
Large V3 - Redundant Databases + Load Balancing + Storage
Steps 1 to N | Shutdown | Startup |
---|---|---|
1 | acd-telN | acd-store2 |
2 | acd-jbN | acd-store1 |
3 | acd-dbs1/dbr1 | acd-lb2 |
4 | acd-dbs2/dbr2 | acd-lb1 |
5 | acd-dbm1 | acd-dbm2 |
6 | acd-dbm2 | acd-dbm1 |
7 | acd-lb1 | acd-dbs2/dbr2 |
8 | acd-lb2 | acd-dbs1/dbr1 |
9 | acd-store1 | acd-jbN |
10 | acd-store2 | acd-telN |