13Jul

Xen-Phoenix( Bash) ile Citrix-Xen VM'lerini Nasıl Geri Yükleme

Hiçbir felaket kurtarma( DR) çözümü için Citrix-Xen VM'lerinizi toplu olarak geri yüklemenize gerek yoksa yedeklemelerinizin çalışıp çalışmadığını test ettiniz mi? HTG, VM'nin geri yüklenmesi için ücretsiz bir bash komut dosyası olan Xen-Phoenix'i nasıl kullanacağınızı açıklıyor.

Fotoğraf Kredisi: Rafael McCurdy, Compfight cc

aracılığıyla "Citrix Xen VM'leri Xen-pocalypse ile Yedekleme Nasıl Yapılır" bölümündeki gibi, Citrix Xen'in en güzel şeylerinden birçoğunun içermeyen 'si olmasışarj etmek. Bununla birlikte, "Otomatik VM koruma ve kurtarma" özelliğini istiyorsanız, "Advance" lisansı için ödeme yapmaya başlamanız gerekecek. Yine, HTG'de gerçek bir yedekleme çözümünün değerini atmak değil, sıkı bir bütçeyle iseniz, zaten VM görüntülerini hipervizörden aldınız ve "test yenileme "/" DR yenileme "prosedürlerine bakarsanız, bütçe taahhüdünü yerine getirmeden önce Xen-Phoenix'i mükemmel bir makul çözüm olarak görebilirsiniz.

Genel Bakış

"use case": Bir geri yükleme gerektiren birkaç VM'ye sahipsiniz. Sağ tıklamaları kullanarak "Xen Merkezi" ne içe aktarmak işinize yarıyor, ancak bu işlemi otomatik olarak ve zamanlamayla yapmak istiyorsunuz. Bu Bash komut dosyası görevlerini yerine getirmek için "XE" komutunu kullanır. XE, "Xen Merkezi" ndeki "sağ tıklamalar" ı vermek için otomatik olarak eşdeğer olan Xen komut satırı arabirimidir( CLI).Cron'dan "çizelgeleme" kısmını tedarik edecek senaryoyu arayacağız. En basit şekliyle geri yükleme akışı:

  • 'yi silin sunucuda daha önce var olan tüm VM'ler
  • VM'leri yedekleme konumundaki dosyalardan içe aktarın.
  • Tüm VM'lerin tek tek etkinleştirilmesi ve konuk araçları kalp atış araması yapılarak çalıştırılabildiğini doğrulayın.
  • Bir kalp atışı keşfedildiğinde veya bir zaman aşımına erişildiğinde VM'leri kapatın.

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

Çatırtı alalım:)

Senaryoyu

olarak edinin Xen-phoenix, git git yöntemlerini kullanarak github'dan özgürce elde edilebilir. Dedi ki, git henüz usta değilseniz, bu bağlantı ile zip dosyası kapmak olabilir. Komut dosyası Xen sunucularından birinde çalıştırılması gerektiği için yürütme izinlerinin korunması için komut dosyasını ayıklamanız gerekir.

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

Yukarıdaki işlemler devam ederken gelecekteki güncellemelerden yararlanabilmeniz için GIT yöntemini kullanmanız önerilir.

İhracat yeri

VM ihracatının nereden alınacağını yapılandırmamız gerekiyor.

Citrix Xen'de rasgele çalkantı yaparken Depolama Depolarının( SR) "/var/run/ sr-mount /% UUID%" altında kullanıma sunulduğunu keşfettim; burada UUID, SR'nin benzersiz tanımlayıcısıdır;GUI.

Bu, normal "Sonraki - & gt;Sonraki - & gt;Finish "sihirbazını kullanarak" yedekleme "yi istenen yedekleme konumuna getirin ve betiğin bu yolu kullanmasını sağlayın( bu kılavuzun kapsamı dışındaki komut satırından montaj yapmakla karıştırmayın).

Yeni bir "montaj" oluşturmak için, sunucu adını sağ tıklatın ve Yeni SR'yi seçin.

Bu örnekte, Xen'i bir Windows paylaşımına yönlendiriyoruz, bu nedenle "Windows Dosya Paylaşımı( CIFS)" seçeneğini seçin:

İleri'yi tamamlayın - & gt;Sonraki - & gt;Bitiş.

SR'nin UUID'si

'yi edinin Bir SR'nin UUID'sini edinmek için, Xen Merkezi'ndeki adını tıklamanız ve "Genel" sekmesine gitmeniz yeterlidir.

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

Bu bilgileri el altında tutarak, ayarlar dosyasını düzenlemeye hazırsınız demektir.

Ayarlar dosyasını yapılandırma

Xen-phoenix projesi, bir "ayarlar" dosyası şablonu ile birlikte gelir. Bu şablon, kurulumunuzu yansıtacak şekilde düzenlenmeli ve komut dosyasına ilk argüman olarak aktarılmalıdır.

Ayarlar dosyası aşağıdakileri belirtir:

  • Kaynak dışa aktarımının yeri - Bu noktaya giden kılavuzu izlediyseniz, yalnızca% UUID% değerini, SR'ler ile yukarıdaki gibi değiştirmeniz gerekir.
  • SendEmail'in konumu - E-postayı etkinleştirmeyi seçtiyseniz, burada yürütülebilir dosyayı ayıkladığınız yeri girmeniz gerekir.
  • Doğrulayıcı - Bu, post geri yükleme doğrulama prosedürünü kontrol eder. Başarılı bir "dosya seviyesi geri yüklemesi" gerekli olmadığı için işlevsel bir VM olduğu varsayılan olarak etkindir.
  • Server_prep - Bu, DR sunucusundaki tüm VM'lerin öncesi geri yükleme silme 'sini denetler. Bu, DR sunucusunun bu amaç için ayrılmış bir sunucu olduğu varsayıldığı için varsayılan olarak etkindir. Bu sunucudaki bir VM'ye silinmeyecek şekilde ihtiyaç duyuyorsanız, hariç tutulacak şekilde yapılandırın. Bu davranış sizin durumunuz için uygun değilse, tamamen devre dışı bırakın.
  • E-posta ayrıntıları - Yine, e-postayı etkinleştirdiyseniz, şunlar gibi ayrıntıları tanımlamanız gerekir: Kime, Kimden, Sunucu adı / IP &vb'.
  • Hata Ayıklama - Varsayılan değer "0"( sıfır) değeri ile hata ayıklamanın kapalı olmasıdır. Bunu açmanız gerekmez, ancak yaparsanız, sorun giderme bölümünde daha fazla bilgi not edilir.

Yürütme

Bu komut ayarları dosyasını ilk argümanı ve diğer tüm bağımsız değişkenleri aramak için "Chevrons"( boşluklarla ayırarak) olarak alır. Chevrons, "ip" ler olup VM ihracatının istenen dosya adının en azından bir bölümünü temsil eden düzenli ifadeleri desteklemektedir.

Bu, en basit biçiminde, Xen-phoenix'in bir çağrısı şöyle görünecektir:

. /Xen-phoenix.sh settings.cfg DevTools

Yukarıdaki durumda, komut dosyasını &ayar dosyası ve senaryonun arayacağı "Chevron" "DevTools" dır. Bu, dışa aktarma dizinindeki tüm dosyaların "DevTools" dizesiyle adlarına aktarılmasına neden olur.

Daha karmaşık bir örnek aşağıdaki gibi görünebilir:

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

Yukarıdaki örnekte,"devtools" sözcüğü bir "D" ve "T" harfleriyle veya sermaye olmayan kelimelerle ve "AD" &Büyük harf kullanımı olsun olmasın "BI" ithal edilecektir.

Çizelgeleme

Yukarıda belirtildiği gibi yürütmeyi zamanlamak için Cron kullanacağız. Yapılandırmaya geçmeden önce, kurulu SSMTP paketini Xen sunucunuzda yapılandırdığınızdan şiddetle önerilir. Bu isteğe bağlı bir adım olsa da, bunu yapmak size bir "geri yıkama" toplayıcı verecektir. Böyle bir "geri yıkama toplayıcısı" bulundurmanız, senaryonun yapamadığı şeyleri uyarabilir.

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

crontab -e

Yukarıdaki talimatları uyguladıysanız ve pazar günü 01: 31'de( 1:31 AM) zamanlanmış bir yedek koymak istiyorsanız, şunu giriniz:

31 01 * *sun /root/ Xen-phoenix-master / Xen-phoenix.sh /root/ Xen-phoenix-master / settings.cfg [Aa] [Dd] DB [Bb] [iI] [Dd] ev [Tt] ools

Yukarıdaki doğru varsayılaraksenaryo ve ayarlar dosyanızın her ikisi de "/root/ Xen-phoenix-master /" altındadır.

SendEmail edinin( isteğe bağlı)

Geçmişte SendEmail perl programını yazdık, burada tekrarlamaya gerek yoktur. Söylemeniz yeterli, Windows'da olduğu gibi Linux'ta da aynı şekilde çalışıyor.

E-postayı etkinleştirmek isteğe bağlı olmasına rağmen, betik şu işlemleri gerçekleştirebileceğinden şiddetle tavsiye edilir:

  • Ne zaman başladığını bildiren &Koşu bitti.
  • Algılayıp işleyebildiği hatalar hakkında sizi uyarır.

Xen sunucusuna indirin ve çıkarın.

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

Ayıkladığınız konumu not edin. Ayarlar dosyası için ihtiyacınız olacak.

"Delete Exception" Etiketini Tanımlama( isteğe bağlı)

Xen-Phoenix, bir atadan( Xen-Pocalypse) bir sayfa alır ve size bir kontrol TAG'ı kullanarak bir VM'yi sistem çapında silinmeden ayrıntılı olarak hariç tutma olanağı verir. 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. Gezinme bölmesinde, "Özel Alanlar" ı seçin.

Eğer ilk kez( yukarıdaki örnekte olduğu gibi) bir "özel alan" tanımladıysanız, verileri girmek için "Phoenix_keeper" alanı olmaz, dolayısıyla onu oluşturmanız gerekir. Bunu yapmak için açılan iletişim kutusundaki "Özel Alanları Düzenle" yi tıklayın, ardından "Ekle. .." ye tıklayın

"Phoenix_keeper" ismiyle bir "Metin" türü alan oluşturun.

Not: Özel alanın adı komut dosyasına "sabit kodlanmış" olduğundan, ilgili kodu da değiştirmedikçe, yukarıdaki yazımından sapmamalısınız ZORUNLU.

Bir kez alan oluşturulduktan sonra şunu görmelisiniz:

Pencereyi kapatın.Şimdi, aşağıdaki resimde olduğu gibi dolduracak "Phoenix_keeper" alanına sahip olmalısın.

Şimdi, yapmanız gereken tek şey, bu alanı bir açıklama ile doldurmaktır( herhangi bir açıklama yapacaktır), bu da Xen-phoenix'in silinirken atlamasına neden olacaktır.

Sorun Giderme

Senaryoyu mümkün olduğunca kolay ve kusursuz yapmak için çok çaba sarf ederken, "dünya daha büyük bir laboratuardır".Aşağıdaki bilgiler, sorunlarınızın kaynağının ne olduğunu saptamanıza yardımcı olabilir.

Günlük Oluşturma

Tüm "günlük kaydı", komut dosyasını syslog mekanizması içerisinde çalıştıran Xen ana makinası tarafından toplanır. Bu elbette şu ile izlenebilir:

az + F /var/log/ mesajları

Anahtar kelimesi "Xen-Phoenix" arıyor.

Not: Citrix, sunucularının syslog'u için iki( 2) günlük bir saklama politikası belirledi. Bunu postmortemler için akılda tutmak isteyebilirsiniz.

Hata Ayıklama

Ayar dosyası bölümünde belirtildiği gibi hata ayıklamayı etkinleştirmek için bir yönerge var. Hata ayıklamayı etkinleştirmek, komutun ayrıntılı işaretleri konsola yazdırması ve ilgili bayraklar da ayarlanmadığı sürece e-postaları göndermeden ve gerçekte içe aktarmayı gerçekleştirmesini önleyecektir. Muhtemel bayraklar, ayarlar dosyası şablonunda belirtilir ve ne hata ayıklamak istediğinizi ayrıntılı olarak tanımlamanıza izin verirler.

Umudum, herhangi bir hata ayıklamaya ihtiyacınız olmadığı ve emeğin meyvelerini alıyor olduğunuz:)

Sadece yoksulluk, nefret ve yalanları düşünün ve nefret ettiğiniz her şeyin yıkılmasını hayal edin. Yavaşça küllerden gelen anka kuşu doğacak. ..