VMware ESXi-isäntäkokoonpanon varmuuskopiointi ja palauttaminen: A Step-By-Step Guide
On 3 joulukuun, 2021 by adminBackup on yksi tärkeimmistä toimista minkä tahansa IT-infrastruktuurin jatkuvan toiminnan kannalta. Palvelinten käyttäminen virtuaalikoneina (VM) ESXi-isännissä vSphere-ohjelmassa tarjoaa suurempia etuja VM-tietojen varmuuskopioinnissa. Isäntätason varmuuskopioinnin avulla voit käyttää hyödyllisiä ominaisuuksia, kuten agentitonta varmuuskopiointia, täydellistä VM-varmuuskopiointia (VM-tiedot + VM-konfiguraatio), tilannekuvia käynnissä olevien VM-tietokoneiden varmuuskopioiden tekemiseen ja pientä palvelinkuormaa. Terveet ESXi-isännät ovat avain menestykseen, kun virtuaalikoneita käytetään. Siksi on parempi varmuuskopioida ESXi-konfiguraatio. Näin jos ESXi-isännässä menee jotain vikaan, sen kokoonpano voidaan palauttaa muutamassa minuutissa ilman, että kuluu paljon aikaa ESXi-palvelimen konfigurointiin tyhjästä. Tämän päivän blogikirjoituksessa käsitellään ESXi-konfiguraation varmuuskopiointia ja tutkitaan, miten ESXi-isäntä varmuuskopioidaan eri menetelmillä.
EsXi-isännän varmuuskopiointi ESXi-komentorivillä
EsXi-isännän konfiguraation varmuuskopiointi ESXi-komentorivillä on edullisin menetelmä. Sinun ei tarvitse asentaa mitään lisäohjelmistoja ESXi-komentorivin käyttöä varten. Sinun on otettava käyttöön ESXi-shell- ja SSH-etäkäyttöoikeus ESXi-isäntään. Tämä prosessi selitetään blogikirjoituksessa ESXCLI:stä. Kun olet ottanut yhteyden ESXi-isäntään SSH:n kautta, voit suorittaa komentoja.
ESXi-konfiguraatio tallennetaan tunnin välein automaattisesti tiedostoon /bootblank/state.tgz. Tästä syystä sinun kannattaa varmistaa, että nykyinen ESXi-konfiguraatio kirjoitetaan ESXi-konfiguraatiotiedostoihin juuri nyt, jotta voit varmistaa, että kaikki ESXi-konfiguraatioon viimeisimmän automaattisen tallennuksen jälkeen tehdyt muutokset on tallennettu:
vim-cmd hostsvc/firmware/sync_config
Varmuuskopioi ESXi-konfiguraatio:
vim-cmd hostsvc/firmware/backup_config
Tuloksena saat linkin, josta voit ladata configBundlen.tgz-arkisto ESXi-isännästä. Tähti on korvattava ESXi-isäntäkoneen IP-osoitteella. ESXi-konfiguraation varmuuskopion sisältävä arkistotiedosto tallennetaan /scratch/downloads-hakemistoon lyhyeksi ajaksi (muutamaksi minuutiksi). Scratch-osio mainittiin blogikirjoituksessa ESXi:n asentamisesta USB-muistitikulle.
EsXi-isännän IP-osoite voidaan tarkistaa ESXi:n suorasta konsolikäyttöliittymästä tai seuraavalla komennolla:
esxcli network ip interface ipv4 get
Nykymuotoisessa esimerkkitapauksessa käytetyn ESXi-isännän IP-osoite 192.168.101.208.
Lataa ESXi:n varmuuskopioarkisto mahdollisimman pian ja säilytä se turvallisessa paikassa.
Miten automatisoida ESXi-konfiguraation varmuuskopiointi ESXi-komentorivillä
Komentorivikäyttöliittymän etuna on sen tarjoamat mahdollisuudet automatisoida tehtäviä; ESXi-konfiguraation varmuuskopiointi ei ole poikkeus. Käydään läpi, miten tämä tehdään:
1. Luo hakemisto varmuuskopiotiedostojen tallentamista varten ESXi-tietovarastoon.
mkdir /vmfs/volumes/datastore1/ESXi_backup
2. Luo komentosarja ESXi-konfiguraation varmuuskopiointia varten:
vi /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
3. Lisää skriptiin seuraavat rivit:
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. Tallenna tiedosto ja lopeta vi:
:wq
Huomautus: Kätevyyden lisäämiseksi varmuuskopiointitiedoston nimeen voi liittää myös ESXi-isäntäkoneen (ESXi hostin) nimen tai IP-osoitteen. Näin vältät sekaannukset, kun käytät useita ESXi-isäntiä.
5. Tee komentosarjasta suoritettava:
chmod +x /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
6. Siirry hakemistoon, jossa komentosarja sijaitsee:
cd /vmfs/volumes/datastore1/ESXi_backup/
7. Ota komentosarja käyttöön. Suorita komentosarja:
./esxi_backup.sh
8. Tarkista, että varmuuskopiotiedosto on luotu:
ls -al
9. Varmista, että varmuuskopiotiedosto on luotu. Varmistetaan, että ESXi-isännän varmuuskopiointiskripti suoritetaan aikataulun mukaisesti (automaattisesti). Muokkaa tätä varten ajastimen asetuksia:
vi /var/spool/cron/cron/crontabs/root
10. Lisää seuraava merkkijono suorittamaan ESXi-konfiguraation varmuuskopiointi joka päivä klo 02:10.
10 02 * * * /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
11. Tallenna muutokset tiedostoon. Tallentaaksesi muutokset lukukäyttöön tarkoitettuun tiedostoon kirjoita:
:wq!
Vaihtoehtoisesti voit muuttaa tiedoston käyttöoikeuksia ennen tiedoston muokkaamista:
chmod +w /var/spool/cron/crontabs/root
Sen jälkeen ESXi-konfiguraatio varmuuskopioidaan automaattisesti joka yö kello 02:10 tiedostoon nimeltä ESXi_config_bakup_date_time.tgz
Miten ESXi-konfiguraatio palautetaan ESXi-komentorivillä
Koneeseen, johon ESXi-konfiguraatio halutaan palauttaa, pitäisi olla asennettuna saman version ja build-numeron omaava ESXi. Tämä sääntö pätee kaikkiin tässä blogikirjoituksessa käsiteltyihin ESXi-konfiguraation palautusmenetelmiin. Jos aiot palauttaa ESXi-konfiguraation ESXi-isäntäkoneeseen, joka on asennettu tyhjästä (selvästi asennettu), sinun on määritettävä ESXin hallintaverkkoon käytettävän verkkoliitännän IP-osoite ja otettava käyttöön SSH-yhteys. ESXi:n alustava konfigurointi selitetään tässä blogikirjoituksessa. UUID-tunnuksen on oltava sama sekä varmuuskopioidussa ESXi-palvelimessa että ESXi-palvelimessa, jonka kokoonpano on palautettava. Lue tämän osion alta, mitä tehdään, jos UUID-arvot ovat erilaiset.
Kun olet valmistellut juuri asennetun ESXi-isännän palauttamaan ESXi-konfiguraation varmuuskopiosta, muodosta yhteys ESXi-isäntään SSH:n kautta ja siirrä isäntä ylläpitotilaan.
esxcli system maintenanceMode set -enable yes
tai
vim-cmd hostsvc/maintenance_mode_enter
Kopioi ESXi-konfiguraation varmuuskopion sisältävä arkisto johonkin ESXi-isännän hakemistoon SCP-asiakasohjelman, esimerkiksi WinSCP:n, avulla. Kopioidaan configBundle-xxxx.tgz-arkisto paikallisesta koneesta kohde-ESXi-palvelimen /tmp/-hakemistoon.
Nimeä configBundle-xxxx.tgz-tiedosto muotoon configBundle.tgz, ennen kuin annat komennon ESXi-konfiguraation palauttamiseksi. Muuten saat virheilmoituksen: ”Tiedostoa /tmp/configBundle.tgz ei löytynyt”.
Voit nimetä tiedoston uudelleen ESXi-kehotteessa, johon olet ottanut yhteyden SSH:n kautta:
mv /tmp/configBundle-esxi6-7b.localdomain.tgz /tmp/configBundle.tgz
Palauta ESXi-konfiguraatio:
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
Tämän komennon suorittamisen jälkeen ESXi-isäntä käynnistyy automaattisesti uudelleen.
ESXi-palvelimen uudelleenkäynnistyksen jälkeen tulee poistua ylläpitotilasta, jonka jälkeen isäntää voi käyttää normaalisti.
esxcli system maintenanceMode set -enable no
tai
vim-cmd hostsvc/maintenance_mode_exit
UUID:n muuttaminen ESXi-konfiguraation palauttamiseksi
EsXi-palvelimen UUID-tunnuksen voi tarkastaa ESXi:n komentorivikäyttöliittymässä komennolla:
esxcfg-info -u
Varmuuskopioidun ESXi-isännän UUID-arvo mainitaan Manifestissa.txt-tiedostossa configBundle.tgz-varmuuskopioarkiston sisällä, jonka olet tehnyt edellä selostetuilla komennoilla.
Et voi muuttaa ESXi-palvelimen UUID-tunnusta, koska tunniste luodaan laitteistosta riippuen. Voit kuitenkin palauttaa ESXi-isäntä A:n ESXi-konfiguraation ESXi-isäntä B:hen, kun olet muuttanut UUID-tunnuksen configBundle.tgz ESXi-konfiguraation varmuuskopioarkistoon tallennetussa Manifest.txt-tiedostossa.
Katsotaan algoritmia, jota voidaan käyttää UUID-tunnuksen muuttamiseen varmuuskopioidun konfiguraation soveltamiseksi toiseen fyysiseen palvelimeen. Palvelin A on palvelin, jonka konfiguraatio varmuuskopioidaan, ja palvelin B on palvelin, johon konfiguraatio on sovellettava.
Vaihe 1
Tarkista UUID siinä ESXi-isännässä, johon varmuuskopioitu konfiguraatio halutaan soveltaa (palvelin B). Tämä voidaan tehdä ainakin kahdella menetelmällä, mutta toisella menetelmällä voit tarkistaa myös ESXi-version.
1. Suorita esxcfg-info -u
2.1 Varmuuskopioi ESXi-palvelimen B konfiguraatio
vim-cmd hostsvc/firmware/sync_config
vim-cmd hostsvc/firmware/varmuuskopioidun konfiguraation varmuuskopiointi
2.2 Kopioi varmuuskopioarkisto väliaikaiseen hakemistoon ja siirry tähän hakemistoon
cp /scratch/downloads/_hash_value_/configBundle-localhost.localdomain.tgz /tmp
cd /tmp/
2.3 Pura tiedostot arkistosta
tar zxvf configBundle.tgz
2.4 Avaa Manifest.txt-tiedosto vi:llä ja tarkista UUID-arvo (näet erillisen rivin, jossa on UUID). Kirjoita UUID ylös.
vi Manifest.txt
Tapauksessamme UUID on 1E9E4D56-B724-DFBE-D19D-4C2D827E0188
2. Kirjoita UUID ylös.5 Voit poistaa väliaikaiset tiedostot hakemistosta /tmp/:
rm configBundle-localhost.localdomain.tgz Manifest.txt state.tgz
Vaihe 2
1. Kopioi ESXi-palvelimen A konfiguraation varmuuskopioarkisto configBundle.tgz palvelimelle B esimerkiksi hakemistoon /tmp/ ja siirry kyseiseen hakemistoon.
2. Pura tiedostot configBundlesta.tgz archive
tar zxvf configBundle.tgz
3. Avaa Manifest.txt-tiedosto vi:llä ja päivitä palvelimen A UUID-arvo palvelimen B UUID:ksi.
vi Manifest.txt
Tapauksessamme meidän on muutettava 9EA94D56-7E39-96A8-AB45-DF31EF0971EC muotoon 1E9E4D56-B724-DFBE-D19D-4C2D827E0188.
Tallenna tiedosto ja lopeta tekstieditori :wq
4. Nimeä lähdekoodisi configBundle.tgz-tiedoston esimerkiksi nimeksi configBundle1.tgz (jos ESXi-konfiguraation varmuuskopiotiedostosi nimi poikkeaa configBundle.tgz:stä, voit ohittaa tämän vaiheen).
mv configBundle.tgz configBundle1.tgz
5. Tar Manifest.txt-, state.tgz- ja jumpstrt.gz-tiedostot uuteen configBundle.tgz-arkistoon:
tar zcvf configBundle.tgz Manifest.txt state.tgz jumpstrt.gz
6. Aseta ESXi-isäntä ylläpitotilaan ja palauta konfiguraatio
esxcli system maintenanceMode set -enable yes
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
Miten varmuuskopioida ESXi-isäntä vSphere CLI:llä
Toinen VMwaren tarjoama komentorivikäyttöliittymä ESXi-isäntien hallintaan on vSphere CLI (ei pidä sekoittaa VMware PowerCLI:hen). Sinun kannattaa asentaa vSphere CLI Linux- tai Windows-käyttöjärjestelmää käyttävään koneeseen, jotta voit hallita ESXi-isäntiä etänä. vSphere CLI:n asentaminen edellyttää Perl-kielen käyttöä. Etuna vSphere CLI:n käytössä on sen helppokäyttöisyys ja bashin teho Linuxissa. Tämän päivän esimerkeissä käytetään Ubuntu Linuxia.
VCLI:n asentaminen ja konfigurointi
Lataa vSphere CLI VMwaren verkkosivuilta.
Mene hakemistoon, jossa ladattu tiedosto sijaitsee, ja pura tiedostot arkistosta.
tar -zxvf VMware-vSphere-CLI-6.5.0-4566394.x86_64.tar.gz
Asenna tarvittavat paketit:
VMwaren virallinen suositus on asentaa nämä paketit:
apt-get install ia32-libs build-essential gcc uuid uuid-dev perl libssl-dev perl-doc liburi-perl libxml-libxml-perl libcrypt-ssleay-perl
Mene hakemistoon, jossa puretut tiedostot sijaitsevat, ja suorita asennusohjelma:
./vmware-install.pl
Lue ja hyväksy lisenssisopimus. Jos asennusohjelma pyytää sinua asentamaan joitain vaadittuja moduuleja, kirjoita y ja asenna moduulit.
Joitakin moduuleja on meidän tapauksessamme asennettava manuaalisesti. Ne voidaan asentaa käyttämällä Perlin interaktiivista komentotulkkia.
Syötä Perlin interaktiivinen komentotulkki:
perl -MCPAN -e shell
Suoritat komennon, jolla asennat vaaditun Perl-moduulin:
install Devel::StackTrace
Asenna samalla tavalla myös muut moduulit.
Huomautus: Meidän tapauksessamme yhtä moduulia ei voitu asentaa interaktiivisessa Perl-kuoressa, mutta voimme asentaa kyseisen moduulin Ubuntun konsolissa olevalla komennolla:
apt-get install libcrypt-ssleay-perl
Asennettuasi Perl-moduulit suorita VMware vSphere CLI -asennusohjelma uudelleen.
Asennus on suoritettu onnistuneesti ja näet tällöin seuraavan näytön:
Kokeillaan nyt käyttää vSphere CLI:tä ja syötetään Linux-konsoliin komento, jolla saadaan näkyviin luettelo ESXi-palvelimen laitteista (192.168.101.208 on ESXi-palvelimen IP-osoite).
esxcli -server 192.168.101.208 storage core device list
Palvelimen SHA-1-peukalotodennäköisyyttä ei ole luotettu, ja yhteys ESXi-isäntään on epäonnistunut. Tämä tarkoittaa, että peukalonjälki on määritettävä turvallisuussyistä. Kokeillaan toista komentoa:
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
Käyttäjätunnusta ja salasanaa kysytään interaktiivisessa tilassa konsolissa.
Yritä olla käyttämättä komentoja, joissa käyttäjänimi ja salasana kirjoitetaan tavallisena tekstinä, esimerkiksi näin:
Tämä johtuu turvallisuussyistä. Suoritetut komennot tallentuvat Linuxissa, kunnes tyhjennät historian komennolla history -c. Jos haluat välttää interaktiivisen tilan käyttöä ja käyttäjätunnuksen ja salasanan syöttämistä manuaalisesti, voit tallentaa ESXi-istunnon tiedostoon ja käyttää tätä tiedostoa komentoja suoritettaessa. Istuntojen tallentaminen on turvallista, toisin kuin salasanan syöttäminen pelkkänä tekstinä komennossa. Istuntojen tallentaminen selitetään jäljempänä tässä blogikirjoituksessa.
Merkkitunnuksen tallentaminen ESXi-isäntäkoneisiin yhteyden muodostamista varten
ESXi-tunnuksen syöttäminen joka kerta komennon suorittamista varten ei ole kätevää. Onneksi peukalonjäljen tallentaminen ja jatkokomentojen suorittaminen vSphere CLI:llä ilman peukalonjäljen määrittelyä on mahdollista.
Mene hakemistoon:
cd /usr/lib/vmware-vcli/apps/general/
Tarvitaan seuraavanlainen komento suoritettavaksi:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -s server -t thumbprint
Edellisessä esimerkissämme komento on:
/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
Nyt voit suorittaa komentoja vSphere CLI:ssä ilman, että sinun täytyy syöttää peukalotunnusta joka kerta.
esxcli -server 192.168.101.208 system maintenanceMode get
Tarvetta kirjautumistunnuksen ja salasanan syöttämiselle ei kuitenkaan ole poistettu – kirjautumistunnus/salasana on edelleen annettava. Miten voit määrittää vSphere CLI:n suorittamaan komentoja syöttämättä salasanaa joka kerta? Vastaus tähän kysymykseen on esillä alla olevissa osioissa.
Sessiotiedoston käyttäminen yhteyden muodostamiseen ESXi-isäntiin
Tallennetun istuntotiedoston käyttäminen on yksi menetelmistä, joilla voidaan välttää käyttäjätunnuksen ja salasanan syöttäminen, kun komentoa ajetaan etäällä sijaitsevassa ESXi-isännässä vSphere CLI:llä.
Luo ensin hakemisto, johon tallennetaan ESXi-konfiguraatioiden varmuuskopiointitiedostot, esim. /backup/.
mkdir /backup
Mene kyseiseen hakemistoon:
cd /usr/lib/vmware-vcli/apps/session
Tallenna valtuutettu ESXi-isännän istunto tiedostoon Perl-skriptillä komennolla:
perl save_session.pl -savesessionfile /backup/192-168-101-208session -server 192.168.101.208 -käyttäjätunnus root -salasana TestPass_555
Jossa:
-savesessionfile /backup/192-168-101-208session on luodun istuntotiedoston nimi
-server 192.168.101.208 on sen ESXi-isännän nimi, jonka istunto tallennetaan (tätä ESXi-isäntää käytetään useissa esimerkeissä)
-käyttäjänimi root on sen käyttäjän nimi, joka on yhdistetty ESXi-isäntään
-salasana TestPass_555 on sen käyttäjän salasana, joka on yhdistetty ESXi-isäntään
Nyt voit suorittaa komentoja ilman salasanan syöttämistä, mutta sinun on annettava -sessionfile-avain (optio) ja määritettävä istuntotiedoston polku. Esimerkiksi:
esxcli -sessionfile /backup/192-168-101-208session system maintenanceMode get
Konfigurointitiedoston käyttäminen ESXi-isäntiin muodostettavaan yhteyteen
Tämän menetelmän ideana on, että tunnistetiedot tallennetaan konfigurointitiedostoon tavallisena tekstinä ja että tähän tiedostoon viitataan suoritettaessa ESXi-komentoja vSphere CLI:ssä. Luo ensin konfiguraatiotiedosto:
vim /backup/vcli-config
Syötä tunnistetiedot seuraavassa muodossa:
VI_USERNAME=root
VI_PASSWORD=TestPass_555
Tallenna tiedosto.
Ajoita komento etäällä olevalla ESXi-palvelimella vSphere CLI:n avulla:
esxcli -server 192.168.101.208 -config vcli-config system maintenanceMode get
Koska tunnistetiedot tallennetaan tavallisena tekstinä, tämä menetelmä ei ole turvallinen.
Käyttämällä tunnistetietosäilytintä ESXi-isäntiin muodostettavaan yhteyteen liittymistä varten
Tunnistetietosäilytin on xml-tiedosto, joka sijaitsee käyttäjähakemiston vmware-alaosoitteessa ~/.vmware/credstore/vicredentials.xml. Etuna credentials-säilön käyttämisessä komentojen suorittamiseen etäällä olevilla ESXi-isännillä on se, että salasanaa ei tallenneta tavallisena tekstinä, joten tämä menetelmä tarjoaa paremman turvallisuuden.
Lisätäksesi credentials-säilöön credentials, suorita komento:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -server 192.168.101.208 -username root
Luettele credentials storeen tallennetut tunnistetiedot varmistaaksesi, että tarvittavat tunnistetiedot ovat tallessa:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl list
Suorita komento etäisellä ESXi-isännällä syöttämättä salasanaa käyttämällä credentials storea.
# esxcli -server 192.168.101.208 -credstore /root/.vmware/credstore/vicredentials.xml system maintenanceMode get
Jos käytät muuta kuin root-käyttäjää, uskontotietotiedosto tallennetaan osoitteeseen /home/käyttäjänimi/.vmware/credstore/vicredentials.xml
Alhaalla olevasta kuvakaappauksesta näet, miten tunnistetiedot tallennetaan tunnistetiedostoon.
VSphere CLI:n käyttäminen ESXi-isäntäkokoonpanon varmuuskopioimiseen
Sen jälkeen, kun olet konfiguroinut vSphere CLI:n Ubuntu-linux-koneessa, voit suorittaa komennot ja varmuuskopioida ESXi-kokoonpanon.
Mene hakemistoon /usr/bin/
cd /usr/bin
Menet hakemistoon /usr/bin/
Nyt voit tehdä varmuuskopion ESXi-konfiguraatiosta syöttämättä käyttäjätunnusta ja salasanaa sen jälkeen, kun olet tallentanut tunnistetiedot tunnistetietojen säilöön:
tai sen jälkeen, kun olet tallentanut istunnon istuntotiedostoon:
vicfg-cfgbackup -sessionfile /backup/192-168-101-208session -s /backup/192-168-101-208-esxi-cfg.tgz
Huomautus: vicfg- komennot ovat vanhentuneita. On parempi käyttää ESXCLI:n vastaavia komentoja komentorivikäyttöliittymässä, kun työskentelet ESXi-isäntien kanssa.
Huomautus: -sessionfile-vaihtoehdon käytön haittapuolena on 30 minuutin aikakatkaisu joutokäynnillä viimeisen komennon suorittamisen jälkeen vSphere CLI:ssä. Sen jälkeen sinun on tunnistauduttava ja luotava istuntotiedosto uudelleen.
Jos haluat luoda varmuuskopion ESXi-konfiguraatiosta syöttämällä salasanan interaktiivisessa tilassa, voit suorittaa komennon:
vicfg-cfgbackup -server 192.168.101.208 -s /backup/192-168-101-208-esxi-cfg.tgz
Miten ESXi-konfiguraation varmuuskopiointi automatisoidaan
Jos ympäristö muuttuu dynaamisesti ja ESXi-isäntien konfiguraatio muuttuu usein, ESXi-isäntien manuaalinen varmuuskopiointi ei välttämättä ole järkevää. Tässä tapauksessa voit automatisoida ESXi-konfiguraation varmuuskopioinnin lisäämällä ajastimeen varmuuskopiointikomennon tai useita komentoja sisältävän varmuuskopiointiskriptin.
Crontab on Linuxin ajastin. Muokkaa Linuxin ajastimen kokoonpanoa, jotta ESXi-konfiguraation varmuuskopiointikomento voidaan ajaa säännöllisesti ja automaattisesti.
crontab -e
Huomautus: Jos muokkaat crontab-konfiguraatiota ensimmäistä kertaa, sinun on valittava oletustekstieditori, jota on käytettävä crontab-konfiguraation muokkaamiseen. Esimerkissämme käytämme tähän tarkoitukseen /usr/bin/vim.basic-tiedostoa.
Crontab-konfiguraation muoto on seuraava:
minuutit tunnit päivä_kuukauden_kuukausi kuukausi päivä_viikon_päivä komento
Varmuuskopioidaan ESXi-isännän konfiguraatio joka yö kello 03:25 aamulla:
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
Kirjoitetaan crontab-aikataulun konfiguraatio ja lopetetaan tekstieditori vim.
:wq
Odotetaan kello 03:25 ja tarkistetaan hakemisto, johon ESXin varmuuskopiointikonfiguraatiotiedostot on tallennettava.
ls -al
Kuten alla olevasta kuvakaappauksesta näkyy, ESXi-isäntäkonfiguraation varmuuskopiotiedosto luotiin klo 03:25 automaattisesti.
Nyt ESXi-konfiguraation varmuuskopiointi on tehty automaattisesti, mikä on hienoa, mutta siinä on haittapuoli. Joka kerta, kun crontab suorittaa ajastetun komennon ESXi-konfiguraation varmuuskopion tekemiseksi, edellinen tgz-tiedosto korvataan uudella tgz-tiedostolla. Tämä tilanne voi aiheuttaa ongelmia, jos eilen tehty oikean ESXi-konfiguraation sisältävä varmuuskopio korvataan tänään luodulla tiedostolla, joka sisältää väärän ESXi-konfiguraation. Oikea tapa estää tällainen ongelma on varmuuskopioida ESXi-konfiguraatio eri tiedostoihin.
Luotaan yksinkertainen skripti, joka tallentaa ESXi-konfiguraation joka kerta erillisenä tiedostona, jolla on yksilöllinen tiedostonimi, joka sisältää tiedoston nimessä ESXi-konfiguraation varmuuskopiotiedoston luomisen päivämäärän ja kellonajan. Skriptin luomisen avulla voit lisätä komentoja useiden ESXi-isäntien varmuuskopiointiin suorittamalla yhden skriptin.
1. Luo esxi_backup.sh-tiedosto hakemistoon /backup/:
vim /backup/esxi_backup.sh
2. Lisää tiedostoon rivit seuraavasti:
#!/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. Kirjoita muutokset tiedostoon ja lopeta tekstieditori vim.
:wq
4. Tee tiedostosta suoritettava:
chmod +x /backup/esxi_backup.sh
5. Tee tiedostosta suoritettava:
. Muokkaa ajastimen asetuksia:
crontab -e
6. Lisää rivi näin:
50 06 * * * * /backup/esxi_backup.sh
Säädetään crontab ajamaan ESXi-konfiguraation varmuuskopiointiskripti klo 06:50. Poista aiemmin lisäämäsi ajastettu tehtävä käytöstä lisäämällä #-merkki rivin alkuun.
7. Odotetaan asetettua aikaa ja tarkistetaan sitten, onko ESXi-konfiguraation varmuuskopiointiarkisto luotu.
Tämä yksinkertainen skripti havainnollistaa automaation ideaa. Voit luoda monimutkaisia skriptejä useiden ESXi-isäntien varmuuskopiointia varten.
Huomautus: Jokaisen ESXi-uudelleen käynnistyksen tai 30 minuutin käyttämättömän ajan jälkeen ESXi-istunto muuttuu todentamattomaksi. Pidä tämä ominaisuus mielessä, kun luot komentosarjaa automaattista ESXi-varmuuskopiointia varten.
Miten ESXi-kokoonpanon palauttaminen vSphere CLI:llä
Vaatimukset ESXi-kokoonpanon palauttamiselle vSphere CLI:n avulla ovat samankaltaiset kuin muita menetelmiä varten asetetut vaatimukset. Varmista ESXi-konfiguraation palauttamiseksi, että etäkäyttö SSH:n kautta on käytössä ja ESXi-palvelimen IP-osoite on tiedossa (on suositeltavaa käyttää samaa IP-osoitetta kuin varmuuskopioidun ESXi-isännän IP-osoite), ja suorita sitten komento seuraavasti:
vicfg-cfgbackup -server=ESXi_host_IP_address -username=root -l backup_file
Edellisessä esimerkissämme komento on:
vicfg-cfgbackup -server=192.168.101.208 -username=root -l /backup/192-168-101-208-esxi-cfg.tgz
Jos sen ESXi-kohdeisännän UUID, johon haluat palauttaa konfiguraation, on eri kuin varmuuskopioidun ESXi-palvelimen UUID (jonka UUID on määritetty tgz-varmuuskopioarkiston sisällä olevassa Manifest.txt-tiedostossa), voit käyttää -f-avainta (force) UUID:n ohittamiseen.
Voit tarkistaa käynnissä olevan ESXi-isännän UUID:n komennolla, kuten muistat:
esxcfg-info -u
Power CLI:n käyttäminen ESXi-isännän varmuuskopioimiseen
Windows-käyttäjät, jotka tykkäävät Windows-käyttöjärjestelmästä, voivat käyttää varmuuskopioimiseen PowerCLI:tä, joka on joukko PowerShellin komentoja (cmdletteja), joiden avulla voit varmuuskopioida ESXi-kokoonpanon. Tässä blogikirjoituksessa selitetään joitakin PowerCLI:n peruskomentoja. Ensin sinun on asennettava PowerCLI käyttöjärjestelmääsi. Algoritmi on seuraava:
1. Käynnistä PowerCLI ylläpitäjänä Windowsissa.
2. Ota yhteys ESXi-palvelimeen:
Connect-VIServer ESXi_IP_address -user user_name -password your_password
Tapauksessamme käytämme komentoja:
Connect-VIServer 192.168.101.208 -user root -password TestPass_555
Get-VMHostFirmware -vmhost 192.168.101.208 -BackupConfiguration -DestinationPath ”C:\backup ESXi-isäntä”
Jos ESXi-isäntäsi ovat vCenter Serverin hallinnoimia, voit muodostaa ensin yhteyden vCenteriin ja varmuuskopioida sen jälkeen isäntien ESXi-konfiguraatiot PowerCLI:ssä ilman, että sinun tarvitsee autentikoida itseäsi joka kerta, ennen kuin teet varmuuskopion kustakin isäntäkokoonpanosta.
Connect-VIServer 10.10.10.10.16
Syötä järjestelmänvalvojan käyttäjätunnus ja salasana vCenter Serverin käyttöä varten. Näyttöön tulee tätä varten ponnahdusikkuna.
Kunkin isännän ESXi-konfiguraation varmuuskopiointi:
Get-VMHostFirmware -vmhost 10.10.10.61 -BackupConfiguration -DestinationPath ”C:\backup ESXi host”
Get-VMHostFirmware -vmhost 10.10.10.46 -BackupConfiguration -DestinationPath ”C:\backup ESXi host”
Miten palautat ESXi-konfiguraation PowerCLI:ssä
Ajoita VMware PowerCLI järjestelmänvalvojana. Muodosta yhteys ESXi-isäntään, jonka kokoonpanon haluat palauttaa (esimerkissämme palautamme kokoonpanon ESXi-isännällä, jonka IP-osoite on 192.168.101.208). Siirrä sitten isäntä ylläpitotilaan:
Set-VMHost -VMHost 192.168.101.208 -State Maintenance
Varmista, että kyseisessä ESXi-isännässä sijaitsevat VM:t on sammutettu tai siirretty toiselle ESXi-isännälle ennen ESXi-konfiguraation palauttamista. Huomaa, että kokoonpanon palauttamista koskevan komennon suorittamisen jälkeen ESXi-isäntä käynnistyy automaattisesti uudelleen. Palauta kokoonpano Set-VMHostFirmware restore-komennolla:
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
Kokoonpanon palauttamisen kohteena olevan ESXi-isäntäkoneen version, rakennusnumeron ja UUID:n on vastattava sen ESXi-isäntäkoneen versiota, rakennusnumeroa ja UUID:tä, jonka varmuuskopiota käytät kokoonpanon palauttamiseen. Voit ohittaa UUID-tarkistuksen käyttämällä komennossa -force-näppäintä.
EsXi-konfiguraation manuaalinen varmuuskopiointi ja palauttaminen
Sinun on syytä varautua myös tilanteeseen, jossa et pysty kirjautumaan sisään ESXi-isäntään tai ESXi-isäntä ei voi käynnistyä etkä voi käyttää komentorivikäyttöliittymää komennon suorittamiseen ESXi-konfiguraation varmuuskopiointia tai palauttamista varten. Tämä voi johtua laitteistovioista tai ohjelmisto-ongelmista. Tällöin on parempi tietää, miten ESXi-konfiguraatio varmuuskopioidaan ja palautetaan manuaalisesti.
Huomautus: Kuten muistat ESXi-isännän oletusarvoisesta crontab-konfiguraatiosta, /sbin/auto-backup.sh-skripti ajetaan tunnin välein ja kun ESXi-isäntä käynnistetään uudelleen tai sammutetaan. Tämän skriptin tarkoituksena on varmuuskopioida (tallentaa) muistiin tallennettu ESXi-konfiguraatio tiedostoon /bootbank/state.tgz.
ESXi-konfiguraatio tallennetaan tietokoneen RAM-muistiin, kun ESXi-palvelin on käynnissä (vastaava RAM-levy on asennettu hakemistoon /etc/). Kun ESXi käynnistyy, järjestelmätiedostot puretaan /bootbank/state.tgz-arkistosta /etc/-hakemistoon. Voit kopioida /bootbank/state.tgz-tiedoston manuaalisesti, jos ESXi-isäntä on käynnissä, käyttämällä SCP-asiakasohjelmaa, kuten WinSCP:tä (SSH-etäkäytön on oltava käytössä). Vaihtoehtoisesti voit käynnistää Live DVD:ltä ja kopioida state.tgz-tiedoston manuaalisesti, jos ESXi-isäntäsi ei ole käynnistettävissä (esimerkiksi laitteistovian vuoksi).
Manuaalinen palautuksen työnkulku
1. Valmistele aiemmin tekemäsi varmuuskopioarkisto ESXi shellillä, vSphere CLI:llä tai PowerCLI:llä. Mainitun tiedoston nimi on tapauksessamme configBundle-192-168-101-208.tgz. Voit kopioida tiedoston esimerkiksi USB-muistitikulle ja asettaa kyseisen muistitikun sen ESXi-palvelimen USB-porttiin, jonka järjestelmäkonfiguraatio on palautettava.
2. Käynnistä live-CD/DVD-levyltä koneella, johon ESXi on asennettu. Voit käyttää Ubuntun asennuslevyä live-CD/DVD:nä.
3. Avaa konsoli (terminaali) Linuxissa
4. Luettele osiot:
ls -al /dev/sd*
fdisk -l | grep /dev/sda
Tässä tapauksessa tarvitsemme osiota /dev/sda5/, joka on merkitty Microsoftin perustiedoksi.
ESXi-levyosiot mainittiin blogikirjoituksessa ESXi:n käynnistäminen USB-muistitikulta ja ESXi-salasanan palauttaminen.
Osio /dev/sda5 kiinnostaa meitä tässä tapauksessa.
5. Luo hakemisto, johon /dev/sda5-osio asennetaan:
mkdir /mnt/sda5
6. Asenna levyosio kyseiseen hakemistoon:
mount /dev/sda5 /mnt/sda5
7. Hakemistosta /mnt/sda5 löytyy state.tgz-tiedosto, joka sisältää ESXi-konfiguraation. Tämä hakemisto (johon state.tgz on tallennettu) on nimeltään /bootblank/, kun ESXi-isäntä käynnistetään.
8. Kopioi ESXi-konfiguraation varmuuskopioarkisto USB-muistitikulta Live-DVD:ltä ladatun Ubuntun /tmp/hakemistoon. Esimerkissämme kopioimme:
cp /media/Ubuntu/Ubuntu\ 18.0/backup_ESXi_host/configBundle-192-168-101-208.tgz /tmp/configBundle.tgz
9. Pura tiedostot varmuuskopioarkistosta:
tar zxvf /tmp/configBundle.tgz
10. Näet, että state.tgz-tiedosto on purettu arkistosta.
ls -al /tmp/
11. Nimeä uudelleen alkuperäinen state.tgz-tiedosto, joka sijaitsee /dev/sda5-osioon asennettuna /mnt/sda5/
mv /mnt/sda5/state.tgz /mnt/sda5/state-old.tgz
12. Kopioi ESXi-konfiguraation varmuuskopioarkistosta purkamasi state.tgz-tiedosto (configBundle.tgz) hakemistoon /tmp/
cp /tmp/state.tgz /mnt/sda5/
13. Irrota asennetut osiot
umount /dev/sda5/
14. Käynnistä palvelin uudelleen. Poista Ubuntu Live DVD ja käynnistä levyltä, jolle ESXi on asennettu
init 6
15. Nyt ESXi-konfiguraation pitäisi olla palautettu.
Johtopäätös
Tämänpäiväisessä blogikirjoituksessa on käsitelty neljää menetelmää ESXi-konfiguraation varmuuskopioimiseen ja palauttamiseen. ESXi-komentoriviliittymän käyttäminen on hyvä, koska sinun ei tarvitse asentaa lisäohjelmia; vSphere CLI:n etuja ovat mahdollisuus suorittaa komentoja etänä Linux-koneiden avulla ja mahdollisuus tehdä ESXi-konfiguraation varmuuskopioinnista automatisoitua; Windows-käyttäjät saattavat arvostaa PowerCLI:tä. Jos ESXi-isäntäsi ei ole terve etkä pysty käynnistämään isäntää, on mahdollista varmuuskopioida ja palauttaa kokoonpano manuaalisesti. Huomaa, että bootblank-tiedot ja VM:ien tiedot eivät tallennu ESXi-konfiguraation varmuuskopiotiedostoon. ESXi-konfiguraation palauttamisen jälkeen sinun on ehkä rekisteröitävä virtuaalikoneita inventaariossa.
Nyt tiedät, miten varmuuskopioida ESXi-isäntä, mutta älä unohda varmuuskopioida virtuaalikoneita. NAKIVO Backup & Replication on universaali varmuuskopiointiratkaisu, jolla voit varmuuskopioida VMware VM:t, Hyper-V VM:t, Amazon EC2 -instanssit sekä fyysiset Linux- ja Windows-palvelimet. Lataa täysipainoinen ilmainen kokeiluversio nähdäksesi, kuinka luotettava varmuuskopiointi voi olla ympäristössäsi.
Vastaa