‏إظهار الرسائل ذات التسميات Qemu محاكي المعالج. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات Qemu محاكي المعالج. إظهار كافة الرسائل

مارس 13، 2010

كيف تستفيد من وحدة KVM من خلال Qemu-KVM و QtEmu لتشغيل الأنظمة الإفتراضية

طريقة استخدام KVM بسيطة، يكفي اتباع الخطوات التالية:

1. kvm مدعوم على كل إصدارات النواة لينوكس انطلاقا من 2.6.22،  لكن للتحقق قم بتحرير الأمر التالي على سطر الأوامر:

modprobe  -l  'kvm*'

يجبان تكون النتيجة شبيهة بما يلي:
kernel/arch/x86/kvm/kvm.ko
kernel/arch/x86/kvm/kvm-intel.ko
kernel/arch/x86/kvm/kvm-amd.ko

2. هذه أهم خطوة و هي التحقق من أن المعالج يدعم VT-x أو AMD-V، لنحرر:
egrep '^flags.*(vmx|svm)' /proc/cpuinfo

يجب أن تتوصل بنتيجة، إدا لم تتوصل بشيء فالمعالج لا يدعم الخاصيتين و بذلك لا يمكنك الاستفادة من KVM.

3. إدا توصلت بنتيجة تعرض التقنيات المدعومة من طرف المعالج فما علينا الآن إلا تثبيت qemu-kvm و qtemu. حرر ما يلي إن كنت على أبونتو (ubuntu) أو استخدم الطريقة المناسبة على توزيعتك الخاصة لتثبيت البرنامجين:
sudo  aptitude  install  qemu-kvm  qtemu

4. بعد تثبيت البرنامجين علينا إضافة إسم مستخدمنا إلى فريق kvm
gpasswd  -a  Your_Login_Name  kvm

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

الآن من المفترض أن وحدة kvm مفعلة تلقائيا و جاهزة للاستخدام (إن لم تكن كذلك ألقي نظرة على المعلومات الإضافية في نهاية التدوينة)

5. قم بتشغيل البرنامج qtemu و هو الواجهة الرسومية لـ qemu و qemu-kvm
أ. قبل أن تبدأ في إنشاء الآلات الافتراضية عليك إعداد qtemu لتشغيل qemu-kvm بدلا من qemu من على قائمة File/Configure/Qemu Start Command = qemu-kvm


ب. بعد ذلك، لإنشاء الآلة الافتراضية يكفي النقر على "New Machine" من على قائمة File.
سيطلب منك:
تحديد نوع النظام من بين Linux, Windows 98, XP, ReactOS أو Other (آخر).
تحديد اسم  الآلة و مكان تواجد ملف القرص الإفتراضي.
تحديد مساحة القرص الإفتراضي.

بعد ذلك من خلال الواجهة الرئيسية قم بـ :
تحديد كمية الذاكرة المخصصة للنظام الإفتراضي.
تحديد ملف ISO الخاص بالنظام الذي تود تجرته (مثلا ملف Fedora12-Live-ISO) و تفعيل الإقلاع منه (Boot from CDROM).
تفعيل الشبكة (Enable Network).
تفعيل الصوت (Enable Sound).

ثم التشغيل من خلال Start   :)



واجهة QtEmu تغنيك عن سطر الأوامر و هذا مناسب للمبتدئين، لكن ماذا لو أردت إنجاز ما سبق من خلال سطر الأوامر؟ إليك الطريقة:

لإنشاء قرص إفتراضي بسعة 20G من نوع qcow2 و بإسم fedora12 حرر ما يلي:
qemu-img  create  -f  qcow2  fedora12.qcow2  20G

لإقلاع النظام الإفتراضي باستخدام:
* ملف ISO لتوزيعة Fedora ممثلا القرص المدمج CDROM.
* ملف fedora12.qcow2 ممثلا القرص الإفتراضي.
* ذاكرة بسعة 512MB.
* بطاقة عرض VMWare إفتراضية.
* بطاقة صوت Intel AC97 إفتراضية.
* مع الربط بالشبكة (مدعوم بشكل تلقائي من طرف Qemu)

qemu-kvm  -hda fedora12.qcow2  -m 512  -cdrom Fedora-12-i686-Live.iso  -boot d  -vga vmware  -soundhw ac97

بعد تثبيت فيدورا على القرص الإفتراضي يكفي تحرير ما يلي لتشغيل النظام:
qemu-kvm  -hda fedora12.qcow2  -m 512  -vga vmware  -soundhw ac97

 هذا كل شيء.



معلومات إضافية:
لتفعيل وحدة KVM يدويا حرر ما يلي بالنسبة لمعالجات Intel
sudo  modprobe  kvm
sudo  modprobe  kvm-intel

لتفعيل وحدة KVM يدويا حرر ما يلي بالنسبة لمعالجات AMD
sudo  modprobe  kvm
sudo  modprobe  kvm-amd

معلومة: فيرتول بوكس (VirtualBox) غير متوافق مع KVM لأن لذيه وحدة خاصة شبيهة بـ KVM

لتعطيل وحدة KVM يدويا حرر ما يلي بالنسبة لمعالجات Intel
sudo  modprobe  -r  kvm-intel
sudo  modprobe  -r  kvm

لتعطيل وحدة KVM يدويا حرر ما يلي بالنسبة لمعالجات AMD
sudo  modprobe  -r  kvm-amd
sudo  modprobe  -r  kvm

مارس 12، 2010

Xen, VirtualBox, KVM, Qemu: تقنيات اللألآت الافتراضية و المحاكات المفتوحة المصدر

هنالك أربعة تقنيات مفتوحة المصدر لاستخدام و تسيير الآلات الافتراضية:

1. فيرتول بوكس VirtualBox: متوفر على ويندوز، ماك، جنو/لينوكس و أنظمة يونكس. هذا البرنامج ليس بمحاكي (التعريف على ويكيبيديا العربية خاطئ) بل برنامج لإنشاء و تسيير اللألآت الافتراضية. من مميزاته السرعة، الأداء العالي، دعمه لمجموعة كبيرة من أنظمة التشغيل و تطوره المستمر و هو يعتبر بديل و منافس قوي لـ VMWare. شخصيا أستخدمه مند اليوم الذي أطلق فيه كبرنامج مفتوح المصدر.
من مميزاته التقنية استهلاكه المعقول جدا للموارد المتوفرة، دعمه للقراص الصلبة الافتراضية المفتوحة المعيار و دعمه للتقنية VT-x/AMD-V و NX / PAE إن وجدة على المعالج و النظام المضيف.

* شرح مبسط للتقنيات المدكورة أعلاه:
تقنية VT-x/AMD-V تعني أن المعالج (CPU) قادر على التعامل مع أنظمة التشغيل الافتراضية بشكل يسمح لهذه الأخيرة بتنفيذ الأوامر و كانها تعمل على حاسوب حقيقي و هو ما يعني أن الاستجابة و الأداء يقارب الأداء الحقيقي. هذه التقنية متوفرة في كل المعالجات الحديثة لشركة Intel و AMD.

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

تقنية PAE تعني أن المعالج قادر على التعامل و تسيير ذاكرة العشوائية بسعة أكبر من 4GB.

2. Qemu و هو برنامج ماحكي للمعالج (CPU Emulator). من مميزاته قدرة تشغيله و نقله على مجموعة من الأنظمة، وزنه الخفيف و بساطة استخدامه. بطبيعته التي تسمح له بمحاكات مجموعة من المعالجات فإنه قادر على تشغيل العديد من نظم التشغيل حتى لو لم يكن عتادك متوافق معها. Qemu يشبه محاكيات Playstation و GameBoy على الحواسب الشخصية. لكن في المقابل المحاكيات أقل أداء بكثير من الآلات الافتراضية.

3. Xen و هو مراقب الأجهزة الافتراضية (Hypervisor) بمعنى أنه برنامج شبيه بنظام تشغيل خفيف يسمح لنظامين افتراضيين أو أكثر بالعمل في نفس الوقت و على نفس العتاد مستفيدين من أكبر كمية من الموارد الممكنة. هذا النوع من برامج الآلة الافتراضية يقتصر بالدرجة الأولى على الاستخدامات الموجهة للشركات لإنه يقلل من الكلفة و يزيد من الحماية عن طريق العزل. لا شيء يمنع المستخدمين العديين من استغلال هذه التقنية المتقدمة غير أنه من الضروري أن يكون المعالج من الطراز الحديث بتقنية AMD-V/VT-x، أو أن تكون الأنظمة الافتراضية المضافة مستنيرة بمعنى أنها معدلة نسبيا لتعرف أنها تعمل داخل مراقب الأجهزة الافتراضية.

4. KVM و هي وحدة دعم تقنية الأنظمة الافتراضية على مستوى نواة لينوكس بمعنى آخر أن نواة لينوكس توفر قدرة إنشاء و تسيير الأنظمة الافتراضية على كل المعالجات التي تتوفر على تقنية VT-x/AMD-V، و هو بذلك شبيه بفيرتول بوكس مع اشتراط التقنيتين السابقتين. KVM أسرع من VirtualBox قليلا و هو متوفر الآن حتى على نظام فري بي إس دي (FreeBSD) بعد أن تم نقله إليه. لكي بستفيذ المستخدم عمليا من وحدة KVM عليه أن يثبت النسخة المعدلة لQemu و تدعى Qemu-KVM.


لم أجرب Xen بعد لكن اليوم جربت KVM لأول مرة في تثبيت Fedora 12، سأكتب عن التجربة بعد انتهائي من جحيم التبعية (dependency hell) التي واجهتني عند تثبيت التحديثات.