Kotisivu » miten » Citrix Xen VM ien varmuuskopiointi Xen-pocalypse (Bash) -sovelluksella

    Citrix Xen VM ien varmuuskopiointi Xen-pocalypse (Bash) -sovelluksella

    Oletko koskaan tarvinnut varmuuskopioida Citrix Xen Virtual Machines (VM: t), mutta et halunnut rikkoa pankkia tekemästä sitä? HTG: llä on juuri bash-käsikirjoitus, jossa on Xen-pocalypse.

    Kuva: h.koppdelaney, Stuck in Custom ja Hotfortech.

    Yksi hienoista asioista Citrix Xenissä on, että monet sen ominaisuudet ovat vapaa maksua. Kun sanot, jos haluat "automaattisen VM-suojauksen ja palautuksen" -ominaisuuden, sinun on aloitettava maksaminen Advance-lisenssistä. Silloin maksat vain levyn tason varmuuskopiot, jotka eivät riitä monentyyppisiin työmäärityksiin, kuten Active-hakemistoon, tietokantoihin jne. Tämän voittamiseksi haluat ehkä "Live-muistin tilannekuvan ja palautuksen", joka voi säästää koko koneen tila mukaan lukien RAM-muistin sisältö. Tämä ominaisuus on kuitenkin osa Enterprise- ja Platinum-versioita, jotka ovat vielä kalliimpia. Emme HTG: ssä hylkää todellisen varmuuskopiointiohjelmiston arvoa, mutta jos olet tiukka budjetti ja et pidä huolta varmuuskopiointitoiminnasta, saatat löytää Xen-pocalypse olevan täysin kohtuullinen ratkaisu ennen budjettisitoumuksen tekemistä.

    Yleiskatsaus

    ”Käytä tapaus”: Sinulla on pari VM: ää, jotka tarvitsevat varmuuskopion. ”VM: n sammuttaminen ja sen vieminen tiedostoina” ”Xen Centeristä” oikealla napsautuksella toimii hyvin, mutta haluat, että tämä prosessi tapahtuu automaattisesti ja aikataulussa. Tämä Bash-skripti käyttää "XE" -komentoa tehtäviensä suorittamiseen. XE on Xen-komentorajapinta (CLI), automaattinen vastaava ”oikean napsautuksen” antamiseen ”Xen Centerissä”. Soitamme Cronin käsikirjoituksen, joka toimittaa "ajoitus" -osan. Yksinkertaisimmassa muodossa varmuuskopiointi on:

    • Sammuta kohde-VM.
    • Vie VM tiedostoina varmuuskopiointipaikkaan.
    • Jos VM on kytketty päälle, se käynnistetään uudelleen ennen varmuuskopioinnin aloittamista.

    Saat halkeamisen :)

    Hanki skripti

    Xen-pocalypse voidaan saada vapaasti githubista käyttämällä tavallisia git-menetelmiä. Kun sanot, jos et ole vielä perehtynyt gitiin, voit napata zip-tiedoston tällä linkillä. Koska skripti on suoritettava jollakin Xen-palvelimellasi, sinun pitäisi purkaa se siellä, jotta käyttöoikeudet säilyvät.

    wget https://github.com/aviadra/Xen-pocalypse/archive/master.zip
    unzip master

    Vaikka yllä mainittu toimi, sinun kannattaa käyttää GIT-menetelmää, jotta voit hyötyä tulevista päivityksistä.

    Hanki SendEmail (valinnainen)

    Olemme kirjoittaneet SendEmail-perl-ohjelmasta aiemmin, joten tässä ei ole tarvetta toistaa. Riittää, kun sanotaan, se toimii samalla tavalla Linuxissa kuin Windowsissa.

    Sähköpostin ottaminen käyttöön on valinnainen, mutta se on erittäin suositeltavaa, koska skripti pystyy:

    • Ilmoita, kun se aloitti ja päättyi.
    • Ilmoita virheistä, joita se pystyi havaitsemaan ja käsittelemään.
    • Ilmoita varmuuskopioinnin hylkäämisistä avaruuskysymysten vuoksi. (Tämä ongelma voidaan poistaa käytöstä, jos sitä ei haluta)

    Lataa se Xen-palvelimeen ja pura se.

    wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
    tar xvzhf sendEmail-v1.56.tar.gz

    Huomaa sijainti, johon se on poistettu. Tarvitset sitä asetustiedostossa.

    Tunnisteiden määrittäminen

    Citrix Xen antaa sinulle mahdollisuuden määrittää "Mukautetut kentät" suodatusominaisuuksia varten. Luomme kentät ja sitten täytämme ne Xen-pocalypsen käyttämiin tietoihin. Xen-pocalypse tunnistaa 3 ohjauksen TAG: ia, jotka määrittävät varmuuskopion tunnuksen ja vanhemman lapsisuhteet. Jos et aio käyttää tiedoston syöttötapaa, sinun täytyy luoda ainakin varmuuskopiotunnisteen kenttä.

    Voit tehdä tämän avaamalla palvelimen tai jopa VM: n ominaisuudet. Valitse navigointipaneelista "Mukautetut kentät".

    Jos tämä on ensimmäinen kerta, kun määrität suhdetta (kuten yllä olevassa esimerkissä), sinulla ei ole kenttiä tietojen syöttämiseen, joten sinun on luotava ne. Voit tehdä tämän napsauttamalla avautuvassa valintaikkunassa olevaa Muokkaa mukautettuja kenttiä, napsauttamalla Lisää ...

    Luo kolme (3) teksti-kenttää. Yksi on nimeltään "BackupTAG" ja muut "vanhemmat" ja "lapset".

    Huomautus: Mukautettujen kenttien nimet ovat olleet ”kovakoodattuja” komentosarjassa, joten sinun ei pidä poiketa yllä olevasta oikeinkirjoituksesta, ellei myöskään muuta kyseistä koodia.

    Kun kaikki kentät on luotu, sinun pitäisi nähdä:

    Sulje ikkuna. Sinun pitäisi nyt olla ”BackupTAG”, ”Vanhempi” ja ”Lapset” -kentät, jotta voit täyttää, kuten alla olevassa kuvassa.

    Nyt sinun tarvitsee vain määrittää, mitkä VM: t kuuluvat siihen, mitä BackupTAG.
    Esimerkiksi yrityksessä, jossa käsikirjoitus oli kasvanut, meillä oli VM: itä, jotka oli tarkoitus varmuuskopioida viikoittain torstaina ja perjantaina, aikataulu Atlassian-tuotteiden VM: ille ja joillekin, jotka oli varmuuskopioitava vain kuukausittain. Niinpä yleiskatsaus näytti:

    Jos esimerkiksi "viikoittainen fri" oli teksti, jonka olemme syöttäneet "BackupTAG" "Custom Fieldiin". Siisti? :)

    Vanhemmat ja lapset (valinnainen)

    Tämän käsikirjoituksen todellinen kauneus on, että se tukee "vanhempaa" "lapsen" suhteisiin. Toisin sanoen on mahdollista asettaa luettelo "lapsen" VM: istä, jotka olisi kytketty pois päältä ja varmuuskopioidaan vanhemman edestä, ja että nämä lapset kytketään takaisin päälle vasta, kun vanhempi on lopettanut varmuuskopionsa ja se on palautettu takaisin päällä. Tämä on hyödyllistä tapauksissa, joissa vanhemman VM: n sammuttaminen aiheuttaa sen, että lapsen palvelu ei ole käytettävissä. Tällainen asia merkitsisi sitä, että lapsen VM-palvelu ei olisi käytettävissä kahdesti, kerran lapsen varmuuskopiointiprosessiin ja kerran vanhemman. Tämän suhteen luominen voittaa tämän ongelman.

    Esimerkiksi kaikki Atlassian VM: t käyttivät yhtä DataBase (DB) VM: ää, joka myös asetettiin varmuuskopioimaan. Niinpä huomauttamalla, että DB VM on "vanhempi" muille VM: ille, voidaan varmistaa oikea pysäytysjärjestys -> varmuuskopio -> käynnistys,.

    Tällä kirjoituksella tällä toiminnolla on muutama syy:

    1. Niiden VM: ien nimet, joilla on tällainen suhde, eivät voi sisältää välilyöntejä. Sinun täytyy poistaa välilyönnit VM-nimistäsi, sillä ne ovat tilan rajaamia, kuten alla olevassa esimerkissä.
    2. Ei voi olla vain yksi vanhempi. Useamman kuin yhden nimeäminen ei ole edes suunnitteilla eikä testattu.

    Tämän suhteen luomiseksi siirry VM: n ominaisuuksiin. Jos tämä on "vanhempi", kirjoita kuka sen lapset ovat ja jos tämä on "lapsi", kirjoita kuka hänen vanhempansa on. Esimerkiksi:

    Huomautus: Jos lapselle ei määritetä vanhempaa, lapsi voidaan aloittaa ennen kuin vanhempi on valmis, ja se saattaa aiheuttaa varmuuskopion kahdesti.

    FILE-menetelmä (valinnainen)

    Historiallisista syistä Xen-pocalypse tukee myös VM-luettelon varmuuskopiointia tekstitiedostona. Vaikka ”koodi” on edelleen olemassa, toiminnallisuus on huomattavasti huonompi kuin TAG-menetelmä, joten sitä ei suositella. Jos sanot, että haluat käyttää luettelomenetelmää jostain syystä, sovelletaan seuraavia rajoituksia:

    1. VM: ien nimet eivät voi sisältää välilyöntejä tai erikoismerkkejä.
    2. Rivillä voi olla vain yksi VM-nimi.
    3. Tyhjät rivit eivät ole sallittuja.

    Voit luoda luettelon kopioimalla VM: n nimen Xen-keskuksesta tai suorittamalla Xen-isännässä:

    xe vm-list | grep-nimimerkki | awk 'print $ 4' | järjestellä

    Kopioi yllä oleva luettelo tavalliseen tekstitiedostoon.

    Varmuuskopiointipaikka

    Vaikka olen satunnaisesti paisannut Citrix Xenissä, olen havainnut, että tallennustilat (SR) ovat käytettävissä "/ var / run / sr-mount /% UUID%" -kohdassa, jossa UUID on SR: n yksilöllinen tunniste, joka voi olla saatu GUI: lta.

    Tämä tarkoittaa, että voimme käyttää tavallista ohjatun “Next -> Next -> Finish” -toiminnon luomista varten haluamaasi varmuuskopiointipaikkaan ja sitten käyttää komentosarjaa kyseisellä polulla (asennettu komentoon). joten se ei kuulu tämän oppaan soveltamisalaan.

    Luo uusi "mount" napsauttamalla palvelimen nimeä hiiren kakkospainikkeella ja valitsemalla Uusi SR.

    Tässä esimerkissä osoitamme Xenin Windows-jakamiseen, joten valitse "Windows File Sharing (CIFS)":

    Täytä Seuraava -> Seuraava -> Valmis.

    Hanki SR: n UUID

    Saat SR: n UUID-koodin napsauttamalla sen nimeä Xen-keskuksessa ja valitsemalla Yleiset-välilehden.

    Jotta voit kopioida UUID-osoitteen, napsauta sitä hiiren kakkospainikkeella valitsemalla ”kopio”.

    Käyttäessäsi näitä tietoja olet valmis muokkaamaan asetustiedostoa.

    Määritä Asetukset-tiedosto.

    Xen-pocalypse -hanke on mukana asetusten tiedostomallissa. Tätä mallia tulisi muokata, jotta se vastaisi asetuksiasi ja välittäisi komentosarjan ensimmäisenä argumenttina. Asetustiedosto määrittää seuraavat:

    menetelmän varmuuskopioitavien VM: ien hankkimiseksi - Oletusmenetelmä on TAG. Voit muuttaa tätä FILE-tilaan, mutta tätä ei suositella.

    Sijainti varmuuskopioinnin määränpäänä - Jos olet noudattanut opastusta tähän pisteeseen,% UUID% on korvattava vain SR: n kanssa, kuten se on saatu ylhäältä.

    SendEmailin sijainti  - Jos olet valinnut sähköpostiosoitteen, sinun on syötettävä tähän paikkaan perl-suoritettava tiedosto.

    Sähköpostin tiedot - Jos olet ottanut sähköpostin käyttöön, sinun on määriteltävä tiedot, kuten: To, From, Servername / IP & etc '.

    Puristus - Tämä on oletusarvoisesti "Ei", koska samalla kun se mahdollistaa pienemmän varmuuskopiotiedoston, se aiheuttaa myös varmuuskopiointimenettelyn huomattavasti pidemmän ajan..

    Tarkista vapaata tilaa määränpäähän - Tämä skripti tarkistaa, että VM: n varmuuskopion tekeminen ei aiheuta varmuuskopion sijainnin vapaata tilaa 10GB: n alapuolelle. Tämä tehdään sen varmistamiseksi, että suurin osa VM: iä varmuuskopioidaan vain yhden erittäin suuren VM: n sijasta. Laskenta suoritetaan käyttämällä kaikkia VM: iin liittyviä HD-levyjä.

    virheenkorjaus  - Oletuksena on, että virheenkorjaus on kytketty pois päältä arvolla "0" (nolla). Sinun ei tarvitse ottaa tätä käyttöön, mutta jos näin tapahtuu, vianmäärityssegmentissä on lisätietoja.

    Suoritus / aikataulutus

    Yksinkertaisimmassa muodossaan Xen-pocalypsen kutsuminen näyttää siltä:

    ./Xen-backup.sh settings.cfg viikoittain-fri

    Jos edellä olevassa tapauksessa olemme sen hakemiston sisällä, jossa on skripti ja asetustiedosto. "Tag", jota skripti etsii, on "weekly-fri".

    Kuten edellä todettiin, käytämme Cronia aikatauluttamaan toteutuksen. Ennen kuin menemme kokoonpanoon, se on erittäin suositeltavaa että määrität jo asennetun SSMTP-paketin Xen-palvelimellasi. Vaikka tämä on valinnainen askel, se antaa sinulle takaisinpesun kerääjän. Tällaisen "takaisinpesun keräilijän" ottaminen voi varoittaa sinulle, mitä skripti ei pysty.

    Anna cronin muokkaus lisää antamalla:

    crontab-e

    Jos olet noudattanut yllä olevia ohjeita ja haluat lisätä aikataulun varmuuskopion perjantaina klo 18:01 (6:01 PM), syötä alla oleva:

    01 18 * * fri /root/Xen-pocalypse-master/Xen_Backup.sh /root/Xen-pocalypse-master/settings.cfg viikoittain-fri

    Edellä mainittu on oikein, kun olet sitä mieltä, että skripti- ja asetustiedostot ovat molemmat kohdassa "/ root / Xen-pocalypse-master /".

    Ongelmien karttoittaminen

    Vaikka olen panostanut siihen, että käsikirjoitus on niin helppokäyttöinen ja niin typerä kuin mahdollista, ”Maailma on isompi laboratorio”. Alla olevat tiedot voivat auttaa sinua selvittämään, mikä on ongelmien lähde.

    edistyminen

    Saatat haluta käyttää tätä yhden linjaliikennettä, jotta voit nopeasti katsella kaikkia käynnissä olevia tehtäviä, jotta he voisivat todellakin edetä tai jos ne todella jäävät kiinni.

    kun [-e / dev / null]; tee VM: lle "$ (xe task-list | grep uuid | awk 'print $ 5')"; tee xe task-param-get param-name = edistys uuid = $ VM, uni 1; tehty; tehty

    Jos haluat lopettaa katselun, käytä Ctrl + C: tä jarruttamalla "silmukka".

    hakkuu

    Kaikki "lokit" kerätään Xen-isännällä, joka käyttää skriptiä syslog-mekanismissa. Tätä voidaan tietysti tarkastella:

    vähemmän + F / var / log / viestit

    Etsit avainsanaa "Xen-pocalypse".

    Huomautus: Citrix on asettanut palvelimien syslogille kahden (2) päivän säilytyskäytännön. Haluat ehkä pitää sen mielessä postmortemien yhteydessä.

    virheenkorjaus

    Kuten asetustiedostosegmentissä todetaan, on olemassa direktiivi, joka mahdollistaa virheenkorjauksen. Virheenjäljitystoiminnon käyttöönotto aiheuttaa komentosarjan ulostulevan kirjautumisen konsoliin ja kastaa sen lähettämästä sähköpostiviestejä ja tosiasiallisesti suorittamaan viennin, ellei asiaankuuluvia lippuja ole asetettu. Mahdolliset liput on merkitty asetustiedostomalliin ja niiden avulla voit määritellä tarkasti, mitä haluat korjata.

    Toivon, että et ole tarvinnut virheenkorjausta, ja voit hyödyntää työni hedelmiä :)


    Thrust, mieheni, sinä olet tulossa numero yksi decepticon…