PowerPath pro Linux: PowerPath se po restartování nespustí a je nutné jej spustit ručně
Summary: PowerPath pro Linux: Software PowerPath se po restartování nespustí a je nutné jej spustit ručně.
Symptoms
Operační systém: Red Hat Enterprise Linux 7.x, OEL 7.x a SLES 12
Neplatí pro verze Red Hat Enterprise Linux 5.x, 6.x a SLES 11.
Software EMC: PowerPath pro Linux 6.x
Software PowerPath se nespustí automaticky po restartování hostitele.
Software PowerPath lze bez problémů spustit ručně.
Do boot.log při spuštění a ukončení služby PowerPath se nezaprotokolují žádné chyby.
Po restartování systému se zobrazí chyba "Initialization Error", protože službu nebylo možné spustit:
# powermt display dev=all ERROR: Cannot open PowerPath. Initialization error
# cat /var/log/boot.log |grep Power Starting PowerPath startup script... [ OK ] Stopped PowerPath startup script. <--- Starting PowerPath Management Daemon... Starting PowerPathPost startup script... [ OK ] Started PowerPathPost startup script. [ OK ] Started PowerPath Management Daemon.
Cause
Při spuštění provede PowerPath nejprve několik kontrol, než bude pokračovat ve skutečném spuštění. Jedním z nich je kontrola, kdy byl software PowerPath naposledy spuštěn, což se určí výpočtem stáří souboru značek. Při spuštění jsou systémové hodiny zpočátku synchronizovány s hardwarovými hodinami. Pokud je však na hostiteli nakonfigurován klient NTP, pak se při spuštění aktualizují systémové hodiny ze serveru NTP.
Problém nastává, pokud jsou hardwarové hodiny příliš nesynchronizované s hodinami NTP, obvykle když jsou hodně pozadu. Při spuštění hostitele se software PowerPath spouští mnohem dříve než klient NTP. Proto se při pokusu o výpočet stáří souboru značek jedná o zápornou hodnotu a software PowerPath se okamžitě ukončí bez pokračování v začátku.
Resolution
Alternativní řešení:
Pomocí následujícího příkazu na hostiteli aktualizujte hodiny hwclock na systémové hodiny:
hwclock --systohc
Tím se hodiny hardwaru na hostiteli aktualizují na správný čas.
Trvalá oprava:
Problém bude opraven v PowerPath pro Linux 6.3.
Additional Information
Čas, kdy byl software PowerPath naposledy spuštěn, zjistíte spuštěním následujícího příkazu:
systemctl status PowerPath.service
Obvykle zjistíte, že když byl software PowerPath naposledy aktivní, došlo k obrovskému časovému rozdílu:
systemctl status PowerPath.service PowerPath.service - PowerPath startup script Loaded: loaded (/usr/lib/systemd/system/PowerPath.service; enabled; vendor preset: disabled) Active: inactive (dead) since Thu 2017-04-06 12:00:15 GET; 4h 0min ago Process: 2075 ExecStopPost=/usr/lib/PowerPath/PowerPath check_service_stop (code=exited, status=0/SUCCESS) Process: 1807 ExecStartPost=/usr/lib/PowerPath/PowerPath check_service_start (code=killed, signal=TERM) Process: 1665 ExecStart=/usr/lib/PowerPath/PowerPath start (code=exited, status=0/SUCCESS) Main PID: 1665 (code=exited, status=0/SUCCESS)
------------------------------------------------------------------------------------------
Dalším způsobem, jak tento problém najít, je příznak povolení "-x" ve spouštěcím skriptu PowerPath.
Pro OEL 7.x jsou spouštěcí skripty:
/usr/lib/PowerPath/PowerPath
/etc/opt/emcpower/EMCpower.LINUX-6.1.0.00.00/enable
Příklad:
# head -5 /usr/lib/PowerPath/PowerPath #!/bin/sh -x
Po restartování hostitele se protokoly zaznamenávají do boot.log. Spusťte také níže uvedený příkaz last_boot kde získáte jeho výpis:
journalctl -b 0 > last_boot
V níže uvedených podrobných protokolech, které jsme shromáždili výše, vidíme časovou prodlevu -13991.
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: + '[' yes == yes -a -f /tmp/.pp_systemctl_check ']'
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: ++ date +%s
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: ++ date +%s -r /tmp/.pp_systemctl_check
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: + '[' -13991 -lt 5 ']'
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: + rm -f /tmp/.pp_systemctl_check
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: + /bin/true
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: + rc_exit
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: + exit 0