Pernahkah Anda perlu mengembalikan VM Citrix-Xen untuk solusi pemulihan bencana (DR), atau hanya untuk menguji apakah cadangan Anda berfungsi? HTG menjelaskan cara menggunakan Xen-Phoenix, skrip bash gratis, untuk pemulihan VM.
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.
"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:
* Hapus semua perilaku VM dapat dinonaktifkan sepenuhnya dan mendukung pengecualian (lihat di bawah).
Ayo dapatkan cracking :)
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.
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.
Dalam contoh ini, kita akan mengarahkan Xen ke share Windows, jadi pilih "Windows File Sharing (CIFS)":
Lengkapi Berikutnya -> Berikutnya -> Selesai.
Dapatkan UUID SR
Untuk mendapatkan UUID SR, cukup klik namanya di Xen Center dan buka tab "General".
Untuk menyalin UUID, cukup klik kanan dan pilih "copy".
Dengan informasi ini di tangan, Anda siap untuk mengedit 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:
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.
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 "backwash collector" seperti itu dapat mengingatkan Anda pada hal-hal yang skripnya tidak bisa.
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 /".
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:
Unduh ke server Xen dan ekstrak.
wget http://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.
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".
Jika ini adalah pertama kalinya Anda mendefinisikan "bidang khusus" (seperti pada contoh di atas), Anda tidak akan memiliki bidang "Phoenix_keeper" untuk memasukkan data, jadi Anda perlu membuatnya. Untuk melakukan ini, klik "Edit Bidang Kustom" di kotak dialog yang muncul, lalu klik "Tambah ..."
Buat bidang jenis "Teks" dengan nama "Phoenix_keeper".
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:
Menutup jendela. Anda sekarang harus memiliki bidang "Phoenix_keeper" untuk mengisi, seperti pada gambar di bawah ini.
Sekarang, yang harus Anda lakukan adalah mengisi bidang ini dengan ucapan (komentar apa pun yang akan dilakukan), yang akan menyebabkan Xen-phoenix untuk melewatinya saat menghapus.
Meskipun saya telah 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 belum membutuhkan debugging 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 ...