W celu skonfigurowania menedżera połączeń należy utworzyć jego plik konfiguracyjny.
Większość opcji menedżera połączeń jest określona w pliku konfiguracyjnym. Plik konfiguracyjny składa się z dwóch części:
- Nagłówek zawiera opcje konfiguracji menedżera połączeń określające nazwę instancji i inne opcjonalne parametry.
- Treść zawiera co najmniej jedną sekcję jednostki połączeń. Te sekcje definiują typ i nazwę jednostki połączeń, umowy SLA, konfigurację przełączania awaryjnego i program do obsługi alarmów dotyczących przełączania awaryjnego.
Następujący blok kodu przedstawia format pliku konfiguracyjnego menedżera połączeń:
# *** NAGŁÓWEK ***
NAME nazwa_instancji_managera_połączeń
# Parametry opcjonalne
MACRO nazwa_1=lista_serwerów_1
MACRO nazwa_2=lista_serwerów_2
MACRO nazwa_n=lista_serwerów_n
.
.
.
LOCAL_IP lista_adresów_ipLOG wartość
LOGFILE ścieżka_i_nazwa_pliku
DEBUG wartość
CM_TIMEOUT sekundy
EVENT_TIMEOUT sekundy
SECONDARY_EVENT_TIMEOUT sekundy
SQLHOSTS wartość
# *** TREŚĆ ***
# Jednostka połączeń 1
typ_jednostki nazwa_jednostki_1
{
INFORMIXSERVER lista_serwerów
SLA nazwa_umowy_sla_1 DBSERVERS=wartość \
\
\# Atrybuty opcjonalne umowy SLA
MODE=wartość \
USEALIASES=wartość \
POLICY=wartość \
WORKERS=liczba_wątków \
HOST=nazwa_hosta \
NETTYPE=protokół_sieciowy \
SERVICE=nazwa_usługi \
SQLHOSTSOPT=opcje
SLA nazwa_umowy_sla_2 DBSERVERS=wartość ...
SLA nazwa_umowy_sla_n DBSERVERS=wartość ...
.
.
.
# Opcjonalne parametry i atrybuty przełączania awaryjnego
FOC ORDER=wartość \
PRIORITY=wartość \
TIMEOUT=sekundy \
RETRY=próby
# Opcjonalny parametr alarmu dotyczącego przełączania awaryjnego
CMALARMPROGRAM ścieżka_i_nazwa_pliku
}
# Jednostka połączeń 2
typ_jednostki nazwa_jednostki_2
{
INFORMIXSERVER lista_serwerów
SLA nazwa_umowy_sla_1 DBSERVERS=wartość ...
SLA nazwa_umowy_sla_2 DBSERVERS=wartość ...
SLA nazwa_umowy_sla_n DBSERVERS=wartość ...
FOC ORDER=wartość ...
CMALARMPROGRAM ścieżka_i_nazwa_pliku
}
.
.
.
# Jednostka połączeń n
typ_jednostki nazwa_jednostki_n
{
INFORMIXSERVER lista_serwerów
SLA nazwa_umowy_sla_1 DBSERVERS=wartość ...
SLA nazwa_umowy_sla_2 DBSERVERS=wartość ...
SLA nazwa_umowy_sla_n DBSERVERS=wartość ...
FOC ORDER=wartość ...
CMALARMPROGRAM ścieżka_i_nazwa_pliku
}
Wskazówka: Dla lepszej czytelności można złamać długie wiersze pliku
konfiguracyjnego, posługując się odwrotnym ukośnikiem ( \ ) jako
znakiem kontynuacji wiersza. Następujący przykład przedstawia makrodefinicję rozdzieloną na
cztery wiersze:
MACRO listasrw=wezel1,wezel2,wezel3,wezel4, \
wezel5,wezel6,wezel7,wezel8, \
wezel9,wezel10,wezel11,wezel12, \
wezel13,wezel14,wezel15
Parametry pliku konfiguracyjnego menedżera połączeń
Następująca tabela zawiera parametry, których można użyć w poszczególnych sekcjach pliku konfiguracyjnego menedżera połączeń. Więcej informacji na temat każdego parametru można uzyskać przy użyciu odsyłacza umieszczonego w tabeli.
Tabela 1. Parametry pliku konfiguracyjnego menedżera połączeńCzęść pliku konfiguracyjnego |
Parametry wymagane |
Parametry opcjonalne |
Parametry nagłówka pliku konfiguracyjnego |
|
|
Treść dotycząca klastra o wysokiej dostępności |
|
|
Treść dotycząca struktury grid, zestawu replikacji lub zestawu serwerów |
|
|
Przykład 1: prosty plik konfiguracji klastra o wysokiej dostępności
NAME cm1
LOG 1
LOGFILE ${INFORMIXDIR}/tmp/cm1.log
CLUSTER zachod
{
INFORMIXSERVER ids_w1,ids_w2
SLA oltp DBSERVERS=primary
SLA raport DBSERVERS=HDR,SDS
FOC ORDER=ENABLED \
TIMEOUT=5 \
RETRY=2
CMALARMPROGRAM ${INFORMIXDIR}/etc/CMALARMPROGRAM.sh
}
Ten przykład przedstawia konfigurację menedżera połączeń na potrzeby klastra o wysokiej dostępności i definicje dwóch umów dotyczących poziomu usług.
W nagłówku pliku konfiguracyjnego są zdefiniowane:
- cm1 jako nazwa instancji menedżera połączeń,
- rejestrowanie jako włączone,
- cm1.log jako nazwa pliku dziennika,
- $INFORMIXDIR/tmp jako katalog dziennika.
W treści pliku konfiguracyjnego są zdefiniowane dwie umowy SLA, parametry przełączania awaryjnego oraz program wywoływany w przypadku niepowodzenia przetwarzania przełączenia awaryjnego:
- Żądania połączeń CONNECT TO @oltp są kierowane do serwera głównego.
- Żądania połączeń CONNECT TO @raport są kierowane do serwera pomocniczego HDR. Jeśli serwer pomocniczy HDR nie jest dostępny, żądania połączeń CONNECT TO @raport są kierowane do dowolnego dostępnego serwera pomocniczego dysku współużytkowanego.
- Wartość parametru konfiguracyjnego HA_FOC_ORDER serwera głównego jest używana jako reguła przełączania awaryjnego.
- Menedżer połączeń czeka dodatkowe 5 sekund na zdarzenia w jednostce połączeń, zanim rozpocznie przetwarzanie przełączenia awaryjnego serwera głównego.
- Menedżer połączeń przechodzi dwa razy przez kolejne elementy listy określonej w parametrze konfiguracyjnym serwera głównego HA_FOC_ORDER, a następnie przerywa automatyczne przełączenie awaryjne i generuje alarm.
- W przypadku błędu przetwarzania przełączenia awaryjnego jest wywoływany program $INFORMIXDIR/etc/CMALARMPROGRAM.sh.
Ten plik konfiguracyjny nie zawiera niektórych parametrów i atrybutów, a domyślne zachowanie menedżera połączeń jest następujące:
- Parametr DEBUG nie jest ustawiony, więc debugowanie jest wyłączone.
- Parametr EVENT_TIMEOUT nie jest ustawiony, więc menedżer połączeń czeka 60 sekund na zdarzenia z serwera głównego przed rozpoczęciem przetwarzania przełączenia awaryjnego.
- Parametr SECONDARY_EVENT_TIMEOUT nie jest ustawiony, więc menedżer połączeń czeka 60 sekund na zdarzenia z serwera pomocniczego przed rozłączeniem z tym serwerem pomocniczym.
- Parametr CM_TIMEOUT nie jest ustawiony, więc serwer bazy danych czeka 60 sekund na zdarzenia z menedżera połączeń będącego arbitrem przełączania awaryjnego, zanim kolejny dostępny menedżer połączeń zostanie arbitrem przełączania awaryjnego.
- Parametr SQLHOSTS nie jest ustawiony, więc menedżer połączeń sprawdza plik lokalny sqlhosts, a następnie zdalne pliki sqlhosts instancji ids_w1 i ids_w2.
- Atrybuty MODE parametrów umów SLA nie są ustawione, więc menedżer połączeń przekierowuje żądania połączeń z umowami oltp i raport i nie działa jako serwer proxy.
- Atrybuty POLICY umowy SLA raport nie są ustawione, więc menedżer połączeń kieruje żądania połączeń do najmniej obciążonego serwera pomocniczego.
- Atrybuty WORKERS parametrów umów SLA nie są ustawione, więc do każdej umowy SLA zostają przydzielone cztery wątki robocze.
- Atrybuty HOST, NETTYPE, SERVICE i SQLHOSTSOPT parametrów SLA nie są ustawione, więc menedżer połączeń używa wartości z plików sqlhosts na serwerach ids_w1 i ids_w2.
Przykład 2: złożony plik konfiguracyjny z wieloma typami jednostek połączeń
NAME cm2
MACRO NY=(ny1,ny2,ny3)
MACRO CA=(ca1,ca2,ca3)
LOG 1
LOGFILE ${INFORMIXDIR}/tmp/cm2.log
CLUSTER zachod
{
INFORMIXSERVER ids_w1,ids_w2
SLA oltpw DBSERVERS=primary
SLA raportw DBSERVERS=(HDR,SDS)
FOC ORDER=ENABLED \
TIMEOUT=5 \
RETRY=1
CMALARMPROGRAM /etc/CMALARMPROGRAM.sh
}
CLUSTER wschod
{
INFORMIXSERVER ids_e1,ids_e2
SLA oltpe DBSERVERS=primary
SLA raporte DBSERVERS=RSS,HDR
FOC ORDER=ENABLED \
TIMEOUT=5 \
RETRY=1
CMALARMPROGRAM ${INFORMIXDIR}/etc/CMALARMPROGRAM.sh
}
REPLSET erset
{
INFORMIXSERVER g_er1,g_er2
SLA repl1_dowolny DBSERVERS=ANY
SLA repl1_ca DBSERVERS=${CA} \
POLICY=WORKLOAD
SLA repl1_ny DBSERVERS=${NY}
}
GRID grid1
{
INFORMIXSERVER wezel1,wezel2,wezel3
SLA grid1_dowolny DBSERVERS=ANY \
POLICY=LATENCY
SLA grid1_dostepny DBSERVERS=${NY},${CA}
}
GRID grid2
{
INFORMIXSERVER wezel4,wezel5
SLA grid2_dowolny DBSERVERS=ANY \
POLICY=LATENCY
SLA grid2_dostepny DBSERVERS=${CA},${NY}
}
SERVERSET ss
{
INFORMIXSERVER ids1,ids2,ids3
SLA ssdostepny DBSERVERS=ids1,ids2,ids3 \
HOST=apollo \
SERVICE=9600 \
NETTYPE=onsoctcp
SLA ssdowolny DBSERVERS=(ids1,ids2,ids3) \
HOST=apollo \
SERVICE=9610 \
NETTYPE=onsoctcp
}
Menedżer połączeń jest tu konfigurowany do obsługi dwóch klastrów o wysokiej dostępności, zestawu replikacji, dwóch struktur grid i jednego zestawu serwerów.
W nagłówku pliku konfiguracyjnego są zdefiniowane:
- cm2 jako nazwa instancji menedżera połączeń,
- dwie makrodefinicje
- NY, złożona z serwerów ny1, ny2 i ny3,
- CA, złożona z serwerów ca1, ca2 i ca3,
- rejestrowanie jako włączone,
- cm2.log jako nazwa pliku dziennika,
- $INFORMIXDIR/tmp jako katalog dziennika.
Treść pliku konfiguracyjnego definiuje umowy dotyczące poziomu usług i opcje przetwarzania przełączenia awaryjnego dla sześciu jednostek połączeń.
Niektóre umowy SLA korzystają z makrodefinicji z nagłówka pliku konfiguracyjnego.
Ten plik konfiguracyjny nie zawiera niektórych parametrów i atrybutów, a domyślne zachowanie menedżera połączeń jest następujące:
- Parametr DEBUG nie jest ustawiony, więc debugowanie jest wyłączone.
- Parametr EVENT_TIMEOUT nie jest ustawiony, więc menedżer połączeń czeka 60 sekund na zdarzenia z serwera głównego przed rozpoczęciem przetwarzania przełączenia awaryjnego.
- Parametr SECONDARY_EVENT_TIMEOUT nie jest ustawiony, więc menedżer połączeń czeka 60 sekund na zdarzenia z serwera pomocniczego przed rozłączeniem z tym serwerem pomocniczym.
- Parametr CM_TIMEOUT nie jest ustawiony, więc serwer bazy danych czeka 60 sekund na zdarzenia z menedżera połączeń będącego arbitrem przełączania awaryjnego, zanim kolejny dostępny menedżer połączeń zostanie arbitrem przełączania awaryjnego.
- Parametr SQLHOSTS nie jest ustawiony, więc menedżer połączeń sprawdza najpierw lokalny plik sqlhosts, a następnie zdalne pliki sqlhosts instancji serwera bazy danych.