GNU/Linux >> Znalost Linux >  >> Linux

Stav a závislosti služby Solaris?

Vytvářím servisní manifesty pro MySQL a službu WebLogic, která závisí na službě MySQL. Chci, aby všichni používali model správy „čekejte“ (spustili proces v popředí). Mám několik otázek ohledně tohoto nastavení.

Za prvé, jak mohu diktovat stav služby? Když jsem například vytvořil skripty MySQL před použitím služeb, po spuštění mysqld_safe skript na pozadí, pingl bych na něj, dokud bych nedostal odpověď; Chtěl jsem se ujistit, že je připraven, než budu pokračovat. Nyní se službou okamžitě přejde do „online“, i když si nejsem jistý, zda je skutečně připravena nebo ne.

V případě, že pro tuto otázku neexistuje dobré řešení, vložím ping MySQL DB do samotného skriptu WebLogic a ukončení se stavem 1 po určitém počtu pokusů. Služba se však bude neustále restartovat. Jak přinutím službu přejít do režimu údržby po nenulovém ukončení?

Konečně jsem zprovoznil závislosti tak daleko, že služba WebLogic se nespustí, aniž by byla služba MySQL online, ale mám k tomu dvě otázky:

  1. Jak zařídím, aby se služba WebLogic pokusila spustit službu MySQL, když je mimo provoz?
  2. Když je služba WebLogic již online, jak ji zajistím, aby byla odstraněna, pokud služba MySQL někdy přestane fungovat?

Přijatá odpověď:

1 – Definujte službu mysql jako závislou službu při konfiguraci xml manifestu pro službu weblogic. Tímto způsobem se vaše webová logika nespustí, dokud nebude služba mysql hlášena jako zcela online. Zdá se to logické, protože vaše aplikace weblogic by závisela na dostupnosti služby mysql, neprováděla by zbytečné pokusy o spuštění příkazu db connect/sql, když je služba mysql db mimo provoz.

2 – Vzhledem k tomu, že závislostní služba přejde do stavu offline/degradovaného stavu, vaše služba weblogic bude také offline a nebude spuštěna. Není tedy žádná šance, že by se služba weblogic pokusila uvést službu mysql zpět online, dokud tu možnost má, protože sama přechází do režimu údržby. Navíc neexistuje žádná záruka, že se webová logika spustí poté, protože služba mysql přechází do režimu údržby/offline/degradace, smf označí službu weblogic také jako degradovanou/offline, a proto ji nelze použít ke spuštění služby mysql. To může být jasný případ cyklické závislosti, který by měl být vyřešen použitím třetího modulu/cronjob/přechodné služby, která se o tyto obě služby postará.

Související:Jak zkontrolovat, jaké signály proces poslouchá?

Nyní, když je jasné, že hlavní závislou službou je mysql, která má běžet online téměř po celou dobu pro dostupnost a čisté fungování weblogic, navrhoval bych použít třetí modul / skript (jako by to dělal i cronjob), který by monitoroval stavy. službu mysql jako preferovanou prioritu a poté službu weblogic. Mělo by se postarat o zpracování/spuštění léčebných příkazů SMF v případě výpadku kterékoli služby.


Linux
  1. Nainstalujte Lighttpd s PHP5 FastCGI a MySQL na Fedoru 21

  2. Jak nainstalovat a nakonfigurovat Dovecot

  3. Linux – Průběžné sledování stavu služby?

  1. Jak nastavit LogAnalyzer s Rsyslog a MySQL

  2. Stav systému a serveru

  3. Vytvořte novou databázi a použijte ji v MySQL/MariaDB

  1. Top 8 tipů a triků příkazového řádku MySQL

  2. Vytvořte nového uživatele a udělte oprávnění v MySQL

  3. Základy Vhosts a serverových bloků