راهاندازی KVM و نحوه پیادهسازی
Kernel-based Virtual Machine (KVM) یکی از محبوبترین هایپروایزرهای مبتنی بر هسته لینوکس است که امکان ایجاد و مدیریت ماشینهای مجازی (VMs) را در سرورهای لینوکسی فراهم میکند. KVM به عنوان یک هایپروایزر نوع 1 عمل میکند و مستقیماً بر روی سختافزار اجرا میشود. در این مقاله، به بررسی مراحل نصب و راهاندازی KVM، همچنین پیادهسازی و مدیریت ماشینهای مجازی بر روی آن خواهیم پرداخت.
1. پیشنیازها برای راهاندازی KVM
برای راهاندازی KVM باید اطمینان حاصل کنید که سیستم شما پیشنیازهای زیر را دارد:
پشتیبانی سختافزار از مجازیسازی:
پردازنده شما باید از فناوری مجازیسازی پشتیبانی کند. این فناوری معمولاً با نام VT-x (برای پردازندههای Intel) و AMD-V (برای پردازندههای AMD) شناخته میشود.
برای بررسی این ویژگی، میتوانید از دستور زیر در لینوکس استفاده کنید:
egrep -c ‘(vmx|svm)’ /proc/cpuinfo
اگر خروجی یک عدد بزرگتر از 0 باشد، نشاندهنده پشتیبانی پردازنده شما از مجازیسازی است.
سیستمعامل:
سیستمعامل شما باید لینوکس باشد (ترجیحاً توزیعهای RHEL، CentOS، Ubuntu، یا Debian).
نرمافزارهای مورد نیاز:
پکیجهای qemu-kvm، libvirt، virt-manager، و bridge-utils باید نصب شوند.
2. نصب و راهاندازی KVM
مراحل زیر برای نصب KVM در توزیعهای مختلف لینوکس توضیح داده شده است.
2.1. نصب KVM در Ubuntu/Debian
سیستم را بهروزرسانی کنید:
sudo apt update
sudo apt upgrade
پکیجهای مورد نیاز را نصب کنید:
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
بررسی کنید که KVM به درستی نصب شده است:
sudo kvm-ok
اگر خروجی پیام “KVM acceleration can be used” را نشان داد، KVM به درستی نصب شده است.
سرویس libvirtd را فعال و راهاندازی کنید:
sudo systemctl enable libvirtd
sudo systemctl start libvirtd
2.2. نصب KVM در CentOS/RHEL
سیستم را بهروزرسانی کنید:
sudo yum update
پکیجهای مورد نیاز را نصب کنید:
sudo yum install qemu-kvm libvirt virt-install bridge-utils virt-manager
سرویس libvirtd را فعال و راهاندازی کنید:
sudo systemctl enable libvirtd
sudo systemctl start libvirtd
3. پیادهسازی و مدیریت ماشینهای مجازی
پس از نصب KVM، میتوانید ماشینهای مجازی جدید ایجاد کنید. برای این کار از دو ابزار virt-manager (ابزار گرافیکی) و virsh (ابزار خط فرمان) میتوانید استفاده کنید.
3.1. ایجاد ماشین مجازی با استفاده از virt-manager (رابط گرافیکی)
virt-manager را اجرا کنید:
sudo virt-manager
در پنجره Virtual Machine Manager، روی “Create a new virtual machine” کلیک کنید.
مراحل زیر را دنبال کنید:
Source installation: نوع نصب (مثل ISO image) را انتخاب کنید.
Operating system: سیستمعامل مهمان را انتخاب کنید.
Memory and CPU: مقدار RAM و تعداد پردازندههای مجازی را تعیین کنید.
Storage: اندازه دیسک مجازی را انتخاب کنید.
Network: تنظیمات شبکه را انجام دهید.
پس از تکمیل مراحل، ماشین مجازی شما آماده راهاندازی است. روی “Finish” کلیک کنید تا ماشین مجازی ایجاد و راهاندازی شود.
3.2. ایجاد ماشین مجازی با استفاده از virsh (رابط خط فرمان)
برای ایجاد ماشین مجازی از طریق خط فرمان، میتوانید از دستور virt-install استفاده کنید.
اجرای دستور virt-install:
sudo virt-install \
–name myvm \
–ram 2048 \
–vcpus 2 \
–disk path=/var/lib/libvirt/images/myvm.qcow2,size=20 \
–os-type linux \
–os-variant ubuntu20.04 \
–network network=default \
–graphics vnc \
–cdrom /path/to/ubuntu.iso
در اینجا:
–name: نام ماشین مجازی
–ram: مقدار RAM
–vcpus: تعداد پردازندهها
–disk: مسیر و اندازه دیسک
–os-type: نوع سیستمعامل
–os-variant: نوع سیستمعامل مهمان
–network: تنظیمات شبکه
–graphics: تنظیمات گرافیکی (مثلاً VNC)
–cdrom: مسیر فایل ISO برای نصب سیستمعامل
پس از اجرا، ماشین مجازی شما ایجاد و راهاندازی میشود. میتوانید با استفاده از ابزارهای مدیریتی مانند virsh و virt-manager ماشینهای مجازی خود را مدیریت کنید.
4. مدیریت ماشینهای مجازی
KVM ابزارهای مختلفی برای مدیریت ماشینهای مجازی فراهم میکند:
virsh: یک ابزار خط فرمان قدرتمند برای مدیریت ماشینهای مجازی. با استفاده از دستورات مختلف virsh میتوانید ماشینهای مجازی را ایجاد، حذف، راهاندازی و متوقف کنید.
virt-manager: یک ابزار گرافیکی که امکان مدیریت ماشینهای مجازی و منابع آنها را فراهم میکند.
5. پیکربندی شبکه برای KVM
برای دسترسی ماشینهای مجازی به شبکه خارجی، نیاز به پیکربندی شبکه KVM دارید. این پیکربندیها شامل ایجاد یک بریج شبکه و اتصال ماشینهای مجازی به آن است.
ایجاد یک بریج شبکه:
در فایل /etc/network/interfaces (در Ubuntu/Debian) یا /etc/sysconfig/network-scripts/ifcfg-br0 (در CentOS/RHEL)، تنظیمات بریج را اضافه کنید.
مثال برای Ubuntu:
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
راهاندازی مجدد سرویس شبکه:
sudo systemctl restart networking
نتیجهگیری
KVM یکی از محبوبترین و قدرتمندترین راهکارهای مجازیسازی در لینوکس است که با ترکیب با ابزارهایی مانند libvirt و virt-manager، امکانات گستردهای را برای ایجاد، مدیریت و پیادهسازی ماشینهای مجازی فراهم میکند. با توجه به سادگی در نصب و پیکربندی، همچنین توانایی اجرای محیطهای مجازیسازی در سطح سازمانی، KVM یک انتخاب ایدهآل برای بسیاری از سازمانها و مدیران شبکه است.
مستندات رسمی KVM: KVM Documentation
راهنمای نصب KVM بر روی Ubuntu: Ubuntu KVM Installation Guide
راهنمای نصب KVM بر روی CentOS/RHEL: CentOS KVM Installation Guide
مستندات libvirt: Libvirt Documentation