FreeBSD tiek izstrādāts jauns sistēmas pārvaldnieks rcd.

Baptiste Daroussin, FreeBSD pamatkomandas loceklis un pkg pakotņu pārvaldnieka autors, izstrādā jaunu FreeBSD sistēmas pārvaldnieku — rcd. Rcd sistēmas pārvaldnieku izsauc init process, nevis /etc/rc, tas nolasa pakalpojumu konfigurācijas failus (/etc/rcd.d/*.ucl), izveido atkarību koku un paralēli startē pakalpojumus, kad vien tas ir iespējams. Pēc tam tas uzrauga pakalpojumus un nepieciešamības gadījumā tos restartē.

Fona procesa un darbību ar pakalpojumiem kontroli var veikt, tieši pārsūtot komandas uz UNIX ligzdu vai izmantojot komandrindas utilītu rctl. Vienības faili ar pakalpojumu parametriem tiek formatēti UCL, kas atgādina nginx formātu, un saista konfigurācijas failus ar elementiem, kas aizgūti no JSON, lai vienkāršotu automatizēto apstrādi. Ir iespējams izveidot tipisku vienību failu veidnes un rakstīt iebūvētos apstrādātājus Lua valodā. Vienības faila piemērs nginx palaišanai: 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 = { action = "deny"; amount = "2g"; }; pcpu = { action = "throttle"; amount = "80"; }; }

Tā vietā, lai izmantotu PID failus, darbojošos procesu aktivitātes izsekošana tiek veikta, izmantojot deskriptorus, ko atgriež pdfork() sistēmas izsaukums. Ir atbalsts pakalpojumu aktivizēšanai tikai tad, kad tiek piekļūts tīkla ligzdai, un iespēja aizsargāt svarīgus pakalpojumus no piespiedu pārtraukšanas nepietiekamas atmiņas gadījumā. RCD fona procesa versiju var atjaunināt darbības laikā, nezaudējot stāvokli.

rctl tiek izmantots, lai ierobežotu pakalpojumam pieejamos resursus, un pakalpojumus var palaist ierobežotās vidēs pilnīgai izolācijai. Piekļuvi UNIX vadības ligzdai var konfigurēt atsevišķiem pakalpojumiem. Tiek atbalstīts miega režīms.

Sistēmas pārvaldnieks ir pilnībā savietojams ar esošo rc.d pakalpojuma secīgās palaišanas sistēmu un to var izmantot, nemainot esošos rc.d skriptus un konfigurācijas failus. Vienkārši instalējiet rcd darbojošā sistēmā, un pēc pārstartēšanas viss turpinās darboties kā iepriekš, izņemot samazināto palaišanas laiku paralēlās pakalpojuma palaišanas dēļ. Šī saderība vienkāršos sistēmu migrāciju uz rcd un ļaus pakāpeniski konvertēt esošos rc.d skriptus uz vienības failu formātu.

Saderībai ar rc.d tiek atbalstīts īpašs "mantotas" vienības tips. Rcd skenē /etc/rc.d/ un /usr/local/etc/rc.d/ saturu, parsē PROVIDE/REQUIRE/BEFORE/KEYWORD galvenes skriptos, nolasa rc.conf iestatījumus un nosaka skripta izpildes stāvokli, pēc tam apstrādā katru skriptu kā mantotu virtuālu vienību. Izmantojot rcctl komandu šādu virtuālo vienību pārvaldībai, darbības tiek tulkotas mantotā formātā; piemēram, izpildot "rcctl reload sshd", tiks palaista "/etc/rc.d/sshd reload".

Avots: opennet.ru

Iegādājieties uzticamu mitināšanu vietnēm ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa vietņu mitināšanu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster