Presentation is loading. Please wait.

Presentation is loading. Please wait.

Multi-Server Topology

Similar presentations


Presentation on theme: "Multi-Server Topology"— Presentation transcript:

1 Multi-Server Topology
Rep ver 17556 Multi-Server Topology Version 21 Yoel Kortick. Aleph support manager Nov. 2011

2 Copyright Statement All of the information and material inclusive of text, images, logos, product names is either the property of, or used with permission by Ex Libris Ltd. The information may not be distributed, modified, displayed, reproduced – in whole or in part – without the prior written permission of Ex Libris Ltd. TRADEMARKS Ex Libris, the Ex Libris logo, Aleph, Aleph, AlephIT, MetaLib, DigiTool, Verde, Primo, Voyager, MetaSearch, MetaIndex and other Ex Libris products and services referenced herein are trademarks of Ex Libris, and may be registered in certain jurisdictions. All other product names, company names, marks and logos referenced may be trademarks of their respective owners. DISCLAIMER The information contained in this document is compiled from various sources and provided on an "AS IS" basis for general information purposes only without any representations, conditions or warranties whether express or implied, including any implied warranties of satisfactory quality, completeness, accuracy or fitness for a particular purpose. Ex Libris, its subsidiaries and related corporations ("Ex Libris Group") disclaim any and all liability for all use of this information, including losses, damages, claims or expenses any person may incur as a result of the use of this information, even if advised of the possibility of such loss or damage. © Ex Libris Ltd., 2011

3 Introductory note This rep_ver is applicable for the
Batch servers (batch and daemons) Application servers (pc and www server) It does not apply to Web servers (Only apache is running) DB servers (Only Oracle is running)

4 The rep change description
Description: Multi-Server Topology - Batch queue and daemon machines separation. It's now possible to declare 2 separate machines Machine for batch queue Machine for daemons.

5 aleph_start parameters
2 new parameters where added in $alephe_root/aleph_start These new parameters declare the batch queue and the daemons machines: Define the batch queue server: setenv BATCH_HOST_NAME <Batch_hostname> Define the daemons server: setenv DAEMONS_HOST_NAME <Daemons_hostname>

6 Running batch services
In addition, a new mechanism has been added to enable the user to run batch services that lock the library from any application machine This prevents a situation in which a batch service will run and then the “lock” and “unlock” would stop and start the batch queue and daemons on the wrong servers.

7 Daemons running idle When executing services that lock the library, a new type of file is created (util_e_NN_idle). The existence of this file causes the daemons to stay alive but do nothing. After the library is unlocked, these files are removed and daemons get back to their regular activity on the dedicated daemons server regardless of the server from which the service has been executed.

8 For example … Library has: 2 Batch servers
one for batch and job daemon one for ue_nn daemons 2 Application servers Each with pc and www server Library also has these, but rep_ver does not apply to these Web servers (Only apache is running) DB servers (Only Oracle is running)

9 For example … These are the servers:
ylkbat01 = runs batch and job daemon (defined as BATCH_HOST_NAME) ylkbat02 = runs ue_nn daemons (defined as DAEMONS_HOST_NAME) ylkaps01 = first application server which run www and pc server ylkaps02 = second application server which run www and pc server (internal load balancer turns to one of the two ylkapsnn servers for pc and www requests) They share a common $alephe_root directory (on a common disk)

10 For example … ylkbat01 Batch server which runs batch and job daemon is called ylkbat01 $alephe_root 'BATCH|DAEMON‘ aleph_start setenv BATCH_HOST_NAME ylkbat01 setenv DAEMONS_HOST_NAME ylkbat02 | egrep 'BATCH|DAEMON' BATCH_HOST_NAME=ylkbat01 DAEMONS_HOST_NAME=ylkbat02

11 For example … ylkbat02 Batch server which runs ue_nn daemons is called ylkbat02 $alephe_root 'BATCH|DAEMON‘ aleph_start setenv BATCH_HOST_NAME ylkbat01 setenv DAEMONS_HOST_NAME ylkbat02 | egrep 'BATCH|DAEMON' BATCH_HOST_NAME=ylkbat01 DAEMONS_HOST_NAME=ylkbat02

12 For example … ylkaps01 The first application server which runs pc and www server is called ylkaps01 $alephe_root 'BATCH|DAEMON‘ aleph_start setenv BATCH_HOST_NAME ylkbat01 setenv DAEMONS_HOST_NAME ylkbat02 | egrep 'BATCH|DAEMON' BATCH_HOST_NAME=ylkbat01 DAEMONS_HOST_NAME=ylkbat02

13 For example … ylkaps02 The second application server which runs pc and www server is called ylkaps02 $alephe_root 'BATCH|DAEMON' aleph_start setenv BATCH_HOST_NAME ylkbat01 setenv DAEMONS_HOST_NAME ylkbat02 | egrep 'BATCH|DAEMON' BATCH_HOST_NAME=ylkbat01 DAEMONS_HOST_NAME=ylkbat02

14 Changed $aleph_proc files
The $aleph_proc files which have been changed due to this rep_ver are: define_batch_daemons_server (new) lock_library (changed) unlock_library (changed) util_c (changed) util_e (changed)

15 define_batch_daemons_server
define_batch_daemons_server # set CUR_HOST_NAME = `hostname` # Define valid_for_batch server set VALID_FOR_BATCH = "N" if (! $?BATCH_HOST_NAME) then set VALID_FOR_BATCH = "Y" else if ($CUR_HOST_NAME == $BATCH_HOST_NAME) then endif # Define valid_for_daemons server set VALID_FOR_DAEMONS = "N" if (! $?DAEMONS_HOST_NAME) then set VALID_FOR_DAEMONS = "Y" if ($CUR_HOST_NAME == $DAEMONS_HOST_NAME) then Deals with situation where new parameters are not defined (not multi server topology)

16 lock_library This means that when the library is locked:
if (! $?DAEMONS_HOST_NAME) then # Stop deamons (ue_01 ue_06 ue_08 ue_11 ue_13 ue_21) touch $data_scratch/util_e_01_stop touch $data_scratch/util_e_06_stop touch $data_scratch/util_e_08_stop touch $data_scratch/util_e_11_stop touch $data_scratch/util_e_13_stop touch $data_scratch/util_e_21_stop else # Idle deamons (ue_01 ue_06 ue_08 ue_11 ue_13 ue_21) touch $data_scratch/util_e_01_idle touch $data_scratch/util_e_06_idle touch $data_scratch/util_e_08_idle touch $data_scratch/util_e_11_idle touch $data_scratch/util_e_13_idle touch $data_scratch/util_e_21_idle endif This means that when the library is locked: if the parameter DAEMONS_HOST_NAME does not exist then stop the daemons if the parameter DAEMONS_HOST_NAME exists then make the daemons be idle

17 unlock_library The file “unlock_library” (relevant part of the file)
if ($?DAEMONS_HOST_NAME) then rm -f $data_scratch/util_e_01_idle rm -f $data_scratch/util_e_06_idle rm -f $data_scratch/util_e_08_idle rm -f $data_scratch/util_e_11_idle rm -f $data_scratch/util_e_13_idle rm -f $data_scratch/util_e_21_idle goto ex_unlock_library endif This means that when the library is locked: if the parameter DAEMONS_HOST_NAME exists then remove the “idle” files so that the daemons will no longer be idle.

18 util_e source $aleph_proc/define_batch_daemons_server if ($VALID_FOR_DAEMONS == "N" && $n != 15 && $n != 16) then echo "This util option cannot be accessed via this host machine ($CUR_HOST_NAME)." echo "This util can be accessed via the designated Daemons host machine ($DAEMONS_HOST_NAME)." echo -n "Enter CR to continue... " read_line goto exit endif if ($VALID_FOR_BATCH == "N" && ($n == 15 || $n == 16)) then echo "This util can be accessed via the designated Batch host machine ($BATCH_HOST_NAME)." This means that util e can be run only on the DAEMONS_HOST_NAME server (if defined) Util e 15 and util e 16 can be run only from BATCH_HOST_NAME server (if defined)

19 util_c source $aleph_proc/define_batch_daemons_server if ($VALID_FOR_BATCH == "N") then echo "This util option cannot be accessed via this host machine ($CUR_HOST_NAME)." echo "This util can be accessed via the designated Batch host machine ($BATCH_HOST_NAME)." echo -n "Enter CR to continue... " read_line goto exit endif This means that util c can be run only on the BATCH_HOST_NAME server (if defined)

20 For example on BATCH_HOST_NAME…
We have this: BATCH_HOST_NAME=ylkbat01 DAEMONS_HOST_NAME=ylkbat02 Util e 22 on ylkbat01 can not be run and gives this message This util option cannot be accessed via this host machine (ylkbat01). This util can be accessed via the designated Daemons host machine (ylkbat02). Util c on ylkbat01 can be run (but in any case does not show ue_nn daemons because they run on other server)

21 For example on DAEMONS_HOST_NAME…
We have this: BATCH_HOST_NAME=ylkbat01 DAEMONS_HOST_NAME=ylkbat02 Util e 22 on ylkbat02 can be run Util c on ylkbat02 can not be run and gives this message This util option cannot be accessed via this host machine (ylkbat02). This util can be accessed via the designated Batch host machine (ylkbat01).

22 Yoel Kortick Yoel.Kortick@exlibrisgroup.com
Thank You! Yoel Kortick


Download ppt "Multi-Server Topology"

Similar presentations


Ads by Google