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

ماهو الجهاز الافتراضي Virtual machine ؟
هو برنامج يوفر لك إمكانية تنصيب نظم تشغيل أخرى داخل نظام تشغيلك الحالي ،أي أنه يعمل كمحاكي لحاسب إفتراضي آخر داخل حاسبك الأصلي ، ويطلق على نظام تشغيلك الأساسي “Host” أي المضيف وعلى النظام الذي ينصب داخل الحاسب الإفتراضي “Guest”أي الضيف .
يعمل Guest في نافذة منفصلة داخل شاشتك وبالتالي يمكنك استخدام كلًا من الـHost و Guest في وقت واحد ويعمل النظام الضيف بكامل خواصة وكفاءته كأنه على حاسب طبيعي ، وأما من جهة نظام التشغيل المضيف فيرى النظام الضيف كأنه حاسب منفصل .



يوفر الـ Virtual machine للنظام المنصب داخله عتاد إفتراضي كامل من معالج و ذاكرة عشوائية وقرص صلب وحتى واجهة شبكة خاص به ولكن المساحات المُستخدمة تقتطع من حاسبك الأساسي .
أي إذا خصصت للنظام الإفتراضي مساحة تخزين 30 جيجا ستقتطع تلك المساحة من الهارد الأساسي الخاص بك .
الجدير بالذكر هنا أنه يمكن تنصيب أكثر من نظام تشغيل إفتراضي والعمل عليهم في نفس الوقت ولكن بالطبع هذا الأمر متوقف على قوة عتاد جهازك .
تستخدم الكثير من البرامج لعمل Virtual machines منها Vmware و Parallels ولكن حديثنا اليوم يتمحور حول الـ KVM .

Kernel-based Virtual Machine



وهو مايطلق عليه KVM هو بنية تحتيه إفتراضيه تحول نواة توزيعات جنو/لينكس إلى مراقب للاجهزة الافتراضية (Hypervisor) ، بصيغة أبسط هو برنامج مُدمج مع النواة و يُمَكنك من إعداد حاسب إفتراضي داخل حاسبك ويمكنك من تنصيب أنظمة تشغيل مختلفة بداخاله ، فيمكنك تنصيب ويندوز بداخل التوزيعة الحالية أو حتى توزيعة أخرى لا يوجد فرق، حتى السنوات الأخيرة كانت برامج الـVirtualization تنصب بشكل منفصل ولكن لجعل الأمور أكثر بساطة وسرعة دُمج KVM لأول مرة في النواة لينكس 2.6.20 عام 2007 وتبنته الكثير من التوزيعات منها: Red Hat , SUSE Linux Enterprise , Ubuntu , Gentoo .

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

أما على مستوى الشركات :
يُمكن أن تستخدم لتشغيل برامج قديمة لا تعمل على نظم التشغيل الجديدة ! ..وما أكثرها فكثير من الشركات تتبع مبدأ :مادام يعمل لا تصلحه .. ولهذا تُستخدم Virtual Machines لتوفير البيئة المناسبة لعمل تلك البرامج .

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

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

دمج الخوادم و تقليل الأجهزة في مراكز البيانات
أولًا دمج الخوادم يؤدي إلى تقليل عدد العتاد المُستخدم هذا من جهة ومن جهة أخرى هناك علاقة طردية بين عدد الخوادم المستخدمة وباقي التبعيات المستخدمة للتوصيل بينهم ، فتقليل عدد الخوادم يعني التقليل من معدات الشبكات المُستخدمة وتقليل عدد Racks المُستخدمة .

طريقة تنصيب KVM :
سنشرح عملية التنصيب لكلًا من Debian والتوزيعات المبنية عليها مثل Ubuntu وLinux mint و سنرمز لهم بكلمة Deb عند التثبيت ،وكذلك توزيعات Redhat, Fedora, Centos وسنرمز لهم بكلمة Red عند التثبيت

الخطوة 1 :
يعمل الـKVM إذا كان المعالج الخاص بك يدعم خاصية الافتراضية وللتأكد من ذلك يرجى فتح الطرفية وإلصاق الأمر التالي :
egrep -c ‘(svm|vmx)’ /proc/cpuinfo$
إذا كانت المخرجات 0 فإن جهازك للأسف لايدعم هذه الخاصية .
أما إذا كانت واحد أو أكثر فإن جهازك يدعمها ولكن يتجوب عليك أولا البحث عن خيار Virutalization Technology في الـBIOS ومن ثم تشغيلها إذا لم تكن تعمل .

الخطوة 2 :مرحلة التثبيت
Red:
$sudo yum -y update
$sudo setenforce 0
$sudo yum install qemu-kvm qemu-img
$sudo yum install virt-manager libvirt libvirt-python libvirt-client
$sudo yum groupinstall virtualization-client virtualization-platform virtualization-tools
$sudo systemctl restart libvirtd
في Fedora 22 وأعلى يرجى إستبدال yum بـ dnf
Deb:
$sudo apt-get update && sudo apt-get upgrade
$sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils virt-manager
$sudo adduser `id -un` libvirtd

ماذا فعلنا ؟
ثبتنا الحزم المطلوبة لتشغيل وإدارة KVM والآن سنشرح بعضهم :

  • qemu-kvm:من الحزم الرئيسية لـ KVM لإدارة الـvirtual machines من خلال ملف
  • libvirt:وهذه توفر أداة مفيدة لسطر الأوامر تسمى virsh لإدارة VMs

وبهذا انتهينا من التنصيب .. لتشغيل البرنامج إبحث عن Virtual machine



هنيئًا البرنامج الان مستعد للعمل .

المصادر
1 . 2