آموزش نصب و پیکربندی مجازی ساز KVM

kvm

 

در دنیای مجازی سازها ( virtualization) نرم افزارهای گوناگونی وجود دارد که هر کدام ویزگی های خاص خود را دارند. یکی از این نرم افزارهای مجازی ساز KVM می باشد که سر نام واژه های Kernel-Based Virtual Machine می باشد.

مجازی ساز KVM یک نرم افزار آزاد می باشد که بوسیله ی آن می توانید ماشین های مجازی با سیستم عامل های مختلف را اجرا کنید. برای ارتباط با KVM Server  و مدیریت آن ابزارهای گوناگونی نیز وجود دارد که برخی از آنها رایگان و برخی دیگر پولی می باشند. در ادامه نحوه ی نصب KVM ، نحوه ی ارتباط و مدیریت آن را آموزش خواهیم داد. این آموزش قابل اجرا بر روی توزیع محبوب فدورا و همچنین توزیع های هم خانواده آن مانند RHEL و CentOS می باشد.

 

پیش نیازها:

قبل از شروع به کار ابتدا بررسی کنید که CPU شما از Hardware Virtualization پشتیبانی می کند یا خیر. برای اینکار می توانید دستور زیر را اجرا کنید :

 

# grep -E '(vmx|svm)' /proc/cpuinfo

 

اگر در خروجی دستور چیزی مشاهده نکردید به این معنی می باشد که CPU شما از Hardware Virtualization پشتیبانی نمی کند و یا اینکه این قابلیت بر روی سیستم شما غیر فعال می باشد. در صورتی که CPU  سیستم از Hardware Virtualization پشتیبانی می کند ولی غیرفعال می باشد، برای فعال کردن آن باید به BIOS سیستم مراجعه کنید و آن را فعال کنید.

 

نصب KVM :

 

ابتدا سیستم را update و reboot کنید تا با آخرین نسخه ی کرنل Boot شود :

 

بر روی فدورا :

 

# dnf update -y ; reboot

بر روی CentOS :

 

# yum update -y ; reboot

 

 

برای نصب KVM و بسته های مورد نیاز کافیست تا دستور زیر را اجرا کنید :

 

بر روی فدورا :

 

#dnf install qemu-kvm qemu-img virt-manager libvirt libvirt-python3 libvirt-client virt-install virt-viewer bridge-utils xorg-x11-xauth dejavu-lgc-sans-fonts libvirt-daemon-kvm qemu-system-x86 libvirt-daemon-config-network libvirt-client

 

بر روی CentOS :

 

#yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils xorg-x11-xauth dejavu-lgc-sans-fonts libvirt-daemon-kvm qemu-system-x86 libvirt-daemon-config-network libvirt-client

 

 

 

اکنون سرویس libvirtd را start و enable کنید :

 

 

# systemctl start libvirtd

# systemctl enable libvirtd

 

با استفاده از دستور پایین می توانید load شدن KVM module را بررسی کنید :

 

# lsmod | grep kvm

پیکربندی Bridge Interface :

 

اگر بخواهید ماشین های مجازی به شبکه ی خارج از hypervisor دسترسی داشته باشند، باید Bridge interface را پیکربندی کنید. اکنون فایل زیر را باز کنید :

 

# vi /etc/sysctl.conf

سپس خط زیر را به فایل اضافه کنید و آن را ذخیره کنید :

 

net.ipv4.ip_forward = 1

 

اکنون برای اعمال تغییر کافیست تا دستور زیر را اجرا کنید :

 

# sysctl -p

 

اکنون ما فرض می کنیم که نام کارت شبکه ی سرور ما ifcfg-enp2s0 می باشد و تنظیمات فعلی آن به صورت زیر می باشد :

 

# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0

NAME=”enp2s0″

DEVICE=”enp2s0″

ONBOOT=yes

NETBOOT=yes

UUID=”948d5187-89e5-49ba-94d5-de5a47486fd9″

BOOTPROTO=none

TYPE=Ethernet

IPADDR=192.168.10.72

PREFIX=24

GATEWAY=192.168.10.1

DNS1=4.2.2.4

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=no

 

اکنون فایل تنظیمات کارت شبکه ی گفته شده را باز کنید :

 

# vi /etc/sysconfig/network-scripts/ifcfg-enp2s0

 

سپس تنظیمات آن را مانند زیر تغییر دهید :

NAME=”enp2s0″

DEVICE=”enp2s0″

ONBOOT=yes

NETBOOT=yes

UUID=”948d5187-89e5-49ba-94d5-de5a47486fd9″

BOOTPROTO=none

TYPE=Ethernet

###IPADDR=192.168.10.72

###PREFIX=24

###GATEWAY=192.168.10.1

###DNS1=4.2.2.4

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=no

BRIDGE=virbr0

 

اکنون فایل زیر را ایجاد کنید :

 

# vi /etc/sysconfig/network-scripts/ifcfg-virbr0

سپس تنظیمات زیر را درون فایل بنویسید و آن را ذخیره کنید :

 

###NAME=”enp2s0″

DEVICE=”virbr0″

ONBOOT=yes

NETBOOT=yes

###UUID=”948d5187-89e5-49ba-94d5-de5a47486fd9″

BOOTPROTO=static

TYPE=BRIDGE

IPADDR=192.168.10.72

PREFIX=24

GATEWAY=192.168.10.1

DNS1=4.2.2.4

###DEFROUTE=yes

###IPV4_FAILURE_FATAL=no

IPV6INIT=no

اکنون سرویس شبکه را restart کنید :

 

# systemctl restart network

 

جهت بررسی Bridge Interface می توانید دستور زیر را اجرا کنید :

 

 

# ip a show virbr0

 

مدیریت KVM Server با Virsh :

 

همانطور که در ابتدای مطلب گفته شد. برای ارتباط و مدیریت KVM Server ابزارهای گوناگونی و جود دارد یکی از آن virsh می باشد که یک نرم افزار خط فرمانی جهت کنترل و مدیریت KVM می باشد. با نصب بسته ی libvirt-client  که در ابتدای مطلب آن را نصب کردیم. می توانیم از virsh استفاده کنیم. در ادامه برخی از دستورهای پر کاربرد  را مرور خواهیم کرد.

 

برای لیست کردن تمامی سیستم عامل هایی که KVM از آنها پشتیبانی می کند، دستور زیر را می توان اجرا کرد :

 

# osinfo-query os

لیست کردن ماشین مجازی هایی که روشن می باشند :

 

# virsh -c qemu:///system list

 

لیست کردن تمامی ماشین های مجازی :

 

# virsh list --all

 

 

 

لیست کردن IP آدرس های ماشین های مجازی (DHCP Address) :

 

# virsh net-dhcp-leases default

دریافت اطلاعات از ماشین مجازی (VM) :

 

# virsh dominfo vmName

نکته اینکه بجای vmName باید نام ماشین مجازی مورد نظر خود را بنویسید.

 

 

shutdown و یا stop کردن یک ماشین مجازی :

 

# virsh shutdown vmName

خاموش کردن سریع به صورت forceful shutdown ماشین مجازی :

 

# virsh destroy vmName

روشن یا همان start کردن یک ماشین مجازی :

 

 

# virsh start vmName

 

فعال کردن قابلیت autostart یک ماشین مجازی هنگام Boot شدن سیستم :

 

 

# virsh autostart vmName

Reboot (soft & safe reboot) ماشین مجازی :

 

# virsh reboot vmName

Reset (hard reset/not safe) ماشین مجازی :

 

 

# virsh reset vmName

حذف ماشین مجازی :

 

# virsh shutdown vmName

# virsh undefine vmName

 

 

ساخت یک ماشین مجازی :

 

# virt-install --connect qemu:///system -n vm-centos7.6 -r 1024 --vcpus=1 --disk path=/var/lib/libvirt/images/vm-centos7.6.img,size=5 --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type linux --os-variant centos7.0 --accelerate --network=bridge:virbr0 --hvm --cdrom /tmp/CentOS-7-x86_64-Minimal-1810.iso

 

 

 

نمونه ای دیگر :

 

# virt-install --name=fedora30 --ram=1024 --vcpus=1 --cdrom=/tmp/Fedora-KDE-Live-x86_64-30-1.2.iso --os-type=linux --os-variant=fedora30 --network bridge=virbr0 --graphics=spice --disk path=/var/lib/libvirt/images/fedora30-kde.dsk,size=4

 

 

 

 

 

نمایش کل دستورات virsh :

 

# virsh help

 

 

مدیریت KVm Server با Virtual Machine Manager:

یکی دیگر از نرم افزارها جهت اتصال و مدیریت KVM Server نرم افزار Virtual Machine Manager می باشد. که در واقع یکه برنامه ی دسکتاپی برای مدیریت KVM می باشد. برای نصب آن روی سیستم خود کافیست تا دستور زیر را در فدورا اجرا کنید :

 

# dnf install virt-manager

اگر از هر توزیع لینوکس دیگری استفاده می کنید به راحتی می توانید آن را نصب و از آن استفاده کنید. در پایین تصویری از برنامه ی Virtual Machine Manager را مشاهده می کنید:

 

 

kvm

 

kvm

 

kvm

اکنون با استفاده از برنامه Virtual Machine Manager می توانید به KVM Server متصل شوید و ماشین مجازی بسازید و آنها را مدیریت کنید.

 

امید است تا از این مطلب استفاده لازم را برده باشید.

 

 

4 نظرات
  1. Mohammad می گوید

    لطفا راجع به این که چطور میشه به هر ماشین مجازی یک ای پی اختصاص داد هم بگین.
    تشکر

    1. hos7ein می گوید

      اگه Bridge Interface رو تنظیم کنین و به هر ماشین مجازی کارت شبکه مربوط به اون شبکه رو اختصاص بدین، در واقع ماشین مجازی میاد توی همون شبکه ی Host و به همین ترتیب می تونید از شبکه بیرون بهش دسترسی داشته باشد.
      پیروز باشید.

  2. emreh می گوید

    سلام
    می خواستم بپرسم که برای Full Screen کردن سیستم عامل مجازی هم باید اکستنشن نصب کرد یا خیر؟؟؟
    می خواستم بپرسم کلا این حالت رو چطوری باید فعال کرد..
    باتشکر

    1. hos7ein می گوید

      درود بر شما

      با همون برنامه ی Virtual Machine Manager می تونید اینکار رو بکنید.

      پیروز باشید

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.