A következő címkéjű bejegyzések mutatása: xrn. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: xrn. Összes bejegyzés megjelenítése

2011-03-15

Firmware frissítés 3ComOS-t futtató XRN (IRF) switch stacken

Korábban már érintőlegesen volt szó a 3ComOS-ről, ami tavaly ugye mindenestül a HP kezébe került, de gyakorlatilag ugyanez a szoftver fut a Huawei és a H3C eszközökön is. Ma ismét előszedhettem a 3ComOS ismereteimet, a nemzeti ünnep ugyanis kiváló alkalom a szoftverfrissítések terítésére. Aki ismeri valamennyire a korábbi 3Com, illetve a jelenlegi HP, H3C, Huawei vonalat, az tudja, hogy egészen élhető stack technológia van ezekben a vasakban, viszont a stack a szoftverfrissítés során nem nagy előny. Az XRN vagy újabban IRF stackek nem állnak ugyanis össze, csak akkor, ha pontosan azonos a szoftververzió a stack unitjain. Innentől viszont érdemes észnél lenni, hogy mikor, mit csinál az ember, és bizony a hivatalos dokumentumok sem viszik túlzásba a stack-es szoftverfrissítési folyamat ismertetését. Vannak persze ezekhez a dolgokhoz is management eszközök (3Com Network Director, HP Intelligent Management Center), amivel GUI-n összekattintgatja az ember a frissítést, viszont ha elég sok stackünk van, akkor ilyen vagy olyan okból mindig akad egy-kettő, ahol elhasal a GUI és jöhet a mindenható CLI-s bütykölgetés.

Az első lépés a hely felszabadítás a beépített flash modulokon, nem mindegyik típusnál fér ugyanis el két különböző szoftververzió egymás mellett, nyilván a nagyobb, drágább eszközökön ez nem gond, de ha access stackekről van szó, akkor a helyhiány mindennapos probléma lehet a frissítéskor. A dir /all /fabric paranccsal egyszerre ki tudjuk listázni az összes uniton a fájlokat unitonkénti bontásban:
<HOSTNAME>dir /all /fabric              
Directory of unit1>flash:/


   1 (*)   -rw-     10199  Mar 10 2011 08:43:52   3comoscfg.cfg
   2       -rwh       293  Mar 02 2011 01:56:03   private-data.txt
   3       -rw-      9705  Feb 29 2008 12:00:00   3comoscfg.def
   4 (*)   -rw-   4171170  Mar 15 2011 15:56:51   s3n03_03_02s168p06.app
   5 (*)   -rw-    981062  Mar 15 2011 16:00:08   s3p04_03.web


7239 KB total (2055 KB free)


Directory of unit2>flash:/
... a többi unit adatai...
A listából láthatjuk, hogy mennyi szabad hely van még unitonként, illetve azt, hogy mely fájlokat futtatja aktuálisan a rendszer. A fenti példában látható, hogy az s3n03_03_02s168p06.app a bootloadernek megadott rendszer image, a webGUI-hoz pedig az s3p04_03.web fájlból veszi az adatokat az OS, hely viszont még egyszer ugyanennyihez nincs (általában a többi uniton is ugyanez a helyzet). Ilyenkor le kell egyenként törölgetni a fájlokat minden unitról a delete paranccsal (delete unit1>flash:/s3n03_03_02s168p06.app), majd ugyanez a unit2-vel, unit3-mal... illetve a műveletet érdemes megismételni a web package-ekre (*.web) is. Valami ilyesmit fogunk kapni eredményül:
<HOSTNAME>dir /all /fabric               
Directory of unit1>flash:/


   1 (*)   -rw-     10199  Mar 10 2011 08:43:52   3comoscfg.cfg
   2       -rwh       293  Apr 02 2008 01:56:03   private-data.txt
   3       -rw-      9705  Feb 29 2008 12:00:00   3comoscfg.def
   4       -rw-   4171170  Mar 15 2011 15:56:51   [s3n03_03_02s168p06.app]
   5       -rw-    981062  Mar 15 2011 16:00:08   [s3p04_03.web]


7239 KB total (2055 KB free)


Directory of unit2>flash:/
... a többi unit adatai...


<HOSTNAME>reset recycle-bin /fabric
Squeeze the recycle bins in fabric ? [Y/N]:y
 Unit1 reset success!
 Unit2 reset success!
 Unit3 reset success!
 Unit4 reset success!
 Unit5 reset success!
 Unit6 reset success!
A hely csak a recycle-bin ürítés után szabadul fel ténylegesen, amit egyetlen paranccsal meg tudunk tenni minden unitra a reset recicle-bin /fabric kapcsolójával. Ebben az állapotban nem jó, ha újraindulnak eszközök, mert nem fognak tudni bebootolni (természetesen konzolról vissza lehet küzdeni magunkat, de jobb az ilyesmit elkerülni, ha van rá mód), így mihamarabb másoljuk fel minden unitra a friss szoftvert:
tftp 10.10.10.10 get s3n03_03_02s168p11.app unit1>flash:/s3n03_03_02s168p11.app
tftp 10.10.10.10 get s3n03_03_02s168p11.app unit2>flash:/s3n03_03_02s168p11.app
stb.


tftp 10.10.10.10 get s3p04_04.web unit1>flash:/s3p04_04.web
tftp 10.10.10.10 get s3p04_04.web unit2>flash:/s3p04_04.web
stb.
A fájlokat egyébként elegendő egyszer letölteni a stackre, és onnantól lehet a unitok közt is másolgatni a copy paranccsal. Bizonyos frissítésekhez új bootloader (*.btm) is jár, ilyenkor ezt is le kell töltenünk minden unitra:
tftp 10.10.10.10 get s3o04_04.btm unit1>flash:/s3o04_04.btm
tftp 10.10.10.10 get s3o04_04.btm unit2>flash:/s3o04_04.btm
stb.
Ha felmásoltuk a szoftvereket, jöhet a használatba vétel, be kell állítanunk (még a régi) bootloaderhez az új szoftver image-t -- természetesen minden egyes uniton:
<HOSTNAME>boot boot-loader unit1>flash:/s3n03_03_02s168p11.app 
 The specified file will be booted next time on unit 1!
<
HOSTNAME>boot boot-loader unit2>flash:/s3n03_03_02s168p11.app 
 The specified file will be booted next time on unit 2!
stb.
Ha van bootloader frissítés, akkor azt is minden uniton be kell állítani (a beállítás után egyébként a *.btm fájlok törölhetők, de ha ott maradnak, az sem számít):
<HOSTNAME>boot bootrom unit1>flash:/s3o04_04.btm
 This will update Bootrom on unit 1.  Continue? [Y/N] y
 Upgrading Bootrom, please wait...
 Upgrade Bootrom succeeded!
<
HOSTNAME>boot bootrom unit2>flash:/s3o04_04.btm
 This will update Bootrom on unit 2.  Continue? [Y/N] y
 Upgrading Bootrom, please wait...
 Upgrade Bootrom succeeded!
stb.
Végül a friss web package beállítása következik, már ahol szükség van egyáltalán ilyesmire. Ezt nem kell unitonként állítani, egyszer kell kiadni a következő parancsot:
<HOSTNAME>boot web-package s3p04_04.web m
Ha mindennel elkészültünk, akkor jöhet a stack újraindítása a reboot paranccsal.