התקנה והגדרה של KVM Hypervisor ב- CentOS/RHEL
במאמר זה נבחן כיצד להתקין ולהגדיר את KVM hypervisor בשרת המריץ לינוקס, RHEL או CentOS. אנו נראה כיצד ליצור מכונה וירטואלית ב- KVM, לשנות את ההגדרות שלה ולהתקין מערכת הפעלה אורחת. נתאר גם כמה פקודות אופייניות לניהול VM.
KVM (מכונה וירטואלית מבוססת ליבה) הוא Hypervisor לינוקס המשתמש בטכנולוגיות וירטואליזציית חומרה Intel VT או AMD SVM. באמצעות KVM, אתה יכול ליצור מכונות וירטואליות מבודדות עם חומרה וירטואלית משלהם: מתאמי רשת, דיסקים, כרטיסים גרפיים או התקנים אחרים. ניתן להתקין כל מערכת הפעלה אורחת במחשב וירטואלי (לא רק לינוקס).
כיצד להתקין KVM ב- CentOS/RHEL?
כאשר אתה מגדיר KVM בשרת שלך, עליך להתחיל בבדיקת CPU. עליך לוודא אם ה- CPU המותקן במחשב המארח שלך תומך בווירטואליזציה של חומרה. הפעל את הפקודה הבאה במסוף השרת שלך:
# cat /proc/cpuinfo | egrep "(vmx|svm)"אם המעבד שלך תומך ב- VT-x, תראה פלט כזה:
אם הפקודה לא החזירה דבר, אך ידוע לך שה- CPU שלך תומך בווירטואליזציה, ודא שאפשרות זו אינה זמינה ב- BIOS של השרת. חפש את האפשרויות Intel Virtualization Technology או SVM MODE.
השרת שלי תומך ב- VT-x והוא מופעל, כך שנוכל להתקין את החבילות הדרושות ב- CentOS/RHEL באמצעות yum/dnf:
# yum install libvirt libvirt-python libguestfs-tools qemu-kvm virt-install -yqemu-kvm - KVM Hypervisor
libvirt - ספריות ניהול וירטואליזציה
virt-install - כלי CLI לניהול מכונות וירטואליות KVM
חבילות רבות יותקנו בשרת הלינוקס שלך. ודא שלא מתרחשות שגיאות במהלך ההתקנה.
לאחר מכן הוסף את שירות libvirtd לאתחול והפעל אותו:
# systemctl enable libvirtd
# systemctl start libvirtdודא שמודולי ליבת kvm_intel ו- kvm נטענו:
# lsmod | grep kvmkvm_intel 188688 0
kvm 636931 1 kvm_intel
irqbypass 13503 1 kvmאם הפקודה אינה מחזירה דבר, הפעל מחדש את המארח ובדוק שוב.
יצירה וקביעת תצורה של Bridge Networking עבור KVM
לאחר מכן צור ספריות לאחסון דיסקים של מחשבים וירטואליים ותמונות ISO ב:
# mkdir -p /vz/{disk,iso}כדי שלמחשבים הווירטואליים שלך תהיה גישה לאינטרנט, עליך להגדיר את תצורת הרשת באמצעות גשר. כדי לעשות זאת, תזדקק לכלי הגשר. ודא אם הוא מותקן במארח Linux שלך באמצעות פקודה זו:
# rpm -qa | grep bridge-utilsהתקן אותו במידת הצורך:
# yum install bridge-utils -yלאחר התקנת החבילה, ממשק הרשת virbr0 הופיע במערכת ההפעלה:
# ip aכדי ליצור גשר, עליך להגדיר את קובץ התצורה של ממשק רשת השרת שלך:
cp /etc/sysconfig/network-scripts/ifcfg-enp1s0f0 /etc/sysconfig/network-scripts/ifcfg-enp1s0f0_bak- לגבות את הקובץ
nano /etc/sysconfig/network-scripts/ifcfg-enp1s0f0— פתח אותו כדי לערוך אותו
מחק את תוכן הקובץ והחלף אותו בפריטים הבאים:
DEVICE="enp1s0f0"
ONBOOT="yes"
BRIDGE=br0במקרה שלך, שם הממשק עשוי להיות שונה (קבל אותו באמצעות הפקודה ip).
לאחר מכן צרו קובץ:
nano /etc/sysconfig/network-scripts/ifcfg-br0מכיל את התצורה הבאה:
DEVICE="br0"
TYPE=BRIDGE
ONBOOT=yes
BOOTPROTO=static
IPADDR="IP_address_of_the_server"
NETMASK="255.255.255.0"
GATEWAY="Default_gateway"
DNS1="8.8.8.8"
DNS2="8.8.4.4"
עליך לציין את כתובת ה- IP של השרת ואת שער ברירת המחדל שלך. לאחר עריכת קובץ תצורת ממשק הרשת, הפעל מחדש את הרשת:
# service network restartאם לאחר הפעלה מחדש של הרשת אין באפשרותך לגשת לשרת שלך, נסה להפעיל מחדש גם את המחשב המארח. לפעמים יש צורך להגדיר גשר כראוי.
כדי להציג את מצב הגשר, השתמש בפקודה זו:
# brctl showbridge name bridge id STP enabled interfaces
br0 8000.ac1f6b654321 no enp1s0f0
virbr0 8000.525400abcdef1 yes virbr0-nicבשלב האחרון, הגדר את העברת תעבורת הרשת:
# echo -e "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && sysctl -pלאחר מכן הפעל מחדש את libvirtd:
# service libvirtd restartתצורת רשת KVM הבסיסית הסתיימה, ותוכלו ליצור מכונה וירטואלית.
יצירת מכונות וירטואליות ב- KVM
לפני יצירת מכונה וירטואלית, הורדתי תמונת CentOS 8 ממראה רשמית ל- /vz/iso:
# cd /vz/iso && wget http://mirror.imt-systems.com/centos/8.3.2011/isos/x86_64/CentOS-8.3.2011-x86_64-dvd1.isoכדי ליצור מכונה וירטואלית חדשה של KVM, הפעל את הפעולות הבאות:
virt-install -n test-centosvm \
--noautoconsole \
--network=bridge:br0 \
--ram 2048 --arch=x86_64 \
--vcpus=4 --cpu host --check-cpu \
--disk path=/vz/disk/test-centosvm.img,size=32 \
--cdrom /vz/iso/CentOS-8.3.2011-x86_64-dvd1.iso \
--graphics vnc,listen=IP,password=p@sswdr0w1 \
--os-type linux --os-variant=rhel7 --boot cdrom,hd,menu=ontest-centosvm— שם של VM
noautoconsole- לאחר יצירת VM, לא תתחבר למסוף ה- VM באופן אוטומטי
network- סוג רשת (גשר, במקרה שלי);
ram— כמות זיכרון RAM ב- VM;
vcpus- מספר ליבות המעבד (תצורת vCPU עבור VM)
disk- דיסק וירטואלי, נתיב - נתיב לדיסק, גודל - גודל הדיסק (ניתן להאריך/לכווץ אותו מאוחר יותר)
cdrom- CDROM וירטואלי, תמונת ISO להתקנת מערכת הפעלה משב רוח מותקן;
graphics— פרמטרים כדי להתחבר למחשב וירטואלי באמצעות מסוף גרפי. אנו נשתמש ב- VNC כדי להתחבר אליו, ולכן להאזנה ציין את כתובת ה- IP של שרת KVM, שבו יצרת את ה- VM, ואת הסיסמה להתחבר למסוף המחשב הווירטואלי
כדי לבצע אתחול אוטומטי של המחשב הווירטואלי, הפעל:
# virsh autostart test-centosvmכיצד להתחבר ל- KVM VM באמצעות VNC ולהתקין מערכת הפעלה?
כדי להתחבר למחשב וירטואלי KVM באמצעות VNC, עליך לברר באיזו יציאה הוא פועל:
virsh vncdisplay test-centovmsIP:00 פירושו שמספר היציאה לחיבור באמצעות VNC הוא 5900. אם אתה מקבל ערך אחר, פשוט הוסף את המספר שהפקודה החזירה ל- 5900.
כדי להתחבר לשרתים באמצעות VNC, אני משתמש ב-TightVNC. הפעל אותו וציין את כתובת ה- IP של השרת שלך ואת יציאת VNC שקיבלנו קודם לכן (עם נקודתיים כפולים כמפריד).
לחץ על התחבר והזן את הסיסמה שהגדרת בעת יצירת KVM VM. אם עשית זאת נכון, מופיעה מסוף השרת, שבו פועלת התקנת CentOS (או מערכת הפעלה אורחת אחרת, איזו תמונה טעינת).
אם חומת אש מופעלת בשרת שלך, פתח את יציאות 5900-5910 עבור VNC בחומת אש/iptables (עשר יציאות יספיקו). לאחר התקנת מערכת הפעלה אורחת במחשב וירטואלי, הפעל את המחשב הווירטואלי ממסוף השרת:
כדי לכבות מכונה וירטואלית של KVM, השתמש בפקודה זו:
# virsh shutdown test-centosvmכדי להציג רשימה של כל המכונות הווירטואליות הרשומות של KVM:
# virsh list --allלמידע נוסף על ניהול מכונות וירטואליות KVM ממסוף השרת באמצעות virsh (כיצד להוסיף זיכרון RAM, מעבדים, דיסקים או ממשקי רשת). אם אתה מעדיף ממשק גרפי, אתה יכול להשתמש virt-manager KVM GUI.
תצורת מארח KVM בסיסית הסתיימה, ונוצרה מכונה וירטואלית. אתה יכול ליצור כל מספר של מכונות וירטואליות ב- KVM, זה תלוי רק במשאבי השרת שלך ובצרכים שלך.





