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.
