Na szóval.. A feladat a következő: Adott egy csomó, pár generációval régebbi HMC, amik mind-mind valami über-fontos rendszert támogatnak (hogy ez mennyire fedi a valóságot az más kérdés - a customernek mindig minden über fontos). További információ, hogy a HW típusok, illetve a telepített HMC verziók is meglehetősen eltérőek, illetve minimalizálni kéne az onsite support nyújtotta lehetőségeket (a lehetőség adott, csak épp fizetni kell érte, amit meg valahogy az ügyfelek sose akarnak, mondván hogy "Hát azért fizetünk téged, hogy megcsináld.." )
Ezzel a felemelő tudattal lássuk hát mis is lehet tenni és hogyan.
1x is, nézzük, hogy a neten milyen információk érhetőek el jelenleg, avagy miből élünk:
Upgrading the HMC from Version 4.3, 4.4, or 4.5 to Version 6.1.3
Upgrading the HMC from Version 6.1.2 (or Later) to Version 7.3.2
Ezek a leírások szépen le is írják, hogy hogyan kéne a HMC-ket upgrade-elni, de hogy-hogy nem csak a local DVD-RAM-ra támaszkodnak, ami meg nekünk most nem sokat segít (hacsak nem tudunk valakit rábírni, hogy fizesse az utazási költséget, meg biztosítsa a fizikai hozzáférést az érintett HMC-khez). Egy dologra viszont azért még is használhatóak: Kb kideríthető, hogy az upgrade útvonal valami ilyesmi kéne legyen:
4.x-> 6.1.3 (plusz a szükséges fixek) -> 7.3.2 -> 7.7.x (jelenlegi latest)
Na persze ez önmagában még nem elég: Van egy olyan sajnálatos része is a dolognak, hogy a HMC által managelt box(ok) alatt futó firmware-nek is kompatibilisnek kell lennie a HMC-vel, különben az képtelen lesz kommunikálni az FSP-vel, minek következtében a HMC nem fogja tudni managelni a boxot (ergo pont azt a funkcionalitást veszítjük el, amiért a HMC-t tartjuk). Így sajna figyelembe kell vegyük azt is, hogy HMC upgrade előtt a boxok FW-je is megfelelő szinten legyen.
Ebben segítenek az alábbi doksik:
- Supported combinations for HMC and Power 5 Server code: http://www14.software.ibm.com/webapp/set2/sas/f/power5cm3/sftablep5.html
- Minimum FW levels: http://www-912.ibm.com/s_dir/slkbase.NSF/1444e529a72ba96486256a6400681992/c69799b70a28578c8625712c004fe06b?OpenDocument
- HMC 7.3.x es afölött: http://www-933.ibm.com/support/fixcentral/firmware/supportedCombinations
- Power5,P590, p505: http://www14.software.ibm.com/webapp/set2/sas/f/power5cm3/supportedtable2.html
- Power5, exlcuding p590, p595: http://www14.software.ibm.com/webapp/set2/sas/f/power5cm3/supportedtable1.html
További hasznos infó az, hogy jelenleg mely HMC verziók támogatottak is:
.. illetve hogy mely HMC-k pontosan meddig is húzhatók fel:
Na most mindez után egy pillanatra álljunk meg.. Ugye azt mondtam, hogy azért itt akad 1-2 elég régi generációs masina is, ami azért magával von 1-2 meglehetősen fontos dolgot:
- Ha a HMC nem 1 mai darab, akkor valószínű, hogy a managelt box se.
- Ha a managelt box nem 1 mai darab, és még mindig alacsony HMC mellett üzemel, akkor a firmware se lehet épp a legfrissebb
- Ha upgrade-elni kell egy régebbi HMC-t, hogy supported szinten legyen, akkor az az alábbi dolgokat jelentheti:
Ha Power4ünk van, akkor könnyű dolgunk lesz (feltéve, hogy min 3.3-as szinten van a HMC). Ha viszont Power5-ről beszélünk (és a fent említett 5 modell valamelyikével áldott meg minket a sors), akkor már macerásabb helyzetben találhatjuk magunkat, tekintve, hogy abban az esetben a 4.5.x HMC se elképzelhetetlen.
Na jó.. Akkor ez után nézzük mit is lehet távolról egy nyomorult internet hozzáféréssel csinálni.
Alap járaton ugye adott a fix/service pack telepítésének lehetősége, ami viszont nem jelent verzió ugrást (mondjuk egy 3.3.x-> 3.3.7 telepítéséhez ez még bőven elég). Ahhoz, hogy verziók között tudjunk ugorni (6.x->7.x) szükségünk van az úgy nevezett "alternate disk installation" nevű módszerre (vagy akik AIX-földről jöttek annak az alt_disk_boot lehet ismerősebb). A probléma ezzel csupán annyi, hogy ez a parancs csak az 5.2.1-es verzió óta érhető el, következés képen ha version 5.x, vagy afölött vagyunk akkor még van remény (verzión belül tudunk ugrálni mint mondtam, ergo 5.x-ről fel tudjuk húzni remote 5.2.1ig a HMC-t), ha viszont egy v4.x HMC-vel hozott össze a sors, akkor kötelezően szükségünk lesz valakire aki helyben felhúzza a HMC-t egy számunkra kellemes szintre (Ennyit a customer elvárásairól ez esetben :D Mázlira 4.x-ről direkt lehet ugrani 6.1.2-re local DVD-RAM-al, tovább viszont a firmware függőségek viszont nem.)
További "kellemes" problémaforrás, hogy amennyiben a 7310-C03 HMC-vel hozott össze a sors minket, úgy nem csak a box(ok) FW upgrade-je miatt kell fájjon a fejünk, hanem a HMC BIOS upgrade-je (!) miatt is, mielőtt fel akarnánk az vinni v6.1.x vagy afölé (amihez szintén helyi technikus kell :))
https://www-304.ibm.com/support/customercare/sas/f/hmcl/bios/home.html
Na akkor összegezzük hogy mit is kéne csinálni:
- Ha a sors egy 7310-C03 HMC-vel hozott össze, akkor onsite technikus segítségével a BIOS-t fel kell upgrade-elni, mielőtt bármit is csinálnánk
- Ha egy v4.x HMC-vel hozott össze a sors, akkor szintén onsite technikus segítségét kell kérjük, hogy a HMC-t 6.1.2 felhúzza
- Ha a HMC-nk meg a 3.3.x idők elötti verzión fut, akkor local technikus fog ismételten csak kelleni:
Ha eddig tudtál követni (és a tervezésnek minden kellemes percét kiélted már), akkor most jön arra a kérdésre a válasz, hogy akkor mit és hogyan.
Kezdjük talán a hivatalos dokumentációval:
Feltételezve, hogy eljutottunk arra a szintre, hogy a HMC-nk valóban távolról upgrade-elhető, nézzük hogy hogyan is kéne ennek elvileg lezajlania:
- Nulladik körben kell egy szervert találni, ami a HMC-vel viszonylag jó hálózati kapcsolattal bír, lehetőleg a tűzfal nem blokkolja az FTP/NFS kapcsolatokat, és fel tudjuk rá tölteni az összes szükséges Firmware és HMC update/upgrade file is.
saveupgdata -r disk getupgfiles -h $SERVER -u $USER -d $SOURCE_DIRECTORY chhmc -c altdiskboot -s enable --mode upgrade hmcshutdown -r -t now
# Megjegyzések:
- Megoszlanak a vélemények, hogy az update-et console-ról, vagy az elérhető GUI-s (WebSM, Web-es) felületről érdemesebb e csinálni. Számomra a console gyorsabb (próbált már valaki WebSM-et futtatni 2 proxy mögül? :)), cserébe a GUI-s felület informatívabb (bár sikerült belefutnom olyan hibába, ahol viszont nem az elvárt módon működött, míg a parancssori megfelelője meg igen - erről később)
- Lehetőség van előzőleg a HMC-re feltöltött file-ból update-elni, de amennyiben alternate disk install-t is kell csinálnunk, úgy sajna csak az FTP szerver jön szóba hivatalosan. /* Nem hivatalosan root hozzáféréssel ezt meg tudjuk kerülni - erről is majd kicsit később)
- Ha jól rémlik 7.3.5-ös verzió óta van lehetőség a getupgfile parancsnál SFTP használatára a "-s" kapcsolóval
- Alternate disk install esetén, ha a saveupgdata parancsot elfelejtettük lefuttatni, vagy a parancs nem tudott mindent lementeni, akkor számoljunk vele, hogy a HMC nem fogja visszaállítani se az előzőleg létrehozott usereket, se a hálózati beállításokat, se az FSP-k kapcsolódási adatait => Lesz egy csupasz upgrade-elt HMC-nk, ami nemhogy nem managel egy boxot se, de még hálózatról se lesz elérhető. Ilyen esetben helyi technikus kell a hálózat beállításához és/vagy az előzőleg kreált "Critical Console Data" visszaállításához.
És akkor ami ezen felül még szerintem jó ha van:
- Egy alternativ session-ünk ahol monitorozni tudjuk, hogy épp hol tart a HMC (mondjuk az adat feltöltésben)
Íme 1-2 példa:
- 3.3.7 alatt előjött hiba: az updhmc parancs elszáll az alábbi hibaüzenettel: "An error occurred while trying to run corrective services. Please check your entry and retry command."
- Verzió független issue: Volt szerencsém olyan HMC-hez is, ami ugyan látta a repository szervert, viszont a kapcsolat a 2 szerver között csodás 30 kb/sec-el tántorgott. Mit csinál ilyenkor az ember? Megpróbálja megszakítani a parancsot egy CTRL+C-vel, majd egy másik (immár gyorsabb szervert használva) helyről áttölteni az adatot. Na most a CTRL+C lenyomásával nincs is gond, az ember szépen vissza is kapja a terminálját.. Na de viszont amikor egy immár remélhetőleg gyorsabb helyről ismét elindítjuk a programot (illetve monitorozzuk is a folyamatot), akkor észre vehetjük hogy egyszerre több file is változik egyszerre. A dolog mögött pedig az áll, hogy a CTRL+C lenyomásakor a parancs ugyan vissza adja a parancssort, viszont a parancsot nem állítja le.
# for i in $(ls -d /proc/[0-9]* |sed 's/\/proc\///g'|sort -n);do echo -e "$i\t $(cat /proc/$i/status |grep Name |sed 's/Name://g') $(cat /proc/$i/cmdline)";done
Utolsó jó tanács:
- Ha valaki nagyon ragaszkodik a GUI-hoz, és van SSH hozzáférése a HMC-hez, úgy lehet megéri ha SSH tunnelezi a GUI eléréséhez szükséges portokat, majd a localhost megfelelő portjára csatlakozva manageli a HMC-t (főleg ha a HMC proxy vagy tűzfal mögött van):
# export TARGET=${HMC_SERVER_ADDRESS}
# ssh -L 9090:${TARGET}:9090 -L 9940:${TARGET}:9940 -L 9443:${TARGET}:9443 -L 30000:${TARGET}:30000 -L 30001:${TARGET}:30001 -L 30002:${TARGET}:30002 -L 30003:${TARGET}:30003 -L 30004:${TARGET}:30004 -L 30005:${TARGET}:30005 -L 30006:${TARGET}:30006 -L 30007:${TARGET}:30007 -L 30008:${TARGET}:30008 -L 30009:${TARGET}:30009 hscroot@${TARGET}
# /opt/websm/bin/wsm /* Majd a kapcsolódási adatoknál a szervernév localhost */
# ssh -L 8443:${HMC_SERVER_ADDRESS}:443 hscroot@${HMC_SERVER_ADDRESS} # firefox https://localhost:8443