Kredit Foto: Ryan McCurdy via Compfight cc
Seperti yang telah kami sebutkan di “Cara Mem-Backup Citrix Xen VMs Gratis dengan Xen-pocalypse“, salah satu hal yang menyenangkan di Citrix Xen adalah banyak fiturnyabebas biaya. Dengan demikian, jika Anda menginginkan fitur "Perlindungan VM otomatis dan pemulihan", Anda harus mulai membayar untuk lisensi "Muka". Sekali lagi, bukan berarti kami di HTG mengabaikan nilai solusi cadangan yang sebenarnya, tetapi jika Anda memiliki anggaran yang ketat, telah mendapatkan gambar VM dari hypervisor dan membutuhkan cara untuk mengotomatisasi " test restore "/" DR refresh "prosedur, Anda mungkin menemukan Xen-Phoenix menjadi solusi yang masuk akal sebelum Anda membuat komitmen anggaran.
Ikhtisar
"Use case": Anda memiliki beberapa VM yang memerlukan pemulihan. Mengimpor di "Xen Center" menggunakan klik kanan berfungsi dengan baik, tetapi Anda ingin proses ini terjadi secara otomatis dan sesuai jadwal. Skrip Bash ini menggunakan perintah "XE" untuk menjalankan tugasnya. XE adalah antarmuka baris perintah Xen (CLI), otomatis setara untuk mengeluarkan "klik kanan" di "Xen Center". Kami akan memanggil skrip dari Cron yang akan menyediakan bagian "penjadwalan". Dalam bentuknya yang paling sederhana, alur pemulihannya adalah:
- Menghapus semua * VM yang sudah ada sebelumnya di server
- Impor VM dari file di lokasi cadangan.
- Verifikasi bahwa semua VM dapat dioperasikan dengan mengaktifkannya satu per satu dan mencari detak jantung alat tamu.
- Matikan VM ketika detak jantung telah ditemukan, atau batas waktu telah tercapai.
* Hapus semua perilaku VM dapat dinonaktifkan sepenuhnya dan mendukung pengecualian (lihat di bawah).
Ayo dapatkan cracking:)
Dapatkan skripnya
Xen-phoenix dapat dengan bebas diperoleh dari github, menggunakan metode git biasa. Dengan demikian, jika Anda belum menguasai git, Anda dapat mengambil file zip dengan tautan ini. Karena skrip perlu dijalankan di salah satu server Xen Anda, Anda harus mengekstraknya di sana agar izin eksekusi dipertahankan.
wget https://github.com/aviadra/Xen-phoenix/archive/master.zip unzip master
Sementara hal di atas akan berhasil, Anda disarankan untuk menggunakan metode GIT sehingga Anda dapat memperoleh manfaat dari pembaruan di masa mendatang.
Lokasi ekspor
Kita perlu mengkonfigurasi dari mana untuk mengambil ekspor VM.
Sementara secara acak mengaduk-aduk Citrix Xen, saya telah menemukan bahwa Storage Repositories (SRs) tersedia untuk digunakan di bawah "/ var / run / sr-mount /% UUID%" di mana UUID adalah pengidentifikasi unik dari SR, yang dapat diperoleh dari GUI.
Ini berarti kita dapat menggunakan wizard "Next -> Next -> Finish" biasa untuk membuat "mount" ke lokasi backup yang diinginkan, dan kemudian memiliki skrip yang menggunakan path tersebut (sebagaimana disarankan untuk mengacaukan pemasangan dari baris perintah yang di luar ruang lingkup panduan ini).
Untuk membuat "mount" baru, klik kanan nama server dan pilih SR Baru.
Dapatkan UUID SR
Untuk mendapatkan UUID SR, cukup klik namanya di Pusat Xen dan buka tab "Umum".
Konfigurasikan file Pengaturan
Proyek Xen-phoenix hadir dibundel dengan template file "pengaturan". Template ini harus diedit untuk mencerminkan pengaturan Anda dan lulus sebagai argumen pertama pada skrip.
File pengaturan menunjukkan yang berikut:
- Lokasi ekspor sumber - Jika Anda telah mengikuti panduan ke titik ini, Anda hanya perlu mengganti% UUID% dengan SR seperti yang diperoleh dari atas.
- Lokasi SendEmail - Jika Anda memilih untuk mengaktifkan Email, Anda perlu memasukkan di mana Anda telah mengekstrak perl dieksekusi di sini.
- Verifier - Ini mengontrol prosedur verifikasi pasca-pemulihan. Ini diaktifkan secara default, karena "pemulihan tingkat file" yang sukses tidak perlu berarti VM fungsional.
- Server_prep - Ini mengontrol pra-pemulihan penghapusan dari semua VM pada server DR. Ini diaktifkan secara default karena diasumsikan bahwa server DR adalah server khusus untuk tujuan ini. Jika Anda membutuhkan VM yang berjalan di server ini agar tidak dihapus, konfigurasikan untuk dikecualikan. Jika perilaku ini tidak cocok untuk situasi Anda, cukup nonaktifkan sepenuhnya.
- Detail email -Sekali lagi, jika Anda telah mengaktifkan email, Anda perlu menentukan detail seperti: Ke, Dari, Servername / IP & dll '.
- Debugging - Standarnya adalah melakukan debugging dengan nilai “0 ″ (nol). Anda tidak perlu mengaktifkan ini, tetapi jika Anda melakukannya, informasi lebih lanjut dicatat dalam segmen pemecahan masalah.
Eksekusi
Script ini mengambil file pengaturan sebagai argumen pertama dan argumen lainnya sebagai "Chevrons" untuk mencari (dipisahkan oleh spasi). Chevron, adalah "string", yang mendukung ekspresi reguler yang mewakili setidaknya sebagian dari nama file yang diinginkan dari ekspor VM.
Artinya, dalam bentuk yang paling sederhana, sebuah pemanggilan Xen-phoenix akan terlihat seperti:
./Xen-phoenix.sh settings.cfg DevTools
Di mana dalam kasus di atas, kita berada di dalam direktori yang memegang script & file pengaturan dan "Chevron" skrip yang akan dicari adalah "DevTools". Ini akan menyebabkan semua file di direktori ekspor dengan string "DevTools" di nama mereka untuk diimpor.
Contoh yang lebih rumit dapat terlihat seperti:
./Xen-phoenix.sh settings.cfg [Aa][Dd] [Bb][iI] [Dd]ev[Tt]ools
Di mana pada contoh di atas, file yang berisi kata "devtools" dieja dengan huruf kapital "D" dan "T" atau non-kapital, serta "AD" &"BI" dengan atau tanpa kapitalisasi, akan diimpor.
Penjadwalan
Seperti disebutkan di atas, kami akan menggunakan Cron untuk menjadwalkan eksekusi. Sebelum kita masuk ke konfigurasi, itusangat dianjurkan Anda mengkonfigurasi paket SSMTP yang sudah diinstal di server Xen Anda. Meskipun ini merupakan langkah opsional, tindakan ini akan memberi Anda kolektor "backwash". Memiliki "pengumpul backwash" seperti itu dapat mengingatkan Anda pada hal-hal yang skrip tidak dapat lakukan.
Masuk ke mode pengeditan cron dengan menerbitkan:
crontab -e
Jika Anda telah mengikuti petunjuk di atas dan Anda ingin menambahkan cadangan terjadwal untuk hari Minggu pukul 01:31 (01:31), masukkan di bawah ini:
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
Di atas benar dengan asumsi skrip Anda dan file pengaturan keduanya di bawah "/ root / Xen-phoenix-master /".
Dapatkan SendEmail (opsional)
Kami telah menulis tentang program perl SendEmail di masa lalu, jadi tidak perlu mengulangi di sini. Cukuplah untuk mengatakan, ia bekerja dengan cara yang sama di Linux seperti halnya pada Windows.
Meskipun mengaktifkan email adalah opsional, sangat disarankan karena skrip akan dapat:
- Memberitahu Anda kapan mulai & selesai berjalan.
- Beri tahu Anda tentang kesalahan apa pun yang dapat dideteksi dan ditangani.
Unduh ke server Xen dan ekstrak.
wget https://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar xvzhf sendEmail-v1.56.tar.gz
Perhatikan lokasi tempat Anda mengekstraknya. Anda akan membutuhkannya untuk file pengaturan.
Menentukan "Hapus Pengecualian" Tag (opsional)
Xen-Phoenix mengambil halaman dari leluhurnya (Xen-Pocalypse) dan memberi Anda kemampuan untuk secara granular mengecualikan VM dari penghapusan seluruh sistem menggunakan TAG kontrol. Untuk melakukan ini, Anda perlu menentukan "Bidang Kustom" baru.
Untuk melakukan ini, buka server atau bahkan properti VM. Di panel navigasi, pilih "Bidang Kustom".
catatan: Nama bidang khusus telah "dikodekan keras" ke dalam skrip, jadi Anda TIDAK HARUS menyimpang dari ejaan di atas, kecuali Anda mengubah kode yang relevan juga.
Setelah bidang dibuat, Anda akan melihat:
Penyelesaian masalah
Meskipun saya berusaha keras membuat skrip mudah digunakan dan sesederhana mungkin, "dunia adalah laboratorium yang lebih besar". Informasi di bawah ini dapat membantu Anda memastikan apa sumber masalah Anda.
Logging
Semua "logging" dikumpulkan oleh host Xen menjalankan skrip dalam mekanisme syslog. Ini, tentu saja, dapat dilihat dengan:
less +F /var/log/messages
Anda mencari kata kunci "Xen-Phoenix".
Catatan: Citrix telah menetapkan kebijakan penyimpanan dua (2) hari untuk syslog servernya. Anda mungkin ingin mengingatnya untuk postmortem.
Debugging
Seperti yang tercatat di segmen file pengaturan, ada petunjuk untuk mengaktifkan debugging. Mengaktifkan debugging akan menyebabkan script untuk menampilkan pencatatan log verbose ke konsol dan mengebornya dari mengirim email dan benar-benar melakukan impor, kecuali bendera yang relevan juga ditetapkan. Flag-flag yang memungkinkan dicatat dalam template file pengaturan, dan mereka memungkinkan Anda untuk menentukan secara rinci apa yang ingin Anda debug.
Ini adalah harapan saya bahwa Anda tidak memerlukan debugging apa pun dan Anda sedang menuai hasil kerja saya:)
Coba pikirkan semua kemiskinan, kebencian dan kebohongan, Dan bayangkan kehancuran semua yang Anda benci. Perlahan-lahan dari abu, phoenix akan muncul …