AIX kapcsán már annyi fontos dolgot be tudtunk állítani, hogy most vizsgáljuk meg annak a lehetőségét, hogyan tudjuk menteni a beállított rendszerünket. Erre az AIX alapból is kínál eszközt, és természetesen használhatunk 3rd party termékeket is.
Előkészületek
Az én előkészületem abból fog állni, létrehozok egy külön filesystem-et, arra, hogy a backupokat tároljuk. Illő ezt valami géptől független, és biztonságos helyen tárolni. Egy NAS vagy más külső storage megfelelő lehet. A prezentáció kedvéért én most belső diszkek VG-jéről hozok létre egy 50GB-os filesystem-et.
# crfs -v jfs2 -g datavg -m /backup_for_me -a size 50G -A yes
# mount /backup_for_me
# df -g /backup_for_me
Ha ez valakinek most új volt, akkor ajánlom az AIX LVM cikket. Ezek után már nem kell egyébbel előkészülnünk. Az AIX alapból tartalmazza a szükséges programokat.
MKSYSB a rendszer mentése
# mksysb -i /backup_for_me/system_mksysb_2012_02_06
A következő hibaüzenetet kaptam. Mint kiderült alapértelmezés szerint elég alacsonyra van állítva az AIX filesize limitje, ami az én esetemben is megakadályozta a biztonsági mentés futását.
Én teljesen kivettem a limitet, viszont produktív esetekben, a szükséges szintig emeljük csupán.
# ulimit -f unlimited
# ulimit -a
Ezek után hiba nélkül futott a mentés:
# mksysb -i /backup_for_me/system_mksysb_2012_02_06
Fontos, hogy az MKSYSB képes futó rendszer mellett a teljes ROOTVG tartalmát menteni, egy bootolható image formályában. Ebből az imageből tehát akár telepíteni is tudunk, vagy akár csak megfelelő file-ket is visszaállíthatunk. Az igazi univerzális megoldás.
(Érdemes megemlíteni, hogyha valamit a ROOTVG-ről exclude-lni akarunk, akkor a -e kapcsoló után sorolhatjuk fel.)
!! Nagyon fontos, hogy az MKSYSB csak és kizárólag a rootvg VG tartalmát menti. Amennyiben van más alkalmazás VG is a rendszerünkön azt külön kell mentenünk. Erről majd később.
Nézzük meg milyen állomány jön létre:
# ls -la /backup_for_me/system_mksysb_2012_02_06
Ahogy látszik, egy hatalmas méretű (14GB) file jött létre. Nézzük milyen információkat és hogy nyerhetünk ki erről.
A legalapvetőbb parancs az lsmksysb és utána megadni a forrást. Amennyiben file-ban található akkor -f után, ha szalagon akkor -d után.
# lsmksysb -f /backup_for_me/system_mksysb_2012_02_06
A parancs kimenete elég hosszú lesz. Ugyanis visszaadja az összes file-t teljes eléréssel, ami az image-ben szerepel. Nézzünk most valami kompaktabbat:
A -l kapcsoló használatával egy rövid kivonatot kaphatunk magáról az imageről. Miről, mikor készült, és milyen LV-kat és mountokat tartalmaz.
# lsmksysb -lf /backup_for_me/system_mksysb_2012_02_06
A -L kapcsolóval pedig arról kaphatunk egy hosszú listát, hogy milyen fileset-ek érhetőek el az image-ben:
# lsmksysb -Lf /backup_for_me/system_mksysb_2012_02_06
Restore MKSYSB-ből
Akkor nézzük, hogy tudunk egy file-t visszaállítani.
# restorevgfiles -f /backup_for_me/system_mksysb_2012_02_06 -d /tmp ./etc/passwd
A fenti parancs a restorevgfiles lesz a segítségünkre. A már ismert -f vagy -d kapcsoló után meg kell adnunk a file alapú vagy szalag alapú forrást, majd amennyiben nem az eredeti helyére akarjuk visszatölteni akkor a -d kapcsoló után, hogy hova legyenek a kiválasztott filek visszaállítva, ezek után pedig pont után felsorolni a visszaállításra kijelölt állományokat.
Természetesen nem csak egyedi állományokat adhatunk meg, hanem használhatunk joker karaktereket is:
# restorevgfiles -f /backup_for_me/system_mksysb_2012_02_06 -d /tmp ./etc/*
Menjünk kicsit bele jobban mi ez az MKSYSB
Az image, ami létrejön a parancs után természetesen elég komplex. Nézzük miből is áll?
Ahogy a fenti képen is látszik, négy részből áll az image. Az első része egy BOS imaget tartalmaz. Ez valójában a kernel és a szükséges kernel driver-ek, amik a bootoláshoz kellenek. A második része egy mkinsttape image-t, mely újabb három részből áll. Egyrészről tartalmazza a rootvg létrehozásához szükséges információkat. Másodrészt tartalmaz egy testre szabott telepítő beállítást, harmadrészt pedig a szalagos bootoláshoz szükséges beállításokat. A harmadik rész egy dummy (buta) rész, ami szintén a szalagos felhasználáshoz kell, és biztosítja a file számosságát a BOS részhez képest. A negyedik rész pedig maga a rootvg backup image.
Ahogy látszik az image tényleg fel van készítve arról, hogy a forrásgép nélkül is teljes mértékben replikálható legyen vele a rendszer, illetve akár komponensei is kinyerhetőek legyenek.
Ellenben felmerül az igény arra is, hogy a nem ROOTVG adataival mi lesz?
MKSYSB az adat VG-ről
Az mksysb tehát csak és kizárólag a rootvg tartalmát menti. Ezért egy másik parancsot kell használnunk a NEM-rootvg VG-k mentésére.
# savevg -f /tmp/datavg_mksysb_2012_02_06 -i datavg
A parancs hatására, ugyan úgy létrejön egy image. Ebből a már ismert módon tudunk információkat lekérni, illetve visszaállítani:
# lsmksysb -lf /tmp/datavg_mksysb_2012_02_06
# lsmksysb -f /tmp/datavg_mksysb_2012_02_06
Ezen túl természetesen file-t is a már ismert módon tudunk visszaállítani:
# restorevgfiles -f /tmp/datavg_mksysb_2012_02_06 -d /tmp/ ./teszt1/test.pl
Illetve olyat is tudunk, hogy egy DISK-et megadva, a teljes VG tartalmát vissza lehet állítani:
# restvg -f /tmp/datavg_mksysb_2012_02_06 hdisk2
Mentés MKSYSB nélkül
Amennyiben nem akarunk rendszer és VG szinten mindent menteni, akkor felesleges számunkra az mksysb. Van egy egyszerű backup illetve restore parancs erre a célra.
# backup -u -0 -f /tmp/backup_etc_2012_02_06 /var
A fenti paranccsal csak filesystem-et adhatunk meg. Viszont a find használatával és a backup parancs -i kapcsolójával megadott fileket is backupolhatunk.
# find /etc/ | backup -if /tmp/backup_etc_2012_02_07
Akkor most nézzük meg, hogy tudjuk kilistázni egy backup file tartalmát:
# restore -Tvf /tmp/backup_etc_2012_02_06
Illetve, hogyan tudunk visszaállítani belőle:
# restore -xvf /tmp/backup_etc_2012_02_07 /etc/sendmail.cf
Összefoglalás
Az AIX kifejezetten jól fel van szerelve biztonsági mentésekért felelős parancsokkal. Nem kell konfigurációs file-ket szerkesztenünk, csupán a backup és restore parancsokat megfelelőképp paraméterezni. Mint szalag mint file alapú mentéseket és visszaállításokat támogat. Ezen túl képes MKSYSB bootolható és installálható imagek létrehozására is. Az MKSYSB alapvetően csak a rootvg mentésére használható, viszont a savevg parancs segítségével akár NEM-ROOTVG volume groupokat is menthetünk.