Solaris Live Upgrade
Sisukord
- 1 Sissejuhatus
- 2 Live Upgrade
- 3 Ettevalmistused
- 4 Kriitilistest kataloogidest koopia tegemine
- 5 Mitteaktiivse bootkeskkonna uuendamine
- 6 Uue bootkeskkonna bootimine
- 7 Peale uue BE alglaadimist
- 8 Flash Archive - Flar
- 9 Probleemid
- 10 u3 -> u4 Live Upgrade
- 11 u3 -> u5 Live Upgrade
- 12 u3 -> u6 Live Upgrade
- 13 Asjassepuutuv Live Upgrade dokumentatsioon
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 pruugi 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 5/08' -c u4 -m /:/dev/dsk/c1t1d0s0:ufs -n u5
Kui aga u4 on juba olemas, siis
bash# lucreate -A 'Solaris 10 5/08' -m /:/dev/dsk/c1t1d0s0:ufs -n u5 Discovering physical storage devices Discovering logical storage devices Cross referencing storage devices with boot environment configurations Determining types of file systems supported Validating file system requests Preparing logical storage devices Preparing physical storage devices Configuring physical storage devices Configuring logical storage devices Analyzing system configuration. Comparing source boot environment <u4> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Searching /dev for possible boot environment filesystem devices Updating system configuration files. The device </dev/dsk/c1t1d0s0> is not a root device for any boot environment; cannot get BE ID. Setting description for boot environment <u5>. Updating boot environment description database on all BEs. Creating configuration for boot environment <u5>. Source boot environment is <u4>. Creating boot environment <u5>. Creating file systems on boot environment <u5>. Creating <ufs> file system for </> in zone <global> on </dev/dsk/c1t1d0s0>. Mounting file systems for boot environment <u5>. Calculating required sizes of file systems for boot environment <u5>. Populating file systems on boot environment <u5>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Making boot environment <u5> bootable. 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 c1t1d0s0 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, /mnt kataloogis asub meedia juurikas, st kataloogid Solaris_10, boot, platform jt
# 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
Uuendamise ajal on uus BE ja abistavad failisüsteemid ühendatud külge selliselt
/tmp/miniroot.9468 22G 47M 22G 1% /mnt/solaris10-u6/Solaris_10/Tools/Boot /dev/dsk/c0t0d0s0 18G 11G 7.5G 59% /a swap 22G 0K 22G 0% /a/var/run swap 22G 0K 22G 0% /a/tmp
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 u4 Determining the devices to be marked free. Updating boot environment configuration database. Updating boot environment description database on all BEs. Updating all boot environment configuration databases. Boot environment <u4> deleted.
Tundub, et seejuures vastavast failisüsteemist andmeid ei kustutata.
Peale uue BE alglaadimist
Peale uue BE keskkonna alglaadimist tuleks veeduda, et arvuti üldiselt töötab ning rakendada paigada, näiteks peale u4 -> u5 uuendust on asjakohased sellised paigad
# smpatch analyze You have new messages. To retrieve: smpatch messages [-a] 120199-13 SunOS 5.10: sysidtool patch 127888-07 SunOS 5.10: ipf patch 119042-11 SunOS 5.10: svccfg & svcprop patch 120812-24 OpenGL 1.5: OpenGL Patch for Solaris 122911-11 SunOS 5.10: Apache 1.3 Patch 120272-19 SunOS 5.10: SMA patch 138064-02 SunOS 5.10: pkcs11_softtoken patch 137017-02 SunOS 5.10: crontab patch 138042-01 SunOS 5.10: MAC patch 121004-04 SunOS 5.10: sh patch 128400-01 SunOS 5.10: sd driver patch 128306-04 SunOS 5.10: devfs patch 127892-05 SunOS 5.10: UFS utilities patch 127922-04 SunOS 5.10: cpio Patch 121081-08 Disable Transport Agentry for Sun Update Connection Hosted EOL 127853-02 SunOS 5.10: sad driver patch 138044-01 SunOS 5.10: bge driver patch 120222-27 SunOS 5.10: Emulex-Sun LightPulse Fibre Channel Adapter driver 138075-01 SunOS 5.10: mpt driver patch 138165-01 SunOS 5.10: sppp driver patch 126133-03 SunOS 5.10: sshd patch 119757-12 SunOS 5.10: Samba patch 137871-01 SunOS 5.10: tk patch 119090-26 SunOS 5.10: Sun iSCSI Device Driver and Utilities 137147-04 SunOS 5.10: libexpat patch 119213-17 NSS_NSPR_JSS 3.11.9: NSPR 4.7 / NSS 3.11.9 / JSS 4.2.6 118666-16 JavaSE 5.0: update 15 patch (equivalent to JDK 5.0u15) 118667-16 JavaSE 5.0: update 15 patch (equivalent to JDK 5.0u15), 64bit 136998-04 SunOS 5.10: PostgreSQL 8.2 core patch 136708-01 SunOS 5.10: Service Tags patch 118777-13 SunOS 5.10: Sun GigaSwift Ethernet 1.0 driver patch 125060-04 Message Queue 3.7 UR2 Patch 1 SunOS 5.9 5.10 Core product 120185-15 StarOffice 8 (Solaris): Update 10 125952-16 Sun Java Web Console 3.1: Support for Application Server 8.2 EE 118712-21 SunOS 5.10: Sun XVR-100 Graphics Accelerator Patch 124149-12 SunOS 5.10: Sun XVR-300 Graphics Accelerator Patch 119280-18 CDE 1.6: Runtime library patch for Solaris 10 119278-23 CDE 1.6: dtlogin patch 119117-44 Evolution 1.4.6 patch 120460-14 GNOME 2.6.0: Gnome libs Patch 119900-05 GNOME 2.6.0: Gnome libtiff - library for reading and writing TIFF Patch 119115-34 Mozilla 1.7 patch 125332-03 JDS 3: Macromedia Flash Player Plugin Patch 119059-42 X11 6.6.2: Xsun patch 123611-04 X11 6.6.2: Trusted Extensions patch 120094-19 X11 6.6.2: xscreensaver patch
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
- showrev -p näitab süsteemile rakendatud paikade nimekirja
- 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
u3 -> u6 Live Upgrade
Toimub ladusalt üldiselt, kuid
- vana süsteem tuleb ära uuendada smpatch ja pca abil, millegipärast ainult smpatch ei uuenda kõiki vajalikke pakette, eriti kernelit
- ei tohi olla kasutusele võetud EMCPower paketi abil emcpower0 seadet
Asjassepuutuv Live Upgrade dokumentatsioon
- Iga nn u-versiooni kohta avaldab Sun vastava teksti, mis sisaldab ka Live Upgrade juhendit aadressil http://docs.sun.com/app/docs/prod/solaris.10