Solaris Live Upgrade
Sisukord
Sissejuhatus
Operatsioonisüsteem Solaris tarkvara uuendusi antakse välja ilma fikseeritud tähtaegadeta, praktiliselt mõned korrad aastas ning neid esitatakse uuendatud installatsioonimeedia kujul. Nt Solaris 10 kohta on ilmunud kokku 2008 aasta alguseks viis väljalaset
- Solaris 10 1/06 s10s_u1wos_10
- Solaris 10 6/06 s10s_u2wos_10
- Solaris 10 11/06 s10s_u3wos_10
- Solaris 10 8/07 s10s_u4wos_10
- Solaris 10 5/08 s10s_u5wos_10
Süsteemi saab uuendada bootides arvuti uue versiooni paigaldusmeedialt ja valides seejärel menüüst 'Initial Install' asemel 'Upgrade'. Selliselt juhul kirjutatakse operatsioonisüsteemi moodustavad failid üle, kusjuures säilitatakse arvuti konfiguratsioonis kirjeldatud seadistused. Arusaadavalt saab vajadusel tagasi pöörduda uuendamise-eelsele oleku juurde backupist taastades.
Alternatiivseks võimaluseks süsteemi uuendada on kasutada Live Upgrade (LU) tehnikat, mis võimaldab sooritada osa operatsioonisüsteemi uuendamisega seotud tegevusi arvuti tavapärase töötamise ja teenusepakkumise ajal ning lisaks on hõlbus pöörduda tagasi uuendamisele eelnenud olekule.
Live Upgrade
Ülidselt Live Upgrade eeldab, et arvutis kasutatakse mitut füüsilist kõvaketast, kuid mitte ilmtingimata. Protseduur koosneb sellistest sammudest
- Operatsioonisüsteemi kriitilistest kataloogidest (/, /usr, /var, /opt) moodustatakse teisele kõvakettale koopia. Need kataloogid võivad olla ka eraldi failisüsteemides.
- Uue Solarise paigaldusmeedia tehakse kättesaadavaks, näiteks ühendatakse NFS abil üle võrgu külge.
- Antakse korraldus uuendada koopiale vastav operatsioonisüsteemi eksemplar.
- Arvuti booditakse koopiale vastava ja uuendatud operatsioonisüsteemiga.
Ettevalmistused
Üldiselt peavad LU sooritamiseks olema uuendatavale süsteemi paigaldatud teatud paigad ning reegline tuleb kasutada programme uue versiooni SUNWlur ja SUNWluu pakketidest. Kui uuendatakse sama Solarise versiooni sees, nt Solaris 10, siis mõnel juhul on olemasolevad paketid niisamagi sobivad. Igaljuhul, nende pakettide uuendamine toimub selliselt, uue Solarise meedia on ühendatud kataloogi /mnt alla
bash# pkgadd -d /mnt/Solaris_10/Product SUNWlur SUNWluu
Näiteks uuendades Solaris 5/08 peale öeldakse nende pakettide paigaldamise järel, millisele Solarise SunSolve dokumendile vajalike paikade osas tähelepanu pöörata
Document Audience: PUBLIC Document ID: 206844 Old Document ID: (formerly 72099) Title: Solaris[TM] Live Upgrade Software: Minimum Patch Requirements Copyright Notice: Copyright © 2008 Sun Microsystems, Inc. All Rights Reserved Update Date: Thu Nov 15 00:00:00 MST 2007
Paikade osas peaks praktiliselt piisama, kui uuendatav süsteemi on korrektselt paigatud, näiteks smpatch, pca või updatemanager abil. Parasjagu süsteemi rakendatud paikade loetelu näeb öeldes
# patchadd -p
Lisaks tuleb format programmi abil ettevalmistada partitsioon, kus operatsioonisüsteemist moodustatav koopia hakkab asuma.
Kriitilistest kataloogidest koopia tegemine
Ühes arvutis töötavaid erinevaid operatsioonisüsteemi eksemplare, nt originaali ja temast tehtud koopiat nimetatakse bootkeskkondadeks (ingl. k. boot environment - BE) ja neid tähistatakse nimedega. Alati on üks bootkeskkond aktiivne ning ülejäänud on mitte-aktiivsed. Kui arvutis toimetakse esimest korda LU'ga, siis tuleb koopiale vastava bootkeskkonna moodustamise ajal anda nimi ka aktiivsele bootkeskkonnale
bash# lucreate -A 'Solaris 10 11/06' -c u2 -m /:/dev/dsk/c5t2d0s0:ufs -n u3 ... Population of boot environment <u3> successful. Creation of boot environment <u3> successful.
- Aktiivsele bootkeskkonnale omistatakse nimi u2
- Uuele bootkeskkoonale omistatakse nimi u3
- Uue bootkeskkonna kirjelduseks on uue versiooni nimi
- Vaatamata sellele, kas kõik kriitilised kataloogid/failisüsteemid asuvad lähtesüsteemis koos või eraldi, kopeeritakse nad antud juhul partitsioonile c5t2d0s0 moodustatavasee ühte ufs failisüsteemi kokku
- Tegevuse käigus moodustatakse ufs failisüsteem
- Käsu väljundisse kirjutatakse omajagu teateid toimuva kohta, lõpeb teatega, et on valmis.
Kopeerimise kulgu on võimalik jälgida lisaks df -h abil
# df -h ... /dev/dsk/c0t0d0s0 32G 979M 30G 4% /.alt.tmp.b-mnb.mnt swap 19G 0K 19G 0% /.alt.tmp.b-mnb.mnt/var/run swap 19G 0K 19G 0% /.alt.tmp.b-mnb.mnt/tmp
Mitteaktiivse bootkeskkonna uuendamine
Tarkvara uuendamine iseenesest toimub käsuga
bash-3.00# luupgrade -u -n u3 -s /mnt ... Upgrading Solaris: 100% completed ... The Solaris upgrade of the boot environment <u3> is complete.
- -u toimub uuendamine
- -n uuendatava bootkeskkonna nimi
- -s uue paigaldusmeedia asukoht
Uuenduse logi asub uue keskkonna failides, vastav failisüsteem tuleb käsitsi külge ühendada (ja seejärel lahti)
/var/sadm/system/logs/upgrade_log /var/sadm/system/data/upgrade_cleanup
Lisaks uuema Solaris operatsioonisüsteemi meedialt lähtuvatele uuendustele saab ka nt pca abil omakorda rakendada uuendusi külgeühendatud bootkeskkonnale.
Uue bootkeskkonna bootimine
Uue keskkonna bootimiseks tuleb märkida uus keskkond aktiivseks ning seejärel bootida tingimata init käsuga
bash# /sbin/luactivate -s u3 A Live Upgrade Sync operation will be performed on startup of boot environment <u3>. ... bash# init 6
Lisaks annab käsu luactivate väljund vajaliku juhendi vanale bootkeskkonnale tagasipöördiseks, põhimõtteliselt tuleb arvutile PROM'is öelda, et ta boodiks teiselt st vanale keskkonnale vastavalt seadmelt.
Süsteemis olevate bootkeskkonda oleku kohta saab küsida selliselt (antud juhul BE u4 moodustamine toimub)
bash# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- u2 yes no no yes - u3 yes yes yes no - u4 no no no no ACTIVE
Kahe bootkeskkonna vahel liikumiseks tuleb teine aktiviseerida käsuga luactivate ning arvuti bootida.
Lähemat info bootkeskkonna kohta saab vaadata käsuga lufslist
bash-3.00# lufslist u2 boot environment name: u2 Filesystem fstype device size Mounted on Mount Options ----------------------- -------- ------------ ------------------- -------------- /dev/md/dsk/d1 swap 1073940480 - - /dev/md/dsk/d0 ufs 7999733760 / -
Kui on piisavalt kindlust tekkinud, et uus bootkeskkond on kasutatav ning vana pole enam tarvis, siis saab vana eemalda käsuga
bash# ludelete u2
Flash Archive - Flar
Solarise instrumentaariumis on utiliit flar, mille abil saab moodustada töötavast süsteemist faili kujul esineva ja sellises formaadis koopia, mille saab LU vahenditega hiljem taastada süsteemi seisu.
bash# flar create -n systeeminimi-20070721 -X /root/flar-exclude /mnt/systeeminimi-20070721.flar
Probleemid
- Kahe erineva Solarise versiooni puhul on tõenäoline, et ZFS failisüsteemi versioon on erinev. Praktiliselt tähendab see seda, et uuendamise käigus võib märkamatult nn ZFS on-disk formaat ära uuendatud saada ning seejärel vana userspace'i utiliitidega ei saa kõnealuse ZFS failisüsteemi poole pöörduda.
- Tsoonide kasutamine on LU puhul problemaatiline, ilmselt mitte siiski võimatu.
- Osutub, et tuumapaiga paigaldamise ajal peab /var/sadm asuma juurfailisüsteemis.
- Abiks on vaadata üle aadressilt http://docs.sun.com/ manuaalide Troubleshooting peatükid.
- Kui BE keskkondadega on juhtunud segadus ja esineb näiteks sarnane veateade, siis vahel aitab käsitsi /etc/lutab faili redigeerimise teel olukorda parandada
# lufslist u2 ERROR: mount: /dev/md/dsk/d0 or /.alt.tmp.b-j3.mnt, no such file or directory ERROR: cannot mount mount point </.alt.tmp.b-j3.mnt> device </dev/md/dsk/d0> ERROR: cannot mount root device </dev/md/dsk/d0> to mount point </.alt.tmp.b-j3.mnt> for boot environment <u2> ERROR: cannot determine file system configuration for boot environment <u2> ERROR: cannot determine file system list of boot environment <u2>
u3 -> u4 Live Upgrade
u4 meedialt tuleb paigaldada paketid
bash# pkgadd -d path_to_packages SUNWlucfg SUNWlur SUNWluu
Ning käsitsi tuleb paigaldada paketid (mille küll smpatch update all laadib)
bash# smpatch add -i 125547-02 bash# smpatch add -i 121430-17 bash# smpatch add -i 121428-08 bash# smpatch add -i 120011-14
Lisaks on tarvis dokumendis 72099, http://sunsolve.sun.com/search/document.do?assetkey=1-9-72099-1 kirjeldatud paigad rakendada, et lu utiliidid toimiksid, kuigi kui Solaris 10 u3 nn smpatch uuendused sh kerneli paik on rakendatud ei sealt ilma-tsoonide-juhtumi nimekirjast seisuga 20070923 midagi tarvis lisada.