Instalace critical/non-critical update na ESXi 6.5 host přes vSpehre update manager havaruje s následující hláškou:
The host returns esxupdate error code:15. The package manager transaction is not successful. Check the Update Manager log files and esxupdate log files for more details.
a další
Could not stage image profile ‚(Updated) ESXi-6.5.0-20170702001-standard‘: (‚VMware_locker_tools-light_6.5.0-1.47.8285314‘, ‚[Errno 32] Broken pipe‘)
Zkusil jsem násldující kroky, které bohužel nepomohli:
- restartovat ESXi host
- updatovat firmware fyzickeho serveru (v mem pripade pres Dell iDRAC)
- vmware forum, ktere se odkazovalo na nedostatek místa v /store volume – v mém případě bylo 64% volného místa
Mé řešení (na vlastní zodpovědnost)
Tento problém se většinou objevuje v případě, kdy soubory balíčků v /locker/packages/version/ jsou plné a nebo poškozeny.
- In ESXi 5.0 systems – /locker/packages/5.0.0/
- In ESXi 5.1 systems – /locker/packages/5.1.0/
- In ESXi 5.5 systems – /locker/packages/5.5.0/
- In ESXi 6.0 systems – /locker/packages/6.0.0/
- In ESXi 6.5 systems – /locker/packages/6.5.0/
Pro kontrolu bude potřeba se připojit přímo na ESXi host přes SSH (které je standartně zakázané a je třeba ho explicitně povolit).
Jakmile se připojíme, zkontrolujeme obsah složky pomocí příkazu ls /store/
[root@esx1:~] ls /store ls: /store/pack`G%s: No such file or directory ls: /store/: Input/output error ls: /store/ : No such file or directory ls: /store/(: Input/output error ? ??.@ ?.? packages ? ? ? ??? ? ? ? ra{ ????????? ? ? ? var ? ? 0 ? ? ? @ ? ??? ? @ ? ?? ? @ ? ?? ?? @ ? ? ?.? ??.? @ ? ? ?.??? ??.B @ ??.? ? ? ?.? @ ??.? ? ? ?.? @ ?(? ? ? ?.?? @ ?.?? ? ? ?.? @ ?.? ? ? ? @ ?.? ? ??$ ? @???.@ ?.?? ? ?? ? @? ?@ ? ?. ? @?.?? ?@.H ?? ?.? ? @.? ? ?? ?.? ? @.?? ?@ ?? ?.? ? @.? ? ?.@ ?.$ ??@? @.P ?? ?.@ ?? @.? ? ?.@ ??? @@
Jako výsledek vidíme spoustu divně pojmenovaných souboru (ty můžeme ignorovat), ale naopak se musíme zaměřit na složky.
Složka /store musí obsahovat podsložky packages a var.
Složka /store/packages by měla obsahovat dvě podsložky, a to verze aktuální ESXi, v mém případě 6.5.0 a var.
ZDE nastal problém. Ve složce /store/packages se nenacházela složka 6.5.0. Takže jsem prohledal ostatní „divně“ pojmenované složky a bingo, složka se jménem @?.? obsahovala přesně ty podsložky, které je potřeba mít. Provedeme tedy přejmenování
[root@esx1:/vmfs/volumes/5a3fa82d-b078b8da-e3aa-28f10ed2bc11] mv packages packages-old [root@esx1:/vmfs/volumes/5a3fa82d-b078b8da-e3aa-28f10ed2bc11] mv @?.? packages [root@esx1:/vmfs/volumes/5a3fa82d-b078b8da-e3aa-28f10ed2bc11] cd packages [root@esx1:/vmfs/volumes/5a3fa82d-b078b8da-e3aa-28f10ed2bc11/packages] ls 6.5.0 var
Bingo, nyní tedy máme ve složce /store/packages/ tyto složky
[root@esx1:/vmfs/volumes/5a3fa82d-b078b8da-e3aa-28f10ed2bc11] cd packages [root@esx1:/vmfs/volumes/5a3fa82d-b078b8da-e3aa-28f10ed2bc11/packages] ls -l total 512 drwxr-xr-x 1 root root 8 Dec 24 2017 6.5.0 drwxr-xr-x 1 root root 8 Dec 24 2017 var
Restart hosta není potřeba, stačí jen spustit instalaci update znova.