You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 34 Next »

Under Construction

This site is currently under construction. Contained Information is subject to change.

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

This page is split into three rows, each named after a different type of sizing. 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.


AliasSignifiesShutdown PriorityStartup Priority
acd-dbmDatabase MasterThirdThird
acd-dbm1First Database MasterThirdThird
acd-dbm2Second Database MasterThirdThird
acd-dbsDatabase SlaveSecondFourth
acd-dbs1First Database SlaveSecondFourth
acd-dbs2Second Database SlaveSecondFourth
acd-dbrReporting DatabaseSecondFourth
acd-lbThe Load BalancerFourthSecond
acd-lb1First Load BalancerFourthSecond
acd-lb2Second Load BalancerFourthSecond
acd-storeThe File StorageLastFirst

acd-tel1
...
acd-telN

The Telephony Machine(s) Numbered from 1 ... NFirstLast

acd-jb1
...
acd-jbN

The Webserver Machine(s) Numbered from 1 ... NFirstLast

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.

Small V1

MachineShutdownStartup
acd-telFirstLast
acd-store/lb/dbm/dbs/dbr/jbLastFirst

Small V2

MachineShutdownStartup
acd-telFirst Last
acd-dbm/dbs/dbrSecondSecond
acd-store/lb/jbLastFirst

Small V3

MachineShutdownStartup
acd-telFirstLast
acd-jbNFirstLast
acd-dbm/dbs/dbrSecondSecond
acd-store/lb/LastFirst

Start Up


Order

A non-redundant solution is assumed in the following. The operation of a redundant solution requires extra schooling.

This results in the following starting order:

  1. Storage (Separates Storage acd-store or Load-Balancer acd-lb). 
    Wait until Storage is up.
  2. With separate storage, now start the load balancer acd-lb.
    There is no need to wait here.
  3.  acd-dbm - Database Master .
    Wait until DB-Master is up.
  4.  acd-dbs -  Database Slave- .
    Wait until DB slave is up.
  5. Boot acd-jb1 ... acd-jb(x) aswell as acd-tel1 ... acd-tel(x)

Checks

  1. Log on to the Web via the load balancer. 
    1. Log on OK?
      If Not, check /home/jtel/jboss-(version)/standalone/log/server.log
    2. ESSENTIAL: Logo visible in the web application?
      If not, the storage is not up. Check with mount on the web servers. If necessary restore mount /home/jtel/shared Mount.
  2. Call System.
    1. Calls are put through?
      If not, check the telephony server.
      Look for red messages in the telephony server and act accordingly.
    2. Calls are signalled in the Agent Home or Mini Client?
      If not, check the Hazelcast cluster (PlatformListener for telephony and web server).

Shutdown

Order

Shutting down is done in the reverse order:

  1. Shutdown All Webservers acd-jb1 ... acd-jb(x) and Telephony servers acd-tel1 ... acd-tel(x) 
    Finish step or make sure that the computers are really shutting down before continuing.
  2. Shut down database slave acd-dbs.
  3. Shut down database master acd-dbm.
  4. Shut down load balancer acd-lb.
  5. For separate storage, shut down acd-store.

It is not absolutely necessary to wait between the individual steps, just step 1 should be completed before continuing.


Medium V1

MachineShutdownStartup
acd-telFirstLast
acd-jbNFirstLast
acd-dbs/dbrSecondSecond
acd-dbmThirdThird
acd-store/lb/LastFirst

Medium V2

MachineShutdownStartup
acd-telFirstLast
acd-jbNFirstLast
acd-dbs/dbrSecondSecond
acd-dbmThirdThird
acd-lbFourthFourth
acd-storeLastFirst

Shutdown/Startup

Shutting down redundant clusters is easier than starting them back up.

Some components must be checked directly after starting up, before work can continue.

Database:

  • MySQL Replication between all replication partners

Load Balancing:

  • pcs cluster status

Storage:

  • pcs cluster status
  • drbd status

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 following table assumes that acd-dbm2 is currently the active master database.

MachineShutdownStartup
acd-telNFirstLast
acd-jbNFirstLast
acd-dbs1/dbr1SecondSecond
acd-dbs2/dbr2SecondSecond
acd-dbm1ThirdThird
acd-dbm2ThirdThird
acd-lbFourthFourth
acd-storeLastFirst

Large V2 - Redundant Databases + Load Balancing

Please view above for database shutdown.

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 following table assumes that acd-lb2 is the active load balancer.

MachineShutdownStartup
acd-telNFirstLast
acd-jbNFirstLast
acd-dbs1/dbr1SecondSeventh
acd-dbs2/dbr2ThirdSixth
acd-dbm1FourthFifth
acd-dbm2FifthFourth
acd-lb1SixthThird
acd-lb2SeventhSecond
acd-storeLastFirst

Large V3 - Redundant Databases + Load Balancing + Storage

Please view above for database and load balancer shutdown.

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 following table assumes that acd-store2 is the active storage.

MachineShutdownStartup
acd-telNFirstLast
acd-jbNFirstLast
acd-dbs1/dbr1SecondEighth
acd-dbs2/dbr2ThirdSeventh
acd-dbm1FourthSixth
acd-dbm2FifthFifth
acd-lb1SixthFourth
acd-lb2SeventhThird
acd-store1EighthSecond
acd-store2LastFirst

Startup and Shutdown - Redundant components

If the entire system is shut down, some components may not be immediately available or manual intervention may be necessary.

Storage (Redundant) - CentOS

This checklist is not viable for installations that use the new DRBD construct of Primary/Secondary. It is viable only for constructs that use Primary/Primary

Shut down (only one)

Always shut down one after the other.

With:

pcs status 

determine which node is Primary.

On the Secondary Node:

drbdadm secondary jtelshared
shutdown now

Then shut down the Primary Node.

shutdown now

Boot up (only one)

After booting the Secondary Node, check the status. It should be Secondary and UpToDate

pcs status 

Check Sync status with :

cat /proc/drbd

After the sync is done, if necessary, and is ready:

drbdadm primary jtelshared

Check status with: It should be Primary/Primary + UpToDate/UpToDate

cat /proc/drbd

Shut down (both)

With:

pcs status

determine which node is active (the node on which Samba and the virtual IP is running). This is the Primary Node

Set the secondary Node to secondary with:

drbdadm secondary jtelshared
shutdown now

On the Secondary Node first, then Primary:

shutdown now

Start up (both)

Boot the Primary Node first

Check DRBD sync Status and pcs cluster status

Check with:

pcs status
cat /proc/drbd

The Primary Node should be primary, and Secondary Node should be secondary. Disc should be UpToDate


Then on Secondary Node

drbdadm primary jtelshared
Check with: 
cat /proc/drbd

Both nodes should be set to Primary/Primary + UpToDate/UpToDate

Then check if everything works a final time:


pcs status
cat /proc/drbd

  • No labels