Anasayfa » nasıl » Citrix-Xen Sanal Makinelerini Xen-Phoenix (Bash) ile Nasıl Ücretsiz Geri Yükleyebilirim?

    Citrix-Xen Sanal Makinelerini Xen-Phoenix (Bash) ile Nasıl Ücretsiz Geri Yükleyebilirim?

    Olağanüstü durum kurtarma (DR) çözümü için Citrix-Xen VM'lerinizi toplu olarak geri yükleme veya yedeklemelerin çalıştığını test etmek için hiç gereksiniminiz oldu mu? HTG, VM geri yüklemesi için ücretsiz bir bash betiği olan Xen-Phoenix'in nasıl kullanılacağını açıklıyor.

    Fotoğraf Kredisi: Ryan McCurdy Compfight cc ile

    “Citrix Xen VM'lerini Xen-pocalypse ile Ücretsiz Olarak Nasıl Yedekler” de belirttiğimiz gibi, Citrix Xen'deki güzel şeylerden biri özelliklerinin çoğunun ücretsiz ücret Bununla birlikte, “Otomatik VM koruma ve kurtarma” özelliğini istiyorsanız, “Advance” lisansı için ödeme yapmaya başlamanız gerekir. Yine, HTG'de gerçek bir yedekleme çözümünün değerini reddettiğimizden değil, ancak sıkı bir bütçeniz varsa, VM görüntülerini hipervizörden zaten almış ve otomatikleştirmek için bir yola ihtiyaç duyuyorsanız “ Test geri yükleme ”/” DR Yenileme ”prosedürleri, bütçe taahhüdünü yapmadan önce Xen-Phoenix'i mükemmel bir çözüm olarak bulabilirsiniz.

    genel bakış

    “Kullanım Durumu”: Geri yükleme gerektiren birkaç sanal makineniz var. Sağ tıklamaları kullanarak “Xen Center” da içe aktarma işlemi tamamdır, ancak bu işlemin otomatik olarak ve bir zamanlamaya göre yapılmasını istersiniz. Bu Bash betiği, görevlerini yerine getirmek için “XE” komutunu kullanır. XE, “Xen Center” da “sağ tıklamaları” vermek için otomatik olarak eşdeğer olan Xen komut satırı arayüzüdür (CLI). Senaryoyu “zamanlama” kısmını sağlayacak olan Cron'dan arayacağız. En basit haliyle, geri yükleme akışı şöyledir:

    • silmek Sunucuda önceden var olan tüm * VM'ler
    • VM'leri yedekleme konumundaki dosyalardan içe aktar.
    • Tüm VM'lerin tek tek etkinleştirerek ve konuk araçları için kalp atışı arayarak çalıştığını doğrulayın.
    • Bir kalp atışı keşfedildiğinde veya bir zaman aşımına ulaşıldığında VM'leri kapatın.

    * Tüm VM'leri silme davranışı tamamen devre dışı bırakılabilir ve istisnaları destekler (aşağıya bakın).

    Hadi çatlayalım :)

    Senaryoyu al

    Xen-phoenix düzenli git yöntemleri kullanılarak, github'tan serbestçe elde edilebilir. Bununla birlikte, eğer git içinde henüz bilgili değilseniz, zip dosyasını bu linkten alabilirsiniz. Komut dosyasının Xen sunucularınızdan birinde çalışması gerektiğinden, yürütme izinlerinin korunabilmesi için orada ayıklamanız gerekir..

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

    Yukarıdakilerin işe yaramasına rağmen, gelecekteki güncellemelerden faydalanabilmeniz için GIT yöntemini kullanmanız önerilir..

    İhracat yeri

    VM ihracatını nereden alacağımızı yapılandırmamız gerekiyor.

    Citrix Xen'de rastgele dolaşırken, UUID'in SR'nin benzersiz tanımlayıcısı olduğu “/ var / run / sr-mount /% UUID%” altında Depolama Depolarının (SRs) kullanılabileceğini buldum. GUI'den elde edildi.

    Bunun anlamı, istediğiniz yedekleme konumuna “mount” oluşturmak için normal “Next -> Next -> Finish” sihirbazını kullanabiliriz ve ardından komut dosyasının bu yolu kullanmasını sağlayabilirsiniz (olduğu gibi komut satırından montaj ile uğraşırken) bu kılavuzun kapsamı dışında).

    Yeni bir "mount" oluşturmak için sunucu adına sağ tıklayın ve Yeni SR'yi seçin..

    Bu örnekte, Xen'i bir Windows paylaşımına işaret edeceğiz, bu nedenle “Windows Dosya Paylaşımı (CIFS)” öğesini seçin:

    İleriyi Tamamla -> İleri -> Son.

    SR'nin UUID'sini edinin

    Bir SR'nin UUID'sini edinmek için, Xen Center'daki ismine tıklamanız ve “Genel” sekmesine gitmeniz yeterlidir..

    UUID'yi kopyalamak için, sağ tıklayın ve “kopyala” yı seçin.

    Bu bilgi elinizde iken, ayar dosyasını düzenlemeye hazırsınız.

    Ayarlar dosyasını yapılandırın

    Xen-phoenix projesi bir “ayarlar” dosya şablonu ile birlikte geliyor. Bu şablon, kurulumunuzu yansıtacak şekilde düzenlenmeli ve komut dosyasına ilk argüman olarak iletilmelidir..

    Ayarlar dosyası aşağıdakileri belirtir:

    • Kaynak ihracatının yeri - Bu noktadaki rehberi izlerseniz, yalnızca% UUID% 'sini SR ile değiştirmek zorundasınız..
    • SendEmail'in konumu - E-postayı etkinleştirmeyi seçtiyseniz, perl çalıştırılabilir dosyasını buraya çıkarttığınızı girmeniz gerekir..
    • Verifier - Bu geri yükleme sonrası doğrulama prosedürünü kontrol eder. Bu, varsayılan olarak etkindir, çünkü başarılı bir "dosya seviyesi geri yükleme", işlevsel bir VM anlamına gelmez.
    • Server_prep - Bu ön geri yüklemeyi kontrol eder silme DR sunucusundaki tüm VM'lerin listesi. Bu, varsayılan olarak etkindir çünkü DR sunucusunun bu amaç için tahsis edilmiş bir sunucu olduğu varsayılmaktadır. Bu sunucuda çalışan bir VM'nin silinmemesi gerekiyorsa, hariç tutulacak şekilde yapılandırın. Bu davranış sizin durumunuza uygun değilse, tamamen devre dışı bırakın.
    • Email detayları - Yine, e-postayı etkinleştirdiyseniz, aşağıdaki gibi ayrıntıları tanımlamanız gerekir: Kime, Kimden, Sunucu Adı / IP ve vb..
    • Hata ayıklama  - Varsayılan ayar, hata ayıklamanın “0” (sıfır) değeriyle kapatılmasıdır. Bunu açmanız gerekmez, ancak yaparsanız, sorun giderme bölümünde daha fazla bilgi not edilir..

    infaz

    Bu betik, ayarlar dosyasını ilk argüman ve aranacak (boşluklarla ayrılmış) “Chevrons” gibi diğer argümanları alır. Chevronlar, VM dışa aktarma işleminde istenen dosya adının en azından bir kısmını temsil eden normal ifadeleri destekleyen "dizeler" dir..

    Yani, en basit haliyle, bir Xen-phoenix çağrısı şöyle olurdu:

    ./Xen-phoenix.sh settings.cfg DevTools

    Yukarıdaki durumda, komut dosyasını tutan dizinin içindeyiz ve ayar dosyasını ve komut dosyasının arayacağı “Chevron” ise “DevTools”. Bu, dışa aktarma dizinindeki tüm dosyaların adlarında “DevTools” dizesi bulunmasını sağlar..

    Daha karmaşık bir örnek şöyle görünebilir:

    ./Xen-phoenix.sh settings.cfg [Aa] [Dd] [Bb] [iI] [Dd] ev [Tt] ools

    Yukarıdaki örnekte, büyük harf "D" ve "T" harfleri ile yazılan "devtools" kelimesini içeren dosyalar, büyük harfle veya büyük harf olmayanların yanı sıra "AD" ve "BI" harfleri alındığında.

    Zamanlama

    Yukarıda belirtildiği gibi, yürütmeyi planlamak için Cron kullanacağız. Konfigürasyona girmeden önce, şiddetle tavsiye edilir Xen sunucunuzda önceden kurulmuş SSMTP paketini yapılandırdığınızdan Bu isteğe bağlı bir adım olsa da, bunu yapmak size bir "geri yıkama" toplayıcısı verecektir. Böyle bir “geri yıkama toplayıcısına” sahip olmak sizi betiğin yapamadığı şeyler konusunda uyarabilir.

    Aşağıdakileri düzenleyerek cron'un düzenleme moduna girin:

    crontab -e

    Yukarıdaki talimatları uyguladıysanız ve Pazar için 01:31 (1:31 AM) zamanlanmış bir yedekleme eklemek istiyorsanız, aşağıdakileri girin:

    31 01 * * güneş / kök / Xen-phoenix-master/Xen-phoenix.sh / kök / Xen- phoenix-master/settings.cfg [Aa] [DD] DB [Bb] [iI] [DD] ev [Tt ] ools

    Yukarıdakiler, betiğinizin ve ayarlarınızın her ikisinin de “/ root / Xen-phoenix-master /” altında olduğu varsayımında doğrudur..

    SendEmail'i alın (isteğe bağlı)

    SendEmail perl programı hakkında geçmişte yazdık, bu yüzden burada tekrar etmeye gerek yok. Bunu söylemek yeterli, Linux'ta Windows'ta olduğu gibi çalışıyor.

    E-postayı etkinleştirmek isteğe bağlı olsa da, komut dosyası şunları yapabileceği için şiddetle önerilir:

    • Çalışmaya başladığında ve bitmesi konusunda sizi bilgilendirir.
    • Algıladığı ve işleyebildiği hatalar konusunda sizi uyarır.

    Xen sunucusuna indirin ve ayıklayın.

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

    Çıkardığınız yeri not alın. Ayarlar dosyası için buna ihtiyacınız olacak.

    "İstisna Sil" Etiketini Tanımlama (isteğe bağlı)

    Xen-Phoenix atadan bir sayfa alır (Xen-Pocalypse) ve bir VM'yi bir kontrol TAG'ı kullanarak sistem genelinde silme işleminden ayrıntılı bir şekilde hariç tutma olanağı sağlar. Bunu yapmak için yeni bir “Özel Alan” tanımlamanız gerekir..

    Bunu yapmak için, sunucunun veya hatta bir VM'nin özelliklerini açın. Gezinti bölmesinde “Özel Alanlar” ı seçin.

    “Özel bir alan” ilk defa tanımlanırsa (yukarıdaki örnekte olduğu gibi), verileri girmek için “Phoenix_keeper” alanına sahip olmazsınız, bu nedenle oluşturmanız gerekir. Bunu yapmak için, açılan iletişim kutusundaki "Özel Alanları Düzenle" yi ve ardından "Ekle ..." düğmesini tıklayın.

    “Phoenix_keeper” adında bir “Metin” tipi alan oluşturun..

    Not: Özel alanın adı komut dosyasına "zor kodlanmıştır", bu nedenle ilgili kodu da değiştirmediğiniz sürece yukarıdaki yazımdan sapmamanız GEREKİR.

    Alan oluşturulduktan sonra görmelisiniz:

    Pencereyi kapat. Aşağıdaki resimde olduğu gibi, şimdi doldurmak için “Phoenix_keeper” alanına sahip olmalısınız..

    Şimdi, tek yapmanız gereken, bu alanı bir açıklama ile doldurmak (herhangi bir açıklama yapacak), bu da Xen-phoenix'in silinirken onu atlamasına neden olacak.

    Sorun giderme

    Senaryoyu kullanımı kolay ve mümkün olduğunca kusursuz hale getirmek için çok çaba sarf etmeme rağmen, “dünya daha büyük bir laboratuvardır”. Aşağıdaki bilgiler sorunlarınızın kaynağının ne olduğunu belirlemenize yardımcı olabilir.

    Günlüğü

    Tüm "kayıt", komut dosyasını syslog mekanizmasında çalıştıran Xen sunucusu tarafından toplanır. Bu, tabii ki, ile görülebilir:

    daha az + F / var / log / mesajlar

    “Xen-Phoenix” anahtar kelimesini arıyorsun..

    Not: Citrix, sunucularının syslog'ları için iki (2) günlük saklama politikası belirlemiştir. Postmortemler için bunu aklınızda tutmak isteyebilirsiniz..

    Hata ayıklama

    Ayarlar dosya bölümünde belirtildiği gibi, hata ayıklamayı etkinleştirmek için bir yönerge vardır. Hata ayıklamayı etkinleştirmek, betiğin konsolda ayrıntılı günlük kaydı çıktısını almasına ve ilgili bayraklar ayarlanmadıkça e-posta göndermekten ve aslında içe aktarma işlemini gerçekleştirmesine neden olur. Olası bayraklar, ayarlar dosyası şablonunda belirtilmiştir ve hata ayıklamak istediğinizi ayrıntılı bir şekilde tanımlamanızı sağlar.

    Umarım hiçbir hata ayıklamaya gerek duymazsınız ve emeğimin meyvelerini toplarsınız :)


    Sadece tüm yoksulluk, nefret ve yalanları düşün, Ve hor gördüğün her şeyin imhasını hayal et. Küllerden yavaşça, anka kuşu doğacak…