FreeBSD:lle kehitetään parhaillaan uutta järjestelmänhallintaohjelmaa, rcd:tä.

Baptiste Daroussin, FreeBSD:n ydintiimin jäsen ja pkg-paketinhallinnan tekijä, kehittää uutta järjestelmänhallintaa FreeBSD:lle – rcd:tä. rcd-järjestelmänhallintaa kutsuu init-prosessi /etc/rc:n sijaan, se lukee palveluiden asetustiedostot (/etc/rcd.d/*.ucl), rakentaa riippuvuuspuun ja käynnistää palveluita rinnakkain aina kun mahdollista. Sitten se valvoo palveluita ja käynnistää ne uudelleen tarvittaessa.

Taustaprosessia ja palvelutoimintoja voidaan hallita lähettämällä komentoja suoraan UNIX-sockettiin tai käyttämällä rctl-komentoriviapuohjelmaa. Palveluparametreja sisältävät yksikkötiedostot muotoillaan UCL:ssä, joka muistuttaa nginxin muotoa, ja ne sitovat määritystiedostot JSON:sta lainatuilla elementeillä automatisoidun käsittelyn yksinkertaistamiseksi. On mahdollista luoda tyypillisten yksikkötiedostojen malleja ja kirjoittaa sisäänrakennettuja käsittelijöitä Lua:ssa. Esimerkki yksikkötiedostosta nginxin käynnistämiseksi: 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 { muistin käyttö = { toiminto = "kielto"; määrä = "2g"; }; pcpu = { toiminto = "rajoitus"; määrä = "80"; }; }

PID-tiedostojen sijaan käynnissä olevien prosessien aktiivisuutta seurataan pdfork()-järjestelmäkutsun palauttamien kuvaajien avulla. Palvelut voidaan aktivoida vain verkkosocketin kautta, ja tärkeitä palveluita voidaan suojata pakotetulta päättymiseltä muistin ollessa vähissä. RCD-taustaprosessin versiota voidaan päivittää lennossa menettämättä tilaa.

rctl-käskyä käytetään palvelun käytettävissä olevien resurssien rajoittamiseen, ja palveluita voidaan suorittaa suljetuissa ympäristöissä täydellisen eristyksen saavuttamiseksi. Pääsy UNIX-ohjaussockettiin voidaan määrittää yksittäisille palveluille. Lepotilaa tuetaan.

Järjestelmänhallintaohjelma on täysin taaksepäin yhteensopiva olemassa olevan rc.d-palvelun peräkkäisen käynnistysjärjestelmän kanssa, ja sitä voidaan käyttää muokkaamatta olemassa olevia rc.d-skriptejä ja määritystiedostoja. Asenna rcd vain käynnissä olevaan järjestelmään, ja uudelleenkäynnistyksen jälkeen kaikki toimii edelleen kuten ennenkin, lukuun ottamatta lyhyempiä käynnistysaikoja rinnakkaisen palvelun käynnistyksen vuoksi. Tämä yhteensopivuus yksinkertaistaa järjestelmien siirtymistä rcd:hen ja mahdollistaa olemassa olevien rc.d-skriptien asteittaisen muuntamisen yksikkötiedostomuotoon.

Yhteensopivuuden varmistamiseksi rc.d:n kanssa tuetaan erityistä "legacy"-yksikkötyyppiä. Rcd skannaa /etc/rc.d/- ja /usr/local/etc/rc.d/-tiedostojen sisällön, jäsentää skriptien PROVIDE/REQUIRE/BEFORE/KEYWORD-otsikot, lukee rc.conf-asetukset ja määrittää skriptin suoritustilan, ja käsittelee sitten jokaisen skriptin legacy-virtuaaliyksikkönä. Kun rcctl-komentoa käytetään tällaisten virtuaaliyksiköiden hallintaan, toiminnot muunnetaan legacy-muotoon; esimerkiksi "rcctl reload sshd" -komennon suorittaminen suorittaa "/etc/rc.d/sshd reload".

Lähde: opennet.ru

Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster