Citrix-Xen VM ien palauttaminen ilmaiseksi Xen-Phoenixin (Bash) kanssa
Oletko koskaan tarjonnut tarvetta palauttaa Citrix-Xen VM -laitteesi katastrofijärjestelmän (DR) ratkaisuun tai vain testata, että varmuuskopiot toimivat? HTG kertoo, miten voit käyttää Xen-Phoenixia, vapaata bash-skriptiä, VM: n palauttamiseen.
Photo Credit: Ryan McCurdy kautta Compfight cc
Kuten mainitsimme kohdassa ”Citrix Xenin VM: n varmuuskopiointi Xen-pocalypse-ohjelmalla”, yksi Citrix Xenin hienoista asioista on, että monet sen ominaisuudet ovat vapaa maksua. Kun sanot, jos haluat "automaattisen VM-suojauksen ja palautuksen" -ominaisuuden, sinun on aloitettava maksaminen Advance-lisenssistä. Jälleen ei ole, että me HTG: ssä hylkäämme todellisen varmuuskopiointiratkaisun arvon, mutta jos olet tiukka budjetti, olette jo saaneet VM-kuvat pois hypervisorista ja tarvitsevat tavan automatisoida ” testi palauttaa ”/” DR-päivitys ”-menettelyt, saatat löytää Xen-Phoenixin täysin kohtuullisen ratkaisun ennen budjettisitoumuksen tekemistä.
Yleiskatsaus
”Käytä tapaus”: Sinulla on pari VM: ää, jotka edellyttävät palautusta. “Xen Center” -tuotteen tuonti 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 muodossaan palautusvirta on:
- Poistaa kaikki * aiemmat palvelimessa olevat VM: t
- Tuo VM-tiedostot varmuuskopion sijainnista.
- Varmista, että kaikki VM: t ovat toiminnassa aktivoimalla ne yksitellen ja etsimällä vieras-työkaluja syke.
- Kytke VM-toiminnot pois päältä, kun syke on löydetty tai aikakatkaisu on saavutettu.
* Poista kaikki VM-toiminnot voidaan poistaa kokonaan ja tukee poikkeuksia (katso alla).
Saat halkeamisen :)
Hanki skripti
Xen-feeniksen voi 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-phoenix/archive/master.zip
unzip master
Vaikka yllä mainittu toimi, sinun kannattaa käyttää GIT-menetelmää, jotta voit hyötyä tulevista päivityksistä.
Viennin sijainti
Meidän on määritettävä, mihin VM-vienti viedään.
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 ”Next -> Next -> Finish” -toimintoa luodaksesi “mount” haluttuun varmuuskopiointipaikkaan ja sitten käyttää komentosarjaa kyseisellä polulla (kuten sovelluksessa viestiin asennuksen kanssa komentoriviltä, joka on tämän oppaan soveltamisalan ulkopuolella).
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.
Voit kopioida UUID: n napsauttamalla sitä hiiren kakkospainikkeella ja valitsemalla kopion.
Käyttäessäsi näitä tietoja olet valmis muokkaamaan asetustiedostoa.
Määritä Asetukset-tiedosto
Xen-phoenix -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:
- Lähteen viennin sijainti - 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ä, missä olet perinyt perl-suoritettavan täältä.
- Vahvistin - Tämä ohjaa jälkiasennuksen vahvistuksen suorittamista. Tämä on oletusarvoisesti käytössä, koska onnistunut ”tiedostotason palautus” ei edellytä toiminnallista VM: ää.
- Server_prep - Tämä ohjaa esikatselua poisto kaikki DR-palvelimen VM: t. Tämä on oletusarvoisesti käytössä, koska oletetaan, että DR-palvelin on tätä tarkoitusta varten oma palvelin. Jos tarvitset tässä palvelimessa olevan VM: n, jota ei poisteta, määritä se pois käytöstä. Jos tämä ongelma ei sovi tilanteeseen, poista se kokonaan käytöstä.
- 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 '.
- virheenkorjaus - Oletusarvo on, että virheenkorjaus on kytketty pois päältä arvolla "0" (nolla). Tätä ei tarvitse ottaa käyttöön, mutta jos näin tapahtuu, vianmäärityssegmentissä on lisätietoja..
suoritus
Tämä skripti ottaa asetustiedoston ensimmäiseksi argumentiksi ja muut argumentit "Chevrons" -toiminnoksi etsimään (välilyönnit erottamalla). Chevrons, ovat merkkijonoja, jotka tukevat säännöllisiä lausekkeita, jotka edustavat ainakin osaa VM-viennin halutusta tiedostonimestä.
Se on sen yksinkertaisimmassa muodossaan Xen-phoenixin kutsuminen:
./Xen-phoenix.sh settings.cfg DevTools
Jos edellä olevassa tapauksessa olemme sen hakemiston sisällä, jossa on skripti ja asetustiedosto, ja "Chevron", jota skripti etsii, on "DevTools". Tämä aiheuttaa kaikki viennin hakemistossa olevat tiedostot, joiden nimessä on merkkijono "DevTools".
Monimutkaisempi esimerkki voi näyttää:
./Xen-phoenix.sh settings.cfg [Aa] [Dd] [Bb] [iI] [Dd] evolit
Jos edellä olevassa esimerkissä tuodaan tiedostoja, jotka sisältävät sanan "devtools", jotka on kirjoitettu pääomalla "D" ja "T" tai muilla kuin pääomilla, sekä "AD" ja "BI", joissa on tai ei ole pääomaa,.
aikataulutus
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, niin saat "takaisinpesun" kerääjän. Tällaisen "takaisinpesun keräilijän" ottaminen voi varoittaa sinulle, mitä skripti ei pysty.
Anna cronin muokkaustilaan antamalla:
crontab-e
Jos olet noudattanut yllä olevia ohjeita ja haluat lisätä aikataulun varmuuskopion sunnuntaina klo 01:31 (1:31 AM), syötä alla oleva:
31 01 * * sun /root/Xen-phoenix-master/Xen-phoenix.sh /root/Xen-phoenix-master/settings.cfg [Aa] [Dd] DB [Bb] [iI] [Dd] ev [Tt ] y ö kalut
Edellä mainittu on oikein, kun olet sitä mieltä, että skripti- ja asetustiedostot ovat molemmat kohdassa "/ root / Xen-phoenix-master /".
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.
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.
Määritä "Poista poikkeus" -merkintä (valinnainen)
Xen-Phoenix ottaa sivun esivanhemmaltaan (Xen-Pocalypse) ja antaa sinulle mahdollisuuden sulkea VM: n kokonaan järjestelmän laajuisesta poistosta käyttämällä ohjaus-TAG: ää. Jotta voit tehdä tämän, sinun on määritettävä uusi "mukautettu kenttä".
Voit tehdä tämän avaamalla palvelimen tai jopa VM: n ominaisuudet. Valitse navigointipaneelista "Mukautetut kentät".
Jos määrität "mukautetun kentän" ensimmäistä kertaa (kuten edellä olevassa esimerkissä), sinun ei tarvitse syöttää tietoja "Phoenix_keeper" -kenttään, joten sinun on luotava se. Voit tehdä tämän napsauttamalla avautuvassa valintaikkunassa olevaa Muokkaa mukautettuja kenttiä ja napsauttamalla sitten Lisää ...
Luo "Teksti" -tyyppinen kenttä, jonka nimi on "Phoenix_keeper".
Huomautus: Mukautetun kentän nimi on ”kovakoodattu” käsikirjoitukseen, joten sinun ei pidä poiketa yllä olevasta oikeinkirjoituksesta, ellei myöskään muuta kyseistä koodia.
Kun kenttä on luotu, sinun pitäisi nähdä:
Sulje ikkuna. Sinun pitäisi nyt olla ”Phoenix_keeper” -kenttä, kuten alla olevassa kuvassa.
Nyt sinun tarvitsee vain täyttää tämä kenttä huomautuksella (mikä tahansa huomautus), mikä saa Xen-phoenixin ohittamaan sen poistettaessa.
Ongelmien karttoittaminen
Vaikka olen panostanut siihen, että käsikirjoitus on mahdollisimman helppokäyttöinen ja mahdollisimman luja, ”maailma on suurempi laboratorio”. Alla olevat tiedot voivat auttaa sinua selvittämään, mikä on ongelmien lähde.
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-Phoenix".
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 sen, että komentosarja välittyy tarkasti konsoliin ja kastaa sen lähettämästä sähköposteja ja tosiasiallisesti suorittaa tuontia, ellei myös asiaan liittyviä 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ä :)
Ajatelkaa vain kaikkea köyhyyttä, vihaa ja valheita, ja kuvittele kaikkien halveksittavien tuhoaminen. Hitaasti tuhkasta nousee phoenix…