Za FreeBSD se razvija nov sistemski upravljalnik, rcd.

Baptiste Daroussin, član osrednje ekipe FreeBSD in avtor upravitelja paketov pkg, razvija nov upravljalnik sistemov za FreeBSD – rcd. Upravljalnik sistemov rcd se namesto datoteke /etc/rc pokliče s strani procesa init, bere konfiguracijske datoteke storitev (/etc/rcd.d/*.ucl), gradi drevo odvisnosti in po možnosti vzporedno zažene storitve. Nato storitve spremlja in jih po potrebi znova zažene.

Nadzor nad procesom v ozadju in delovanjem storitev je mogoče izvajati z neposrednim prenosom ukazov v vtičnico UNIX ali z uporabo pripomočka ukazne vrstice rctl. Datoteke enot s parametri storitev so formatirane v UCL, ki je podoben formatu nginx in konfiguracijske datoteke veže z elementi, izposojenimi iz JSON, za poenostavitev avtomatizirane obdelave. Možno je ustvariti predloge tipičnih datotek enot in napisati vgrajene obdelovalce v Lua. Primer datoteke enot za zagon nginx: name = "nginx"; description = "Nginx HTTP Server"; type = "simple"; command = "/usr/local/sbin/nginx"; command_args = "-g 'daemon off;'"; provides = ["nginx", "http"]; requires = ["NETWORKING", "sshd"]; restart { policy = "always"; max_retries = 10; delay = 2000; backoff = "linear"; } process { user = "www"; group = "www"; cpuset = "0-3"; } rctl { memoryuse = { dejanje = "zavrni"; količina = "2g"; }; pcpu = { dejanje = "dušilka"; količina = "80"; }; }

Namesto uporabe datotek PID se sledenje aktivnosti delujočih procesov izvaja z deskriptorji, ki jih vrne sistemski klic pdfork(). Na voljo je podpora za aktiviranje storitev le ob dostopu do omrežne vtičnice in možnost zaščite pomembnih storitev pred prisilnim zaključkom v primeru pomanjkanja pomnilnika. Različico procesa rcd v ozadju je mogoče posodabljati sproti, ne da bi pri tem izgubili stanje.

rctl se uporablja za omejevanje virov, ki so na voljo storitvi, storitve pa se lahko izvajajo v zaprtih okoljih za popolno izolacijo. Dostop do nadzorne vtičnice UNIX je mogoče konfigurirati za posamezne storitve. Podprt je način mirovanja.

Sistemski upravitelj je popolnoma združljiv z obstoječim sistemom zaporednega zagona storitev rc.d in ga je mogoče uporabljati brez spreminjanja obstoječih skriptov rc.d in konfiguracijskih datotek. Preprosto namestite rcd v delujoč sistem in po ponovnem zagonu bo vse še naprej delovalo kot prej, z izjemo krajših časov zagona zaradi vzporednega zagona storitev. Ta združljivost bo poenostavila selitev sistemov na rcd in omogočila postopno pretvorbo obstoječih skriptov rc.d v format datotek unit.

Zaradi združljivosti z rc.d je podprta posebna vrsta enote »legacy«. Rcd pregleda vsebino datotek /etc/rc.d/ in /usr/local/etc/rc.d/, razčleni glave PROVIDE/REQUIRE/BEFORE/KEYWORD v skriptih, prebere nastavitve datoteke rc.conf in določi stanje izvajanja skripte, nato pa vsako skripto obdela kot podedovano virtualno enoto. Pri uporabi ukaza rcctl za upravljanje takšnih virtualnih enot se operacije prevedejo v podedovano obliko; na primer, izvajanje ukaza »rcctl reload sshd« bo zagnalo »/etc/rc.d/sshd reload«.

Vir: opennet.ru

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster