Mājas lapa » » Kā dublēt Citrix Xen VM bez maksas ar Xen-pocalypse (Bash)

    Kā dublēt Citrix Xen VM bez maksas ar Xen-pocalypse (Bash)

    Vai jums kādreiz ir bijis nepieciešams dublēt Citrix Xen virtuālās mašīnas (VM), bet nevēlējāt pārtraukt banku to darīt? HTG ir tikai bash skripts jums ar Xen-pocalypse.

    Attēls: h.koppdelaney, Stuck in Custom un Hotfortech.

    Viena no skaistākajām lietām Citrix Xen ir tā, ka daudzas tās funkcijas ir bezmaksas maksas. Līdz ar to, ja vēlaties izmantot funkciju „Automātiskā VM aizsardzība un atgūšana”, jums jāmaksā par “Advance” licenci. Pat tad jūs maksājat tikai par diskā veiktiem backups, kas nav pietiekami daudzu veidu darba slodzēm, piemēram, Active Directory, Databases & Utt. Lai to pārvarētu, jūs varētu vēlēties "Live atmiņas momentuzņēmums un atgriezties", kas var glābt visu mašīnas stāvoklis, ieskaitot RAM saturu. Tomēr šī funkcija ir daļa no “Enterprise” un “Platinum” izdevumiem, kas ir vēl dārgāki. Tas nav tas, ka mēs HTG noraida patiesas rezerves programmatūras vērtību, bet, ja jūs izmantojat saspringto budžetu un neuztraucaties par dublēšanas operāciju dīkstāvi, jūs varat atrast Xen-pocalypse par pilnīgi saprātīgu risinājumu pirms budžeta saistību uzņemšanās.

    Pārskats

    “Lietošanas gadījums”: jums ir pāris VM, kam nepieciešama dublēšana. “Xen Center” „VM izslēgšana un eksportēšana kā fails”, izmantojot pareizos klikšķus, darbojas labi, bet jūs vēlaties, lai šis process notiktu automātiski un pēc grafika. Šis Bash skripts izmanto "XE" komandu, lai veiktu savus pienākumus. XE ir Xen komandrindas interfeiss (CLI), automātisks ekvivalents “pareizo klikšķu” izsniegšanai “Xen centrā”. Mēs izsauksim skriptu no Cron, kas piegādās “plānošanas” daļu. Vienkāršākajā veidā rezerves plūsma ir:

    • Izslēdziet mērķa VM.
    • Eksportējiet VM kā failu uz rezerves vietu.
    • Ja VM tika ieslēgts, pirms dublēšanas sākšanas tas tiks ieslēgts.

    Ļauj iegūt plaisāšanu :)

    Iegūstiet skriptu

    Xen-pocalypse var brīvi iegūt no github, izmantojot regulāras git metodes. Ar to teica, ja jūs vēl neesat piedzīvojis git, jūs varat greifers zip failu ar šo saiti. Tā kā skriptam ir jādarbojas vienā no jūsu Xen serveriem, jums vajadzētu to izvilkt, lai saglabātu izpildes atļaujas.

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

    Lai gan iepriekš minētais darbosies, ieteicams izmantot GIT metodi, lai jūs varētu gūt labumu no turpmākiem atjauninājumiem.

    Iegūt SendEmail (pēc izvēles)

    Mēs esam rakstījuši par SendEmail perl programmu pagātnē, tāpēc šeit nav nepieciešams atkārtot. Pietiek pateikt, ka tas darbojas tāpat kā Linux, kā tas ir Windows.

    Lai gan e-pasta iespējošana ir obligāta, tas ir ļoti ieteicams, jo tad skripts varēs:

    • Informējiet, kad tā sāka darboties.
    • Brīdināt par kļūdām, ko tā varēja atklāt un apstrādāt.
    • Informēt par rezerves diskvalifikāciju kosmosa jautājumu dēļ. (Šo darbību var atspējot, ja tas nav vēlams)

    Lejupielādējiet to Xen serverī un izrakstiet.

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

    Ņemiet vērā atrašanās vietu, kur to izvilkāt. Jums tas būs nepieciešams iestatījumu failam.

    Tagu definēšana

    Citrix Xen sniedz iespēju konfigurēt „Custom Fields”, lai filtrētu iespējas. Mēs radīsim laukus un pēc tam aizpildīsim tos ar informāciju, ko izmanto Xen-pocalypse. Xen-pocalypse atpazīst 3 kontroles TAG, kas apzīmē atzīmes nosaukumu dublējumkopijai un vecākiem attiecībām ar bērnu. Ja jūs neplānojat izmantot faila ievades metodi, jums ir jāizveido vismaz rezerves lauka nosaukuma lauks.

    Lai to izdarītu, atveriet servera vai pat VM īpašības. Navigācijas rūtī atlasiet “Pielāgotie lauki”.

    Ja šī ir pirmā reize, kad definējat attiecības (kā iepriekš minētajā piemērā), jums nebūs lauki, lai ievadītu datus, tāpēc jums tie ir jāizveido. Lai to izdarītu, dialoglodziņā, kas tiek atvērts, noklikšķiniet uz “Rediģēt pielāgotos laukus”, noklikšķiniet uz “Pievienot…”

    Izveidojiet trīs (3) „Teksta” tipa laukus. Viens tiks saukts par “BackupTAG” un pārējiem „Vecāki” un „Bērni”..

    Piezīme: Pielāgoto lauku nosaukumi skriptos ir bijuši “kodēti”, tāpēc jums nevajadzētu novirzīties no iepriekš norādītās pareizrakstības, ja vien nemaināt arī attiecīgo kodu.

    Kad visi lauki ir izveidoti, jums vajadzētu redzēt:

    Aizveriet logu. Tagad aizpildiet laukus “BackupTAG”, “Vecāki” un “Bērni”, kā redzams attēlā.

    Tagad viss, kas jums jādara, ir norādīt, kuri VM pieder kādam “BackupTAG”.
    Piemēram, uzņēmumā, kurā tika audzēts skripts, mums bija VM, kas katru nedēļu bija jāpapildina ceturtdien un piektdien, grafiks mūsu Atlassian produktu VM un dažiem, kas bija jāpapildina tikai reizi mēnesī. Tāpēc mūsu pārskats izskatījās šādi:

    Ja, piemēram, “nedēļas fri” bija teksts, ko esam ievadījuši “BackupTAG” “Custom Field”. Nē? :)

    Vecāki un bērni (pēc izvēles)

    Šī skripta patiesais skaistums ir tas, ka tā atbalsta “vecākus” ar “bērnu” attiecībām. Tas ir, ir iespējams iestatīt sarakstu ar “bērnu” VM, kas būtu izslēgti un dublēti vecākam, un ka šie bērni tiks ieslēgti tikai pēc tam, kad vecāks būs pabeidzis dublējumu un ir atgriezts atpakaļ ieslēgts. Tas ir noderīgi gadījumos, kad vecāka VM izslēgšana radīs bērna pakalpojuma nepieejamību. Šāda lieta nozīmētu, ka pakalpojums bērnam VM nebūtu pieejams divreiz, vienreiz bērna rezerves procesam un vienreiz vecākam. Šīs attiecības radīšana pārvar šo problēmu.

    Piemēram, visi mūsu „Atlassian VM” izmantoja vienu datu bāzi (DB) VM, kas arī tika iestatīta, lai dublētu. Tātad, atzīmējot, ka DB VM ir „vecāks” pārējiem VM, var nodrošināt pareizu izslēgšanas secību -> backup -> startēšanu..

    Šīs rakstīšanas laikā šai funkcijai ir pāris iebildumi:

    1. VM nosaukumi, kuriem ir šādas attiecības, nevar saturēt atstarpes. Jums būs jānoņem atstarpes no VM nosaukumiem, jo ​​tie būs atstarpināti ar atstarpēm, kā redzams tālāk redzamajā piemērā.
    2. Var būt tikai viens vecāks. Vairāk nekā vienu norīkošanu pat nav plānots, nemaz nerunājot par pārbaudīto.

    Lai izveidotu šīs attiecības, dodieties uz VM īpašībām. Ja tas ir „vecāks”, rakstiet, kas ir bērni, un, ja tas ir „bērns”, rakstiet, kas ir viņa vecāks. Piemēram:

    Piezīme. Ja bērna vecāki nav norādīti, bērns var tikt uzsākts, pirms vecāks ir gatavs, un tas var izraisīt tā dublēšanu divas reizes.

    FILE metode (pēc izvēles)

    Vēsturisku iemeslu dēļ Xen-pocalypse atbalsta arī to, lai VM saraksts tiktu veidots kā teksta fails. Kaut arī „kods” joprojām ir tur, funkcionalitāte ir ievērojami zemāka par TAG metodi, un tāpēc tā nav ieteicama. Ar šo teikto, ja vēlaties kaut kādu iemeslu dēļ izmantot saraksta metodi, tiek piemēroti šādi ierobežojumi:

    1. VM nosaukumos nevar būt nekādas atstarpes vai speciālas rakstzīmes.
    2. Katrai rindai var būt tikai viens VM nosaukums.
    3. Tukšas līnijas nav atļautas.

    Lai izveidotu sarakstu, kopējiet VM nosaukumu no Xen centra vai izpildiet Xen uzņēmējā:

    xe vm-saraksts grep nosaukuma marķējums awk 'print $ 4' kārtot

    Kopējiet iepriekš minēto sarakstu parastajā teksta failā.

    Rezerves atrašanās vieta

    Kaut nejauši izvēloties Citrix Xen, es atklāju, ka uzglabāšanas krātuves (SR) ir pieejamas lietošanai ar “/ var / run / sr-mount /% UUID%”, kur UUID ir SR unikālais identifikators, kas var būt iegūti no GUI.

    Tas nozīmē, ka mēs varam izmantot parasto “Next -> Next -> Finish” vedni, lai izveidotu mount vēlamajai rezerves vietai, un pēc tam skripts izmanto šo ceļu (kā pievienots ziņojumam ar uzstādīšanu no komandrindas), bet dara tā ir ārpus šīs rokasgrāmatas darbības jomas.

    Lai izveidotu jaunu “mount”, ar peles labo pogu noklikšķiniet uz servera nosaukuma un atlasiet New SR.

    Šajā piemērā mēs norādīsim uz Xen uz Windows kopīgošanu, tāpēc izvēlieties “Windows failu koplietošana (CIFS)”:

    Aizpildiet Next -> Next -> Finish.

    Iegūstiet SR UUID

    Lai iegūtu SR UUID, vienkārši noklikšķiniet uz tā nosaukuma Xen centrā un dodieties uz cilni “Vispārīgi”.

    Lai kopētu UUID, vienkārši ar peles labo pogu noklikšķiniet uz izvēlnes “kopija”.

    Izmantojot šo informāciju, esat gatavs rediģēt iestatījumu failu.

    Konfigurējiet iestatījumu failu.

    Xen-pocalypse projekts ir saistīts ar “iestatījumu” faila veidni. Šī veidne ir jārediģē, lai atspoguļotu jūsu iestatījumus un nodots kā pirmais skripta arguments. Iestatījumu fails apzīmē:

    Metode lai iegūtu VM, kas tiks dublēti - noklusējuma metode ir TAG. Varat to mainīt uz FILE, bet tas nav ieteicams.

    Vieta no rezerves galamērķa - ja esat ievērojis šo punktu, jums tikai jāaizstāj% UUID% ar SR, kā tas tika iegūts no iepriekš.

    SendEmail atrašanās vieta  - Ja esat izvēlējies iespējot e-pastu, jums ir jāievada vieta, kur šeit ir iegūta perl izpildāmā versija.

    E-pasta informācija - Atkal, ja esat iespējojis e-pastu, jums ir jānosaka sīkas ziņas, piemēram: Kam, No, Servera lietotājvārds / IP & utt..

    Kompresija - Pēc noklusējuma tas ir iestatīts uz “Nē”, jo, ļaujot tai izveidot mazāku dublējuma failu, tas arī izraisīs, ka dublēšanas procedūra darbosies ievērojami ilgāk.

    Pārbaudiet, vai nav brīvas vietas galamērķī - skripts pārbaudīs, vai VM dublējuma izveide neizraisīs rezerves vietas brīvo vietu zem 10GB. Tas tiek darīts, lai nodrošinātu, ka lielākā daļa VM tiek dublēti tikai viena ļoti liela VM vietā. Aprēķins tiek veikts, izmantojot kopējo HD izmēru kopsummu, kas saistīta ar VM.

    Atkļūdošana  - Noklusējums ir, ka atkļūdošana ir izslēgta ar vērtību "0" (nulle). Jums nevajadzētu to ieslēgt, bet, ja jūs to izdarīsiet, traucējummeklēšanas segmentā ir vairāk informācijas.

    Izpilde / plānošana

    Vienkāršākajā veidā Xen-pocalypse aicinājums izskatās šādi:

    ./Xen-backup.sh settings.cfg nedēļas fri

    Ja iepriekš minētajā gadījumā mēs atrodamies direktorijā, kurā ir skripts un iestatījumu fails. “Tag”, ko skats meklēs, ir “weekly-fri”.

    Kā minēts iepriekš, mēs izmantosim Cron, lai ieplānotu izpildi. Pirms mēs nonākam konfigurācijā, tas ir augsti ieteicams konfigurējiet jau instalēto SSMTP pakotni savā Xen serverī. Lai gan tas ir fakultatīvs solis, to darot, jūs saņemsiet atpakaļsaistīšanas savācēju. Šāda „atpakaļsaistīšanas kolektora” lietošana var brīdināt par lietām, kuras skripts nespēj.

    Ievadiet cron rediģēšanu vairāk, izsniedzot:

    crontab-e

    Ja esat ievērojis iepriekš minētos norādījumus un vēlaties pievienot ieplānoto dublējumu piektdien plkst. 18:01 (6:01 PM), ievadiet tālāk norādīto:

    01 18 * * fri /root/Xen-pocalypse-master/Xen_Backup.sh /root/Xen-pocalypse-master/settings.cfg nedēļas fri

    Iepriekš minētais ir pareizs, pieņemot, ka jūsu skriptu un iestatījumu fails ir zem “/ root / Xen-pocalypse-master /”.

    Problēmu novēršana

    Kamēr es esmu veltījis daudz pūļu, lai padarītu skriptu pēc iespējas vieglāk izmantojamu un neiespējamu, „Pasaule ir lielāka laboratorija”. Tālāk sniegtā informācija var palīdzēt jums noskaidrot, kas ir jūsu nepatikšanas avots.

    Progress

    Jūs varat izmantot šo vienu līnijpārvadātāju, lai ātri "skatītu" visus notiekošos uzdevumus, lai redzētu, vai viņi patiešām virzās uz priekšu vai ja tie patiešām ir iestrēdzis.

    kamēr [-e / dev / null]; darīt VM, izmantojot "$ (xe uzdevumu saraksts | grep uuid | awk 'print $ 5')"; do xe task-param-get param-name = progress uuid = $ VM, miegs 1; izdarīts; izdarīts

    Lai apturētu skatīšanos, izmantojiet Ctrl + C, lai bremzētu “kamēr cilpa”.

    Reģistrācija

    Visu “mežizstrādi” vāc Xen resursdators, kas vada skriptu syslog mehānismā. To, protams, var apskatīt ar:

    mazāk + F / var / log / ziņas

    Jūs meklējat atslēgvārdu “Xen-pocalypse”.

    Piezīme: Citrix ir iestatījis divu (2) dienu saglabāšanas politiku saviem serveriem. Jūs varat to paturēt prātā pēcdzemdībām.

    Atkļūdošana

    Kā norādīts iestatījumu failu segmentā, ir direktīva, kas ļauj atkļūdot. Ieslēdzot atkļūdošanu, skripts izdosies verbozi reģistrēt konsoli un kastrēt to no e-pasta sūtīšanas un faktiski veikt eksportu, ja vien arī nav iestatīti attiecīgie karogi. Iespējamie karogi tiek atzīmēti iestatījumu faila veidnē, un tie ļauj jums detalizēti noteikt, ko vēlaties atkļūdot.

    Es ceru, ka jums nav nepieciešami nekādi atkļūdošanas darbi, un jūs gūstat manu darba augļus :)


    Vilciens, mans vīrs, jūs gatavojaties kļūt par vienu no deceptikoniem ...