يفتح
يغلق

برنامج لعمل نسخة احتياطية من أجهزة VMware الافتراضية. نسخ احتياطي مجاني للأجهزة الافتراضية استنادًا إلى VMware ESXi. تكوين معلمات النسخ الاحتياطي للأجهزة الافتراضية

دعونا نلقي نظرة على طريقتين للنسخ الاحتياطي لأجهزة VMware الافتراضية ونقارنهما.

البيانات الأولية

يتكون مقعد الاختبار من اثنين من برامج Hypervisor ESXi على خادم Fujitsu Primergy BX2560 M2 متصلين عبر شبكة SAN (منفذين بسرعة 8 جيجابت/ثانية) وشبكة LAN (منفذين بسرعة 10 جيجابت/ثانية). ESXi وVSCA الإصدار 6.5. بالنسبة لـ ESXi، تم تقديم الأقراص بواسطة نظام التخزين Fujitsu ETERNUS DX8700 S2. كنظام تخزين احتياطي، نستخدم EMC Data Domain 6300 متصل عبر شبكة SAN (أربعة منافذ بسرعة 8 جيجابت/ثانية). لإجراء نسخة احتياطية، ومن أجل توفير الوقت، سنستخدم أداة Backup Exec الجاهزة. تم تثبيت خادم إدارة النظام على خادم HP ProLiant BL460c Gen8 الفعلي ولديه أيضًا اتصال بالشبكة عبر SAN وLAN بمنفذين.

تم إنشاء ثلاث أجهزة افتراضية للاختبار: VM1 (146 جيجا بايت)، VM2 (157 جيجا بايت)، وVM3 (284 جيجا بايت). سيبدو إجراء الاختبار كما يلي: سنقوم بإجراء نسخ احتياطي كامل لكل نظام ثلاث مرات، وبعد ذلك سنقوم بحساب متوسط ​​سرعة النسخ الاحتياطي (جيجابايت/دقيقة) لكل طريقة.

يحتوي نظام Backup Exec على أربع طرق للوصول إلى بيانات الجهاز الظاهري، بالنسبة للخادم الفعلي، فهي SAN وLAN (NBD) وNBDSSL والطريقة الرابعة، إذا تم تثبيت خادم Backup Exec على جهاز ظاهري، وهي HotAdd. دعونا نختبر الخيار عند تثبيت Backup Exec على خادم فعلي منفصل ونقارن إيجابيات وسلبيات إجراء النسخ الاحتياطية عبر شبكة SAN وشبكة LAN.

يعد إعداد Backup Exec أمرًا بسيطًا للغاية ويتكون من الخطوات التالية:

  1. حدد مهمة موجودة أو أنشئ مهمة جديدة لإجراء نسخة احتياطية من الأجهزة الافتراضية
  2. افتح الخصائص لهذه المهمة
  3. انتقل إلى علامة التبويب الأجهزة الافتراضية > القسم الفرعي VMware
  4. حدد طريقة الاتصال التي نحتاجها (يجوز تفعيل الطرق الأربعة مرة واحدة وضبط ترتيب استخدامها)


الطريقة الأولى: النسخ الاحتياطي للأجهزة الافتراضية عبر شبكة SAN


لكي يتمكن Backup Server من إجراء نسخ احتياطي لأجهزة ESXi الافتراضية عبر شبكة SAN، يجب عليه أولاً تقديم نفس رقم (أرقام) LUN التي تم تقديمها إلى ESXi. في هذه الحالة، يطلب Backup Server، باستخدام واجهة برمجة تطبيقات vStorage، معلومات من vCenter حيث يوجد LUN VMDK الخاص بالجهاز الظاهري، ويأخذ لقطة من القرص ويلتقطها عبر شبكة SAN.

نتيجة هذه التجربة متوسطة.

الطريقة الثانية: النسخ الاحتياطي للأجهزة الافتراضية عبر الشبكة المحلية (NBD)


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

نتيجة التجربة الثانية متوسطة.

الاستنتاجات والإيجابيات والسلبيات

إذا قمت بإنشاء بنية تحتية حديثة من الصفر باستخدام معدات شبكة ذات نطاق ترددي يبلغ 10 جيجابت/ثانية، فمن المرجح أن يكون استخدام النسخ الاحتياطي في وضع الاتصال بالبيانات عبر شبكة محلية (NBD) أكثر فعالية من حيث التكلفة والوقت. في حالة كون سرعة الشبكة بين ESXi وBackup Host تبلغ 1 جيجابت/ثانية، وتكون المعدات اللازمة للاتصال عبر شبكة SAN متاحة بالفعل، فإن الطريقة الأولى ستكون أكثر كفاءة وأسرع.

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

الميزة الرئيسية لإجراء النسخ الاحتياطي عبر الشبكة المحلية (LAN) هي القدرة على استخدام معدات أرخص كنظام لتخزين البيانات. وكما أظهر الاختبار، فإن بناء شبكة حديثة على معدات بسرعة 10 جيجابت/ثانية سيوفر نسخًا احتياطيًا أسرع من شبكة منطقة التخزين (SAN) بسرعة 8 جيجابت/ثانية.

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

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

المعلومات المستخدمة في المقال مأخوذة من مصادر رسمية.

لتنظيم نظام نسخ احتياطي تلقائي للأجهزة الافتراضية التي تعمل على خادم VMWare ESXi، سنستخدم أداة مساعدة مجانية MKSBackup، والذي يمكنك تنزيله (في وقت كتابة هذا التقرير، أحدث إصدار متاح هو MKSBackup 1.0.4 بتاريخ 24 يناير 2013). هذه الأداة هي نوع من الواجهة الأمامية التي تتكامل مع العديد من البرامج النصية الاحتياطية، بما في ذلك غيتوVCB(البرنامج النصي للنسخ الاحتياطي VM مكتوب بلغة Perl ويتم صيانته بواسطة المتحمسين). يتيح لك GhettoVCB إنشاء نسخ احتياطية عبر الإنترنت لتشغيل الأجهزة الافتراضية. يتم إنشاء نسخة احتياطية من جهاز VM عن طريق إنشاء لقطة منها.

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

تعد MKSBackup إحدى أدوات النسخ الاحتياطي القليلة التي تتيح لك إجراء نسخ احتياطي عبر الإنترنت للأجهزة الافتراضية. يمكن استخدام MKSBackup لإجراء نسخ احتياطي للأجهزة الافتراضية التي تعمل على كلا الإصدارين التجاريين من VMware ESXi وVMware Hypervisor المجاني. تم تطوير الأداة المساعدة في Python وهي مشتركة بين الأنظمة الأساسية. لا تحتوي الأداة المساعدة MKSBackup على واجهة رسومية، وتعمل عبر سطر الأوامر، ويتم تكوينها من خلال ملفات التكوين.

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

تثبيت البرنامج النصي للنسخ الاحتياطي MKSBackup

تكوين إعدادات النسخ الاحتياطي للجهاز الظاهري

الخطوة التالية هي تكوين إعدادات النسخ الاحتياطي للأجهزة الافتراضية التي تعمل على خادم ESXi. يتم إجراء التكوين عن طريق تحرير ملف التكوين mksbackup.ini (الموجود في المجلد C:\Magik افتراضيًا).

افتح ملف mksbackup.ini في أي محرر نصوص. يتكون هيكل الملف من عدة أقسام، اسم كل قسم محاط بين قوسين مربعين.
قسم:

في هذا القسم، يمكنك تعيين معلمات إشعارات البريد الإلكتروني. نحن لسنا مهتمين بهذا، لذلك سنتركه

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

Program=ghettovcb host=10.10.1.89 port=22 تسجيل الدخول=كلمة مرور الجذر=LI&f3ccc23 local=C:\magik\vmware global_conf=ghettoVCB.conf vm_list=vm1_https winXPtest وجهة=C:\magik\$(vm) scp_bin = "D: \Install\Putty\pscp.exe" -scp -r

دعونا نلقي نظرة فاحصة على معلمات المهمة:

برنامج- برنامج النسخ الاحتياطي، وترك ghettovcb

يستضيف– اسم/IP لمضيف ESXi الذي تعمل عليه الأجهزة الافتراضية

ميناء– منفذ الوصول (المنفذ الافتراضي 22 – بروتوكول SSH)

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

كلمة المرور– كلمة مرور المستخدم

محلي- الدليل المحلي الذي يتم فيه تخزين البرنامج النصي للنسخ الاحتياطي وتكوينه

global_conf- ملف مع إعدادات البرنامج النصي ghettoVCB

vm_list– قائمة الأجهزة الافتراضية التي تحتاج إلى إنشاء نسخة احتياطية لها. إذا كنت بحاجة إلى عمل نسخة احتياطية لجميع الأجهزة الافتراضية، فيجب ترك هذه المعلمة فارغة. إذا كنت بحاجة إلى استبعاد بعض الأجهزة الافتراضية، فاستخدم المعلمة vm_exclude.

وجهة- تتيح لك المعلمة تحديد نوع العملية التي سيتم تنفيذها. يمكن ان تكون

  • النسخ الاحتياطي – إجراء نسخة احتياطية بسيطة (لا حاجة لتحديد وجهة)
  • نسخ - إجراء نسخة احتياطية ونسخ الملفات الناتجة إلى الدليل المحدد
  • نقل - إجراء نسخة احتياطية ونقل الملفات الناتجة إلى الدليل المحدد

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

mon-sun - من المفترض أنه يمكن تنفيذ البرنامج النصي يوميًا (سنترك الأمر بهذه الطريقة، لأننا سنحدد تكرار تشغيل النسخة الاحتياطية من خلال برنامج جدولة Windows).

بالإضافة إلى ذلك، سنشير إلى الدليل الذي سيتم نقل النسخ الاحتياطية للجهاز الافتراضي إليه (C:\magik). تشير المعلمة $(vm) إلى أنه سيتم إنشاء دليل منفصل باسمه لكل جهاز ظاهري، حيث سيتم تخزين ملفات الجهاز الظاهري.

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

scp_bin- المسار إلى الأداة المساعدة scp

مهم. تأكد من تمكين برنامج SSH الخفي على خادم ESXi.

VM_BACKUP_VOLUME=/vmfs/volumes/msa2000/backup VM_BACKUP_ROTATION_COUNT=3

VM_BACKUP_VOLUME– دليل على خادم ESXi سيتم فيه حفظ نسخ الأجهزة الافتراضية (بطبيعة الحال، يجب أن تكون هناك مساحة خالية كافية على قسم VMFS)

VM_BACKUP_ROTATION_COUNT- عدد النسخ المحلية المراد تخزينها (في مثالنا، سيتم تخزين آخر 3 نسخ احتياطية)

كل ما تبقى هو استخدام الأداة المساعدة plink (المضمنة أيضًا في PuTTY) لحفظ مفتاح المضيف في ذاكرة التخزين المؤقت ssh المحلية. على سبيل المثال، مثل هذا:

PLINK.EXE [البريد الإلكتروني محمي]ليرة سورية /

تشغيل نسخة احتياطية من الأجهزة الافتراضية على مضيف VMWare ESXi

دعونا نختبر البرنامج النصي للنسخ الاحتياطي. للقيام بذلك، افتح موجه الأوامر مع حقوق المسؤول وقم بتشغيل الأمر:

C:\Magik\MKSBackup\mksbackup.exe -v -c C:\Magik\mksbackup.ini النسخ الاحتياطي VMWARE_FROM_WINDOWS

اين المفتاح -الخامسيشير إلى أنه يجب عرض المعلومات التفصيلية، المسار إلى ملف الإعدادات mksbackup.ini، دعم- يعني أنك بحاجة إلى بدء النسخ الاحتياطي، وفي النهاية تتم الإشارة إلى اسم المهمة من الملف mksbackup.ini(في مثالنا، المهمة هي VMWARE_FROM_WINDOWS).

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

يمكن تتبع عملية النسخ الاحتياطي من خلال ظهور أحداث إنشاء/حذف اللقطة في وحدة تحكم VMware vSphere.

أثناء تنفيذ البرنامج النصي، ستظهر المجلدات التي تحتوي على ملفات الجهاز الظاهري في الدليل الوجهة.

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

لنقم بإنشاء مهمة باسم "Backup ESXi"، والتي تعمل في أيام الجمعة وتقوم بتشغيل الأمر: C:\Magik\MKSBackup\mksbackup.exe -v -c C:\Magik\mksbackup.ini Backup VMWARE_FROM_WINDOWS

في إعدادات المهمة، لا تنس تحديد أنه يجب تشغيلها باستخدام حقوق المسؤول (خيار "التشغيل بأعلى الامتيازات").

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

عيوب هذه الطريقة المحددة لعمل نسخة احتياطية من الأجهزة الافتراضية:

  • سرعة النسخ الاحتياطي منخفضة إلى حد ما
  • كمية كبيرة من المساحة الحرة المطلوبة لتخزين النسخ الاحتياطية للأجهزة الافتراضية

يتم تعويض هذه العيوب بطبيعتها المجانية، لكن بالنسبة للحلول الكبيرة يفضل استخدام منتجات النسخ الاحتياطي التجارية، مثل Veeam أو HP DataProtector.

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

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

إعداد خادم ملفات يعتمد على نظام Debian Linux باستخدام QUADStor

لا تدعم سلة الأقراص الخاصة بخادم ملفات IBM System x3200 المستقبلي في التكوين الحالي أكثر من 4 محركات أقراص SAS/SATA مقاس 3.5 بوصة. مع الأخذ في الاعتبار أن وحدة التحكم في طراز الخادم هذا متواضعة جدًا أيضًا (LSI Logic SAS1064ET)، وببساطة ، يمكن فقط "التجريد" أو "النسخ المتطابق"، فسنقوم بإنشاء زوجين من الأقراص ذات نسخ متطابقة - الأول على قرصين SATA موجودين منخفضي السعة لنظام التشغيل Linux، والثاني على قرصين SATA منخفضي التكلفة مثبتين بشكل إضافي بسعة 1 تيرابايت لنظام التشغيل Linux تخزين النسخ الاحتياطية VM (للقرص الظاهري QUADStor).

لذلك، دون أي زخرفة خاصة، نقوم بتثبيت نظام التشغيل على الزوج الأول من الأقراص ذات النسخ المتطابقة ديبيان جنو/لينكس 8.6 (جيسي). نترك الزوج الثاني من الأقراص الكبيرة غير المخصصة.

دعنا ننتقل إلى التثبيت والتكوين.

إجراء التركيب كوادستورلتوزيعات Linux المختلفة تم وصفها في الوثيقةالتثبيت/الترقية على RHEL/CentOS 5.x و6.x وSLES 11 وDebian 6.x و7.x . استنادًا إلى حقيقة أننا في حالتنا نستخدم دبيان، فإننا نقوم بتثبيت الحزم المطلوبة مسبقًا:

# شقة-الحصول علىثَبَّتَ uuid-runtime build-essential sg3-utils iotop sysstat lsscsi apache2 psmisc البرامج الثابتة-qlogic linux-headers-`uname -r`

تمكين الدعم CGIلخادم الويب أباتشي:

# a2enmod cgi

إضافة قاعدة iptables، السماح بالاتصالات الواردة إلى خادم الويب وحفظ القواعد الحالية:

# iptables-A الإدخال -i eth0 -p tcp -m tcp --dport 80 -j قبول # iptables-حفظ> /etc/iptables.conf

أعد تشغيل الخادم وتأكد من بدء تشغيل خدمة خادم الويب بنجاح عند بدء تشغيل النظام:

# systemctlحالة apache2.service

الآن قم بتنزيل وتثبيت الحزمة الرئيسية تقنية التخزين الافتراضية QUADStor(خذ الرابط إلى الإصدار الحالي من الحزمة هنا:تنزيلات المحاكاة الافتراضية للتخزين ):

# mkdir~/QUADStor-ملفات # wget http://www.quadstor.com/virtentdub3z/quadstor-virt-3.2.11-debian7-x86_64.deb~/QUADStor-ملفات # com.dpkg-أنا ~/QUADStor-files/quadstor-virt-3.2.11-debian7-x86_64.deb ... جارٍ إجراء التثبيت اللاحق. يرجى الانتظار... جارٍ مزامنة حالة Quadstor.service مع sysvinit باستخدام update-rc.d... تنفيذ إعدادات /usr/sbin/update-rc.d Quadstor الافتراضية تنفيذ /usr/sbin/update-rc.d Quadstor تمكين البناء مطلوب وحدات النواة تعمل على /quadstor/bin/builditf. قد يستغرق هذا بضع دقائق. مشغلات المعالجة لـ systemd (215-17+deb8u5) ...

يجب أن يكتمل تثبيت الحزمة دون أخطاء.

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

# systemctlحالة Quadstor.service

نتحقق من الوصول إلى واجهة الويب باتباع الرابط http://(server). سيتعين على خادم الويب إعادة توجيهنا إلى الرابط http://(الخادم)/cgi-bin/system.cgi

بعد اكتمال تثبيت QUADStor، نقوم بإجراء الإعداد الأولي، والذي لا يختلف جوهريًا عنه، يسمى:

  • إعداد قيود الوصول إلى خادم الويب أباتشيوأيضًا، إذا لزم الأمر، نقوم بإعداد الدعم HTTPS;
  • انتقل إلى واجهة إدارة الويب كوادستوروخلق هناك تجمع التخزين;
  • إضافة قرص ( التخزين المادي) الخامس تجمع التخزين(في هذه الحالة، كقرص مضاف، نستخدم الزوج الثاني من الأقراص ذات النسخ المتطابقة من الأقراص الكبيرة على خادمنا، والتي يتم تقديمها في النظام كجهاز قرص واحد)؛
  • إنشاء قرص افتراضي VDisk.

بعد إنشاء القرص الظاهري QUADStor، سنقوم بتكوين الوصول إليه باستخدام البروتوكول بروتوكول iSCSI. بشكل عام، يمكن العثور على معلومات حول كيفية الوصول إلى الأقراص الافتراضية QUADStor في المستندالوصول إلى الأقراص الافتراضية (VDisks) .

وظيفي هدف بروتوكول iSCSIتنفيذها في QUADStor باستخدام الخدمة ietd، الذي يفتح في النظام برنامج التعاون الفني-المستمع على المنفذ 3260 ، لذلك نحن بحاجة iptablesإنشاء قاعدة السماح المناسبة:

# iptables-إدخال -i eth0 -p tcp -m tcp -dport 3260 -j قبول # iptables-حفظ> /etc/iptables.conf

لتعيين إعدادات تكوين iSCSI فيما يتعلق بالقرص الظاهري الذي أنشأناه، فلننتقل إلى خصائص هذا القرص في وحدة تحكم الويب QUADStor ( الأقراص الافتراضية > يُعدِّل > تكوين بروتوكول iSCSI):

هنا في الميدان IQNسنرى معرف قرص iSCSI الذي تم إنشاؤه تلقائيًا ولتقييد الوصول إلى هذا القرص، سنقوم بتعيين قيم الحقل المستخدم الواردو كلمة المرور الواردة. في هذه الحقول، سنقوم بإدخال اسم مستخدم وكلمة مرور عشوائيين سيطلبهما خادم الملفات الخاص بنا من عميل iSCSI (البادئ) عند الاتصال بالقرص الظاهري QUADStor.

توصيل قرص QUADStor بمضيف المحاكاة الافتراضية على Windows Server

بالانتقال إلى مضيف المحاكاة الافتراضية المعتمد على Hyper-V ويندوز سيرفر 2012 R2، دعونا فتح لوحة التحكموابحث عن التطبيق الصغير فيه بادئ بروتوكول iSCSI. في المرة الأولى التي تقوم فيها بالوصول إلى هذا التطبيق الصغير، سيعلمك النظام بالحاجة إلى بدء تشغيل خدمة النظام اللازمة للتشغيل الصحيح لبروتوكول iSCSI. نحن نوافق على بدء هذه الخدمة ونقلها إلى حالة البدء التلقائي عند بدء تشغيل النظام:

بعد بدء الخدمة، سيتم فتح برنامج إدارة iSCSI، حيث يوجد في علامة التبويب اكتشافدعونا نضغط على الزر اكتشف البوابةلإضافة معلومات حول خادم الملفات المعتمد على Linux

في النافذة التي تفتح، أدخل FQDNاسم أو عنوان IPخوادم Linux (اترك المنفذ الافتراضي - 3260 ) و اضغط نعم

بعد ذلك، في الجزء الجدولي من الحقل الأهداف المكتشفةيجب أن يظهر المذكور سابقًا IQNللقرص الافتراضي QUADStor الخاص بنا مع الحالة غير نشط. أي أنه تم اكتشاف القرص بنجاح على خادم Linux البعيد والآن، لتوصيل هذا القرص، سنستخدم الزر يتصل.

أضف هذا الاتصال إلى قائمة الأهداف المفضلةمن أجل إضافة القرص إلى قائمة الأقراص المتصلة تلقائيًا عند بدء تشغيل النظام، انقر فوق الزر لإعدادات اتصال القرص المتقدمة - متقدم

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

احفظ الإعدادات التي تم إجراؤها عن طريق إغلاق النوافذ بالزر نعم

إذا تم كل شيء بشكل صحيح، يجب أن تتغير حالة القرص إلى متصل.

دعنا نذهب إلى الإشارة المرجعية الأهداف المفضلةوتأكد من وجود القرص في قائمة الاتصال التلقائي عند بدء تشغيل نظام التشغيل.

عند هذه النقطة، يمكن اعتبار توصيل القرص الظاهري QUADStor عبر بروتوكول iSCSI مكتملاً. أنت الآن بحاجة إلى تهيئة هذا القرص في النظام وإنشاء قسم به نظام ملفات عليه NTFS. للقيام بذلك، دعنا نذهب إلى المعدات إدارة الأقراص(diskmgmt.msc)، حدد القرص المتصل وضعه في الحالة متصل

ثم سنقوم بتهيئة القرص - تهيئة القرص

سيُطلب منك تحديد نوع قسم القرص. نظرًا لأننا نستخدم قرصًا افتراضيًا QUADStor، فمن المحتمل أننا بمرور الوقت سنرغب في زيادة حجم القرص، وسيكون أكبر مما هو عليه الآن. اسمحوا لي أن أذكرك أنه يمكن زيادة القرص الظاهري QUADStor في أي وقت 64 تيرابايت، على الرغم من أن الحجم الفعلي للأقراص الفعلية التي يوجد عليها هذا القرص الافتراضي سيكون صغيرًا و/أو سيظل كما هو. ونظرا لحقيقة أنه في إم بي آرهناك حد لحجم محركات الأقراص المنطقية 2 تيرابايت، فمن المنطقي في حالتنا اختيار نوع الترميز جي بي تي:

بعد تهيئة القرص وإنشاء جدول الأقسام عليه، سنقوم بإنشاء قسم بنظام ملفات على هذا القرص NTFS

لنقم بتعيين حرف منفصل لهذا القرص، على سبيل المثال E:\، وننتظر حتى تكتمل عملية التنسيق، والتي قد تستغرق بعض الوقت، اعتمادًا على حجم القرص.

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

تثبيت الإصدار المجاني Veeam Backup 9.5

للنسخ الاحتياطي للأجهزة الافتراضية Hyper-V سوف نستخدم البرنامج Veeam النسخ الاحتياطي الإصدار المجاني 9.5، والذي سيسمح لنا بإنشاء نسخة احتياطية كاملة من VM دون إيقاف تشغيله.

يمكنك التعرف على الميزات الرئيسية لهذا المنتج من المستندنظرة عامة على المنتج.

يمكن العثور على متطلبات النظام عن طريق تنزيل المستندملاحظات الإصدار.

اتفاقية ترخيص المستخدم النهائي متاحة هنااتفاقية ترخيص برنامج المستخدم النهائي Veeam .

احدث اصدار 9.5.0.711 ، متوفر حاليا، يمكن تحميلهمن موقع فييم .

ملف الصورة VeeamBackup&Replication_9.5.0.711.isoحجمه 1.5 جيجابايت بعد التنزيل، نقوم بنسخه إلى مضيف المحاكاة الافتراضية الخاص بنا استنادًا إلى Windows Server وتثبيته في النظام. على سبيل المثال، باستخدام بوويرشيليمكنك القيام بذلك مثل هذا:

جبل القرص صورة -ImagePath " C:\Temp\VeeamBackup&Replication_9.5.0.711.iso"

على القرص المثبت، قم بتشغيل برنامج التثبيت Setup.exe، وقراءة اتفاقية الترخيص وقبولها، وانقر فوق التالي

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

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

في الخطوة التالية، دون تغيير مجموعة المكونات المراد تثبيتها، انقر مرة أخرى التالي

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

سنرى هنا شاشة ملخص للإعدادات الحالية التي سيتم تثبيت التطبيق بها. إذا قمت بتمكين الخيار اسمحوا لي أن أحدد إعدادات مختلفة، فيمكن تغيير كافة الإعدادات المحددة قبل بدء عملية التثبيت الفعلية. على سبيل المثال، بدلاً من المثيل الافتراضي المسمى SQL خادم 2012 اكسبرس، يمكنك تحديد التثبيت في مثيل موجود لـ SQL Server، أو تغيير اسم قاعدة البيانات، أو حساب الخدمة، أو موقع الدليل، أو أرقام المنافذ. في معظم الحالات، يمكنك ترك الإعدادات المقترحة في التكوين الافتراضي والنقر فوق ثَبَّتَ.

أثناء عملية التثبيت، سيتم نشر مثيل مسمى على مضيف المحاكاة الافتراضية الخاص بنا مايكروسوفت SQL خادم 2012 SP3هيئة التحرير يعبر(VEEAMSQL2012) وسيتم إنشاء قاعدة بيانات VeeamBackup فيه. دعنا ننتظر حتى تكتمل عملية التثبيت.

تسجيل مضيف افتراضي باستخدام Veeam Backup

في نهاية عملية التثبيت، قم بتشغيل الاختصار من سطح المكتب أو قائمة البدء Veeam النسخ الاحتياطي والنسخ المتماثل وحدة التحكم. نحن نستخدم كخادم اتصال مضيف محليوالمنفذ الافتراضي 9392 . دعونا نمكن خيار استخدام بيانات اعتماد المستخدم الحالي استخدم مصادقة جلسة Windowsوانقر يتصل

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

في معالج إضافة الخادم الذي يفتح، أدخل اسم FQDN لخادمنا...

يتحرك يكتبحدد نوع خادم Hyper-V. في حالتنا، هذا مضيف يعمل بشكل منفصل - مستقل

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

انقر التاليوانتظر حتى اكتمال تكوين Veeam Backup ومضيف المحاكاة الافتراضية المتصل

بعد إغلاق معالج إضافة المضيف، يجب أن تعرض وحدة تحكم Veeam Backup قائمة بالأجهزة الافتراضية الموجودة على المضيف المُضاف.

يمكنك الآن الانتقال إلى التحقق من وظيفة النسخ الاحتياطي للأجهزة الافتراضية باستخدام Veeam Backup.

التحقق من النسخ الاحتياطي VM في Veeam Backup

على القرص الذي قمنا بتوصيله مسبقًا عبر بروتوكول iSCSI، سنقوم بإنشاء دليل حيث سيتم وضع نسخ احتياطية كاملة من الأجهزة الافتراضية المصنوعة من Veeam Backup. في حالتنا، سيكون هذا هو الدليل E:\VMBackups.

ثم في وحدة التحكم Veeam Backup، حدد بعض الأجهزة الافتراضية واستدعاء عنصر القائمة الخاص بها VeeamZIP

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

سيكون إطلاق مهمة النسخ الاحتياطي مصحوبًا بنافذة معلومات تحتوي على مؤشرات حالة المهمة التي يتم تنفيذها.

أثناء النسخ الاحتياطي، سنكون أيضًا قادرين على رؤية ما هو موجود في وحدة التحكم مدير هايبر-Vيفترض الجهاز الظاهري الحالة المناسبة.

ونتيجة لتنفيذ مهمة النسخ الاحتياطي، سيتم إنشاء نسخة احتياطية كاملة للجهاز الافتراضي في الدليل الذي حددناه على شكل ملف بالامتداد VBK. يرتبط هذا النوع من الملفات بالنظام مع Veeam Backup ومن خلال النقر المزدوج عليه، سيتم تشغيل وحدة التحكم Veeam Backup تلقائيًا وسيتم فتح نموذج فيه، يمكنك من خلاله، إذا لزم الأمر، إجراء عملية استعادة كل من الجهاز الظاهري بأكمله والملفات الفردية داخل VM ( الاسترداد الفوري على مستوى الملف).

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

أتمتة تشغيل النسخ الاحتياطية VM

يمكنك الحصول على مساعدة عبر الإنترنت بخصوص أوامر cmdlets لـ Veeam Backup PS هناVeeam Backup & Replication 9.5 - مرجع PowerShell . وبرنامج PowerShell الجاهز الذي يستغل أوامر Veeam Backup cmdlets، على وجه الخصوصابدأ-VBRZip ، يمكننا أن نجد في المقالالإصدار المجاني من Veeam Backup: الآن مع PowerShell! . لقد قمت بتعديل هذا البرنامج النصي قليلاً لإضافة القدرة على الإعلام عبر البريد الإلكتروني فقط في حالة حدوث خطأ ما أثناء عملية النسخ الاحتياطي.

# ############################ المتغيرات المحددة بواسطة المستخدم ################### # ######### أسماء الأجهزة الافتراضية المطلوب نسخها احتياطيًا مفصولة بفاصلة (إلزامية). على سبيل المثال، $VMNames = "VM1"،"VM2"$VMNames = "KOM-AD01-WS305" ، "KOM-AD01-DEV03"# اسم الأجهزة الافتراضية المضيفة لـ Hyper-V المراد النسخ الاحتياطي عليها (إلزامي)$HostName = "KOM-AD01-VM14"# الدليل الذي يجب أن تنتقل إليه النسخ الاحتياطية للجهاز الافتراضي (إلزامي؛ على سبيل المثال، C:\Backup)دليل $ = "E:\VMBackups"# مستوى الضغط المطلوب (اختياري؛ القيم المحتملة: 0 - لا شيء، 4 - إزالة التكرار، 5 - الأمثل، 6 - مرتفع، 9 - شديد)مستوى الضغط $ = 0# Quiesce VM عند التقاط لقطة (اختياري؛ أدوات VMware مطلوبة؛ القيم المحتملة: $True/$False)$EnableQuiescent = $True# حماية النسخة الاحتياطية الناتجة باستخدام مفتاح التشفير (اختياري؛ $True/$False)$EnableEncryption = $False# مفتاح التشفير (اختياري؛ المسار إلى سلسلة آمنة)$مفتاح التشفير = ""# إعدادات الاستبقاء (اختياري؛ افتراضيًا، لا تتم إزالة ملفات VeeamZIP ويتم الاحتفاظ بها في الموقع المحدد لفترة زمنية غير محددة. # القيم المحتملة: أبدًا، الليلة، TomorrowNight، In3days، In1Week، In2Weeks، In1Month)الاحتفاظ بالدولار = "في أسبوع واحد"# ############################ إعدادات الإشعار #################### ## ######## تمكين الإخطار (اختياري) # القيم المحتملة: 0 - لا شيء، 1 - التحذيرات والأخطاء فقط، 2 - جميع الإشعارات$EnableNotification = " 1 "$SMTPServer = "KOM-SMTP.holding.com"$البريد الإلكتروني من = " [البريد الإلكتروني محمي] " $البريد الإلكتروني = " [البريد الإلكتروني محمي] " $EmailSubject = "إشعار النسخ الاحتياطي لـ VEEAM"# ############################ تنسيق البريد الإلكتروني #################### ## #######نمط $ = " " # ############################ المتغيرات المحددة بواسطة المستخدم النهائي ################## #### ##########Asnp VeeamPSSnapin$Server = Get-VBRServer -name $HostName$MesssagyBody =@() foreach ($VMName في $VMNames) ( $VM = Find-VBRHvEntity -Name $VMName -Server $Serverإذا ($EnableEncryption) ($EncryptionKey = إضافة-VBREncryptionKey -كلمة المرور (القط $EncryptionKey | تحويل إلى SecureString) $ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory -Compression $CompressionLevel -DisableQuiesce:(! $EnableQuiescent) -AutoDelete $Retention -EncryptionKey $EncryptionKey } آخر( $ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory -Compression $CompressionLevel -DisableQuiesce:(! $EnableQuiescent) -AutoDelete $Retention } إذا ($EnableNotification -in " 1 " ، " 2 ") ( $TaskSessions = $ZIPSession.GetTaskSessions().logger.getlog().updatedrecords$FailedSessions = $TaskSessions | حيث ( $_ .status -eq "EWarning" - أو $_ .Status -eq "EFailed") إذا ($FailedSessions -ne $Null) ( $MesssagyBody = $MesssagyBody + ($ZIPSession | Select-Object @(n = " Name " ;e = (($_ .name).Substring(0 , $_ .name.LastIndexOf(" (" ))) ) ,@(n = " وقت البدء " ;e = ( $_ .وقت الإنشاء)),@(n = " وقت الانتهاء " ;e = ( $_ .EndTime))),النتيجة,@(n = " التفاصيل " ; e = ($FailedSessions.العنوان)))) ) آخر { $MesssagyBody = $MesssagyBody + ($ZIPSession | Select-Object @(n = " Name " ;e = (($_ .name).Substring(0 , $_ .name.LastIndexOf(" (" )))) , @(n = " وقت البدء " ;e = ( $_ .وقت الإنشاء)),@(n = " وقت الانتهاء " ;e = ( $_ .وقت النهاية))),النتيجة,@(n = " التفاصيل " ;e = (($TaskSessions | فرز وقت الإنشاء -تنازلي | حدد -أولاً 1.Title)))) ) ) ) إذا ($EnableNotification -in " 1 " ، " 2 ") ( إذا (($EnableNotification -eq " 1 " ) - و ($FailedSessions -eq $Null)) (خروج) آخر( $Message = New-Object System.Net.Mail.MailMessage $EmailFrom، $EmailTo$Message .Subject = $EmailSubject$Message .IsBodyHTML = $True$message .Body = $MesssagyBody | تحويل إلى HTML -head $style | خارج السلسلة$SMTP = كائن جديد Net.Mail.SmtpClient ($SMTPServer) $SMTP .إرسال($Message) } }

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

& "C:\Tools\VeeamZip.ps1"

سيعرض البرنامج النصي قيد التشغيل حالة مهمة إنشاء نسخة احتياطية من الأجهزة الافتراضية:

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

powershell.exe-NoProfile -الأمر "C:\Tools\VeeamZip.ps1"

يمكن اعتبار إعداد النسخ الاحتياطي مكتملاً.

التحقق من النتيجة

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

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

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

نسخة احتياطية مجانية للأجهزة الافتراضية المعتمدة على VMware ESXi

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

لإعداد نظام نسخ احتياطي كامل، نحتاج إلى:

  • NFSخادم لتخزين الملفات.
  • الاتصال عبر سشإلى إي إس إكس آي؛
  • النصي ghettoVCB.shتمت إضافته إلى خادم ESXi (إلى جذر أو مجلد النسخة الاحتياطية المستقبلية). ويتم ذلك من خلال سفتببأي طريقة مناسبة لك، على سبيل المثال، FileZilla؛
  • نحن نعطي حقوق تنفيذ النص المنسوخ؛

الآن دعونا ننظر إلى كل نقطة بمزيد من التفصيل. لزيادة الأداء والتسامح مع الأخطاء لخادم الملفات/خادم النسخ الاحتياطي، فمن الأفضل استخدام RAID10. في هذه الحالة، يُفضل نظام التشغيل Linux (Debian وUbuntu و"المريح بالنسبة لك") ونظام الملفات. XFS، لأن في هذا التكوين، ستكون سرعة الكتابة (الأولوية الرئيسية للنسخ الاحتياطي السريع) أعلى.

لقد حصلنا عليه بالفعل، ولكن يمكنك أيضًا القيام بكل شيء فيه عميل vSphere: التكوين > البرامج > ملف تعريف الأمان > الخصائص... > الدعم الفني عن بعد (SSH) > الخيارات... > البدء أو الإيقاف.

دعنا ننتقل إلى تكوين البرنامج النصي ghettoVCB.shالمعلمات الرئيسية التي نحتاجها:

VM_BACKUP_VOLUME - المسار إلى مجلد النسخ الاحتياطي، في حالتي /vmfs/volumes/datastore1/backup
DISK_BACKUP_FORMAT - تنسيق القرص الرفيع هو الأفضل للنسخ الاحتياطي
VM_BACKUP_ROTATION_COUNT - عدد النسخ الاحتياطية المخزنة (لكل جهاز افتراضي)، لدي 3
ADAPTER_FORMAT - نوع المحول، في حالتي - lsilogic

المعلمات المتبقية مسؤولة عن نسخ الملفات عبر الشبكة وإشعارات البريد الإلكتروني. تم وصف معلمات التكوين الأكثر تفصيلاً على موقع المطور!

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

  • انتقل إلى المجلد الذي يحتوي على البرنامج النصي - cd /ghettovcb أو النسخ الاحتياطي
  • السادس vmlist
  • اضغط على "a" وأدخل أسماء الأجهزة الافتراضية (كل اسم في سطر جديد)
  • اضغط على "esc" ولحفظ التغييرات - ":wq" (بدون حفظ ":q")

لنقم بتشغيل البرنامج النصي:

  • ./ghettovcb.sh -a -l ./log.txt - ابدأ في نسخ جميع الأجهزة وكتابة ملف سجل في نفس الدليل
  • ./ghettovcb.sh -f ./vmlist -l ./log.txt - يبدأ في نسخ الأجهزة المحددة في ملف vmlist، ويتم حفظ السجلات في نفس الدليل
  • ./ghettovcb.sh -f ./vmlist -g ./ghettovcb.conf -l ./log.txt - مشابه، فقط باستخدام ملف .conf

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

من أجل إضافة خط ليتم تشغيله وفقًا لجدول زمني (في cron)، تحتاج إلى تحرير الملف "/etc/rc.local.d/local.sh" عن طريق القيام بما يلي:

  • انتقل إلى الدليل /etc/rc.local.d/local.sh
  • chmod u+w local.sh
  • افتح الملف باستخدام محرر - vi local.sh
  • تمكين تحرير المفاتيح "i" أو "insert".
  • أضف ما يلي قبل سطر الخروج 0:

/bin/kill $(cat /var/run/crond.pid)
/bin/echo 0 20 * * * /vmfs/volumes/datastore/script/ghettoVCB.sh -a -l /vmfs/volumes/backup/log/log.txt >> /var/spool/cron/crontabs/root
/bin/crond

  • في الوقت نفسه، نشير إلى الجدول الزمني (يشار إلى الوقت بالتوقيت العالمي المنسق، أي لـ MSK -3 ساعات)، أي. "00 20 * * * "
  • اضغط على "esc" واحفظ - "Shift+:" و"wq"
  • في النهاية نقوم بتنفيذ chmod u-w local.sh

وبالتالي، في الساعة 23:00 بتوقيت موسكو، سيتم نسخ ملفات الجهاز الظاهري احتياطيًا. في حالتنا، سيكون هناك 3 نسخ متبقية.

إعداد نسخة احتياطية لـ ESXi عبر ghettoVCB.shمكتمل.

اختبار صغير:
الشبكة المحلية - جيجابت.
للتخزين المحلي (أجهزة RAID 10 من 4 أقراص سعة 10 كيلو بايت) - "time dd if=/dev/zero of=/vmfs/volumes/datastore/temp bs=1M count=1K" 8 ثوانٍ.
على وحدة تخزين "linux" (برنامج RAID 0 من 3 أقراص سعة 7.5 كيلو بايت) - "time dd if=/dev/zero of=/vmfs/volumes/linbackup/temp bs=1M count=1K" 12 ثانية.
على وحدة تخزين Windows (أجهزة RAID 5 من 10 أقراص سعة 10 كيلو بايت) - "time dd if=/dev/zero of=/vmfs/volumes/winbackup/temp bs=1M count=1K" دقيقة واحدة و44 ثانية (أنا مصدوم) .

النتائج تتحدث عن نفسها. نعم، يحتوي تخزين الفوز على RAID 5، ولكن من غير المرجح أن يكون هو المسؤول الوحيد عن هذه النتيجة.

لقد قمنا بفرز نظام التخزين، والآن نحن بحاجة إلى أتمتة النسخ الاحتياطي. أفضل أداة مجانية هي البرنامج النصي ghettoVCB، لاستخدامه تحتاج إلى الوصول إلى مضيف ESXi عبر SSH. كما اتضح، هناك طريقة بسيطة للغاية لتمكين وتعطيل الوصول مباشرة من عميل vShere: التكوين > البرنامج > ملف تعريف الأمان > الخصائص... > الدعم الفني عن بعد (SSH) > الخيارات... > البدء أو الإيقاف. أعتقد أنه سيكون أكثر وضوحًا من خلال لقطات الشاشة هذه:

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

فيما يلي المعلمات الرئيسية:

VM_BACKUP_VOLUME - المسار إلى مجلد النسخ الاحتياطي، في حالتي /vmfs/volumes/linbackup
DISK_BACKUP_FORMAT - تنسيق القرص الرفيع هو الأفضل للنسخ الاحتياطي
VM_BACKUP_ROTATION_COUNT - عدد النسخ الاحتياطية المخزنة (لكل جهاز افتراضي)، لدي 2
ADAPTER_FORMAT - نوع المحول، لدي lsilogic

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

لذلك، تم نسخ البرنامج النصي إلى وحدة التخزين المحلية، والاتصال عبر ssh، ونقل البرنامج النصي إلى مكان أقرب إلى الجذر، على سبيل المثال إلى /ghettovcb/ghettovcb.sh، إذا لم تكن بحاجة إلى النسخ الاحتياطي لجميع الأجهزة الافتراضية، فأنت بحاجة إلى إنشاء ملف ملف يحتوي على قائمة بالأجهزة الافتراضية التي سيتم نسخها احتياطيًا:
مؤتمر نزع السلاح /ghettovcb
السادس vmlist
اضغط على "a"، أدخل أسماء الأجهزة الافتراضية، كل منها في سطر جديد، اضغط على "esc" ولحفظ التغييرات ":wq" أو للخروج دون حفظ ":q"

يجب أن تكون فواصل الأسطر "\n"؛ عند حمل "\r\n" سيولد البرنامج النصي خطأ، لذا لا ينبغي عليك إنشاء قائمة في "المفكرة" ثم نسخها إلى وحدة التخزين إذا لم تستخدم "Notepad+" أو EmEditor مطلقًا ولا تفعل ذلك. لا أعرف ما هو "\n" و"\r\n" - من الأفضل إنشاء قائمة في vi.

دعنا نحاول تشغيل البرنامج النصي:

./ghettovcb.sh -f ./vmlist -l ./log.txt

./ghettovcb.sh -f ./vmlist -g ./ghettovcb.conf -l ./log.txt
يعمل البرنامج النصي، وينتج الكثير من المعلومات، إذا رأينا في نهاية الإخراج "###### الحالة النهائية: تم نسخ جميع الأجهزة الافتراضية احتياطيًا بشكل جيد ######"، فكل شيء على ما يرام، وإلا فإننا نقرأ log.txt واكتشف ما لم نفعله.
الآن نحن بحاجة إلى إنشاء جدول زمني للنسخ الاحتياطية.
cd /var/spool/cron/crontabs
chmod u+w root
الجذر السادس
اضغط على "a"، واكتب الجدول الزمني، فقط ضع في اعتبارك أن الوقت محدد بالتوقيت العالمي المنسق (UTC)، أي. بالنسبة لموسكو، هذا هو التوقيت المحلي ناقص ثلاث ساعات
00 20 * * * /ghettovcb/ghettovcb.sh -f /ghettovcb/vmlist -l /vmfs/volumes/linbackup/logs/`date +%F`.txt
أو إذا قمت بإنشاء ملف التكوين
00 20 * * * /ghettovcb/ghettovcb.sh -f /ghettovcb/vmlist -g /ghettovcb/ghettovcb.conf -l /vmfs/volumes/linbackup/logs/`date +%F`.txt
اضغط على "esc" ثم احفظ ":wq"
قيد التوقيف
chmod u-w root

الآن سيتم إطلاق البرنامج النصي كل يوم في تمام الساعة 20:00 بالتوقيت العالمي (23:00 بتوقيت موسكو)، وسيتم حفظ سجلات تنفيذه للتخزين في مجلد السجلات، وهو سجل منفصل لكل يوم.

وفقًا للسجلات، يستغرق عمل نسخة احتياطية حوالي 4 ساعات، وحسبت السرعة - حوالي 4 جيجابايت في الدقيقة، أي. حوالي 70 ميجابايت في الثانية، وهذا ليس سيئًا على الإطلاق. مساحة تخزين تبلغ 2.7 تيرابايت كافية لتخزين نسختين من كل جهاز افتراضي، وهذا يكفي تمامًا، بالإضافة إلى وجود مساحة خالية متبقية، وهي ضرورية لأن... أولاً، يتم عمل نسخة احتياطية ثالثة، ولا يتم حذف النسخة الأقدم إلا بعد إنشائها.
حسنًا، شيء آخر ضد تخزين "Windows" - حاولت عمل نسخ احتياطية باستخدام برنامج نصي عليه، وسقط التخزين ببساطة، وانتهى البرنامج النصي نفسه بخطأ. أفهم أن بيت القصيد هو أن تسجيل NFS تم تكوينه بشكل غير صحيح، لكن الإعدادات كانت افتراضية ولم أرغب حقًا في فهم "الضبط".

كانت التجربة ناجحة، ويمكنك شراء خادم به أقراص جيدة، ومن المقرر أن يكون RAID 10 بسعة 5 تيرابايت، وهذا يجب أن يكون كافيًا للأجهزة الافتراضية المستقبلية.

العلامات: إم وير، vsphere، esxi، النسخ الاحتياطي، النسخ الاحتياطي