VMware هي واحدة من الشركات الرائدة في عالم تكنولوجيا المعلومات في توفير حلول الظاهرة، ويعتبر نظام Linux أحد أنظمة التشغيل الأكثر موثوقية في تشغيل الخوادم. يشرح هذا المقال التدويني أهمية نسخ احتياطي لخادم Linux وكيفية تحويل خادم Linux الفعلي إلى آلة ظاهرية (VM) تعمل على مضيف ESXi في vSphere. يتم التعامل مع طريقتين مختلفتين لتحويل Linux إلى VMware P2V على سبيل المثال باستخدام Ubuntu 18.
الطريقة الأولى – باستخدام VMware vCenter Converter
VMware vCenter Converter Standalone هو تطبيق مجاني يمكن تثبيته على نظام Windows لتحويل الآلات الفعلية لنظام التشغيل Windows، والآلات الفعلية لنظام Linux، وآلات Hyper-V VMs، وآلات VMware VMs، وآلات تعمل تحت Red Hat KVM أو RHEL XEN. تشمل أنواع الوجهات المدعومة: آلات لمضيف ESXi غير المُدار؛ آلات لمضيف ESXi المُدار بواسطة خادم vCenter؛ آلات لـ VMware Workstation؛ آلات لـ VMware Fusion.
تم شرح كيفية تحويل آلة Hyper-V VM إلى آلة VMware VM تقع على مضيف ESXi في هذا المقال التدويني.
مبدأ العمل
المرحلة الأولى. يقوم محول VMware بالاتصال بجهاز Linux المصدر عبر SSH ويسمح لك باختيار المكونات التي سيتم نسخها، مثل الأقراص الظاهرية والأقسام. ووفقًا للمكونات المحددة من جهاز Linux الفعلي والإعدادات المُكونة لآلة VM الوجهة، سيقوم المحول بإنشاء VM مساعد.
المرحلة الثانية. عند تحديد جميع المكونات الضرورية وتكوين إعدادات الشبكة لآلة VM المساعدة، يقوم محول VMware بإنشاء VM مساعدة على مضيف ESXi الوجهة ومستودعات البيانات. ثم، يبدأ المحول في تشغيل VM المساعدة التي تقوم بالتمهيد من صورة ISO لآلة VM المساعدة، وينسخ جميع البيانات الضرورية من جهاز Linux المصدر إلى VM الوجهة التي تحمل حالة VM المساعدة حتى انتهاء عملية التحويل.
A helper VM is deployed from the Linux-based ISO image stored on the file system of the Windows machine on which the converter is installed. The location of converter-helper-vm.iso and converter-helper-vm-x64.iso files used to boot a helper VM on an ESXi host is “C:\Program Files (x86)\VMware\VMware vCenter Converter Standalone\” by default.
بعد نسخ البيانات إلى VM الهدف، يمكن إعادة تكوين VM بواسطة محول VMware إذا تم اختيار الخيارات المناسبة لوظيفة التحويل.
متطلبات النظام
هناك بعض المتطلبات التي يجب تلبيتها لأداء تحويل VMware P2V Linux باستخدام محول VMware:
- A physical machine running Linux must be powered on.
- يجب أن يكون هناك مضيف ESXi مشغَّل ويمكن الوصول إليه عبر الشبكة. يجب أن يكون بإمكان عميل وخادم vCenter Converter Standalone الوصول إلى بعضهما البعض. منافذ TCP 22، 443، 902 تُستخدم بشكل افتراضي للتواصل عبر الشبكة.
- يجب استخدام محمّل التمهيد GRUB على الجهاز اللينكسي الفعلي الذي سيتم تحويله. لا يتم دعم LILO.
- يجب إخراج أقراص البيانات البصرية من مشغلات الأقراص البصرية.
- يجب تكوين خادم SSH على الجهاز اللينكسي الفعلي (الجهاز المصدر).
ملاحظة: يمكن تثبيت خادم SSH على أوبونتو لينكس باستخدام الأمر:
apt-get install openssh-server
يمكن تكوين الوصول عن بعد للمستخدم بكلمة المرور عبر SSH عن طريق تحرير ملف sshd_config:
vim /etc/ssh/sshd_config
إنشاء أو إلغاء تعليق السلسلة:
PasswordAuthentication yes
حفظ ملف التكوين
:wq
إعادة تشغيل خدمة الشبكة الظاهرة (sshd)
service sshd restart
تحويل VMware Converter Linux P2V: دليل تفصيلي خطوة بخطوة
لتنفيذ تحويل Linux P2V، يجب اتباع الخطوات التالية:
1. قم بتنزيل VMware vCenter Converter Standalone من الموقع الرسمي.
2. قم بتثبيت المحول على جهاز Windows يمكنه الاتصال بجهاز Linux الخاص بك عبر الشبكة. عملية التثبيت بسيطة – ما عليك سوى تشغيل ملف EXE واتباع توصيات معالج التثبيت. يتم استخدام VMware Converter 6.2 في مثال اليوم.
3. قم بتشغيل VMware vCenter Converter Standalone.
4. انقر على تحويل الجهاز.
5. نظام المصدر. حدد نظام المصدر في معالج تحويل الجهاز الذي يتم فتحه. حدد مشغّل و جهاز Linux عن بُعد. حدد عنوان IP واسم المستخدم وكلمة المرور المستخدمة على جهاز Linux البعيد. تذكر أن يجب تكوين خادم SSH على جهاز Linux وعدم حظر جدار الحماية اتصالات SSH في هذه الخطوة. في حال عدم ذلك، سيتم عرض رسالة خطأ: غير قادر على SSH إلى الجهاز المصدر. تحقق مما إذا كان جدار الحماية يمنع الوصول إلى خادم SSH على الجهاز المصدر. يجب أن يكون بالإمكان للمستخدم الذي حددته تسجيل الدخول إلى وحدة التحكم في Linux عبر SSH باستخدام مجموعة تسجيل الدخول/كلمة المرور أو ملف مفتاح خاص. يتم اختيار مستخدم يُدعى user1 مع كلمة مرور لهذا المثال.
5.1. انقر على عرض تفاصيل المصدر لعرض تفاصيل جهاز Linux البعيد الذي يجب تحويله إلى جهاز افتراضي VMware. اضغط على التالي للمتابعة والانتقال إلى الخطوة التالية.
إذا رأيت تحذير الأمان (تحذير بصمة مضيف بعيد)، انقر فوق نعم للاتصال.
أحيانًا لا يمكن للمحول تشغيل الأوامر على جهاز Linux البعيد الخاص بك ويعرض التحذير:.
/etc/sudoers، وتجعل مستخدمك قادرًا على تشغيل sudo دون إدخال كلمة المرور. بدلاً من تحرير /etc/sudoers يدويًا، استخدم الأمر التالي:
visudo
أضف السطر في نهاية الملف كما يلي:
user1 ALL=(ALL) NOPASSWD: ALL
حيث user1 هو اسم مستخدمنا. يجب عليك إدخال اسم مستخدمك. اضغط Ctrl+X للخروج واضغط Y (نعم) لحفظ التغييرات على الملف.
6. نظام الوجهة. حدد نظام الوجهة. بشكل افتراضي، يتم تعريف نوع الوجهة على أنه جهاز افتراضي لبنية تحتية VMware إذا كنت تقوم بتحويل جهاز Linux فيزيائي، وهذا هو الخيار الوحيد المتاح لتحويل جهاز Linux فيزيائي إلى جهاز افتراضي VMware. وهذا يعني أن الجهاز الافتراضي الوجهة سيعمل على خادم ESXi أو في مجموعة VMware vSphere. إذا كان مضيف ESXi الذي ترغب في تشغيل الجهاز الافتراضي المحول عليه يتم إدارته بواسطة vCenter، فحدد عنوان IP لخادم vCenter الخاص بك وقم بتعريف بيانات اعتماد مسؤول vCenter أو مستخدم آخر يمتلك امتيازات إدارية لإدارة خادم vCenter.
ملاحظة: لا يمكنك تحويل جهاز Linux فيزيائي إلى جهاز افتراضي بتنسيق VMware Workstation باستخدام VMware vCenter Converter Standalone.
إذا رأيت تحذيرات الشهادة، يمكنك الضغط على تجاهل للمتابعة.
7. جهاز افتراضي الوجهة. حدد مركز البيانات لتخزين الجهاز الافتراضي وأدخل اسم الجهاز الافتراضي المستهدف، على سبيل المثال، Ubuntu18-04-vm.
8. موقع الوجهة. حدد مضيف ESXi لتشغيل الجهاز الظاهري ومستودع البيانات لتخزين ملفات الجهاز الظاهري. يمكنك أيضًا تحديد إصدار الجهاز الظاهري. بشكل افتراضي، يتم تحديد أعلى إصدار مدعوم للجهاز الظاهري. في هذه الحالة، يتم اختيار الإصدار 13 لأن ESXi 6.5 مستخدم.
9. الخيارات. في هذه الخطوة، يمكنك تحرير خيارات تحويل مختلفة.
البيانات للنسخ. يمكنك تحديد جميع المجلدات أو المجلدات المخصصة للنسخ وتحديد نوع توفير القرص الظاهري (توفير سميك أو توفير رفيع). من الممكن أيضًا تخزين كل قرص ظاهري على مستودع بيانات مختلف. اترك خانة الاختيار “إنشاء تخطيط تقسيم محسن” محددة. يُستخدم هذا الخيار لتحسين توجيه تقسيمات القرص.
الأجهزة. حدد الكمية الضرورية من الذاكرة لجهاز الظاهرة الوجهة على علامة الذاكرة. ثم قم بتعيين وحدة تحكم القرص، وعدد المعالجات وأنوية المعالج في علامة أخرى.
الشبكات. حدد عدد محولات الشبكة الظاهرية للاتصال بجهاز الظاهري. ثم حدد الشبكة الظاهرية التي يجب أن يتصل بها كل محول شبكة، ونوع وحدة تحكم الشبكة وحدد خانة الاختيار الاتصال عند التشغيل إذا لزم الأمر.
الخيارات المتقدمة. تقع إعدادات ما بعد التحويل في هذا القسم. في حالتنا، لتحويل خادم Linux المادي إلى جهاز ظاهري VMware، يتوفر فقط خيار إعادة تكوين جهاز الوجهة الظاهري. يُستخدم هذا الخيار لتكوين محمِّل الإقلاع، وتحديث مشغلات النظام التي يتم استخدامها من قبل نظام التشغيل لتكون أكثر تحسينًا لتشغيل جهاز ظاهري في بيئة VMware الظاهرية (بالأجهزة الظاهرية المناسبة).
شبكة المساعد للجهاز الظاهر. أثناء عملية تحويل خادم Linux إلى جهاز ظاهري، يُنشئ VMware vCenter Converter جهازًا ظاهريًا مساعدًا على المضيف/متجر البيانات الوجهة. يجب أن يكون لدى الجهاز الظاهر المساعد الوصول عبر الشبكة إلى الجهاز الفعلي الذي يعمل بنظام Linux من أجل استنساخ جميع ملفات الجهاز الفعلي. في هذا القسم، يمكنك تكوين عنوان IP، والقناع الفعلي، والبوابة، وخوادم DNS المستخدمة للاتصال بالشبكة للجهاز الظاهر المساعد.
10. الملخص. تحقق من جميع إعدادات التحويل لتحويل Linux الخاص بك من P2V وإذا كان كل شيء صحيحًا، اضغط إنهاء لبدء عملية التحويل.
11. انتظر حتى انتهاء عملية التحويل. مدة التحويل تعتمد على كمية البيانات المخزنة على أقراص الجهاز الفعلي الذي يعمل بنظام Linux. إذا رأيت بعد الانتهاء من التحويل، الحالة تم الانتهاء من وظيفة التحويل في VMware vCenter Converter، يمكنك بدء تشغيل الجهاز الظاهر الفعلي في واجهة VMware vSphere Client، VMware Host Client، أو VMware Workstation.
ومع ذلك، قد ينتهي عملية تحويل آلة Linux إلى P2V عند 97% بالخطأ:
فشل: حدث خطأ أثناء التحويل: ‘GrubInstaller::InstallGrub: فشل /usr/lib/vmware-converter/installGrub.sh برمز العودة: 127، والرسالة: فاشل: kernel قديم جدًا حدث خطأ في تشغيل vmware-updateGrub.sh من خلال chroot إلى /mnt/p2v-src-root الأمر:
chroot “/mnt/p2v-src-root” /vmware-updateGrub.sh “GRUB2” “(hd0)” “(hd0,1)” /vmware-device.map “grub2-install” ‘
يمكن أن يحدث هذا المشكلة لأن محمل التمهيد GRUB لم يتم إعداده بشكل صحيح من قبل VMware vCenter Converter على VM المستهدف. إذا حاولت بدء تشغيل آلة Linux الافتراضية بعد التحويل، فسوف تحصل على الخطأ: خطأ في تحميل نظام التشغيل.
كيف يمكنك حل هذه المشكلة في VMware Converter Linux؟
1. يجب عليك الاقلاع من وسيط التثبيت Ubuntu واستخدامه كقرص إنقاذ. قم بتحرير إعدادات VM باستخدام VMware vSphere Client، VMware Host Client أو VMware Workstation (VM > Edit Settings).
2. في إعدادات العتاد، حدد محرك CD/DVD للآلة الافتراضية وحدد وسيط التثبيت المقيم لـ Ubuntu. في مثالنا، نستخدم صورة ISO لتثبيت Ubuntu 18.04 التي تقع على محرك البيانات، والتي يمكن الوصول إليها من قبل مضيف ESXi على الذي تقع عليه VM Linux بعد التحويل. لا تنسَ التحديد لخانة الاتصال عند التشغيل.
3. بعد بدء تشغيل الجهاز الظاهري، اضغط F2 لدخول إعدادات BIOS الخاصة بالجهاز الظاهري. حدد CD-ROM كجهاز تشغيل أولي في قسم التمهيد.
ثم انتقل إلى الخروج > حفظ التغييرات والخروج.
بديلاً، يمكنك تغيير ترتيب التمهيد مرة واحدة عن طريق الضغط على Esc بدلاً من F2 مباشرة بعد بدء تشغيل الجهاز الظاهري.
4. بعد التمهيد من وسيط تثبيت أوبونتو، حدد جرب أوبونتو على شاشة مرحبًا. انتظر حتى يتم تحميل أوبونتو من القرص المدمج وسترى سطح مكتب أوبونتو.
5. افتح وحدة تحكم أوبونتو واحصل على صلاحيات الجذر.
sudo -i
6. قائمة الأقراص المتاحة.
ls -al /dev/sd*
fdisk -l
في مثالنا، يتم استخدام نظام تقسيم الأقراص الأبسط لأوبونتو المثبتة على الجهاز الفعلي. يتم تثبيت نظام لينكس على القسم الواحد /dev/sda1 الذي يمثل القرص بأكمله. يجب عليك اكتشاف أي قسم يتم استخدامه لتمهيد لينكس ويحتوي على دليل /boot/ أو مرتبط بالدليل /boot/.
7. يمكنك العثور على القسم المستخدم لتمهيد لينكس باستخدام parted:
parted /dev/sda
unit MB
p free
الآن يمكنك رؤية أي قسم يتم استخدامه لتمهيد لينكس (العلم boot موجود في تلك السلسلة). بعد ذلك، يمكنك الخروج من parted.
quit
ملاحظة: إذا كنت تستخدم نظام تقسيم يدوي وقسم تمهيد منفصل لتمهيد Linux، فسيكون قائمة أقسامك مختلفة، ولكن يجب عليك أن تجد القسم الذي يحمل علامة boot بنفس الطريقة.
8. أنشئ الدليل على قرص الذاكرة العشوائية وقم بتوصيل الأقسام المستخدمة بواسطة Ubuntu. إذا كان Ubuntu مثبتًا على قسم واحد، استخدم أوامر مثل:
mkdir /mnt/ubuntu18
mount /dev/sda1 /mnt/ubuntu18
ملاحظة: إذا كان Ubuntu يستخدم أقسامًا متعددة، فأنشئ مجلدات منفصلة وقم بتوصيل كل قسم بالمجلد المناسب:
mkdir /mnt/ubuntu18/boot
mkdir /mnt/ubuntu18/root
mount /dev/sda1 /mnt/ubuntu18/boot
mount /dev/sda2 /mnt/ubuntu18/root
وهكذا.
9. قم بتثبيت Vim (محرر النصوص).
apt-get install vim
10. تحقق من معرف القرص لكل قسم قرص. تحتاج إلى معرفة UUID للقسم الذي يحتوي على الدليل /boot (أو القسم الموصول بالدليل /boot). تذكر هذا UUID الجديد. في حالتنا، هذا القسم هو /dev/sda1
blkid
11. عدل ملف /etc/fstab على القرص الافتراضي المستخدم من قبل نسخة أوبونتو المثبتة. يقع ملف /etc/fstab في الدليل المؤقت الذي قمنا بتوصيل نظام ملفات الجذر لأوبونتو إليه (/mnt/ubuntu18/etc/fstab).
vim /mnt/ubuntu18/etc/fstab
قم بتغيير مُعرف UUID لكل قسم في /etc/fstab لجعل توصيل القسم تلقائيًا عند تشغيل لينكس ممكنًا. قم بتغيير قيم UUID القديمة المستخدمة لأقراص على جهاز لينكس فيزيائي إلى القيم UUID الجديدة المستخدمة على جهاز افتراضي جديد. في المثال البسيط الحالي، يُستخدم فقط قسم /dev/sda1 ويجب توصيله بالدليل الجذر (/). لذا، يجب علينا تغيير 2516177b-e9a9-4502-bdae-a3626fe3ab0a إلى dd05b02c-8772-4ec2-9340-2473ec8c2f8b.
احفظ التغييرات واخرج من vim.
:wq
ملاحظة: إذا كان لديك أكثر من قسم في لينكس، قد تحتاج إلى تغيير قيمة UUID للأقسام الأخرى أو فقط تعريفها كـ sda2, sda3, sdb1, sdb2 وما إلى ذلك لجعل توصيل تلك الأقسام تلقائيًا عند تشغيل لينكس.
١٢. عدل ملف تكوين GRUB الذي عادة ما يكون موجودًا في دليل /boot/grub/. تذكر الدليل المؤقت الذي قمت بتوصيله بقسم يحتوي على ملفات دليل /boot/. بعد تحويل جهاز Linux المادي إلى جهاز افتراضي، تم تغيير UUID للقرص على الجهاز الافتراضي الجديد ولهذا السبب، لا يمكن لبرنامج التحميل (GRUB) البدء من القسم الضروري. في حالتنا، نقوم بتحرير ملف grub.cfg باستخدام الأمر:
vim /mnt/ubuntu18/boot/grub/grub.cfg
١٣. استبدل UUID القديم بالجديد. يحدث UUID عدة مرات في ملف التكوين وتحرير هذه القيمة يدويًا ليس مناسبًا. يسمح لك محرر النص vim بإجراء استبدال تلقائي للنص المصدر بالنص الهدف باستخدام الأمر:
:%s/source_text/target_text/g
حيث %s يعني أنه يجب استبدال جميع القيم المطابقة في ملف النص بأكمله.
في مثالنا الحالي، نستخدم الأمر:
:%s/2516177b-e9a9-4502-bdae-a3626fe3ab0a/dd05b02c-8772-4ec2-9340-2473ec8c2f8b/g
اكتب التغييرات في الملف الذي يمكن القراءة فقط واخرج من vim.
:wq!
ملاحظة: إذا كان نظام Linux الخاص بك يستخدم عدة أقسام، استبدل قيم UUID لجميع الأقسام التي تم ذكر UUIDs الخاصة بها في ملف grub.cfg.
١٤. الآن يجب عليك إعادة تثبيت GRUB إلى محمّل التمهيد في نفس الدليل حيث تم تثبيت محمّل التمهيد من قبل. في مثالنا، تم تثبيت GRUB في الدليل /boot والدليل /boot متاح مؤقتًا الآن كـ /mnt/ubuntu18/boot في مثالنا. القرص المستخدم لتمهيد Ubuntu هو /dev/sda وفقًا لذلك.
grub-install –boot-directory=/mnt/ubuntu18/boot /dev/sda
١٥. قم بفصل جميع الأقسام المركبة سابقًا:
umount /dev/sda1
١٦. أوقف تشغيل الآلة الظاهرية
init 0
١٧. أعد تكوين إعدادات التمهيد للتمهيد من القرص الصلب الظاهري، وليس من محرك الأقراص المدمج في إعدادات الآلة الظاهرية.
١٨. شغل الآلة الظاهرية.
١٩. الآن يمكن للآلة الظاهرية أن تمهد من قرصها الصلب الظاهري بـ GRUB على مضيف ESXi.
بالتالي، تعرف كيفية أداء تحويل VMware P2V Linux باستخدام VMware vCenter Converter Standalone. للأسف، إصدار VMware converter Linux غير متوفر ولكن إذا كنت ترغب في تحويل خادم Linux الفعلي إلى آلة ظاهرية VMware باستخدام أجهزة Linux فقط، يجب عليك التعرف على الطريقة الثانية لتحويل P2V Linux.
الطريقة ٢ – تحويل VMware P2V Linux بدون VMware Converter
الطريقة الثانية لتحويل جهاز Linux المادي إلى جهاز افتراضي بتنسيق ESXi لا تتطلب VMware vCenter Converter Standalone. يمكن استخدام هذه الطريقة للمستخدمين والمسؤولين الذين لا يمتلكون جهاز Windows في بيئاتهم (كما تتذكر، يمكن تثبيت VMware vCenter Converter فقط على نظام Windows). الفكرة وراء الطريقة الثانية لتحويل VMware P2V Linux هي كما يلي:
- إنشاء صور لأقراصك المادية المستخدمة في خادم Linux المادي باستخدام أداة dd
- تحويل الصور الناتجة إلى صور بتنسيق vmdk
- إنشاء جهاز افتراضي جديد في VMware Workstation (الذي يمكن تشغيله على Linux أو Windows) باستخدام أقراص افتراضية موجودة للجهاز الافتراضي الجديد
- تصدير الجهاز الافتراضي من تنسيق VMware Workstation إلى قالب OVF
- إنشاء جهاز افتراضي جديد على مضيف ESXi من قالب OVF
في مثالنا، تم تثبيت Ubuntu 18 على جهاز مادي يجب تحويله، ويتم استخدام ESXi 6.5 و vCenter 6.5 كوجهة، ويتم استخدام VMware Workstation 15 كنقطة انتقالية في عملية تحويل P2V Linux.
دليل تدريجي
1. على خادم Linux المادي، قم بتشغيل أداة dd (مكرر البيانات) لكل قرص مادي (/dev/sda، /dev/sdb الخ) وإنشاء صورة لكل قرص. يمكنك توصيل قرص صلب USB إلى جهاز Linux المادي الخاص بك وتخزين الصور التي تم إنشاؤها باستخدام أداة dd على ذلك القرص الصلب USB. في وقت لاحق، يمكنك توصيل ذلك القرص الصلب USB بجهاز يجب إنشاء جهاز افتراضي عليه. في المثال الحالي، تقع جميع الأقسام المستخدمة بواسطة Linux على القرص /dev/sda:
dd if=/dev/sda of=/media/user1/data/sda.img bs=8M conv=sync,noerror status=progress
حيث:
if=/dev/sda – الملف الذي يعتبر القرص الفيزيائي بأكمله؛
of=/media/user1/data/sda.img – المسار لملف الصورة الناتجة الموجود على القرص الخارجي في هذه الحالة.
bs=8M – حجم الكتلة هو 8 ميغابايت. تعزز هذه الخيارات السرعة حيث يقوم dd بنسخ البيانات باستخدام أجزاء بيانات بحجم 512 بايت افتراضيًا
conv=sync,noerror – يُستخدم لمنع dd من التوقف عند حدوث خطأ أثناء قراءة البيانات من القرص (الملف) المصدر.
status=progress – استخدم هذا الخيار لعرض تقدم المهمة في وحدة التحكم لمزيد من الراحة
2. قم بتثبيت qemu وهو تطبيق مفتوح المصدر لتقليد الأجهزة. يمكنك تثبيت qemu على أي جهاز لينكس.
apt-get install qemu
3. في وحدة التحكم في لينكس، انتقل إلى الدليل الذي توجد فيه ملفات img التي أنشأتها من قبل. قم بتحويل صور الأقراص التي تم إنشاؤها باستخدام أداة dd من تنسيق ملف img إلى تنسيق vmdk. يمكن استخدام Qemu لهذه المهمة. نقوم بتحويل صورة قرص واحدة في مثالنا:
qemu-img convert -o compat6 sda.img -O vmdk sda-vmware.vmdk
الآن تم تحويل صور الأقراص إلى تنسيق vmdk وهي جاهزة للفتح في VMware Workstation. كما تتذكر، تختلف صيغ أقراص VMware Workstation و VMware ESXi الافتراضية. يتم شرح تفاصيل تنسيق ملف VMDK هنا. عليك تصدير آلة افتراضية من VMware Workstation إلى قالب OVF ثم استيراد آلة افتراضية من قالب OVF إلى مضيف ESXi.
تأكد من تثبيت VMware Workstation على أي من أجهزتك. في مثالنا، تم تثبيت VMware Workstation 15 على جهاز يعمل بنظام Ubuntu 18، ولكن ليس على جهاز Linux المصدر الذي يجب تحويله إلى آلة افتراضية (لا نستخدم Windows لهذه الطريقة لتحويل Linux إلى VM). الخوارزمية لأجهزة Windows مع VMware Workstation مماثلة.
4. أنشئ دليلًا جديدًا على الجهاز الذي تم تثبيت VMware Workstation عليه، على سبيل المثال، /vms/P2V_Linux
mkdir /vms/P2V_Linux
5. انسخ ملفات vmdk التي تم تحويلها بواسطة qemu إلى ذلك الدليل. ننسخ ملف sda-vmware.vmdk إلى ذلك الدليل في هذه الحالة.
6. أنشئ آلة افتراضية جديدة في VMware Workstation:
File > New virtual machine
A New Virtual Machine Wizard is opened. You should pass all the configuration steps of this wizard:
Virtual Machine Configuration. حدد Custom (متقدم) لتمكين تكوين الخيارات المتقدمة. انقر فوق Next للمتابعة.
توافق الأجهزة الافتراضية. حدد إصدار الأجهزة الافتراضية اللازم، على سبيل المثال، Workstation 15.x.
تثبيت نظام التشغيل الضيف. حدد سأقوم بتثبيت نظام التشغيل لاحقًا.
نظام التشغيل الضيف. حدد Linux، ثم حدد Ubuntu 64-bit في القائمة المنسدلة.
اسم الجهاز الافتراضي. أدخل الاسم وحدد الموقع لجهازك الافتراضي. في هذا المثال، اسم الجهاز الافتراضي هو P2V Linux وموقعه هو /vms/P2V_Linux_VM/
تكوين المعالج. حدد عدد المعالجات وعدد أنوية المعالج وفقًا للتكوين المستخدم على جهاز Linux الفعلي الذي تقوم بتحويله إلى جهاز VMware VM.
الذاكرة للجهاز الافتراضي. حدد كمية الذاكرة التي تكون على الأقل مساوية لكمية الذاكرة على جهاز Linux الفعلي الخاص بك.
اتصال الشبكة. حدد نوع الشبكة، على سبيل المثال، شبكة متصلة. تأكد من أن خادم Linux المصدر مفصول الآن لتجنب تعارض الشبكة.
I/O Controller Types. Select the recommended value. In this example, SCSI Controller: LSI Logic (Recommended) is selected.
نوع القرص الافتراضي. حدد نوع القرص الموصى به. في حالتنا، هو SCSI (موصى به).
اختيار قرص. اختر الخيار استخدام قرص افتراضي موجود.
اختيار قرص موجود. تصفح ملف vmdk المناسب لقرص /dev/sda الذي تم تحويله. في المثال الحالي، تم اختيار ملف sda-vmware.vmdk كقرص افتراضي موجود.
ملاحظة: إذا كان لديك عدة أقراص صلبة على خادم Linux المادي المصدر وعدة ملفات VMDK بعد التحويل، حدد أول ملف vmdk الذي تم تحويله من القرص /dev/sda. أضف الأقراص الأخرى يدويًا بعد إنشاء الآلة الظاهرية عن طريق تحرير إعدادات الآلة الظاهرية.
اضغط على الاحتفاظ بالتنسيق الحالي لتحسين التوافق.
جاهز لإنشاء الآلة الظاهرية. قم بالتحقق من ملخص الإعدادات وإذا كان كل شيء صحيحًا، اضغط على إنهاء.
بمجرد إنشاء الآلة الظاهرية، يمكنك التحقق من إعدادات الآلة الظاهرية قبل بدء تشغيلها.
ملاحظة: إذا قمت بتحويل عدة أقراص مادية إلى أقراص افتراضية، أضف الأقراص الافتراضية الباقية عن طريق اتباع الخطوات التالية:
- انقر على الآلة الظاهرية > الإعدادات
- انقر على إضافة على علامة التبويب الأجهزة
- حدد القرص الصلب
- حدد الخيار الموصى به (SCSI في حالتنا)
- اضغط على استخدام قرص افتراضي موجود
- حدد ملف القرص الافتراضي
7. قم بتشغيل الآلة الظاهرية في VMware Workstation (تأكد من إضافة جميع الأقراص الافتراضية اللازمة إلى إعدادات الآلة الظاهرية).
8. بمجرد تحميل نظام Linux الخاص بك على الآلة الظاهرية، قم بالتحقق من اتصال الشبكة:
ifconfig
9. قم بتثبيت أدوات VMware على نظام Linux الذي يعمل على الآلة الظاهرية. في أوبونتو، يمكن تثبيت أدوات VMware من صورة ISO افتراضية أو من مستودعات البرامج عبر الإنترنت.
apt-get install open-vm-tools
10. إذا كان كل شيء صحيحًا، قم بإيقاف تشغيل الآلة الظاهرية واستعد لإنشاء قالب OVF لترحيل الآلة الظاهرية إلى مضيف ESXi.
11. في واجهة المستخدم الرسومية لبرنامج VMware Workstation، انقر فوق File > Export to OVF.
12. احفظ ملف OVF في الدليل الخاص بآلتك الظاهرية التي تعمل بنظام Linux، على سبيل المثال. في المثال الحالي، يتم حفظ قالب OVF في /vms/P2V_Linux_VM/
13. افتح برنامج VMware vSphere Client في متصفح الويب الخاص بك.
14. انتقل إلى Hosts and Clusters، ثم حدد مضيف ESXi الخاص بك الذي ترغب في تشغيل آلة ظاهرية عليه بعد التحويل.
15. أنشئ آلة ظاهرية من قالب. انقر فوق Actions > Deploy OVF Template.
A new window of the Deploy OVF Template wizard is opened and contains 7 steps:
1. Select an OVF Template. انقر فوق Local File، ثم اضغط على Browse. يجب عليك تحديد ملفين – ملف OVF لقالب الآلة الظاهرية وملف VMDK (ملفات) للقرص الظاهري (الأقراص). إذا قمت بتحديد ملف قالب OVF واحد فقط، سيتم عرض رسالة حول الأمور المفقودة وأسمائها. يجب أن تكون الملفات قابلة للوصول من الجهاز الذي قمت بفتح برنامج VMware vSphere Client عليه (يجب أن تكون الملفات مخزنة على أقراص محلية، مشاركة SMB أو NFS، إلخ).
2. اختر اسمًا ومجلدًا. حدد اسم آلة ظاهرية فريد وموقع الوجهة (مركز بيانات أو مجلد VM). في المثال الحالي، اسم الآلة الظاهرية هو P2V_Linux.
3. حدد مورد الحوسبة. في هذه الخطوة، يجب عليك تحديد مضيف ESXi أو مجموعة على الذي ستعمل آلتك الظاهرية.
يمكنك الحصول على الخطأ في هذه الخطوة: تم اكتشاف مشكلات مع القالب المحدد. التفاصيل: -1:-1:VALUE_ILLEGAL: لا توجد إصدارات أجهزة مدعومة بين [vmx-16]; المدعومة: [vmx-04، vmx-07، vmx-08، vmx-09، vmx-10، vmx-11، vmx-12، vmx-13].
يمكن حدوث هذا الخطأ عندما يكون إصدار الأجهزة المعين في قالب VM أعلى من الإصدار المدعوم من قبل مضيف ESXi.
قم بتحرير ملف OVF في محرر النصوص لإصلاح هذه المشكلة. يمكنك استخدام Vim في نظام Linux. انتقل إلى الدليل الذي يحتوي على قالب OVF وقم بتحرير الملف:
vim P2V_Linux.ovf
ابحث عن السلسلة مثل vmx-xx، حيث يكون xx رقم إصدار أجهزة VM. أعلى إصدار للأجهزة المدعوم من قبل ESXi 6.5 هو 13 وفي قالبنا، تم تعيين إصدار أجهزة VM 16.
للعثور على النص اللازم في Vim ، في وضع التصفح اكتب:
/vmx-
لنقم بتحرير vmx-16 إلى vmx-12، على سبيل المثال، واحفظ ملف OVF.
بمجرد حفظ التغييرات في ملف OVF، عد إلى عميل VMware vSphere وانقر فوق التالي في خطوة تحديد مورد الحوسبة من معالج نموذج OVF.
4. مراجعة التفاصيل. في هذه الخطوة يمكنك التحقق من تفاصيل القالب.
5. تحديد التخزين. حدد مستودع البيانات الوجهة الذي تريد تخزين ملفات التكوين والقرص الظاهري للـ VM فيه وحدد تنسيق القرص الظاهري (Lazy Zeroed Thick، Eager Zeroed Thick أو Thin Provision).
6. اختر الشبكات. حدد شبكة لكل إنتاج كارت الشبكة ال Virtuel. يجب عليك تكوين كل كارت الشبكة للاتصال بالشبكة المناسبة.
7. جاهز لإكمال. قم بمراجعة التكوين واضغط انتهاء لبدء إنشاء VM.
انتظر حتى يتم إنشاء VM جديدة من القالب.
16. عند استيراد VM من قالب OVF على ESXi افتح ال VM. اقرأ أكثر حول VM القوالب في هذا منشور المدونة. إذا حصلت على رسالة “هل ترغب في محاولة اتصال هذا الجهاز ال Virtuel كل مرة تتشالل ال VM؟“، اجب بأنك لا ترغب في الاتصال بهذا الجهاز كل مرة أثناء بدء VM عن طريق النقر لا.
A physical Linux server has been converted to a virtual machine without using Windows and VMware vCenter Converter Standalone. The process of VMware P2V Linux conversion was explained on an example of Ubuntu Linux. If you need to convert physical servers running other Linux distributions such as SUSE or Red Hat to VMware virtual machines, use the same algorithm, but keep in mind that some commands and locations of configuration files can be different. Instead of using apt-get package manager in SUSE, you should use zypper and in Red Had use yum. You may need to reconfigure network settings of the virtual machine such as an IP address, default gateway, DNS server, etc.
الختام
يمكن تحويل خادم Linux فيزيائي إلى VMware آلة Virtuel باستخدام عدة طرق – مع VMware vCenter Converter Standalone الذي يتطلب جهاز Windows، وباستخدام أدوات Linux بالإضافة إلى VMware Workstation. عند استخدام أي من هذه الطرق، قد يحتاج إلى تحرير تكوين VM يدويًا. عند استخدام الطريقة الأولى، يمكن استخدام فقط مضيف ESXi كوجهة تجهيز لتحويل P2V Linux، في حين يمكن استخدام الطريقة الثانية لتحويل جهاز Linux فيزيائي إلى صيغات VMware ESXi و VMware Workstation.
Source:
https://www.nakivo.com/blog/vmware-p2v-linux-conversion-comprehensive-walkthrough/