Virtlab:Konfigurační server
Z VirtlabWiki
Verze z 11:21, 25. 11. 2007 Gry72 (Diskuse | příspěvky) ← Předchozí porovnání |
Aktuální verze Gry72 (Diskuse | příspěvky) (→Konfigurace) |
||
Řádka 1: | Řádka 1: | ||
== Funkce a konfigurace == | == Funkce a konfigurace == | ||
- | Konfigurační server přijme přes TCP spojení nejprve jméno spojovacího prvku, do kterého se má uploadovat v TCP spojení následně předaný obsah. Obsah uloží do pomocného souboru a podle své konfigurace ze jména spojovacího prvku zjistí device (/dev/ttyX) nebo IP adresu a port, kam se má konfigurace poslat. Pak spustí pomocný externí uploadovací program, kterému předá jméno pomocného souboru s obsahem a jméno device, resp. IP adresu a port, přes které se konfigurace do příslušného spojovacího prvku uploaduje. | + | Konfigurační server přijme přes TCP spojení nejprve jméno spojovacího prvku, do kterého se má uploadovat v TCP spojení následně předaný obsah. Obsah uloží do pomocného souboru a podle své konfigurace ze jména spojovacího prvku zjistí device (/dev/ttyX) nebo IP adresu a port, kam se má konfigurace poslat. Pak spustí pomocný externí uploadovací program '''upload-conndevice-cfg''', kterému předá jméno pomocného souboru s obsahem a jméno device, resp. IP adresu a port, přes které se konfigurace do |
+ | příslušného spojovacího prvku uploaduje. | ||
+ | |||
+ | Syntaxe parametrů příkazové řádky upload-conndevice-cfg: | ||
+ | |||
+ | upload_conndevice_cfg <jmeno_souboru_ovladace_com_portu>|<ip_addr>:<port> <jmeno_souboru_pro_upload> <ms_mezi_znaky> | ||
Protože požadavky na úpravy konfigurace spojovacích prvků (spojení/rozpojení topologie) lokality obsluhované konfiguračním serverem mohou přicházet z mnoha lokalit asynchronně, musí je konfigurační server serializovat. Je tedy pouze 1-vláknový a obsluhuje naráz jen jediného klienta (upload skripty spuštěné CRONem). Upload skripty proto musí být napsány tak, aby při navazování spojení s konfiguračními servery byly schopny pár desítek sekund počkat, je-li obsazeno. Reálně by upload konfigurací neměl trvat déle než desítky sekund (přenos do tunelovacího serveru jde přes TCP a měl by být prakticky okamžitý, přenos do ASSSK vyžaduje z implementačních důvodů ASSSK 100ms pauzy mezi znaky, avšak konfigurace jsou krátké, typicky ne více než 8 řádků (pro 16-portový ASSSK) po cca 10 znacích). | Protože požadavky na úpravy konfigurace spojovacích prvků (spojení/rozpojení topologie) lokality obsluhované konfiguračním serverem mohou přicházet z mnoha lokalit asynchronně, musí je konfigurační server serializovat. Je tedy pouze 1-vláknový a obsluhuje naráz jen jediného klienta (upload skripty spuštěné CRONem). Upload skripty proto musí být napsány tak, aby při navazování spojení s konfiguračními servery byly schopny pár desítek sekund počkat, je-li obsazeno. Reálně by upload konfigurací neměl trvat déle než desítky sekund (přenos do tunelovacího serveru jde přes TCP a měl by být prakticky okamžitý, přenos do ASSSK vyžaduje z implementačních důvodů ASSSK 100ms pauzy mezi znaky, avšak konfigurace jsou krátké, typicky ne více než 8 řádků (pro 16-portový ASSSK) po cca 10 znacích). | ||
- | === Non-urgent TODO === | + | '''Na dokončení uploadu souboru do spojovacího prvku (ukončení běhu upload-conndevice-cfg z forkovaného procesu Konfigurační server čeká (waitpid()).''' |
+ | |||
+ | ==Konfigurace == | ||
+ | * Server se spouští s parametrem IP adresy rozhraní, na které má poslouchat (veřejná adresa dostupná ostatním lokalitám). | ||
+ | * [[Virtlab:Konfigurační soubory/uploads.conf | Konfigurační soubor]] - společný s Mazacím serverem. | ||
+ | |||
+ | == Protokol konfiguračního serveru == | ||
+ | [[Virtlab:Protokoly/Konfigurační server]] | ||
+ | |||
+ | == Non-urgent TODO == | ||
* Do protokolu doplnit autentizaci klienta (nemá smysl aktuálně řešit s ohledem na plánované přepracování při přechodu na Spojovač verze 3). | * Do protokolu doplnit autentizaci klienta (nemá smysl aktuálně řešit s ohledem na plánované přepracování při přechodu na Spojovač verze 3). | ||
Řádka 12: | Řádka 26: | ||
[[Kategorie:Server]] | [[Kategorie:Server]] | ||
[[Kategorie:Konfigurační server]] | [[Kategorie:Konfigurační server]] | ||
- | [[Kategorie:UNCOMPLETE]] |
Aktuální verze
Obsah |
Funkce a konfigurace
Konfigurační server přijme přes TCP spojení nejprve jméno spojovacího prvku, do kterého se má uploadovat v TCP spojení následně předaný obsah. Obsah uloží do pomocného souboru a podle své konfigurace ze jména spojovacího prvku zjistí device (/dev/ttyX) nebo IP adresu a port, kam se má konfigurace poslat. Pak spustí pomocný externí uploadovací program upload-conndevice-cfg, kterému předá jméno pomocného souboru s obsahem a jméno device, resp. IP adresu a port, přes které se konfigurace do příslušného spojovacího prvku uploaduje.
Syntaxe parametrů příkazové řádky upload-conndevice-cfg:
upload_conndevice_cfg <jmeno_souboru_ovladace_com_portu>|<ip_addr>:<port> <jmeno_souboru_pro_upload> <ms_mezi_znaky>
Protože požadavky na úpravy konfigurace spojovacích prvků (spojení/rozpojení topologie) lokality obsluhované konfiguračním serverem mohou přicházet z mnoha lokalit asynchronně, musí je konfigurační server serializovat. Je tedy pouze 1-vláknový a obsluhuje naráz jen jediného klienta (upload skripty spuštěné CRONem). Upload skripty proto musí být napsány tak, aby při navazování spojení s konfiguračními servery byly schopny pár desítek sekund počkat, je-li obsazeno. Reálně by upload konfigurací neměl trvat déle než desítky sekund (přenos do tunelovacího serveru jde přes TCP a měl by být prakticky okamžitý, přenos do ASSSK vyžaduje z implementačních důvodů ASSSK 100ms pauzy mezi znaky, avšak konfigurace jsou krátké, typicky ne více než 8 řádků (pro 16-portový ASSSK) po cca 10 znacích).
Na dokončení uploadu souboru do spojovacího prvku (ukončení běhu upload-conndevice-cfg z forkovaného procesu Konfigurační server čeká (waitpid()).
Konfigurace
- Server se spouští s parametrem IP adresy rozhraní, na které má poslouchat (veřejná adresa dostupná ostatním lokalitám).
- Konfigurační soubor - společný s Mazacím serverem.
Protokol konfiguračního serveru
Virtlab:Protokoly/Konfigurační server
Non-urgent TODO
- Do protokolu doplnit autentizaci klienta (nemá smysl aktuálně řešit s ohledem na plánované přepracování při přechodu na Spojovač verze 3).