איך ליצור מכונות וירטואליות ב-Linux באמצעות KVM (מכונת וירטואלית בהתבסס על ליבה) – חלק 1

Create Virtual Machines in Linux Using KVM – Part 1

הדרכה זו מדברת על מבוא ל-KVM, פריסה ואיך להשתמש בו כדי ליצור מכונות וירטואליות תחת שיטות ההפצה הבוסטון של רד האט כגון RHEL/CentOS7 ו-Fedora 21.

מהו KVM?

KVM או (מערכת הווירטואליזציה מבוססת הליבה) היא פתרון להפלטה מלאה עבור לינוקס על מערכות עילי Intel 64 ו-AMD 64 הכולל בלינוקס הליבה הראשי מ-2.6.20 ומתקדם ומהיר עבור רוב העבודות.

תכונות KVM

יש מספר תכונות שימושיות ויתרונות שתרוויח כשתשתמש ב-KVM לפרוס את הפלטפורמה הווירטואלית שלך. מרית KVM תומכת בתכונות הבאות:

  1. התרחבות מעל : כלומר הקצאת יותר מעבדים וירטואליים או זיכרון מאשר יש לרשות המערכת.
  2. פרוסיה דקה : המאפשרת את הקצאת מסד נתונים גמישים ומייעל את המרחב הזמין עבור כל מכונת מארח וירטואלית.
  3. דופק Disk I/O : מספק את היכולת לקבוע גבול על בקשות Disk I/O שנשלחות ממכונות וירטואליות למארח המכונה.
  4. התאמת NUMA מתוך המערכת : משפרת את ביצועי היישומים המתקדמים על מערכות NUMA.
  5. יכולת תוספת מעבד וירטואלי חם : מספקת את היכולת להגדיל את כוח העיבוד כפי שצריך על מכונות וירטואליות פעילות, מבלי להפסיק את הפעילות.

זו הפעם הראשונה שלנו בסדרת KVM (מערכת הווירטואליזציה מבוססת הליבה), כאן נכסה את הכתבות הבאות בצורה חלקית.

Part 1: How to Create Virtual Machines in Linux Using KVM (Kernel-based Virtual Machine)

דרישות מוקדמות

ודא שהמערכת שלך מכילה את ההרחבות לווירטואליזציה של החומרה: למארחים המבוססים על אינטל, וודא שההרחבות לווירטואליזציה של המעבד [vmx] זמינות באמצעות הפקודה הבאה.

[root@server ~]# grep -e 'vmx' /proc/cpuinfo
Check Virtualization Support

למארחים המבוססים על AMD, וודא שההרחבות לווירטואליזציה של המעבד [svm] זמינות.

[root@server ~]# grep -e 'svm' /proc/cpuinfo
Check CPU Virtualization Support

אם אין פלט, וודא שההרחבות לווירטואליזציה מופעלות ב-BIOS. וודא שמודולי ה-KVM נטענים בליבה "הם צריכים להיות נטענים כברירת מחדל".

[root@server ~]# lsmod | grep kvm

הפלט צריך לכלול kvm_intel עבור מארחים המבוססים על אינטל או kvm_amd עבור מארחים המבוססים על AMD.

Check KVM Kernel Module

לפני התחלת התהליך, יש לך צורך בחשבון root או משתמש לא-רוט עם הרשאות sudo שהוגדרו במערכת שלך וודא גם שהמערכת שלך מעודכנת.

[root@server ~]# yum update

ודא ש-Selinux מופעל במצב Permissive.

[root@server ~]# setenforce 0

שלב 1: התקנת ופריסת KVM

1. נבצע התקנת החבילות qemu-kvm ו־qemu-img תחילה. חבילות אלו מספקות את KVM ברמת המשתמש ומנהל התמונות בדיסק.

[root@server ~]# yum install qemu-kvm qemu-img

2. כעת, יש לך את הדרישה המינימלית לפריסת פלטפורמה וירטואלית במארח שלך, אך יש גם עדיין כלים שימושיים לניהול הפלטפורמה שלנו כגון:

  1. virt-manager מספק כלי GUI לניהול מכונות הוירטואליות שלך.
  2. libvirt-client מספק כלי CLI לניהול הסביבה הוירטואלית שלך, הכלי הזה נקרא virsh.
  3. virt-install מספק את הפקודה "virt-install" ליצירת מכונות וירטואליות מ-CLI.
  4. libvirt מספק את ספריות השרת וצד המארח לאינטראקציה עם מערכות ההפנייה והמארח.

בואו נתקין את הכלים האלה באמצעות הפקודה הבאה.

[root@server ~]# yum install virt-manager libvirt libvirt-python libvirt-client 

3. למשתמשי RHEL/CentOS7, יש גם קבוצות חבילות נוספות כגון: לקוח וירטואלי, פלטפורמת וירטואליזציה וכלים לווירטואליזציה להתקין.

[root@server ~]#yum groupinstall virtualization-client virtualization-platform virtualization-tools	

4. שרת הווירטואליזציה שמנהל את כל הפלטפורמה היא "libvirtd". בואו נפעיל אותו מחדש.

[root@server ~]#systemctl restart libvirtd

5. לאחר הפעלת השרת, בדקו את מצבו על ידי הרצת הפקודה הבאה.

[root@server ~]#systemctl status libvirtd  
פלט דוגמה
libvirtd.service - Virtualization daemon 
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled) 
   Active: active (running) since Mon 2014-12-29 15:48:46 EET; 14s ago 
 Main PID: 25701 (libvirtd) 
Check Libvirtd Status

עכשיו, בואו נעבור לסעיף הבא כדי ליצור את המכונות הווירטואליות שלנו.

שלב 2: יצירת מכונות וירטואליות באמצעות KVM

כפי שציינו מוקדם יותר, יש לנו כמה כלים שימושיים כדי לנהל את הפלטפורמה הווירטואלית שלנו וליצור מכונות וירטואליות. אחד מהכלים האלה נקרא [virt-manager] שנשתמש בו בסעיף הבא.

6. אף על פי ש-virt-manager הוא כלי המבוסס על ממשק משתמש גרפי, אפשר גם להפעיל אותו מהטרמינל כמו גם מהממשק הגרפי.

[root@server ~]#virt-manager
באמצעות GNOME
Start Virtual Manager in GNOME
באמצעות GNOME Classic
Start Virtual Manager in GNOME Classic

7. לאחר הפעלת הכלי, חלון זה יופיע.

Start Virtual Manager Window

8. בצורת ברירת מחדל תמצאו שהמנהל מחובר ישירות ל-localhost, ממש מזל טוב עליכם, באפשרותכם להשתמש באותו הכלי כדי לנהל מארח אחר מרחוק. מהלשונית "קובץ", פשוט בחרו "הוסף חיבור" וחלון זה יופיע.

Add Connection

בחר את האפשרות "התחבר לשרת רחוק" ואז הזן את שם המארח/כתובת ה-IP של השרת המרוחק. אם תרצה להתחבר לשרת המרוחק בכל פעם שהמנהל מתחיל, סמן את האפשרות "התחברות אוטומטית".

9. נחזור למחשב המקומי שלנו, לפני שתיצור מכונה וירטואלית חדשה עליך להחליט היכן יישמרו הקבצים?! כלומר, עליך ליצור את דיסק הנפח (דיסק וירטואלי / תמונת דיסק) עבור המכונה הווירטואלית שלך.

על ידי לחיצה ימנית על המחשב המקומי ובחירת " פרטים " ואז בחירת לשונית " אחסון ".

VM Storage Details
VM Storage Volume

10. לאחר מכן, לחץ על כפתור " דיסק נפח חדש ", ואז הזן את שם דיסק הווירטואלי החדש שלך (דיסק נפח) והזן את הגודל שברצונך/בצורך שיהיה בסעיף " קיבולת מרבית ".

Create VM Storage Disk

גודל ההקצאה הוא הגודל הממשי של הדיסק שיקוצב מיד מהדיסק הפיזי שלך לאחר השלמת השלבים.

הערה: זו טכנולוגיה חשובה בתחום ניהול האחסון הנקראת " הקצאה דקה ". היא משמשת להקצת גודל האחסון שנעשה בו שימוש בלבד, ולא כל הגודל הזמין.

לדוגמה, יצרת דיסק וירטואלי בגודל 60 גיגה-בייט, אך בעצם השתמשת רק ב- 20 גיגה-בייט, באמצעות הטכנולוגיה הזו הגודל שנוקצב מהדיסק הקשיח הפיזי שלך יהיה 20 גיגה-בייט ולא 60 גיגה-בייט.

במילים אחרות, הגודל הפיזי המוקצה ייקצה באופן דינמי בהתאם לגודל השימוש הפועל. ניתן למצוא מידע נוסף בפרטים ב־VMWare vStorage Thin Provisioning.

11. תשימו לב שתווית הדיסק החדש נוספה לרשימה.

VM Storage Label

כדאי גם לשים לב לנתיב של תמונת הדיסק החדש (Volume Disk), ברירת המחדל היא ב־/var/lib/libvirt/images, ניתן לאמת זאת באמצעות הפקודה הבאה.

[root@server Downloads]# ls -l /var/lib/libvirt/images
-rw-------. 1 root root 10737418240 Jan  3 16:47 vm1Storage.img

12. עכשיו, אנחנו מוכנים ליצור את המכונה הווירטואלית שלנו. נלחץ על הכפתור "VM" בחלון הראשי, חלון האשף יופיע.VM

Create New Virtual Machine

בחרו את אמצעי ההתקנה שתשתמשו בו כדי ליצור את המכונה הווירטואלית. לעת עתה נשתמש במדיה מקומית להתקנה, בהמשך נדון בשאר השיטות.

13. עכשיו הגיע הזמן לציין איזו מדיה מקומית להשתמש בה, יש לנו שתי אפשרויות:

  1. מתוך [CDROM/DVD] פיזי.
  2. מתוך תמונת ISO.

לצורך המדריך שלנו, נשתמש בשיטת תמונת ISO, לכן יש לספק את הנתיב של תמונת ה־ISO שלך.

Select Installation Media

חשוב: לצערנו יש באג טיפשי באמת למשתמשי RHEL/CentOS7. באג זה מונע מכם מהתקנה באמצעות [CDROM/DVD] פיזי, תמצאו שהאפשרות מנוטרלת כך.

Disabled CD DVD Rom in KVM

ואם תחזיקו את הסמן שלכם על זה, הודעת השגיאה הזו תופיע.

CD DVD Not Supported in KVM

עד עכשיו אין פתרון רשמי / ישיר לבאג הזה, ניתן למצוא מידע נוסף בקישור הבא: https://bugzilla.redhat.com.

14. האחסון חזר, נשתמש בדיסק הווירטואלי שיצרנו בתחילה כדי להתקין מכונה וירטואלית עליו. זה יראה כך.

Enable Storage for Virtual Machine

15. השלב הסופי ששואל אותך על שם המכונה הווירטואלית שלך ואפשרויות מתקדמות נוספות נדבר על זה מאוחר יותר.

Enter Name of Virtual Machine

אם ברצונך לשנות קצת את התצורה או לבצע כמה התאמות, סמן את האפשרות "התאמת תצורה לפני ההתקנה". לאחר מכן לחץ על סיום וחכה מספר שניות, תופיע קונסולת בקרה עבור מערכת האורח שלך כדי לנהל אותה

Virtual Machine Installation

סיכום

עכשיו למדת מהו KVM, איך לנהל את פלטפורמת הווירטואלית שלך באמצעות כלים GUI, איך להפיק מכונה וירטואלית באמצעות זה ודברים אחרים מדהימים

אף על פי שזה לא סוף המאמר, במאמרים הבאים שלנו, נדון בנושאים חשובים נוספים הקשורים ל-KVM. תעשה את ידיך מלוכלכות בעזרת הידע הקודם והתכונן לחלק הבא…

Source:
https://www.tecmint.com/install-and-configure-kvm-in-linux/