سنعرض في هذا الدرس، الرابع من سلسلة دروس الحوسبة الافتراضية باستخدام KVM، كيفية إدارة الآلات الافتراضية عن طريق أدوات تعمل على سطر الأوامر؛ بدلا من واجهة virt-manager الرسومية. تفيد أدوات سطر الأوامر خصوصا في كتابة السكربتات لأتمتة Automating المهام. سنرى الأدوات التاليّة:
-
virt-install
: لإنشاء الآلات الافتراضية وضبطها. -
virsh
: لإنشاء مجامع التخزين وإعدادها. -
qemu-img
: لإدارة تجزئات التخزين الافتراضية.
إعداد مجمع تخزين
تُعد أداة virsh
على سطر الأوامر واجهةً لإدارة الآلات الافتراضية وإعدادها. سنستخدم هذه الأداة في الفقرات المقبلة لإنشاء مجمع تخزين لبيئة KVM. ننفذ الأمر pool-define-as
مع virsh
لتعريف مجمع تخزين جديد. نمرّر للأمر اسم المجمع، نوعه ومعطيات النوع. يبلغ عدد معطيات نوع المجمع خمسة، وتختلف معطيات نوع المجمع التي يجب تمريرها إلى الأمر من نوع إلى أخر. إن أردنا - مثلا - إنشاء مجمع تخزين مماثل للمجمع SPool1
الذي أنشأناه في الدرس الماضي ، والذي هو من نوع dir
فسنحتاج لذكر المعطى target
(الأخير من المعطيات الخمسة، ويشير إلى مسار مجلّد على النظام المضيف) فقط ونعوّض المعطيات الأربعة المتبقية بعلامة -
:
$ sudo virsh pool-define-as SPool1CL dir - - - - "/mnt/spools/Spool1New" Pool SPool1CL defined
تظهر بعد تنفيذ الأمر رسالة توضّح أن مجمع التخزين قد عُرِّف.
ملحوظة: أسمينا مجمع التخزين SPool1CL
لتمييزه عن مجمع التخزين الذي أنشأناه في الدرس السابق.
يمكننا سرد جميع مجامع التخزين المتوفّرة على النظام بتمرير المعطى all--
إلى الأمر virsh pool-list
:
$ sudo virsh pool-list --all Name State Autostart ------------------------------------------- default active yes SPool1 active yes SPool1CL inactive no SPool2 active yes
ستلاحظ ظهور مجمع التخزين SPool1CL
إلى جانب مجامع التخزين التي أنشأناها في الدرس الماضي؛ لكنّه يختلف عنها في الحالة State
والتفعيل التلقائي (Autostart
). في الواقع، الأمر السابق يعرّف مجمع تخزين، ولكنه لا ينشئه فعليا. ننفّذ الأمر virsh pool-build
لإنشاء مجمع التخزين SPool1CL
المعرَّف أعلاه:
$ sudo virsh pool-build SPool1CL Pool SPool1CL built
تظهر بعد تنفيذ الأمر رسالة تخبرنا بإنشاء المجمع SPool1CL
. يمكننا الآن تفعيل SPool1CL
(تغيير الحالة من خامل inactive
إلى نشِط active
):
$ sudo virsh pool-start SPool1CL Pool SPool1CL started
إن أعدنا سرد جميع مجامع التخزين في النظام فسنلاحظ تغيّر حالة SPool1CL
من inactive
إلى active
:
$ sudo virsh pool-list --all Name State Autostart ------------------------------------------- default active yes SPool1 active yes SPool1CL active no SPool2 active yes
بقي لنا تفعيل التفعيل التلقائي لـSPool1CL
بتنفيذ الأمر التالي:
$ sudo virsh pool-autostart SPool1CL Pool SPool1CL marked as autostarted
فلنعرض معلومات مفصّلة عن مجمع التخزين الذي أكملنا إنشاءه للتو:
$ sudo virsh pool-info SPool1CL Name: SPool1CL UUID: 120247f3-669c-4868-8c1e-bbd134077f55 State: running Persistent: yes Autostart: yes Capacity: 184.33 GiB Allocation: 17.90 GiB Available: 166.43 GiB
مجمع التخزين SPool1CL
جاهز الآن للاستخدام. يُضبَط مجمع تخزين جديد إذن على خطوات: التعريف pool-define-as
، الإنشاء pool-build
، التفعيل pool-start
والتفعيل التلقائي pool-autostart
.
إعداد تجزئات تخزين افتراضية
حان الآن دور التجزئات الافتراضية التي نستخدم الأداة qemu-img
لإعدادها. سننشئ بهذه الأداة تجزئة افتراضية جديدة على مجمع التخزين SPool1CL
. نحدّد للأداة الأمر الذي نريد تنفيذه (create
بالنسبة للإنشاء)، صيغة تجزئة التخزين، مسار الملفّ الخاصّ بالتجزئة وحجمها:
$ sudo qemu-img create -f raw /mnt/spools/Spool1New/SVol1.img 10G Formatting '/mnt/spools/Spool1New/SVol1.img', fmt=raw size=10737418240
لاحظ أن مسار الملفّ الخاصّ بالتجزئة mnt/spools/Spool1New/SVol1.img/
يوجد ضمن المجلّد mnt/spools/Spool1New/
الخاصّ بمجمع التخزين الذي أنشأناه أعلاه (تذكّر أننا حدّدنا النوع dir
، الذي يحفظ التجزئات الافتراضية ضمن مجلد يوجد في نظام التشغيل).
يمكن التحقّق من خاصيّات التجزئة بتنفيذ الأمر qemu-img info
:
$ sudo qemu-img info /mnt/spools/Spool1New/SVol1.img image: /mnt/spools/Spool1New/SVol1.img file format: raw virtual size: 10G (10737418240 bytes) disk size: 0
تحذير: تجنّب استخدام الأمر qemu-img
للتعديل على تجزئات تستخدمها آلالات افتراضية نشطة، أو أي عمليّة Process أخرى؛ فقد يؤدي ذلك إلى إفساد التجزئة.
إنشاء آلات افتراضية
الخطوة الأخيرة هي إنشاء آلة افتراضية وتثبيت نظام تشغيل عليها؛ نستخدم الأداة virt-install
لهذا الغرض. يتطلّب إنشاء آلة افتراضية جديدة تمرير المعطيات التاليّة إلى الأمر virt-install
:
-
اسم الآلة الافتراضية
name--
. -
مسار التجزئة التي نريد استخدامها مع الآلة الافتراضية
disk path--
. -
كيفية الاتصال بالآلة الافتراضية
graphics--
. تكون هذه القيمة عادةspice
(اسم برمجية للتخاطب مع أسطح المكتب الافتراضية، موجودة في حزمةlibvirt-bin
). -
عدد المعالجات الافتراضية
vcpu--
. -
حجم الذاكرة العشوائية بالميغابايت
ram--
. -
مسار ملفّ ISO المستخدَم لتثبيت نظام التشغيل الضيف على الآلة الافتراضية
cdrom--
. -
واجهة الشبكة الافتراضية
network--
.
$ sudo virt-install --name=win7 --disk path=/mnt/spools/Spool1New/SVol1.img --graphics spice --vcpu=2 --ram=4096 --cdrom=/home/zeine77/Documents/ISOs/GRMCULFRER_FR_DVD.iso --network bridge=virbr0
يبدأ بعد تنفيذ الأمر إنشاءُ الآلة الافتراضية.
ثم تظهر نافذة منبثقة جديدة لبدء تثبيت نظام التشغيل الضيف.
ترجمة - بتصرّف - لمقال How to Manage KVM Virtual Environment using Commandline Tools in Linux لصاحبه Mohammad Dosoukey.
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.