If-Koubou

Miten varmuuskopioida Citrix Xen VMs ilmaiseksi Xen-pocalypse (Bash)

Miten varmuuskopioida Citrix Xen VMs ilmaiseksi Xen-pocalypse (Bash) (Miten)

Oletko koskaan tarvinnut varmuuskopioida Citrix Xen Virtual Machines (VM: t), mutta et halunnut rikkoa pankkia tekemällä sitä? HTG: llä on vain bash-kirjoitus sinulle Xen-pocalypse-ohjelmalla.

Kuva h.koppdelaney, Stuck in Custom ja Hotfortech.

Yksi Citrix Xenin kivoista asioista on se, että monet sen ominaisuudet ovat vapaa maksua. Sanoin, että jos haluat "Automaattisen VM-suojauksen ja palautuksen" ominaisuuden, sinun pitäisi alkaa maksaa Advance-lisenssin. Silloinkin maksat vain levytason varmuuskopioita, jotka eivät riitä monentyyppisille työmäärille, kuten aktiivisen hakemiston, tietokantojen jne. Tämän voittamiseksi saatat haluta "Live-muisti -näkymä ja palauttaa", joka voi tallentaa koko koneen tilaan, mukaan lukien RAM-sisällön. Tämä ominaisuus on kuitenkin osa "Enterprise" ja "Platinum" -versioita, jotka ovat vielä kalliimpia. Ei ole se, että HTG: llä hylätään todellisen varmuuskopio-ohjelmiston arvo, mutta jos olet tiukassa budjetissa, ja älä välitä varmuuskopiointiin liittyvistä seisokkeista, Xen-pocalypse voi olla täysin kohtuullinen ratkaisu ennen kuin teet talousarviositoumuksen.

Yleiskatsaus

"Käytä tapaus": Sinulla on pari VM: ää, jotka vaativat varmuuskopion. "VM: n poistaminen käytöstä ja vieminen tiedostoiksi" Xen Centeristä oikeilla napsautuksilla toimii oikein, mutta haluat, että tämä prosessi tapahtuu automaattisesti ja aikataulussa. Tämä Bash-komentosarja käyttää "XE" -komentoa tehtäviensä suorittamiseen. XE on Xen-komentorivin käyttöliittymä (CLI), automaattinen vastaava oikeiden klikkausten myöntämiseksi Xen-keskuksessa. Kutsuvat Cronin käsikirjoituksen, joka toimittaa "aikataulutus" -osan. Yksinkertaisimmassa muodossa varmuusvirta on:

  • Katkaise kohde VM.
  • Vie VM tiedostoksi varmuuskopiointipaikkaan.
  • Jos VM kytkettiin päälle, varmuuskopiointi käynnistetään, ennen kuin varmuuskopio käynnistetään.

Lets get cracked :)

Hanki käsikirjoitus

Xen-pocalypse voidaan vapaasti saada githubista käyttäen tavallisia git-menetelmiä. Sanoin, että jos et ole vielä perehtynyt git: iin, voit napata zip-tiedoston tällä linkillä. Koska käsikirjoitus on suoritettava jollakin Xen-palvelimesta, sinun on purettava se niin, että käyttöoikeudet säilytetään.

wget https://github.com/aviadra/Xen-pocalypse/archive/master.zip
purkaa päällikkö

Vaikka edellä mainitut toimivat, sinun kannattaa käyttää GIT-menetelmää, jotta saatat hyötyä tulevista päivityksistä.

Hanki SendEmail (valinnainen)

Olemme kirjoittaneet SendEmail perl -ohjelmasta aikaisemmin, joten täällä ei ole tarpeen toistaa. Riittää, että se toimii samalla tavoin Linuxilla kuin Windowsissa.

Sähköpostin mahdollistamisen ollessa vapaaehtoinen on erittäin suositeltavaa, koska skripti pystyy:

  • Ilmoita, kun se on alkanut ja päättynyt.
  • Varmista virheistä, joita se pystyi tunnistamaan ja käsittelemään.
  • Ilmoita avaruuteen liittyvistä poikkeuksellisista kieltoista. (Tämä toiminto voidaan poistaa käytöstä, jos sitä ei haluta)

Lataa se Xen-palvelimelle ja poimi.

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

Huomaa paikka, johon se on otettu. Tarvitset sen asetustiedostolle.

Tunnisteiden määrittäminen

Citrix Xen antaa sinulle mahdollisuuden määrittää mukautetut kentät suodatusominaisuuksille. Luomme kentät ja täytämme ne sitten Xen-pocalypse -yhtiön käyttämillä tiedoilla. Xen-pocalypse tunnistaa 3 valvontaa TAG: itä, jotka nimeävät varmuuskopion tunnuksen ja vanhemman ja lapsen väliset suhteet. Jos et aio käyttää tiedostojen syöttötapaa, sinun on luotava vähintään varmuuskopion tunnisteen nimi.

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

Jos tämä on ensimmäinen kerta, kun määrität suhteen (kuten yllä olevassa esimerkissä), et voi syöttää tietoja, joten sinun on luotava ne. Voit tehdä tämän klikkaamalla Muokkaa mukautettuja kenttiä avautuvassa valintaikkunassa, napsauttamalla Lisää ....

Luo kolme (3) "Teksti" -tyyppialuetta. Yksi kutsutaan nimellä "BackupTAG" ja muut "Vanhemmat" ja "Lapset".

Huomautus: Muokattujen kenttien nimet on kirjoitettu "kova koodattu", joten sinun ei tarvitse poiketa yllä olevasta oikeinkirjoituksesta, ellet muuta myös kyseistä koodia.

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

Sulje ikkuna. Sinun pitäisi nyt täyttää "BackupTAG", "Vanhemmat" ja "Lapset" kentät, kuten alla olevassa kuvassa.

Nyt sinun tarvitsee vain määrittää, mitkä VM-laitteet kuuluvat "BackupTAG" -palveluun.
Esimerkiksi yrityksessä, jossa käsikirjoitusta kasvatettiin, meillä oli VM: t, jotka oli tarkoitus varmuuskopioida viikoittain torstaina ja perjantaina, Atlassian-tuotteiden VM-ohjelmien aikataululle ja joillekin, jotka varmuuskopioitiin vain kuukausittain. Joten yleiskuvaus näytti:

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

Vanhemmat ja lapset (vapaaehtoinen)

Tämän käsikirjoituksen todellinen kauneus on se, että se tukee "vanhempia" ja "lapsi" -suhteita. Eli on mahdollista asettaa luettelon "lapsista" VM: istä, jotka olisi pois päältä ja varmuuskopioitu ennen vanhempaa, ja että nämä lapset otetaan käyttöön vain, kun vanhempi on lopettanut varmuuskopioinnin ja on käännetty takaisin päällä.Tämä on hyödyllistä silloin, kun vanhemman VM: n käytöstä poistaminen aiheuttaa sen, että lapsen palvelu ei ole käytettävissä. Tällainen seikka merkitsisi sitä, että lapsen VM: n palvelu ei olisi käytettävissä kahdesti, kerran lapsen varmistusprosessille ja kerran vanhemman puolesta. Tämän suhteen luominen voittaa tämän ongelman.

Esimerkiksi kaikki Atlassian VM: t käyttivät yhden DataBase (DB) VM: n, joka oli myös varmuuskopioitu. Joten huomataan, että DB VM on "emo" muille VM: eille, voidaan varmistaa se, että sammutus -> varmuuskopiointi -> käynnistys onnistuu.

Tällä kirjoitushetkellä tällä toiminnolla on pari varoitusta:

  1. VM: n nimet, joilla on tällainen suhde, eivät voi sisältää välilyöntejä. Sinun on poistettava tilat VM-nimistä, sillä ne ovat tilan rajattuja, kuten alla olevassa esimerkissä.
  2. Vain yksi vanhempi voi olla. Useampaa kuin yhtä ei ole edes suunniteltu, puhumattakaan testatuista.

Luo tämä suhde siirtymällä 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:

Huomaa: Lapsen vanhemman määritteleminen ei aiheuta lapsen aloittamista ennen kuin vanhempi on valmis ja voi aiheuttaa sen varmistamisen kahdesti.

FILE-menetelmä (valinnainen)

Historiallisista syistä Xen-pocalypse tukee myös sitä, että luettelo VM-tiedostoista varmennetaan tekstitiedostona. Vaikka "koodi" on edelleen olemassa, toiminnallisuus on huomattavasti huonompi kuin TAG-menetelmällä, joten sitä ei suositella. Tällöin, jos haluat käyttää luettelomenetelmää jostakin syystä, sovelletaan seuraavia rajoituksia:

  1. VM: n nimet eivät voi sisältää välilyöntejä tai erikoismerkkejä.
  2. Voi olla vain yksi VM-nimi riviä kohden.
  3. Tyhjät linjat eivät ole sallittuja.

Luodaksesi luettelon, kopioi VM: n nimi Xen-keskuksesta tai suorita Xen-isännällä:

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

Kopioi yllä oleva luettelo tavalliseen tekstitiedostoon.

Varmuuskopiointipaikka

Samalla kun satunnaisesti haetaan Citrix Xenissä, olen huomannut, että varastosäiliöitä (SR) on saatavana käytettäväksi "/ var / run / sr-mount /% UUID%": ssa, jossa UUID on SR: n yksilöllinen tunniste graafisesta käyttöliittymästä.

Tämä tarkoittaa sitä, että voimme luoda tavallisen ohjatun "Next-> Next-> Finish" -toiminnon avulla mountin haluamaasi varmuuskopiointipaikkaan ja käyttää sitten komentosarjaa käyttämään tätä reittiä (kuten komentoa asennettaessa) niin se on tämän oppaan ulkopuolella.

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

Tässä esimerkissä osoitamme Xen-ikkunan osuuteen, joten valitse "Windows File Sharing (CIFS)":

Suorita Seuraava -> Seuraava -> Lopeta.

Hanki SR: n UUID

SR: n UUID: n hankkimiseksi klikkaa sen nimeä Xen Centerissä ja siirry Yleinen-välilehteen.

Jotta voit kopioida UUID, napsauta hiiren kakkospainikkeella ja valitse "kopioi".

Näiden tietojen avulla voit muokata asetustiedostoa.

Määritä Asetukset-tiedosto.

Xen-pocalypse-projekti on yhdistetty "asetukset" -tiedostomallilla. Tätä mallia on muokattava, jotta se vastaa asennustasi ja välitetään komentojonon ensimmäiseksi argumentiksi. Asetustiedostossa on seuraava merkintä:

Menetelmä varmuuskopioitujen VM-laitteiden hankkiminen - Oletusmenetelmä on TAG. Voit muuttaa tätä tiedostoon FILE, mutta tätä ei suositella.

Sijainti varmuuskopiokohdasta - Jos olet noudattanut ohjeita tähän pisteeseen, sinun on vain korvata% UUID% SR: n kanssa, koska se on saatu ylhäältä.

SendEmailin sijainti - Jos olet päättänyt ottaa Sähköposti käyttöön, sinun on syötettävä, jos olet perl -ohjelman suoritustiedosto.

Sähköpostin tiedot -Jälleen, jos olet ottanut sähköpostiosoitteen käyttöön, sinun on määriteltävä esimerkiksi tietoja: From, From, Servername / IP & etc '.

Puristus - Oletusasetuksena on "Ei", koska sen ansiosta se tuottaa pienemmän varmuuskopiotiedoston, mutta se myös aiheuttaa varmuuskopiointimenettelyä huomattavasti pidempään.

Tarkista vapaata tilaa määränpäässä - Tämän on tarkistettava, että VM: n varmuuskopiointi ei aiheuta varmuuskopion sijainnin vapaata tilaa 10 Gb: n alle. Näin varmistetaan, että VM: iden enimmäismäärä on varmuuskopioitu vain yhden erittäin suuren VM: n sijasta. Laskenta suoritetaan kaikkien VM: een liittyvien HD: iden kiintolevyn kokoa yhteensä.

virheenkorjaus - Oletuksena on, että virheenkorjaus on pois päältä arvo "0" (nolla). Sinun ei pitäisi joutua ottamaan sitä käyttöön, mutta jos näin on, vianmääritysosassa on lisätietoja.

Suoritus / aikataulutus

Yksinkertaisimmassa muodossaan Xen-pocalypse-kutsuminen näyttäisi:

./Xen-backup.sh settings.cfg viikoittain

Jos yllä olevassa tapauksessa olemme hakemiston sisällä, joka pitää komentosarjan ja asetustiedoston. Skripti "Tag" etsii "viikoittain".

Kuten yllä on mainittu, käytämme Cronia aikataulun toteuttamiseen. Ennen kuin menemme kokoonpanoon, se on erittäin suositeltavaa että määrität jo asennetun SSMTP-paketin Xen-palvelimelle. Vaikka tämä on vapaaehtoinen askel, se antaa sinulle backwash collectorin. Tällaisen "backwash collectorin" saaminen voi varoittaa asioista, joita komentosarja ei pysty.

Syötä cronin editointiin lisäämällä:

crontab -e

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

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

Edellä oleva on oikein olettaen, että käsikirjoituksesi ja asetustiedostot ovat sekä "/ root / Xen-pocalypse-master /" -kohdassa.

Ongelmien karttoittaminen

Vaikka olen tehnyt paljon työtä tekemään käsikirjoituksen helppokäyttöiseksi ja mahdollisimman houkuttelevaksi, "Maailma on isompi laboratorio". Alla olevat tiedot saattavat auttaa sinua selvittämään, mikä on ongelmasi lähde.

edistyminen

Voit halutessasi käyttää tätä linjaliikennettä nopeasti "katselemaan" kaikkia käynnissä olevia tehtäviä, selvittämään, aikovatko he todella edetä vai onko ne todella jumissa.

kun taas [-e / dev / null]; tee VM: lle "$ (xe tehtäväluettelo | grep uuid | awk 'print $ 5')"; do xe tehtävä-param-get param-name = edistystä uuid = $ VM, nukkumaan 1; tehty; tehty

Jos haluat lopettaa katselun, käytä Ctrl + C-näppäintä jarruttaaksesi "while loop".

hakkuu

Kaikki "kirjautumiset" kerää Xen-isäntä, joka suorittaa komentosarjan syslog-mekanismissa. Tätä tietenkin voidaan tarkastella seuraavilla tavoilla:

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

Etsit avainsanaa "Xen-pocalypse".

Huomaa: Citrix on asettanut kaksi (2) päivän pidätyskäytäntöä sen palvelimien syslogille. Voit halutessasi pitää tämän mielessä jälkikäteen.

virheenkorjaus

Kuten asetustiedostosegmentissä todetaan, on mahdollista ottaa käyttöön virheenkorjaus. Jos virheenkorjaus otetaan käyttöön, komentosarja lähettää verbose-kirjautumisen konsoliin ja kastroi sen lähettämästä sähköposteja ja suorittaisi viennin, ellei asiaankuuluvia lippuja ole myös asetettu. Mahdolliset liput näkyvät asetustiedostomallissa ja ne mahdollistavat sen, että määrität tarkasti mitä haluat tehdä.

Toivon, ettet ole tarvinnut mitään virheenkorjausta ja haet työni hedelmiä :)

Tule, mieheni, sinusta tulee tulossa numero yksi decepticon ...