هل سبق لك أن احتجت إلى نسخ احتياطي للأجهزة الافتراضية Citrix Xen (VMs) ولكنك لا تريد كسر البنك للقيام بذلك؟ يحتوي HTG على نص bash فقط من أجلك مع Xen-pocalypse.



مصدر الصورة ح. كوبديلاني و عالق في العرف و Hotfortech.

أحد الأشياء الرائعة في Citrix Xen هو أن العديد من ميزاته مجانا للشحن. مع ذلك ، إذا كنت تريد ميزة الحماية التلقائية واسترداد الجهاز الظاهري ، فسيتعين عليك البدء في الدفع مقابل الترخيص المسبق. حتى مع ذلك ، فأنت تدفع فقط مقابل النسخ الاحتياطية على مستوى القرص ، والتي لا تكفي لأنواع كثيرة من أحمال العمل مثل الدليل النشط وقواعد البيانات وما إلى ذلك. للتغلب على ذلك ، قد ترغب في الحصول على لقطة للذاكرة الحية والعودة ، والتي يمكن أن تحفظ حالة الجهاز بالكامل ، بما في ذلك محتويات ذاكرة الوصول العشوائي. ومع ذلك ، تعد هذه الميزة جزءًا من إصداري Enterprise و Platinum ، وهما أكثر تكلفة. ليس الأمر أننا في HTG نرفض قيمة برنامج نسخ احتياطي حقيقي ، ولكن إذا كنت تستخدم ميزانية محدودة ولا تمانع في بعض الوقت الضائع لعملية النسخ الاحتياطي ، فقد تجد Xen-pocalypse حلاً معقولاً تمامًا قبل أن تلتزم بالميزانية.

ملخص

حالة الاستخدام: لديك زوجان من الأجهزة الافتراضية التي تتطلب نسخة احتياطية. إن إيقاف تشغيل VM وتصديره كملف من Xen Center باستخدام النقرات اليمنى يعمل بشكل جيد ، لكنك تريد أن تحدث هذه العملية تلقائيًا ووفقًا لجدول زمني. يستخدم نص Bash هذا الأمر XE لأداء واجباته. XE هي واجهة سطر أوامر Xen (CLI) ، المكافئ التلقائي لإصدار النقرات الصحيحة في Xen Center. سنقوم باستدعاء النص من كرون والتي ستوفر جزء الجدولة. في أبسط أشكاله ، يكون تدفق النسخ الاحتياطي هو:

  • قم بإيقاف تشغيل الجهاز الظاهري المستهدف.
  • قم بتصدير الجهاز الظاهري كملف إلى موقع النسخ الاحتياطي.
  • إذا تم تشغيل الجهاز الظاهري ، قبل بدء النسخ الاحتياطي ، فسيتم إعادة تشغيله.

فلنسرع :)

الحصول على النص

Xen-pocalypse يمكن الحصول عليها بحرية من جيثب باستخدام طرق git العادية. مع ذلك ، إذا لم تكن كذلك ضليع في بوابة حتى الآن ، يمكنك الحصول على ملف مضغوط بامتداد هذا الرابط . نظرًا لأن البرنامج النصي يحتاج إلى التشغيل على أحد خوادم Xen الخاصة بك ، فيجب عليك استخراجه هناك حتى يتم الاحتفاظ بأذونات التنفيذ.

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

بينما يعمل ما سبق ، يُنصح باستخدام طريقة GIT ، حتى تتمكن من الاستفادة من التحديثات المستقبلية.

الحصول على SendEmail (اختياري)

لقد كتبنا عن برنامج SendEmail perl في الماضي ، لذلك لا داعي للتكرار هنا. يكفي القول ، إنه يعمل بنفس الطريقة على Linux كما يعمل على Windows.

الإعلانات

في حين أن تمكين البريد الإلكتروني اختياري ، فإنه يوصى به بشدة لأن النص سيكون قادرًا على:

  • أبلغك بوقت بدء تشغيله وانتهائه.
  • تنبيهك إلى أي أخطاء كان قادرًا على اكتشافها ومعالجتها.
  • الإبلاغ عن عمليات استبعاد النسخ الاحتياطي بسبب مشكلات تتعلق بالمساحة. (يمكن تعطيل هذا السلوك إذا لم يكن ذلك مطلوبًا)

قم بتنزيله على خادم Xen واستخرجه.

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

لاحظ الموقع الذي قمت باستخراجه منه. سوف تحتاجه لملف الإعدادات.

كيفية تجعيد كابل إيثرنت

تحديد العلامات

يمنحك Citrix Xen القدرة على تكوين الحقول المخصصة لإمكانيات التصفية. سننشئ الحقول ثم نملأها بالمعلومات التي يستخدمها Xen-pocalypse. يتعرف Xen-pocalypse على 3 عناصر تحكم TAGs والتي تحدد اسم العلامة للنسخ الاحتياطي والعلاقات بين الوالدين والأبناء. إذا كنت لا تنوي استخدام طريقة إدخال الملف ، فيجب عليك إنشاء حقل اسم علامة النسخ الاحتياطي على الأقل.

للقيام بذلك ، افتح خصائص الخادم أو حتى خصائص الجهاز الظاهري. في جزء التنقل ، حدد الحقول المخصصة.

إذا كانت هذه هي المرة الأولى التي تحدد فيها علاقة (كما في المثال أعلاه) ، فلن يكون لديك أي حقول لإدخال البيانات فيها ، لذلك تحتاج إلى إنشائها. للقيام بذلك ، انقر فوق تحرير الحقول المخصصة في مربع الحوار المنبثق ، انقر فوق إضافة ...

الإعلانات

قم بإنشاء ثلاثة (3) حقول نوع النص. سيُطلق على أحدهما اسم BackupTAG والآخرون باسم Parent and Children.

ملحوظة: تم ترميز أسماء الحقول المخصصة في البرنامج النصي بشكل ثابت ، لذلك يجب ألا تحيد عن التهجئة أعلاه ، إلا إذا قمت بتغيير الشفرة ذات الصلة أيضًا.

بمجرد إنشاء جميع الحقول ، يجب أن ترى:

أغلق النافذة ، يجب أن يكون لديك الآن حقول BackupTAG و Parent و Children لتعبئتها ، كما في الصورة أدناه.

الآن كل ما عليك فعله هو تحديد الأجهزة الافتراضية التي تنتمي إلى BackupTAG.
على سبيل المثال ، في الشركة حيث تم تطوير البرنامج النصي ، كان لدينا أجهزة افتراضية يتم نسخها احتياطيًا أسبوعيًا يومي الخميس والجمعة ، وهو جدول زمني لدينا أتلاسيان منتج VMs وبعض الأجهزة التي كان من المقرر نسخها احتياطيًا شهريًا فقط. لذلك بدت نظرة عامة لدينا كما يلي:

حيث كان على سبيل المثال النص الذي قمنا بإدخاله في حقل BackupTAG المخصص. أنيق ، أليس كذلك؟ :)

الآباء والأطفال (اختياري)

الجمال الحقيقي لهذا النص هو أنه يدعم العلاقات بين الوالدين والأبناء. وهذا يعني أنه من الممكن تعيين قائمة الأجهزة الافتراضية الخاصة التابعة للطفل والتي سيتم إيقاف تشغيلها ونسخها احتياطيًا قبل الوالدين ، ولن يتم إعادة تشغيل هؤلاء الأطفال إلا بمجرد انتهاء الوالد من النسخ الاحتياطي وتشغيله مرة أخرى. هذا مفيد في الحالات التي يؤدي فيها إيقاف تشغيل الجهاز الظاهري الأصلي إلى عدم توفر الخدمة في الطفل. مثل هذا الشيء قد يعني أن الخدمة على الجهاز الظاهري للطفل لن تكون متاحة مرتين ، مرة لعملية النسخ الاحتياطي للطفل ومرة ​​للوالدين. إنشاء هذه العلاقة يتغلب على تلك المشكلة.

الإعلانات

على سبيل المثال ، استخدمت جميع أجهزة Atlassian الافتراضية الخاصة بنا جهاز ظاهري واحد لقاعدة البيانات (DB) ، والذي تم تعيينه أيضًا ليتم نسخه احتياطيًا. لذلك من خلال ملاحظة أن DB VM هو أحد الوالدين للآخرين VMs ، يمكن ضمان الترتيب الصحيح للإغلاق -> النسخ الاحتياطي -> بدء التشغيل.

في وقت كتابة هذا التقرير ، تحتوي هذه الوظيفة على بعض المحاذير:

  1. لا يمكن أن تحتوي أسماء الأجهزة الظاهرية التي يجب أن يكون لها مثل هذه العلاقة على مسافات. سيتعين عليك إزالة المسافات من أسماء الأجهزة الافتراضية الخاصة بك ، لأنها ستكون محددة بمسافة ، كما في المثال أدناه.
  2. يمكن أن يكون هناك واحد فقط الأبوين. لم يتم التخطيط حتى لتعيين أكثر من واحد ، ناهيك عن الاختبار.

لإنشاء هذه العلاقة ، انتقل إلى خصائص VM. إذا كان هذا أحد الوالدين ، فاكتب من هم أطفاله ، وإذا كان هذا طفلًا ، فاكتب من يكون والديه. فمثلا:

الفتحة تقاس في ماذا

ملحوظة: قد يتسبب عدم تعيين أحد الوالدين للطفل في بدء تشغيل الطفل قبل أن يكون والده جاهزًا ، وقد يؤدي إلى نسخه احتياطيًا مرتين.

طريقة FILE (اختياري)

لأسباب تاريخية ، يدعم Xen-pocalypse أيضًا الحصول على قائمة VMs ليتم نسخها احتياطيًا كملف نصي. بينما لا يزال الرمز موجودًا ، تكون الوظيفة شديدة أدنى إلى طريقة TAGs وبالتالي لا يوصى به. مع ذلك ، إذا كنت تفضل استخدام طريقة القائمة لسبب ما ، فسيتم تطبيق القيود التالية:

  1. لا يمكن أن تحتوي أسماء VMs على أي مسافات أو أحرف خاصة.
  2. يمكن أن يكون هناك اسم VM واحد فقط في كل سطر.
  3. غير مسموح بخطوط فارغة.

لإنشاء القائمة ، قم إما بنسخ اسم الجهاز الظاهري من مركز Xen ، أو التنفيذ على مضيف Xen:

xe vm-list | grep name-label | awk '{ print }' | sort

انسخ القائمة أعلاه إلى ملف نصي عادي.

موقع النسخ الاحتياطي

أثناء البحث بشكل عشوائي في Citrix Xen ، وجدت أن ملف مستودعات التخزين (SRs) متاحة للاستخدام ضمن / var / run / sr-mount /٪ UUID٪ حيث يكون UUID هو المعرف الفريد لـ SR ، والذي يمكن الحصول عليه من واجهة المستخدم الرسومية.

الإعلانات

هذا يعني أنه يمكننا استخدام التالي العادي -> التالي -> معالج الإنهاء لإنشاء التثبيت إلى موقع النسخ الاحتياطي المطلوب ، ثم جعل البرنامج النصي يستخدم هذا المسار (كما هو الحال مع العبث بالتصعيد) من سطر الأوامر ) ، ولكن القيام بذلك يتجاوز نطاق هذا الدليل.

لإنشاء تحميل جديد ، انقر بزر الماوس الأيمن فوق اسم الخادم وحدد SR الجديد.

في هذا المثال سنوجه Xen إلى a مشاركة النوافذ ، لذلك اختر Windows File Sharing (CIFS):

أكمل التالي -> التالي -> إنهاء.

احصل على UUID الخاص بـ SR

للحصول على UUID الخاص بـ SR ، ما عليك سوى النقر فوق اسمه في Xen Center والانتقال إلى علامة التبويب 'عام'.

لنسخ UUID ، ما عليك سوى النقر بزر الماوس الأيمن فوقه واختيار نسخة.

الإعلانات

مع وجود هذه المعلومات في متناول اليد ، فأنت جاهز لتحرير ملف الإعدادات.

تكوين ملف الإعدادات.

يأتي مشروع Xen-pocalypse مرفقًا مع قالب ملف الإعدادات. يجب تحرير هذا النموذج ليعكس الإعداد الخاص بك وتمريره كأول وسيط للنص. يعيّن ملف الإعدادات ما يلي:

طريقة للحصول على نسخة احتياطية من VMs - الطريقة الافتراضية هي TAGs. يمكنك تغيير هذا إلى FILE ، لكن هذا غير مستحسن.

الموقع من وجهة النسخ الاحتياطي - إذا كنت قد اتبعت الدليل إلى هذه النقطة ، فما عليك سوى استبدال٪ UUID٪ بـ SR كما تم الحصول عليه من أعلى.

موقع SendEmail - إذا اخترت تمكين البريد الإلكتروني ، فأنت بحاجة إلى إدخال مكان استخراج ملف perl القابل للتنفيذ هنا.

تفاصيل البريد الإلكتروني - مرة أخرى ، إذا قمت بتمكين البريد الإلكتروني ، فأنت بحاجة إلى تحديد تفاصيل مثل: إلى ، ومن ، واسم الخادم / IP وما إلى ذلك.

الإعلانات

ضغط - يتم تعيين هذا على لا افتراضيًا ، لأنه أثناء تمكينه سينتج ملف نسخ احتياطيًا أصغر ، سيؤدي أيضًا إلى تشغيل إجراء النسخ الاحتياطي لفترة زمنية أطول بكثير.

تحقق من وجود مساحة خالية في الوجهة - سيؤدي هذا إلى التحقق من البرنامج النصي من أن عمل نسخة احتياطية لجهاز VM لن يتسبب في انخفاض المساحة الخالية لموقع النسخ الاحتياطي إلى أقل من 10 غيغابايت. يتم ذلك لضمان إجراء نسخ احتياطي لأكبر قدر من الأجهزة الافتراضية بدلاً من جهاز افتراضي واحد كبير جدًا. يتم الحساب باستخدام إجمالي حجم القرص الإجمالي لجميع محركات الأقراص الصلبة المرتبطة بـ VM.

تصحيح - الإعداد الافتراضي هو إيقاف تشغيل تصحيح الأخطاء بالقيمة 0 (صفر). لن تحتاج إلى تشغيل هذا ، ولكن إذا قمت بذلك ، فسيتم تدوين المزيد من المعلومات في قسم استكشاف الأخطاء وإصلاحها.

أفضل طريقة لإرسال الصور

التنفيذ / الجدولة

في أبسط أشكالها ، قد يبدو استدعاء Xen-pocalypse كما يلي:

./Xen-backup.sh settings.cfg weekly-fri

في الحالة المذكورة أعلاه ، نحن داخل الدليل الذي يحتوي على البرنامج النصي وملف الإعدادات. العلامة التي سيبحث عنها البرنامج النصي هي أسبوعيًا.

كما هو مذكور أعلاه ، سوف نستخدم كرون لجدولة التنفيذ. قبل أن ندخل في التكوين ، هو كذلك ينصح به بشده انه انت تكوين حزمة SSMTP المثبتة بالفعل على خادم Xen الخاص بك. في حين أن هذه خطوة اختيارية ، فإن القيام بذلك سيمنحك أداة تجميع الغسيل العكسي. قد ينبهك وجود أداة تجميع الغسيل العكسي إلى أشياء يتعذر على النص البرمجي القيام بها.

أدخل في تحرير كرون أكثر عن طريق إصدار:

crontab -e

إذا اتبعت الإرشادات أعلاه وتريد إضافة نسخة احتياطية مجدولة ليوم الجمعة الساعة 18:01 (6:01 مساءً) ، فأدخل ما يلي:

01 18 * * fri /root/Xen-pocalypse-master/Xen_Backup.sh /root/Xen-pocalypse-master/settings.cfg weekly-fri

الإعلانات

ما ورد أعلاه صحيح على افتراض أن البرنامج النصي وملف الإعدادات موجودان ضمن / root / Xen-pocalypse-master /.

استكشاف الأخطاء وإصلاحها

على الرغم من أنني بذلت الكثير من الجهد في جعل النص البرمجي سهل الاستخدام ومضمونًا قدر الإمكان ، فإن العالم أصبح معملًا أكبر. قد تساعدك المعلومات الواردة أدناه على التأكد من مصدر مشاكلك .

تقدم

قد ترغب في استخدام هذه الخطوط الملاحية المنتظمة لمشاهدة جميع المهام قيد التقدم بسرعة ، لمعرفة ما إذا كانت تتقدم بالفعل على الإطلاق أو ما إذا كانت عالقة بالفعل.

while [ -e /dev/null ]; do for VM in '$( xe task-list | grep uuid | awk '{print }' )' ; do xe task-param-get param-name=progress uuid=$VM ;sleep 1; done; done

للتوقف عن المشاهدة ، استخدم Ctrl + C لكبح حلقة while.

تسجيل

يتم جمع كل عمليات التسجيل بواسطة مضيف Xen الذي يقوم بتشغيل البرنامج النصي في ملف آلية سجل النظام . يمكن مشاهدة هذا بالطبع من خلال:

less +F /var/log/messages

أنت تبحث عن الكلمة الرئيسية Xen-pocalypse.

ملاحظة: قامت Citrix بتعيين سياسة استبقاء لمدة يومين (2) لسجل النظام لخوادمها. قد ترغب في وضع ذلك في الاعتبار عند تشريح الجثة.

ما يتم تشغيله كمسؤول

تصحيح

الإعلانات

كما هو مذكور في مقطع ملف الإعدادات ، هناك توجيه لتمكين التصحيح. سيؤدي تمكين تصحيح الأخطاء إلى قيام البرنامج النصي بإخراج تسجيل مطول إلى وحدة التحكم وإبعاده عن إرسال رسائل البريد الإلكتروني وتنفيذ عمليات التصدير فعليًا ، ما لم يتم تعيين العلامات ذات الصلة أيضًا. يتم تدوين العلامات المحتملة في قالب ملف الإعدادات وتمكنك من تحديد ما تريد تصحيحه بدقة.

آمل أنك لم تكن بحاجة إلى أي تصحيح أخطاء وأنك تجني ثمار عملي :)


اقتحام يا رجلي ، أنت على وشك أن تصبح المخادع الأول ...

اقرأ التالي
  • & [رسقوو] ؛ كيفية استعادة Citrix-Xen VMs مجانًا باستخدام Xen-Phoenix (Bash)
  • & [رسقوو] ؛ ما هو MIL-SPEC Drop Protection؟
  • & [رسقوو] ؛ مجلد الكمبيوتر هو 40: كيف أنشأت شركة Xerox Star سطح المكتب
  • & [رسقوو] ؛ الدالات مقابل الصيغ في Microsoft Excel: ما الفرق؟
  • & [رسقوو] ؛ Cyber ​​Monday 2021: أفضل العروض التقنية
  • & [رسقوو] ؛ 5 مواقع ويب يجب على كل مستخدم Linux وضع إشارة مرجعية عليها
  • & [رسقوو] ؛ كيفية البحث عن ملف Spotify 2021 الخاص بك