Solaris Live Upgrade

Allikas: Kuutõrvaja
Redaktsioon seisuga 23. september 2007, kell 21:43 kasutajalt Imre (arutelu | kaastöö) (Uue bootkeskkonna bootimine)

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 2006 aasta jooksul ilmus kolm väljalaset Solaris 10 kohta

  • 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

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

  1. Operatsioonisüsteemi kriitilistest kataloogidest (/, /usr, /var, /opt) moodustatakse teisele kõvakettale koopia. Need kataloogid võivad olla ka eraldi failisüsteemides.
  2. Uue Solarise paigaldusmeedia tehakse kättesaadavaks, näiteks ühendatakse NFS abil üle võrgu külge.
  3. Antakse korraldus uuendada koopiale vastav operatsioonisüsteemi eksemplar.
  4. 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

Paikade osas peaks praktiliselt piisama, kui uuendatav süsteemi on korrektselt paigatud, näiteks smpatch, pca või updatemanager abil.

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.

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 /                   -

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.

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