A VMware ESXi Host konfigurációjának biztonsági mentése és visszaállítása: A Step-By-Step Guide
On december 3, 2021 by adminA biztonsági mentés az egyik legfontosabb művelet bármely IT-infrastruktúra folyamatos működéséhez. A kiszolgálók virtuális gépként (VM) történő futtatása a vSphere ESXi hosztokon nagyobb előnyöket biztosít a VM-adatok biztonsági mentése során. A hoszt szintű mentés lehetővé teszi az olyan hasznos funkciók használatát, mint az ügynök nélküli mentés, a teljes VM-mentés (VM-adatok + VM-konfiguráció), a pillanatfelvételek a futó VM-ek mentésének elkészítéséhez és az alacsony szerverterhelés. Az egészséges ESXi hosztok a virtuális gépek futtatása során a siker kulcsa. Ezért jobb, ha biztonsági mentést készít az ESXi konfigurációról. Így, ha valami baj történik egy ESXi állomással, a konfigurációja néhány perc alatt helyreállítható anélkül, hogy sok időt kellene fordítani egy ESXi kiszolgáló nulláról történő konfigurálására. A mai blogbejegyzés az ESXi backup-konfigurációval foglalkozik, és megvizsgálja, hogyan lehet az ESXi hosztot különböző módszerekkel biztonsági mentést készíteni.
Az ESXi parancssor használata az ESXi hoszt biztonsági mentéséhez
Az ESXi parancssor használata a legolcsóbb módszer az ESXi hoszt konfigurációjának biztonsági mentésére. Az ESXi parancssor használatához nincs szükség további szoftverek telepítésére. Engedélyeznie kell az ESXi shell és a távoli SSH hozzáférést az ESXi állomáshoz. Ezt a folyamatot az ESXCLI-ről szóló blogbejegyzésben ismertetjük. Miután SSH-n keresztül csatlakozott az ESXi állomáshoz, futtathatja a parancsokat.
Az ESXi konfiguráció minden órában automatikusan elmentésre kerül a /bootblank/state.tgz fájlba. Emiatt érdemes meggyőződnie arról, hogy az aktuális ESXi-konfiguráció éppen most íródik az ESXi konfigurációs fájljaiba, hogy az utolsó automatikus mentés óta az ESXi-konfiguráción végrehajtott összes változtatás elmentésre kerüljön:
vim-cmd hostsvc/firmware/sync_config
Másolja le az ESXi konfigurációt:
vim-cmd hostsvc/firmware/backup_config
Az eredményként egy linket kap a configBundle letöltéséhez.tgz archívumot az ESXi állomásról. A csillagot az ESXi állomás IP-címével kell helyettesítenie. Az ESXi konfigurációs biztonsági mentést tartalmazó archív fájl rövid időre (néhány perc) a /scratch/downloads könyvtárba kerül mentésre. A scratch partíciót már említettük az ESXi USB flash meghajtóra történő telepítéséről szóló blogbejegyzésben.
Az ESXi állomás IP-címe ellenőrizhető az ESXi közvetlen konzolfelületén vagy a következő paranccsal:
esxcli network ip interface ipv4 get
A jelenlegi példában használt ESXi állomás IP-címe 192-es.168.101.208.
Az ESXi biztonsági mentés archívumát a lehető leghamarabb töltse le, és tárolja biztonságos helyen.
Hogyan lehet automatizálni az ESXi konfiguráció mentését az ESXi parancssorban
A parancssori felület előnye az általa biztosított feladatok automatizálásának lehetősége; ez alól az ESXi konfiguráció mentése sem kivétel. Tekintsük át, hogyan végezhetjük el ezt:
1. Hozzon létre egy könyvtárat az ESXi adattárolón a mentési fájlok tárolására:
mkdir /vmfs/volumes/datastore1/ESXi_backup
2. Hozzon létre egy szkriptet az ESXi konfiguráció mentéséhez:
vi /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
3. Adja hozzá a következő sorokat a szkripthez:
vim-cmd hostsvc/firmware/sync_config
vim-cmd hostsvc/firmware/backup_config
find /scratch/downloads/ -name \*.tgz -exec cp {} /vmfs/volumes/datastore1/ESXi_backup/ESXi_config_backup_$(date +’%Y%m%d_%H%M%S’).tgz \;
4. Mentse a fájlt és lépjen ki a vi:
:wq
Megjegyzés: A nagyobb kényelem érdekében az ESXi host nevét vagy IP címét is hozzáadhatja a backup fájl nevéhez. Ez segít elkerülni a zavart, ha több ESXi hosztot használ.
5. Tegye futtathatóvá a szkriptet:
chmod +x /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
6. Menjen abba a könyvtárba, ahol a szkript található:
cd /vmfs/volumes/datastore1/ESXi_backup/
7. Menjen a könyvtárba, ahol a szkript található:
cd /vmfs/volumes/datastore1/ESXi_backup/
7. Futtassa a szkriptet:
./esxi_backup.sh
8. Ellenőrizze, hogy létrejött-e a biztonsági másolat fájl:
ls -al
9. Győződjünk meg arról, hogy a biztonsági mentés ESXi host szkriptje ütemezetten (automatikusan) fut. Ehhez szerkesszük az ütemező konfigurációját:
vi /var/spool/cron/cron/crontabs/root
10. Adja hozzá a következő karakterláncot, hogy minden nap 02:10 órakor végezze el az ESXi konfiguráció biztonsági mentését:
10 02 * * * /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
11. Mentse a változtatásokat a fájlba. A változtatások mentéséhez a csak olvasható fájlba írja be:
:wq!
Alternatívaként a fájl szerkesztése előtt módosíthatja a fájl jogosultságait:
chmod +w /var/spool/cron/cron/crontabs/root
Ezután az ESXi konfiguráció minden éjjel 02:10 órakor automatikusan biztonsági másolat készül az ESXi_config_bakup_date_time nevű fájlba.tgz
Hogyan állítható vissza az ESXi konfiguráció az ESXi parancssorban
Az ESXi konfiguráció visszaállításához ugyanazon verziójú és buildszámú ESXi-vel kell rendelkeznie azon a gépen, ahol az ESXi konfigurációt vissza kívánja állítani. Ez a szabály az ebben a blogbejegyzésben vizsgált összes ESXi konfiguráció helyreállítási módszerre igaz. Ha az ESXi-konfigurációt a nulláról telepített (egyértelműen telepített) ESXi-állomáson kívánja visszaállítani, akkor be kell állítania az ESXi kezelőhálózatához használt hálózati interfész IP-címét, és engedélyeznie kell az SSH-hozzáférést. Az ESXi kezdeti konfigurációját ez a blogbejegyzés ismerteti. Az UUID-nek azonosnak kell lennie mind a biztonsági másolatot készítő ESXi-kiszolgálón, mind azon az ESXi-kiszolgálón, amelyen a konfigurációt vissza kell állítani. Az alábbiakban ebben a szakaszban olvashatja, hogy mi a teendő, ha az UUID-értékek eltérőek.
Mihelyt előkészítette a frissen telepített ESXi hosztot az ESXi konfiguráció biztonsági mentésből történő visszaállítására, csatlakozzon az ESXi hoszthoz SSH-n keresztül, és lépjen be a hoszt karbantartási üzemmódba.
esxcli system maintenanceMode set -enable yes
vagy
vim-cmd hostsvc/maintenance_mode_enter
Másolja az ESXi konfiguráció biztonsági mentését tartalmazó archívumot egy SCP-kliens, például WinSCP segítségével az ESXi állomás valamelyik könyvtárába. Másoljuk a configBundle-xxxx.tgz archívumot egy helyi gépről a cél ESXi-kiszolgáló /tmp/ könyvtárába.
Nevezzük át a configBundle-xxxx.tgz fájlt configBundle.tgz-re, mielőtt megadnánk az ESXi konfiguráció visszaállítására vonatkozó parancsot. Ellenkező esetben hibaüzenetet fog kapni: “A /tmp/configBundle.tgz fájl nem található”.
A fájlt átnevezheti abban az ESXi shellben, amelyhez SSH-n keresztül csatlakozott:
mv /tmp/configBundle-esxi6-7b.localdomain.tgz /tmp/configBundle.tgz
Az ESXi konfiguráció visszaállítása:
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
A parancs futtatása után az ESXi hoszt automatikusan újraindul.
Az ESXi szerver újraindítása után ki kell lépni a karbantartási módból, ezután a hosztot a szokásos módon lehet használni.
esxcli system maintenanceMode set -enable no
vagy
vim-cmd hostsvc/maintenance_mode_exit
How to change the UUID to restore ESXi configuration
Az ESXi szerver UUID-je az ESXi parancssori felületén az alábbi paranccsal ellenőrizhető:
esxcfg-info -u
A mentett ESXi hoszt UUID értéke a Manifestben szerepel.txt fájlban a configBundle.tgz mentési archívumban, amelyet a fentebb ismertetett parancsokkal készített.
Az ESXi-kiszolgáló UUID-jét nem tudja megváltoztatni, mivel az azonosító a hardvertől függően generálódik. Azonban az A ESXi állomás ESXi konfigurációját visszaállíthatja a B ESXi állomáson, miután megváltoztatta az UUID-t a configBundle.tgz ESXi konfiguráció biztonsági mentési archívumában tárolt Manifest.txt fájlban.
Vizsgáljuk meg az algoritmust, amellyel megváltoztathatja az UUID-t a mentett konfiguráció másik fizikai kiszolgálón történő alkalmazásához. Az A szerver az a szerver, amelynek a konfigurációjáról biztonsági másolat készül, a B szerver pedig az a szerver, amelyre a konfigurációt alkalmazni kell.
1. lépés
Az UUID ellenőrzése azon az ESXi állomáson, amelyre a biztonsági másolatot tartalmazó konfigurációt alkalmazni szeretnénk (B szerver). Ez legalább két módszerrel elvégezhető, de a második módszerrel az ESXi verzióját is ellenőrizheti.
1. Futtassa az esxcfg-info -u
2.1 Az ESXi B kiszolgáló konfigurációjának biztonsági mentése
vim-cmd hostsvc/firmware/sync_config
vim-cmd hostsvc/firmware/backup_config
2.2 Másolja a biztonsági mentés archívumát az ideiglenes könyvtárba, és menjen ebbe a könyvtárba
cp /scratch/downloads/_hash_value_/configBundle-localhost.localdomain.tgz /tmp
cd /tmp/
2.3 Csomagolja ki a fájlokat az archívumból
tar zxvf configBundle.tgz
2.4 Nyissa meg a Manifest.txt fájlt a vi segítségével, és ellenőrizze az UUID értéket (külön sorban lesz látható az UUID). Írja le az UUID-t.
vi Manifest.txt
Egyes esetünkben az UUID 1E9E4D56-B724-DFBE-D19D-4C2D827E0188
2.5 A /tmp/ könyvtárban lévő ideiglenes fájlokat törölheti:
rm configBundle-localhost.localdomain.tgz Manifest.txt state.tgz
Fázis 2
1. Másolja át az A ESXi-kiszolgáló configBundle.tgz konfigurációs biztonsági archívumát a B kiszolgálóra, például a /tmp/ könyvtárba, és lépjen be ebbe a könyvtárba.
2. Bontsa ki a fájlokat a configBundle-ból.tgz archive
tar zxvf configBundle.tgz
3. Nyissa meg a Manifest.txt fájlt a vi programmal, és frissítse az A szerver UUID értékét a B szerver UUID értékére.
vi Manifest.txt
A mi esetünkben a 9EA94D56-7E39-96A8-AB45-DF31EF0971EC-et kell megváltoztatnunk 1E9E4D56-B724-DFBE-D19D-4C2D827E0188-ra.
Mentsük el a fájlt és lépjünk ki a szövegszerkesztőből :wq
4. Nevezzük át a forrás configBundle.tgz fájlt például configBundle1.tgz-re (ha az ESXi konfigurációs mentési fájljának neve eltér a configBundle.tgz-től, ezt a lépést kihagyhatja).
mv configBundle.tgz configBundle1.tgz
5. Tar a Manifest.txt, state.tgz és jumpstrt.gz fájlokat egy új configBundle.tgz archívumba:
tar zcvf configBundle.tgz Manifest.txt state.tgz jumpstrt.gz
6. Állítsuk az ESXi hosztot karbantartási üzemmódba és állítsuk vissza a konfigurációt
esxcli system maintenanceMode set -enable yes
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
How to Back up ESXi Host with vSphere CLI
A VMware által az ESXi hosztok kezeléséhez biztosított másik parancssori felület a vSphere CLI (nem összetévesztendő a VMware PowerCLI-vel). A vSphere CLI-t egy Linux vagy Windows rendszert futtató gépre kell telepítenie az ESXi hosztok távoli kezeléséhez. A vSphere CLI telepítéséhez Perl szükséges. A vSphere CLI használatának előnye a kényelem és a Linuxban a bash ereje. A mai példákban Ubuntu Linuxot használunk.
A vCLI telepítése és konfigurálása
Töltse le a vSphere CLI-t a VMware webhelyéről.
Menjen abba a könyvtárba, ahol a letöltött fájl található, és csomagolja ki a fájlokat az archívumból.
tar -zxvf VMware-vSphere-CLI-6.5.0-4566394.x86_64.tar.gz
Telepítse a szükséges csomagokat:
A VMware hivatalos ajánlása szerint ezt a csomagkészletet kell telepíteni:
apt-get install ia32-libs build-essential gcc uuid uuid-dev perl libssl-dev perl-doc liburi-perl libxml-libxml-perl libcrypt-ssleay-perl
Menjen abba a könyvtárba, ahol a kicsomagolt fájlok találhatók, és futtassa a telepítő programot:
./vmware-install.pl
Olvassa el és fogadja el a licencszerződést. Ha a telepítőprogram néhány szükséges modul telepítését kéri, írjunk be y-t, és telepítsük a modulokat.
Egyes modulokat esetünkben kézzel kell telepíteni. Ezeket a Perl interaktív héjával telepíthetjük.
Lépjünk be a Perl interaktív héjába:
perl -MCPAN -e shell
Futtassuk a parancsot a szükséges Perl modul telepítéséhez:
install Devel::StackTrace
Hasonlóan telepítsük a többi modult is.
Megjegyzés: Esetünkben egy modult nem sikerült telepíteni az interaktív Perl-héjban, de az Ubuntu konzolban a következő paranccsal telepíthetjük a modult:
apt-get install libcrypt-ssleay-perl
A Perl modulok telepítése után futtassuk újra a VMware vSphere CLI telepítőjét.
A telepítés sikeresen befejeződött, és ebben az esetben a következő képernyőt láthatjuk:
Most próbáljuk meg használni a vSphere CLI-t, és adjunk be egy parancsot a Linux konzolon, hogy láthassuk az ESXi szerver eszközeinek listáját (192.168.101.208 az ESXi-kiszolgáló IP-címe).
esxcli -server 192.168.101.208 storage core device list
A szerver SHA-1 ujjlenyomata nem megbízható, és a kapcsolat az ESXi hoszthoz nem sikerült. Ez azt jelenti, hogy biztonsági okokból meg kell határoznia az ujjlenyomatot. Próbáljunk meg egy másik parancsot:
esxcli -server 192.168.101.208 -thumbprint B3:63:9F:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA system maintenanceMode get
A felhasználónév és jelszó megadása interaktív módban a konzolon történik.
Ne próbáljon meg olyan parancsokat használni, ahol a felhasználónév és a jelszó egyszerű szövegként van beírva, mint például:
Ez biztonsági okokból van így. A végrehajtott parancsok mindaddig tárolódnak a Linuxban, amíg a history -c paranccsal nem törli az előzményeket. Ha el akarja kerülni az interaktív mód használatát és a bejelentkezés és a jelszó kézi beírását, akkor az ESXi munkamenetet elmentheti a fájlba, és ezt a fájlt használhatja a parancsok futtatásakor. A munkamenetek mentése biztonságos, ellentétben a jelszó egyszerű szövegként való megadásával a parancsban. A munkamenetek mentése az alábbiakban ebben a blogbejegyzésben kerül ismertetésre.
Az ESXi hosztokhoz való csatlakozáshoz szükséges ujjlenyomat mentése
Az ESXi ujjlenyomatának minden egyes alkalommal történő megadása egy parancs futtatásához nem kényelmes. Szerencsére lehetőség van az ujjlenyomat mentésére és a további parancsok futtatására a vSphere CLI-vel ujjlenyomat megadása nélkül.
Menjen a könyvtárba:
cd /usr/lib/vmware-vcli/apps/general/
Az alábbi parancsot kell futtatnia:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -s server -t thumbprint
Egyedi példánkban a parancs:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -s 192.168.101.208 -t B3:63:9F:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA
Most már a vSphere CLI-ben is futtathatunk parancsokat anélkül, hogy minden alkalommal ujjlenyomatot kellene megadnunk.
esxcli -server 192.168.101.208 system maintenanceMode get
A bejelentkezés és a jelszó megadásának szükségessége azonban nem szűnt meg – továbbra is meg kell adnia a bejelentkezést/jelszót. Hogyan lehet a vSphere CLI-t úgy konfigurálni, hogy minden alkalommal jelszó megadása nélkül futtasson parancsokat? A kérdésre adott választ az alábbi szakaszok tartalmazzák.
Munkamenetfájl használata az ESXi hosztokhoz való csatlakozáshoz
A mentett munkamenetfájl használata az egyik olyan módszer, amellyel elkerülhető a felhasználónév és a jelszó megadása, amikor a vSphere CLI használatával parancsot futtat egy távoli ESXi hoszton.
Először is hozzon létre egy könyvtárat az ESXi konfigurációs mentési fájlok tárolására, például /backup/.
mkdir /backup
Menjen ebbe a könyvtárba:
cd /usr/lib/vmware-vcli/apps/session
Mentse az engedélyezett ESXi host munkamenetét a fájlba egy Perl script segítségével a következő paranccsal:
perl save_session.pl -savesessionfile /backup/192-168-101-208session -server 192.168.101.208 -username root -password TestPass_555
Hol:
-savesessionfile /backup/192-168-101-208session a létrehozott session fájl neve
-server 192.168.101.208 annak az ESXi hosztnak a neve, amelynek munkamenetét mentjük (ezt az ESXi hosztot több példában is használjuk)
-username root annak a felhasználónak a neve, aki az ESXi hosthoz csatlakozik
-password TestPass_555 annak a felhasználónak a jelszava, aki az ESXi hosthoz csatlakozik
Most már jelszó megadása nélkül is futtathatunk parancsokat, de meg kell adnia a -sessionfile kulcsot (opciót), és meg kell adnia a munkamenetfájl elérési útvonalát. Például:
esxcli -sessionfile /backup/192-168-101-208session system maintenanceMode get
Konfigurációs fájl használata az ESXi hosztokhoz való csatlakozáshoz
A módszer lényege, hogy a hitelesítő adatokat a konfigurációs fájlba mentse egyszerű szövegként, és a vSphere CLI-ben az ESXi parancsok futtatásakor erre a fájlra hivatkozzon. Először hozzon létre egy konfigurációs fájlt:
vim /backup/vcli-config
Adja meg a hitelesítő adatokat a következő formátumban:
VI_USERNAME=root
VI_PASSWORD=TestPass_555
Mentse el a fájlt.
Futtasson parancsot egy távoli ESXi kiszolgálón a vSphere CLI használatával:
esxcli -server 192.168.101.208 -config vcli-config system maintenanceMode get
Mivel a hitelesítő adatok egyszerű szövegként kerülnek mentésre, ez a módszer nem biztonságos.
Hitelesítő adatok tárolójának használata az ESXi hosztokhoz való csatlakozáshoz
A hitelesítő adatok tárolója a vmware alkönyvtár ~/.vmware/credstore/vicredentials.xml felhasználói könyvtárában található xml fájl. A hitelesítő adatok tárolójának használatának előnye a távoli ESXi hosztokon történő parancsfuttatáshoz az, hogy a jelszó nem egyszerű szövegként kerül elmentésre, ezért ez a módszer nagyobb biztonságot nyújt.
A hitelesítő adatok tárolójához a következő parancsot kell futtatni:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -server 192.168.101.208 -username root
Listázza a hitelesítő adatok tárolójába mentett hitelesítő adatokat, hogy megbizonyosodjon arról, hogy a szükséges hitelesítő adatok megvannak:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl list
Futtassa a parancsot a távoli ESXi állomáson jelszó megadása nélkül a hitelesítő adatok tárolójának használatával.
# esxcli -server 192.168.101.208 -credstore /root/.vmware/credstore/vicredentials.xml system maintenanceMode get
Ha nem root felhasználót használ, akkor a hitelesítő adatfájl a /home/felhasználónév/ helyre kerül.vmware/credstore/vicredentials.xml
A lenti képernyőképen látható, hogy a hitelesítő adatok hogyan kerülnek mentésre a hitelesítő adatok tárolófájljába.
A vSphere CLI használata az ESXi host konfigurációjának biztonsági mentéséhez
Most, miután konfigurálta a vSphere CLI-t az Ubuntu Linux gépen, futtathatja a parancsokat és biztonsági mentést készíthet az ESXi konfigurációról.
Menjen az /usr/bin/ könyvtárba
cd /usr/bin
Most a hitelesítő adatok tárolójába történő mentés után felhasználónév és jelszó megadása nélkül készíthet biztonsági mentést az ESXi konfigurációról:
Vagy a munkamenet mentése után a munkamenetfájlban:
vicfg-cfgbackup -sessionfile /backup/192-168-101-208session -s /backup/192-168-101-208-esxi-cfg.tgz
Megjegyzés: a vicfg- parancsok elavultak. Az ESXi hosztokkal való munka során jobb az ESXCLI-vel egyenértékű parancsokat használni a parancssori felületen.
Megjegyzés: A -sessionfile opció használatának hátránya, hogy a vSphere CLI-ben az utolsó parancs futtatása után 30 perces időkorlátot kell alkalmazni, amikor a vSphere CLI-ben az utolsó parancs futtatása után tétlen marad. Ezt követően újra hitelesítenie kell magát, és újra létre kell hoznia egy munkamenetfájlt.
Ha interaktív módban jelszó megadása mellett szeretne biztonsági másolatot készíteni az ESXi konfigurációról, akkor futtassa a következő parancsot:
vicfg-cfgbackup -server 192.168.101.208 -s /backup/192-168-101-208-esxi-cfg.tgz
Hogyan lehet automatizálni az ESXi konfiguráció biztonsági mentését
Ha dinamikusan változó környezetünk van, és az ESXi hosztok konfigurációja gyakran változik, az ESXi hosztok manuális biztonsági mentése nem biztos, hogy ésszerű. Ebben az esetben automatizálhatja az ESXi konfiguráció mentését egy mentési parancs vagy egy több parancsot tartalmazó mentési szkript hozzáadásával az ütemezőhöz.
A Krontab egy ütemező a Linuxban. Szerkessze az ütemező konfigurációját Linuxban, hogy az ESXi konfiguráció biztonsági mentési parancsát rendszeresen és automatikusan futtassa.
crontab -e
Megjegyzés: Ha először szerkeszti a crontab konfigurációt, akkor válassza az alapértelmezett szövegszerkesztőt, amelyet a crontab konfiguráció szerkesztéséhez használni kell. Példánkban az /usr/bin/vim.basic programot használjuk erre a célra.
A crontab konfiguráció formátuma a következő:
percek órák hónap_napja hónap_napja_hét_napja parancs
Legyen az ESXi host konfigurációjának biztonsági mentése minden éjjel 03:25-kor:
25 03 * * * * /usr/bin/vicfg-cfgbackup -server 192.168.101.208 -config /backup/vcli-config -s /backup/192-168-101-208-esxi-cfg-cron.tgz
A crontab ütemező konfigurációjának megírása és a vim szövegszerkesztőből való kilépés.
:wq
Várjunk 03:25-ig, hogy ellenőrizzük a könyvtárat, ahová az ESXi backup konfigurációs fájlokat kell menteni.
ls -al
Amint az alábbi képernyőképen látható, 03:25-kor automatikusan elkészült az ESXi hoszt konfigurációjának biztonsági mentési fájlja.
Most az ESXi konfigurációjának biztonsági mentése automatikusan elkészült, ami nagyszerű, de van egy hátránya is. Minden alkalommal, amikor a crontab lefuttat egy ütemezett parancsot az ESXi konfiguráció biztonsági mentésének elkészítéséhez, az előző tgz fájlt felülírja az új tgz fájl. Ez a helyzet problémákat okozhat Önnek, ha a tegnap elkészített, helyes ESXi-konfigurációt tartalmazó biztonsági mentést felülírja egy ma létrehozott, helytelen ESXi-konfigurációt tartalmazó fájl. Az ilyen probléma megelőzésének helyes módja az ESXi konfiguráció különböző fájlba történő mentése.
Készítsünk egy egyszerű szkriptet, amely minden alkalommal külön fájlba menti az ESXi konfigurációt, egyedi fájlnévvel, amely a fájl nevében tartalmazza az ESXi konfiguráció mentési fájl létrehozásának dátumát és időpontját. A szkript létrehozása lehetővé teszi, hogy egyetlen szkript futtatásával több ESXi hoszt biztonsági mentéséhez adjon parancsokat.
1. Hozzuk létre az esxi_backup.sh fájlt a /backup/ könyvtárban:
vim /backup/esxi_backup.sh
2. Adjunk hozzá sorokat a fájlhoz az alábbiak szerint:
#!/bin/bash
ESXI101_208_BACKUP_NAME=”192-168-101-208-$(date +’%Y%m%d_%H%M%S’)esxi-cfg.tgz”
vicfg-cfgbackup -server 192.168.101.208 -config /backup/vcli-config -s /backup/$ESXI101_208_BACKUP_NAME
3. Írja ki a változásokat a fájlba és lépjen ki a vim szövegszerkesztőből.
:wq
4. Tegye futtathatóvá a fájlt:
chmod +x /backup/esxi_backup.sh
5. Tegye futtathatóvá a fájlt. Szerkesszük az ütemező konfigurációját:
crontab -e
6. Adjuk hozzá a következő sort:
50 06 * * * * /backup/esxi_backup.sh
Állítsuk be a crontab-ot, hogy 06:50-kor futtassa az ESXi konfigurációs biztonsági mentés szkriptet. Tiltjuk le az előző, korábban hozzáadott ütemezett feladatot a sor elején lévő # karakterrel.
7. Várjuk meg a beállított időpontot, majd ellenőrizzük, hogy elkészült-e az ESXi konfiguráció biztonsági mentés archívuma.
Ez egy egyszerű szkript, amely az automatizálás ötletét mutatja be. Több ESXi-állomás biztonsági mentéséhez összetett szkripteket is készíthet.
Megjegyzés: Minden egyes ESXi-újraindítás vagy 30 perces üresjárati idő után az ESXi-munkamenet nem lesz hitelesített. Tartsa szem előtt ezt a funkciót, amikor szkriptet készít az automatizált ESXi biztonsági mentéshez.
Hogyan állítható helyre az ESXi konfiguráció a vSphere CLI-vel
A vSphere CLI használatával történő ESXi konfiguráció helyreállításának követelményei hasonlóak a többi módszerre vonatkozó követelményekhez. Az ESXi konfiguráció visszaállításához győződjön meg arról, hogy az SSH-n keresztüli távoli hozzáférés engedélyezve van, és az ESXi kiszolgáló IP-címe ismert (ajánlott ugyanazt az IP-címet használni, mint a mentett ESXi állomás IP-címe), majd futtassa a következő parancsot:
vicfg-cfgbackup -server=ESXi_host_IP_address -username=root -l backup_file
A mi konkrét példánkban a parancs a következő:
vicfg-cfgbackup -server=192.168.101.208 -username=root -l /backup/192-168-101-208-esxi-cfg.tgz
Ha annak az ESXi célállomásnak az UUID-je, amelyen a konfigurációt vissza kívánja állítani, eltér a mentett ESXi-kiszolgáló UUID-jétől (amelynek UUID-je a tgz mentési archívumban található Manifest.txt fájlban van megadva), akkor a -f (force) kulcsot használhatja az UUID felülírásához.
A futó ESXi hoszt UUID-jét a következő paranccsal ellenőrizheti, mint emlékszik:
esxcfg-info -u
A Power CLI használata az ESXi hoszt biztonsági mentéséhez
A Windows-t kedvelő felhasználók használhatják a PowerCLI-t, amely egy PowerShell cmdlet-készlet az ESXi konfiguráció biztonsági mentéséhez. Ebben a blogbejegyzésben néhány alapvető PowerCLI-parancsot ismertetünk. Először is telepítenie kell a PowerCLI-t az operációs rendszerére. Az algoritmus a következő:
1. Futtassuk a PowerCLI-t rendszergazdaként Windowsban.
2. Csatlakozzunk az ESXi szerverhez:
Connect-VIServer ESXi_IP_address -user user_name -password your_password
A mi esetünkben a következő parancsokat használjuk:
Connect-VIServer 192.168.101.208 -user root -password TestPass_555
Get-VMHostFirmware -vmhost 192.168.101.208 -BackupConfiguration -DestinationPath “C:\backup ESXi host”
Ha az ESXi hosztokat a vCenter Server kezeli, akkor először csatlakozhat a vCenterhez, majd a PowerCLI-ben készíthet biztonsági másolatot a hosztok ESXi konfigurációjáról anélkül, hogy minden egyes hoszt konfigurációjának biztonsági mentése előtt minden alkalommal hitelesítenie kellene magát.
Connect-VIServer 10.10.10.10.16
Adja meg a vCenter Server eléréséhez szükséges rendszergazdai bejelentkezési adatait és jelszavát. Ehhez egy felugró ablak jelenik meg.
Másolja le az egyes hosztok ESXi konfigurációját:
Get-VMHostFirmware -vmhost 10.10.10.10.61 -BackupConfiguration -DestinationPath “C:\backup ESXi host”
Get-VMHostFirmware -vmhost 10.10.10.46 -BackupConfiguration -DestinationPath “C:\backup ESXi host”
How to restore ESXi configuration in PowerCLI
Futtassa a VMware PowerCLI-t rendszergazdaként. Csatlakozzon ahhoz az ESXi állomáshoz, amelyen vissza kívánja állítani a konfigurációt (példánkban azon az ESXi állomáson fogjuk helyreállítani a konfigurációt, amelynek IP-címe 192.168.101.208). Ezután lépjen az állomás karbantartási üzemmódba:
Set-VMHost -VMHost 192.168.101.208 -State Maintenance
Győződjön meg arról, hogy az ESXi konfiguráció helyreállítása előtt az adott ESXi állomáson található VM-ek ki vannak kapcsolva vagy át vannak migrálva egy másik ESXi állomásba. Vegye figyelembe, hogy a konfiguráció helyreállítására vonatkozó parancs végrehajtása után az ESXi állomás automatikusan újraindul. A konfiguráció visszaállítása a Set-VMHostFirmware restore paranccsal:
Set-VMHostFirmware -vmhost 192.168.101.208 -Restore -SourcePath “C:\backup ESXi host\configBundle-192.168.101.20
8.tgz” -HostUser root -HostPassword TestPass_555
Az ESXi hoszt verziójának, build számának és UUID-jének, amelyen a konfiguráció helyreállítása történik, meg kell egyeznie annak az ESXi hosztnak a verziójával, build számával és UUID-jával, amelynek biztonsági másolatát a konfiguráció visszaállításához használja. Az UUID-ellenőrzés kihagyásához használja a -force kulcsot a parancsban.
Az ESXi konfiguráció manuális biztonsági mentése és visszaállítása
Azokra a helyzetekre is fel kell készülnie, amikor nem tud bejelentkezni az ESXi hosztra, vagy amikor egy ESXi host nem tud elindulni, és nem tudja a parancssori felületet használni az ESXi konfiguráció biztonsági másolatának vagy visszaállításának parancsához. Ez hardverhiba vagy szoftverprobléma miatt fordulhat elő. Ebben az esetben jobb, ha tudja, hogyan lehet manuálisan biztonsági másolatot készíteni és helyreállítani az ESXi konfigurációt.
Megjegyzés: Ahogyan az ESXi állomás alapértelmezett crontab-konfigurációjából emlékszik, a /sbin/auto-backup.sh szkript minden órában, valamint az ESXi állomás újraindításakor vagy leállításakor fut. Ez a szkript arra szolgál, hogy a memóriában tárolt ESXi konfigurációról biztonsági másolatot készítsen (mentse) a /bootbank/state.tgz fájlba.
Az ESXi konfiguráció a számítógép RAM memóriájában tárolódik, amikor egy ESXi kiszolgáló fut (a megfelelő RAM lemez a /etc/ könyvtárba van csatolva). Az ESXi rendszerindításakor a rendszerfájlok a /bootbank/state.tgz archívumból a /etc/ könyvtárba kerülnek. Az /bootbank/state.tgz fájlt manuálisan is átmásolhatja, ha az ESXi állomás fut egy SCP-kliens, például a WinSCP használatával (a távoli SSH-hozzáférésnek engedélyezve kell lennie). Alternatív megoldásként bootolhat a Live DVD-ről, és manuálisan másolhatja a state.tgz fájlt, ha az ESXi állomás nem indítható (például hardverhiba miatt).
Manuális helyreállítási munkafolyamat
1. Készítse elő a korábban az ESXi shell, a vSphere CLI vagy a PowerCLI segítségével készített biztonsági mentési archívumot. Az említett fájl neve esetünkben configBundle-192-168-101-208.tgz. A fájlt átmásolhatja például egy USB-pendrive-ra, és ezt a pendrive-ot behelyezheti annak az ESXi-kiszolgálónak az USB-portjába, amelyen a rendszerkonfigurációt helyre kell állítania.
2. Indítsa el a gépet az élő CD/DVD-ről azon a gépen, amelyen az ESXi telepítve van. Élő CD/DVD-ként használhatja az Ubuntu telepítőlemezét.
3. Nyissa meg a konzolt (terminált) Linuxban
4. Listázza ki a partíciókat:
ls -al /dev/sd*
fdisk -l | grep /dev/sda
Ez esetben a /dev/sda5/ partícióra van szükségünk, amely Microsoft alapadatként van megjelölve.
Az ESXi lemezpartíciókat már említettük az ESXi bootolása USB flash meghajtóról és az ESXi jelszó helyreállítása című blogbejegyzésben.
Ez esetben a /dev/sda5 partíció érdekel minket.
5. Hozzuk létre azt a könyvtárat, amelybe a /dev/sda5 partíciót mountolni fogjuk:
mkdir /mnt/sda5
6. Mountoljuk a lemezpartíciót ebbe a könyvtárba:
mount /dev/sda5 /mnt/sda5
7. Az /mnt/sda5 könyvtárban találjuk az ESXi konfigurációt tartalmazó state.tgz fájlt. Ezt a könyvtárat (amelyben a state.tgz tárolódik) az ESXi állomás indításakor /bootblank/-nak nevezzük.
8. Másolja az ESXi konfiguráció biztonsági mentési archívumát egy USB flash meghajtóról a Live DVD-ről betöltött Ubuntu /tmp/könyvtárába. Példánkban másoljuk:
cp /media/Ubuntu/Ubuntu\ 18.0/backup_ESXi_host/configBundle-192-168-101-208.tgz /tmp/configBundle.tgz
9. Szedje ki a fájlokat a biztonsági mentés archívumából:
tar zxvf /tmp/configBundle.tgz
10. Láthatja, hogy az állapot.tgz fájl kivonásra került az archívumból.
ls -al /tmp/
11. Nevezze át az eredeti state.tgz fájlt, amely a /dev/sda5 partícióra szerelt /mnt/sda5/
mv /mnt/sda5/state.tgz /mnt/sda5/state-old.tgz
12. Másolja a state.tgz fájlt, amelyet az ESXi konfigurációs biztonsági másolat archívumából (configBundle.tgz) kinyomtatott a /tmp/ könyvtárba
cp /tmp/state.tgz /mnt/sda5/
13. Szerelt partíciók lecsatolása
umount /dev/sda5/
14. Indítsa újra a kiszolgálót. Dobja ki az Ubuntu Live DVD-t, és bootoljon arról a lemezről, amelyre az ESXi telepítve van
init 6
15. Most az ESXi konfigurációjának helyre kell állnia.
Következtetés
A mai blogbejegyzésben négy módszert ismertettünk az ESXi konfiguráció mentésére és visszaállítására. Az ESXi parancssori felület használata azért jó, mert nem kell további szoftvereket telepíteni; a vSphere CLI előnye, hogy Linux gépek segítségével távolról is futtathatók a parancsok, és automatizálható az ESXi konfiguráció biztonsági mentése; a PowerCLI-t a Windows felhasználók értékelhetik. Ha az ESXi hoszt nem egészséges, és nem tudja elindítani a hosztot, lehetőség van a konfiguráció manuális mentésére és visszaállítására. Ne feledje, hogy a bootblank információk és a VM-ekre vonatkozó információk nem tárolódnak az ESXi konfiguráció biztonsági mentési fájljában. Az ESXi konfiguráció visszaállítása után szükség lehet a virtuális gépek regisztrálására a leltárban.
Most már tudja, hogyan készítsen biztonsági mentést az ESXi hosztról, de ne feledkezzen meg a virtuális gépek biztonsági mentéséről sem. A NAKIVO Backup & Replikáció egy univerzális biztonsági mentési megoldás, amely képes a VMware VM-ek, Hyper-V VM-ek, Amazon EC2 példányok, valamint a fizikai Linux és Windows szerverek biztonsági mentésére. Töltse le a teljes funkcionalitású ingyenes próbaverziót, hogy megtapasztalja, mennyire megbízható lehet a biztonsági mentés az Ön környezetében.
Vélemény, hozzászólás?