Seriál Lotus Notes: Replikace II.

V minulém díle byla popsána replikace z pohledu uživatele – vysvětlení základních principů a návod na zprovoznění lokálních replik vybraných databází (tedy replikace mezi serverem Domino a klientem Lotus Notes). Tento díl se zaměří na replikaci mezi dvěma servery Domino.

Serverová replikace

Účel replikace mezi servery je zřejmý: zajistit, aby data byla konzistentní napříč organizací – aby uživatel viděl stejné dokumenty, ať se připojí k serveru A nebo serveru B. Tato základní myšlenka našla uplatnění v celé řadě konkrétních implementací:

  • Základní replikace: Nejjednodušší příklad. Dva a více serverů, například v různých městech, spolu replikují vybrané databáze jedna ku jedné. Uživatelé se připojují k tomu geograficky bližšímu serveru a proces replikace zajistí, že změny, které uživatelé vytvoří, se přenesou na další servery.
  • Cluster: Jedná se množinu dvou až šesti serverů, které se jednoduchým postupem spojí do Domino clusteru. Od té chvíle se vyměňují data průběžně a neustále – zjednodušeně se dá říci, že mezi nimi probíhá speciální replikace každých několik sekund. Navíc to má i další výhody – v případě výpadku jednoho serveru se uživatel Lotus Notes automaticky přepojí na databáze na jiném serveru v clusteru.
  • Zálohování: I když to není zrovna optimální způsob zabezpečení proti ztrátě dat, některé firmy řeší pomocí replikace některou z úrovní zálohování. Postaví speciální Domino server, ke kterému povolí přístup jen pro jiné servery nebo administrátory, ne pro běžné uživatele. Nastaví replikaci mezi záložním serverem a některým z produkčních serverů tak, aby probíhala pouze jedním směrem (viz další odstavce), tedy z produkčního serveru na zálohovací. Současně s tím nastaví přístupová práva v databázích (ACL) tak, aby produkční servery měly svá potřebná práva (zpravidla Manager) a záložní server měl pouze Reader. Pozor! Tato topologie vyžaduje zkušenějšího administrátora, který ví, co dělá a jak jednotlivá nastavení fungují.
  • Výběrová replikace: Tento způsob (také nazývaný selektivní replikace) použijte tehdy, když nechcete mít v jedné nebo více databázích na všech serverech úplně stejný obsah a stejné dokumenty. Tedy například tehdy, chcete-li, aby na centrálním serveru v Praze v objednávkové databázi byly všechny objednávky, ale na jednotlivých pobočkách pouze ty, které se dané pobočky týkají (například v dané pobočce vzniknuly). Zjednodušeně to může vypadat tak, že v Brně je 500 dokumentů, v Ostravě 350, v Plzni 200 a v Praze 1400 dokumentů (1050 dokumentů z tří vyjmenovaných poboček plus 350 dalších dokumentů týkajících se vlastní pražské pobočky). Toto lze nastavit několika způsoby, například pomocí systémových polí Readers a Authors (jak bylo popsáno v předchozích dílech), nebo pomocí filtrů v replikačním nastavení. Pozor! Platí stejná připomínka, jako v předchozím bodě – pouze pro zkušené administrátory.
  • DMZ: Jeden server Domino umístíte do demilitarizované zóny s kontrolovaným přístupem z veřejného Internetu. Na tento server replikujete pouze vybrané databáze určené pro přístup zvenčí.

Nezapomeňte, že všechny servery v Domino doméně (tedy ty, které sdílejí stejnou adresní knihu names.nsf) musejí pravidelně mezi sebou replikovat systémové databáze, aby byla zachována konzistence klíčových konfiguračních dokumentů.

Connection dokumenty

Kde se nastavují pravidla serverových replikací? V Domino Directory (names.nsf), pohled Configuration - Servers – Connections. Zde se ukládají tzv. Connection dokumenty, jejichž hlavním cílem je určit, ke kterým cílovým serverům se zdrojový server připojuje, jak se k němu dostane, v jakých intervalech se má připojovat a co má provádět (replikovat, posílat poštu). Jedná se tedy o jedny z klíčových dokumentů, které rozhodují o tom, jak bude vaše Domino infrastruktura fungovat.
Jestliže již máte v Domino doméně více serverů, velmi pravděpodobně zde uvidíte již nějaké existující Connection dokumenty. Otevřete je a prohlédněte si jejich nastavení. Pokud dosud žádné nemáte (máte jenom jeden server), vytvořte si tlačítkem Add Connection zkušební dokument a podívejte se na jeho obsah.

Záložka Basics

Na prvním řádku se nastavuje vlevo typ propojení serverů (nechte Local Area Network) a prioritu (ponechte Normal). Druhý a třetí řádek obsahují první klíčové údaje: vlevo nastavujete jméno a doménu zdrojového serveru, vpravo jméno a doménu cílového serveru.
Poslední, čtvrtý řádek, pomůže zdrojovému serveru najít cestu k cíli: vlevo vyberete typ protokolu (nechte TCPIP), vpravo napište buď doménové jméno cílového serveru (např. domino2.firma.cz) nebo jeho IP adresu (např. 10.2.0.12). Pokud napíšete nesprávné údaje, cesta k cíli nebude nalezena.

Lotus Notes - replikace
 
Záložka Replication/Routing

Přepněte si druhou záložku. Zde nastavíte v levém sloupci, zda a jak se bude s cílovým serverem replikovat, v pravém sloupci zda a jak se bude na cílový server posílat (routovat) pošta. Sekci AutoDialer nevěnujte pozornost.

V levé replikační části vyplňte:

  • Replication task: Enabled. Tím povolíte replikaci mezi zdrojovým a cílovým serverem.
  • Replicate database of: Low && Medium && High priority. Databázím můžete přiřazovat, zda priorita jejich replikování je nízká, střední nebo vysoká, a potom vytvářet pravidla (Connection dokumenty) typu „vysokou prioritu replikuj každou půlhodinu, zbytek každé dvě hodiny“. Defaultní hodnota je Medium a většina administrátorů ji nechává na této úrovni.
  • Replication type: Pull Push. Replikace synchronizuje data oběma směry – od zdroje k cíli a potom od cíle ke zdroji. Jen tak je zajištěno, že změny v dokumentech, které vznikly na jednom ze serverů, se dostanou na server druhý. Tento obousměrný přenos probíhá ve dvou fázích. Nejprve nastává fáze Push (tlač), kdy zdrojový server přenese své změny na cílový server. Pak následuje fáze Pull (přitáhni), kdy se předá na chvíli řízení cílovému serveru, který zase přenese své změny na zdrojový server. Standardně se používá obousměrná replikace, tedy Pull Push. Jestliže chcete replikaci využívat k některým specifickým účelům (viz první část), vyberte zde např. Pouze Pull nebo pouze Push.
  • Files/Directories to replicate: Pokud toto pole necháte prázdné, budou se mezi dvěma servery replikovat všechny databáze, u kterých je to možné – tedy ty, které mají stejné číslo repliky (podrobněji to bylo popsáno v předchozí části tohoto seriálu). Pokud chcete mít replikaci přísně pod kontrolou, můžete do tohoto pole vyplnit buď jména jednotlivých databází nebo celých adresářů. V takovém případě se budou replikovat pouze tyto vybrané databáze. Toto řešení lze s výhodou použít, pokud chcete replikační spojení mezi dvěma servery dělit na více částí (např. každou půlhodinu se replikuje systémová databáze, každou hodinu poštovní databáze, každé dvě hodiny ostatní databáze). Příklad vyplnění pole: „names.nsf, mail/, apps/faktury.nsf“
  • Files/Directories NOT to replicate: Obdoba předchozího pole, ale vyplňujete zde ty databáze, které se nemají replikovat, i když by jinak mohly (mají stejné číslo repliky na obou serverech). Replication time limit: 30 minut. Zde můžete nastavit, jak maximálně dlouho má replikace trvat. Pokud je limit překročen, je replikační spojení mezi servery ukončeno.

V pravé části, routing, vyplňte:

  • Routing task: Mail Routing. Pokud nechcete přenášet poštu, označte None. Ostatní volby jsou spíše historickou záležitostí a jsou zde kvůli zpětné kompatibilitě.
  • Route at once if: 1. Tohle číslo udává mezní počet mailů čekajících ve frontě na routování, kdy se pošta začne odesílat, i když ještě nenastala plánovaná doba routování dle časového rozpisu v záložce Schedule. Ponechejte zde jedničku. To znamená, že odeslané maily se budou na jiné servery v doméně předávat okamžitě.
  • Routing cost: 1. Toto určuje „váhu“ spojení, která se používá při vypočítávání optimální cesty z jednoho serveru na druhý. Ponechte zde jedničku.
  • Router type: Push only. Ponechte tuto defaultní hodnotu, ostatní jsou opět pozůstatky časů, kdy se spojení vytáčelo modemy a šetřilo se každé spojení.
Lotus Notes - replikace
 
Záložka Schedule

Zde nastavujete jak často se bude spojení mezi dvěma servery navazovat. Na výběr máte dva druhy plánování: Vypsat konkrétní časy, například 6:00, 8:30, 12:00, 16:00, 18:00 (replikace se uskuteční 5x denně v určených časech). Nebo určit časový rozsah a interval, ve kterém se bude spojení navazovat, například 6:00 – 18:00, po 60 minutách.
Doporučuji používat druhý způsob, tedy stanovit rozsah od-do a nějaký rozumný interval. Například pro celodenní replikaci 0:00 – 23:50, po 60 minutách.
Na posledním řádku můžete zaškrtnout, pro které dny v týdnu to platí – ponechte tam všech 7 dní v týdnu.

Lotus Notes - replikace
 

Connection dokument uložte a podívejte se, jak se zobrazil v pohledu Connections. Dokumenty v tomto pohledu jsou srovnány podle zdrojového serveru, následně podle cílového serveru. Snadno tak zjistíte, ke kterým serverům se vybraný server připojuje. Rovněž přímo v pohledu je vidět, jestli se pošta přenáší či replikuje nebo obojí, a v jakých intervalech.
Potřebujete-li Connection dokument později upravit, uděláte to snadno tlačítkem Edit Connection. Tlačítkem Delete Connection vybraný dokument smažete, server se už podle něj nebude nadále řídit.

Lotus Notes - replikace
 

Příkazy konzole

Od chvíle, kdy vytvoříte Connection dokument, který má nastavenou pravidelnou replikaci (schedule), začne se podle něj Domino server ihned řídit a podle nastaveného rozvrhu navazovat spojení s cílovými servery a replikovat s nimi. Přesvědčit se o tom můžete příkazem, který napíšete na konzoli Domino serveru:
show schedule
Server vám vypíše ke kterým serverům a v kolik hodin se plánuje v nejbližší době připojit.

Replikační spojení ze zdrojového serveru na cílový server můžete v případě potřeby navázat i ručně, mimo všechny plány a časové rozvrhy. Pokud na konzoli napíšete
replicate domino2/Firma
provede se ihned obousměrná replikace mezi serverem, na jehož konzoli píšete, a cílovým serverem domino2/Firma. Zreplikují se všechny databáze, které mají na druhé straně svůj protějšek. Chcete-li vynutit replikaci pouze pro vybrané databáze nebo adresáře, můžete toto zpřesnění napsat na konec příkazu, tedy např.:
replicate domino2/Firma names.nsf
replicate domino2/Firma mail

I z konzole můžete vynutit pouze jednosměrnou replikaci, tedy buď ze zdroje k cíli, nebo od cíle ke zdroji. Formát zápisu příkazu je stejný, jako u příkazu replicate, jenom jméno příkazu je jiné: push pro replikaci směrem „ode zdroje“, pull pro replikaci směrem „ke zdroji“. Tedy např.:
pull domino2/Firma catalog.nsf
push domino2/Firma crm

Lotus Notes - replikace
 

Log replikací

Vše, co se týče replikace mezi servery najdete v serverové databázi log.nsf, pohled Replication Events. Každé replikační spojení zde má svůj dokument, ve kterém je mj. napsáno od kdy do kdy replikace trvala a které databáze se replikovaly.

Shrnutí

Tento závěrečný díl seriálu dokončil popis replikačního procesu mezi servery Domino. Během 11 dílů jste se dozvěděli, jak stáhnout instalační soubory pro Lotus Notes a Lotus Domino, nainstalovat první server a prvního klienta, registrovat a spravovat uživatele a skupiny, pracovat s ACL, nastavovat poštu a replikaci. Přeji vám hodně štěstí při další práci se systémy Lotus Notes/Domino.

Předchozí: Seminář o Lotus Notes od TCL DigiTrade
Následující: Lotus Knows v ČR