Case study: Solaris operatsioonisüsteemi migreerimine ühelt arvutilt teisele

Allikas: Kuutõrvaja
Redaktsioon seisuga 15. juuli 2007, kell 22:54 kasutajalt Imre (arutelu | kaastöö)

Eesmärk

Lähtepunktiks on Vmware 64bit questina töötav operatsioonisüsteem Solaris 10 versioon u3 ehk 11/06 ning see oleks tarvis panna käima otse 64bit toega riistvaralisel arvutil. Solaris paigaldusmeedialt operatsioonisüsteemi uuesti paigaldamine ei ole soovitav seetõttu, et sel juhul tuleks ka hulka rakendustarkvara uuesti paigaldada.

Ülesandele on lähenetud selliselt, et vältida riistvaralist sekkumist, näiteks kõvaketaste arvutite vahel ringitõstmist, ideaalsel juhul võiks ka asjaga seotud teenuste mitte-töötamise aeg olla minimaalne. Sedasi võiks asjatoimetust käsitleda ka teatud mõttes taasteplaanina.

Eeldame, et lähtearvutis on nn solaris kriitilised failisüsteemid so /usr, /var jms juurfailisüsteemiga koos. Teiseks eelduseks on, et sihtpunktiks olevas arvutis on mitu kõvaketast, ühel neist on juba töötav Solaris operatsioonisüsteem ning migreeritav operatsioonisüsteem hakkab asuma teisel kõvakettal.

Tõõtavast süsteemist koopia tegemine

Teeme töötavast süsteemist failisüsteemi taseme koopia programmiga ufsdump kusjuures koopia teeme failisüsteemi snapshotist. Selleks peab vajadusel seiskama ntp serveri ning ütlema

bash# fssnap -F ufs -o unlink,bs=/juurikast-vajas/backing-store-file-juurikas /
bash# /usr/lib/fs/ufs/fssnap -i
bash# ufsdump 0f - /dev/rfssnap/0 | gzip -c > /juurikast-valjas/lahtearvuti-juurikas-20070715.dump.gz
bash# fssnap -d /

Kus fssnap -i on lihtsalt abiks vaatamiseks, millised snapshotid parasjagu olemas on, ufsdump moodustab dump faili ning viimane käsk eemaldab snapshoti.

Uue arvuti kõvakettale andmete kopeerimine

Nagu esimeses punktis kirjeldatud, sihtpunktiks oleval arvutil töötab Solaris operatsioonisüsteem. Esimese sammuna operatsioonisüsteemi migreerimisel on teise kõvaketta partitsioneerimine ning ufs failisüsteemi tekitamine. Selleks sobib kasutada format ning newfs käske. Ühendame moodustatud failisüsteemi külge ning kopeerime sinna ufsdumpiga moodustatud arhiivi sisu

bash# cd /mnt
bash# gunzip -c /net/lahte-arvuti-20070715.dump.gz | ufsrestore rf -

Tulemusena on /mnt kataloogi all olemas töötavast arvutist tehtud juurfailisüsteemi koopia, mis on vaja bootima saada.

Uue arvuti seadistamine

Kuna uus arvuti sisaldab SCSI ja võrgukontrollerit, mille Solarise draivereid jagab tootja, siis tuleb vastavad paketid paigaldada

bash# pkgadd -R /mnt paketifailinimi

Kuna riistvara on muutunud, tuleb moodustada uuesti seadmepuu

bash# devfsadm -r /mnt

Samuti tuleks uuesti moodustada boot-archive

bash# bootadm update-archive -R /mnt

Muudame /etv/vfstab faili, kus on näidatud juurfailisüsteemile vastava seadme nimi, swap võib ajutiselt välja kommenteerida, uue arvuti seadmete nimed saab teha kindlaks format käsu väljundist, antud näites on 0 kõvaketas, kus asub uue arvuti primaarne operatsioonisüsteem ning 2 on migreeritav.

bash# format
...
AVAILABLE DISK SELECTIONS:
      0. c2t0d0 <DEFAULT cyl 8917 alt 2 hd 255 sec 63>
         /pci@0,0/pci8086,25e2@2/pci8086,350c@0,3/pci103c,3225@1/sd@0,0
      1. c3t0d0 <HP-LOGICALVOLUME-1.20 cyl 17560 alt 2 hd 255 sec 32>
         /pci@0,0/pci8086,25e3@3/pci1166,103@0/pci103c,3211@8/sd@0,0
      2. c3t1d0 <DEFAULT cyl 8917 alt 2 hd 255 sec 63>
         /pci@0,0/pci8086,25e3@3/pci1166,103@0/pci103c,3211@8/sd@1,0

Paigaldame migreeritud süsteemi kõvakettale ka GRUB bootloaderi kuigi saaks ilmselt hakkama ka olemasoleva bootloaderiga

bash# /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c3t1d0s0

Uue arvuti kõvaketta GRUB bootloaderini jõudmiseks lisame olemasoleva GRUB bootloaderisse sektsiooni

title Migratsioon
  rootnoverify (hd1,0,a)
  chainloader +1
  makeactive

Kus hd1 kohal on sobiv kettaseadme nimi.

Ja uue st /mnt kataloogis oleva arvuti bootloaderis tuleb üle vaadata root parameetri väärtus.

Uue arvuti bootimine

Kui eelmisel punktis kirjeldatud tegevused on sooritatud, siis põhimõtteliselt võiks uus arvuti bootida. Selleks tuleb teha alglaadimine ning valida Migratsioon ning migreeritud arvuti bootloaderist valida nn vaikimisi valik.

Seejuures võib olla vajalik aidata uut arvutit järgi tema GRUB kernel parameetri argumendiga, mis näitab milliselt kettalt toimub bootimine, sedasi

kernel /platform/i86pc/multiboot -B bootpath="/pci@0,0/pci8086,25e3@3/pci1166,103@0/pci103c,3211@8/sd@1,0"

Seejuures võib ilmneda selline asjaolu, et sama riistvara peal erinevate Solaris operatsioonisüsteemi eksemplaride puhul kasutab Solaris erinevaid kõvaketta seadmenimesid. Kui nii juhtub, siis võiks ta ikkagi bootimisel jõuda single userisse ning siis saab juba küsida format käsuga seadmenimesid ning teha /etc/vfstab failis vastav parandus.