CSSKEN


Název:

Synchronizace času na serverech Netware

Konfigurace serveru Netware jako příjemce NTP času

Konfigurace serveru Netware jako klienta

Autor:
David Čečelský
Publikováno:
Data Communications 3/2000, strana 40-41

Synchronizace času v prostředí NetWare 5

Při budování dnešních moderních sítí a implementaci systémů se vždy setkáváme s problematikou zajištění konzistentního a korektního času. Služby pro zajištění a případnou distribuci času jsou většinou součástí operačních systémů, ovšem síťové pojetí času a jeho synchronizace je značně odlišné od pouhého nastavení přesného času na jednom systému. Většinou jde o distribuované systémy, kdy pro celou síť existuje zdroj času, ke kterému mají přístup jednotlivé systémy, a to s definovanou přesností. Nejčastějším případem je vybudování soustavy časových serverů, které slouží jako zdroj času pro ostatní systémy síťové infrastruktury. Tyto servery pak poskytují konzistentní čas pro ostatní uzly sítě, které jsou z hlediska času klienty časových zdrojů.

Správný čas je v počítačových sítích nezbytný prvek. Uveďme si jen několik subjektů, vyžadujících přesnost časové informace. Jsou to například souborové systémy, adresářové služby, elektronická pošta, databázové systémy, zálohovací systémy atd.

My se zde zaměříme na časové služby systému NetWare, ale jistě totéž bude platit pro časové služby jiných systémů. Administrátoři budou jistě požadovat, aby tyto služby byly:

  • jednoduché pro implementaci
  • snadné pro správu
  • zabezpečující rychlou a přesnou synchronizaci času s minimálním provozem na síti
  • založeny na standardech

V operačních systémech NetWare byla synchronizace času řešena od verzí NetWare 4, kdy vstoupily do tohoto operačního systému adresářové služby NDS (Novell Directory Services). V tomto případě však můžeme hovořit pouze o synchronizaci času mezi jednotlivými servery NetWare 4, dál možnosti časové synchronizace nedosahovali. Pokud existovala síť s heterogenním prostředím, kde se nacházely například servery NetWare 3, Unixové servery, nebo servery Windows NT, byla synchronizace času separátní záležitostí každého z uvedených systémů. Asi nejlépe na tom byly servery s operačním systémem UNIX, který disponoval možností časové synchronizace pomocí známého protokolu NTP (Network Time Protocol). Hůře na tom byly systémy firem Microsoft a Novell.

Co se týče operačních systémů NetWare, byla dostupná pouze možnost nasazení produktů třetích dodavatelů, které problematiku časové synchronizace s "okolním světem" řešily. Uveďme si například produkty švýcarské firmy NEATECH. Jedná se o časové klienty pro servery NetWare 3 a NetWare 4, pracující protokolem SNTP (Simple Network Time Protocol), který je popsán RFC dokumentem 2030.

Velkým zvratem v možnostech časové synchronizace byla nová verze operačního systému - NetWare 5. Tato verze se oprostila od protokolů SPX/IPX a integrovala v sobě možnost nativního protokolu IP a zároveň i časový protokol NTP (Network Time Protocol dle RFC 1305). Zaměřme se nyní na implementaci tohoto časového protokolu a na problematice jeho nastavení a používání.

Časové služby systému NetWare 5

První implementace modulu NTP v systému byla poněkud problematická. Časové služby zabezpečovaly vlastně dva NLM moduly, jedním z nich byl TIMESYNC.NLM, který je znám již z verzí NetWare 4 a k němu přibyl modul NTP.NLM. Přítomnost obou modulů byla nutná v případě, kdy síť obsahovaly servery s operačními systémy NetWare 4 a NetWare 5 (jednalo se tedy o síť s protokoly IPX/SPX a TCP/IP). Pak bylo možné definovat server NetWare 5 jako zdroj času (tj. nakonfigurovat jej jako server typu SINGLE, nebo REFERENCE) a napojit jej pomocí modulu NTP.NLM na externí zdroj času. Server tedy bral svůj čas z externího zdroje pomocí NTP protokolu a ostatní servery NetWare prováděly synchronizaci času s tímto uzlem prostřednictvím modulu TIMESYNC.CFG. Je nutno podotknout, že šlo o poněkud komplikovanou implementaci a někdy byl problém oba časové moduly současně na serveru provozovat. Zavedení modulu NTP.NLM bylo nutno provést z adresáře SYS:ETC ručně, nebo jeho zavedení iniciovat z konfiguračního souboru AUTOEXEC:NCF. Ke své konfiguraci používal soubor NTP.CFG, což byl jednoduchý textový soubor, který obsahoval seznam časových zdrojů a byl v následujícím formátu:

#server ntp2.usno.navy.mil
#MIT
server 129.7.1.66
#NIST Central Computer Facility
server 129.6.16.36
#Sony
server 198.93.3.1

Časové zdroje zde byly uváděny ve formátu doménového jména, nebo byly určeny přímo IP adresou. Jistě není náročné provádět konfiguraci časového modulu NTP, je však nutno mít na paměti, že zde existuje další subjekt. Tím je modul TIMESYNC.NLM a jeho konfigurační soubor TIMESYNC.CFG, které na rozdíl od modulu NTP hledáme v adresáři SYS:SYSTEM. Najednou se nám tedy konfigurace časových služeb malinko komplikuje. Administrátor tedy minimálně na jednom serveru obhospodařuje dva časové moduly a jejich konfigurační soubory.

Zapomeňme na NTP.NLM

Výrazným vylepšením v použití časových služeb v systému NetWare 5 byl SupportPack 2, který přinesl inovovanou verzi časového modulu TIMESYNC.NLM. Konkrétně šlo o verzi 5.09. Tato verze byla inovována hlavně ve prospěch časového protokolu NTP, který byl již v této verzi plně integrován. Zapamatujme si tedy, že po implementaci zmíněného opravného souboru již není nutné spouštět modul NTP.NLM k tomu, abychom prováděli synchronizaci času s NTP zdrojem. Je tedy příjemné konstatovat, že konfigurace časových služeb se nám vrátila ke starému známému modulu TIMESYNC.NLM a jeho jednomu konfiguračnímu souboru. Navíc je nám vlastně jedno, jestli je na síti pouze protokol IPX, nebo pouze IP, nebo oba protokoly současně. Konfiguraci lze navíc provádět přímo z utility MONITOR.NLM, kde v sekci Server Parameters > Time nalezneme veškeré konfigurační parametry, které s časem souvisí.

Pozor na verzi TIMESYNC.NLM 5.08 !

Zmínili jsme se zde o verzi TIMESYNC.NLM 5.09. Musíme ještě uvést fakt, že předchozí verze 5.08 rovněž umožňovala interoperabilitu s protokolem NTP, ovšem měla jeden nedostatek. Pokud se zavedl tento modul současně s modulem NTP.NLM, došlo většinou na serveru k chybě, která se prezentovala takto:

bind() fd 7, family 2, port 123, addr 00000000, in_classd=0
flags = 0 fails: Address already is use

Problém je v tom, že jak modul NTP, tak TIMESYNC při svém zavedení testují zpřístupnění UDP portu 123, který je používán pro komunikace protokolem NTP. Verze 5.09 dokázala ošetřit tuto kolizi tak, že pokud byl již systémem zaveden modul TIMESYNC, pak při zavádění modul NTP byla na konzole vypsána výstražná zpráva a modul TIMESYNC se automaticky z paměti uvolnil.

Konfigurace časových služeb

V první řadě je nutno zdůraznit, že konfigurace časových modelů a nastavení serverů z hlediska času (Single, Primary, Reference, Secondary) zůstává naprosto nezměněno, tedy pracujeme tak, jak jsme zvyklí z prostředí NetWare 4.X. Časový server NetWare s modulem TIMESYNC.NLM verze 5.09 se může na síti chovat jako časový zdroj, nebo jako klient. Lze tedy provést nastavení tak, že server přijímá čas z NTP zdroje, nebo je časovým NTP zdrojem pro klienty. Jak potom provedeme vlastní konfiguraci ?

Konfigurace serveru NetWare jako příjemce NTP času.

Vybereme si vhodný a primární NTP časový zdroj na síti, které se v distribuovaných systémech většinou označují jako stratum 1. Tento uzel mívá přímou vazbu na atomové hodiny, nebo jiný věrohodný zdroj času. Na tento zdroj času napojíme náš NetWare server, který bude nastaven jako časový server typu Single, nebo Reference. Nastavení časového zdroje lze provést přímo konzolovým příkazem SET, a to následovně:

set timesync time sources = 1.2.3.4:123;

Pozor na zakončení příkazu středníkem. V opačném případě Vás systém stejně upozorní a příkaz neprovede. Za středník je možné řetězit další alternativní zdroje času ve stejné syntaxi.

Další způsob je modifikace konfiguračního souboru TIMESYNC.CFG a to buď přímo modulem EDIT.NLM, nebo nepřímo pomocí utility MONITOR, jak bylo uvedeno výše. V konfiguračním souboru je nutno zapnout parametr Service Advertising na hodnotu ON, aby tento server také propagoval čas do sítě svým klientům.

Pro ilustraci si uveďme příklad konfiguračního souboru TIMESYNC.CFG:

Configured Sources = ON
Directory Tree Mode = ON
Hardware Clock = ON
Polling Count = 3
Polling Interval = 600
Service Advertising = OFF
Synchronization Radius = 2000
Type = REFERENCE

# Configured time source list from server MAIN_2
Time Source = 1.2.3.4:123

Všimněme si označení časového zdroje, které je identifikováno jeho IP adresou a číslem UDP portu. Použití doménových jmen místo IP adresy zatím možné není, i když tuto možnost firmy Novell již nějakou dobu slibuje. Tuto možnost zatím nenabízí ani nejnovější verze modulu 5.15, která je součásti SupportPack 4.

Konfigurace serveru NetWare jako klienta

Pokud konfigurujeme ostatní servery NetWare, které budou získávat čas pomocí NTP protokolu z jiného NetWare časového serveru (jehož konfiguraci jsme si uvedli v předchozím odstavci), postupujeme shodně. Na síti vybereme zdroj času (server typu Reference, nebo Single), který je již napojen na časový zdroj typu stratum 1. Provedeme modifikaci konfiguračního souboru TIMESYNC.CFG a využijeme k tomu již uvedenou syntaxi. Pro větší redundanci se doporučuje nastavit alespoň 3 poskytovatele času.

Parametr Configured Sources můžeme ponechat u typů Secondary na hodnotě OFF a využít tak krásné vlastnosti nazývané Auto Discovery. Tyto servery si automaticky naleznou zdroj času, který je nastaven přesně tak, jak jsme si uvedli výše. Funkce Auto Discovery probíhá v prostředí protokolu IPX/SPX pomocí SAP broadcastů, v prostředí TCP/IP pomocí protokolu SLP (Service Location Protocol). Po dokončení editace konfiguračního souboru TIMESYNC.CFG a uložení souboru je nutno restartovat modul TIMESYNC.NLM, aby se změny uplatnily. To nejlépe provedeme pomocí konzolového příkazu

set timesync restart flag = on

A ještě něco z praxe

Při konfiguraci časového modelu a nastavování časových zdrojů mezi servery NetWare není vždy nutno striktně dodržet syntaxi pro určení zdroje. Pokud totiž v konfiguračním souboru neuvedeme za IP adresu časového zdroje označení UDP portu 123, synchronizace času bude stejně probíhat bez problémů. Jinak je tomu v případě nastavení jiného typu časového zdroje. Při napojení NetWare serveru např. na směrovač Cisco se bez uvedení UDP portu neobejdeme. Je tedy vhodné si zvyknout na správnou syntaxi a používat ji ve všech případech, neboť si tak ušetříme komplikace s časovou synchronizací.

Dále potom pozor na filtraci UDP portu 123 na firewallech, které jsou dnes již téměř nezbytnou součástí každé sítě. Při definici filtrů je nutno tento port zařadit mezi povolené.

Trošku bolestným místem v časové synchronizaci však stále ještě zůstává její stabilita. Z laboratorních podmínek máme otestováno, že dva osamocené servery v labu, na kterých nejsou připojeni klienti a neběží žádné aplikace, tu a tam synchronizace ztratí a automaticky zase obnoví. Je to nepříjemný moment, který se u serverů přihodí tak jedenkrát za den a to z neurčitých příčin. Zjevně náchylné jsou zejména servery Compaq, což je zajímavé. Když si projdeme novelovskou znalostní bázi, najdeme tam související dokument, který doporučuje u Compaq serverů přejít na verzi TIMESYNC.NLM 5.07. To je ale v zhledem k předchozímu výkladu to, co mnohdy udělat nemůžeme a určitě ani nechceme! Jiný dokument, který popisuje tentýž problém u Compaq serverů zase doporučuje modul verze 5.09, což by bylo lepší. Nezbývá nám tedy, než zkoušet.

Dále jsme byli svědkem jakéhosi zacyklení komunikace při časové synchronizaci, a to rovněž v laboratorních podmínkách. V tomto případě se oba servery tvářily, že synchronizace času je v pořádku, ale na analyzátoru provozu byla vidět nadměrná komunikace NTP protokolu, která generovala tisíce stále stejných paketů za minutu. Teprve po znovuzavedení modulu TIMESYNC.NLM do paměti se provoz eliminoval. Těžko si ovšem dokážeme představit, že bychom restartovali modul TIMESYNC.NLM na serveru, který je primárním zdrojem času například na rozlehlé síti, kde je na tento zdroj napojena stovka dalších serverů.

Závěrem ovšem můžeme konstatovat, že implementace NTP protokolu do časových služeb systému NetWare 5 je velkým krokem vpřed a že i zmiňované nedostatky a omezení budou v brzké době odstraněny.



Copyright (c) 2007 ANECT a.s. , Praha: +420 271 100 100, Brno: +420 547 100 100, Bratislava: +421 (2) 4821 3111, Přihlášení | Publikační systém Amadeo  Vytiskni stránku