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. LU sooritamisel ei pruugu uuendatav versioon olla vahetult eelnev uuenduse järgselt tekkivale, suuremate sammude puhul tuleb jälgida dokumentatsiooni tähelepanelikumalt. 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, näiteks
========================================================================= IMPORTANT NOTICE Patches Needed to Run Solaris Live Upgrade Correct operation of Solaris Live Upgrade requires that a limited set of patch revisions be installed for SunOS 5.10 for the sparc platform. Before installing or running Live Upgrade, you are required to install a limited set of patch revisions. Make sure you have the most recently updated patch list by consulting sunsolve.sun.com. Search for the info doc 72099 on the SunSolve(tm) web site. Live Upgrade may fail to work properly if the latest limited set of patch revisions are not installed on this system. =========================================================================
Viidatud dokument, õigemini selle asemel on http://sunsolve.sun.com/ veebikohas
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 u5 -s /mnt 218128 blocks miniroot filesystem is <lofs> Mounting miniroot at </mnt/Solaris_10/Tools/Boot> Validating the contents of the media </mnt>. The media is a standard Solaris media. The media contains an operating system upgrade image. The media contains <Solaris> version <10>. Constructing upgrade profile to use. Locating the operating system upgrade program. Checking for existence of previously scheduled Live Upgrade requests. Creating upgrade profile for BE <u5>. Determining packages to install or upgrade for BE <u5>. Performing the operating system upgrade of the BE <u5>. CAUTION: Interrupting this process may leave the boot environment unstable or unbootable. Upgrading Solaris: 1% completed ... Upgrading Solaris: 100% completed Installation of the packages from this media is complete. Updating package information on boot environment <u5>. Package information successfully updated on boot environment <u5>. Adding operating system patches to the BE <u5>. The operating system patch installation is complete. INFORMATION: The file on boot environment <u5> contains a log of the upgrade operation. INFORMATION: The file on boot environment <u5> contains a log of cleanup operations required. INFORMATION: Review the files listed above. Remember that all of the files are located on boot environment <u5>. Before you activate boot environment <u5>, determine if any additional system maintenance is required or if additional media of the software distribution must be installed. The Solaris upgrade of the boot environment <u5> 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 6' käsuga parema kontrolli huvides konsoolilt
bash# /sbin/luactivate -s u5 A Live Upgrade Sync operation will be performed on startup of boot environment <u5>. ********************************************************************** The target boot environment has been activated. It will be used when you reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You MUST USE either the init or the shutdown command when you reboot. If you do not use either init or shutdown, the system will not boot using the target BE. ********************************************************************** In case of a failure while booting to the target BE, the following process needs to be followed to fallback to the currently working boot environment: 1. Enter the PROM monitor (ok prompt). 2. Change the boot device back to the original boot environment by typing: setenv boot-device /pci@83,4000/FJSV,ulsa@2/disk@0,0:a 3. Boot to the original boot environment by typing: boot ********************************************************************** Activation of boot environment <u5> successful. 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 (näiteks BE keskkonnale vastavat failisüsteemi ei ole tegelikult enam olemas) 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>
Sel juhul tundub, et sobib eemaldada eksitav osa
# DO NOT EDIT THIS FILE BY HAND. This file is not a public interface. # The format and contents of this file are subject to change. # Any user modification to this file may result in the incorrect # operation of Live Upgrade. 1:u2:C:0 1:/:/dev/md/dsk/d0:1 1:boot-device:/dev/dsk/c0t3d0s0:2 2:u3:C:0 2:/:/dev/md/dsk/d2:1 2:boot-device:/dev/dsk/c5t2d0s0:2 3:u4:C:0 3:/:/dev/dsk/c1t0d0s0:1 3:boot-device:/dev/dsk/c0t4d0s0:2
- lucreate käsu täitmise ajal võib ilmuda väljundisse ka veateateid, näiteks mitmekordselt 'Reading of /etc/group failed', kasutaja peab ise otsustama, kas selliseid teateid võib ignoreerida.
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.
u3 -> u5 Live Upgrade
Tundub, et toimib täitsa ladusalt nii nagu juhend kõneleb, va ei õnnestu rakendada nõutud paika (või tema sõltuvusi), aga ehk ei ole see ka nii oluline
125418-01 - in.telnetd patch