امروزه مجازي ساز ها مخصوصا kvm در کشور ما طرفداران بسیار پیدا کرده است. در این آموزش با آموزش نصب و کانفیگ این مجازی ساز خدمت شما هستیم.بعد از مطالعه آن ، قادر به نصب و کانفیگ مجازی ساز KVM روی کلیه توزیع های CentOS 6 خواهید بود. مجازی ساز KVM یکی از برترین بستر های نرم افزاری مربوط به مجازی سازی و ساخت ماشین های مجازی است که به مدیر سرور امکان ساخت سرور مجازی با کرنل و منابع کاملا اختصاصی و ۱۰۰٪ حقیقی را میدهد . KVM مخفف عبارت Kernel-based Virtual Machine و به معنای سرور مجازی با کرنل اختصاصی است . KVM بزرگ ترین رقیب مجازی ساز XEN است و امکان Overselling را از مدیر سرور به طور کامل میگیرد . در
نتیجه سرور های ارائه شده توسط مجازی ساز KVM از کیفیت بالاتری نسبت به پلتفورم هایی مانند OpenVZ و حتی VMware برخوردار خواهند بود . خب بریم سراغ کار اصلیمون آموزش نصب و کانفیگ مجازی ساز KVM:توزیع CentOS 6 به صورت پیش فرض از مجازی ساز KVM پشتیبانی میکند و کلیه پکیج ها و کتابخانه های مورد نیاز اجرای این مجازی ساز در لینوکس در مخازن CentOS 6 موجود است . برای نصب پکیج های مربوط به مجازی ساز KVM دستورات زیر را در محیط SSH اجرا کنید :
yum groupinstall "Virtualisation Tools" "Virtualization Platform"
yum install python-virtinst
به جای دستورات فوق میتوانید از روش زیر استفاده کنید . دستورات زیر را محیط SSH اجرا کنید :
yum install kvm qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools
خروجی دستورات فوق در کنسول چیزی شبیه به این خواهد بود :
Loaded plugins: product-id, protectbase, rhnplugin
This system is receiving updates from RHN Classic or RHN Satellite.
0 packages excluded due to repository protections
Setting up Install Process
Package libvirt-0.10.2-18.el6_4.15.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package libguestfs-tools.x86_64 1:1.16.34-2.el6 will be installed
--> Processing Dependency: libguestfs-tools-c = 1:1.16.34-2.el6 for package: 1:libguestfs-tools-1.16.34-2.el6.x86_64
....
..
..
spice-glib.x86_64 0:0.14-7.el6_4.3
spice-gtk.x86_64 0:0.14-7.el6_4.3
spice-gtk-python.x86_64 0:0.14-7.el6_4.3
spice-server.x86_64 0:0.12.0-12.el6_4.5
vgabios.noarch 0:0.6b-3.7.el6
vte.x86_64 0:0.25.1-8.el6_4
Complete!
در مرحله بعدی ابتدا میبایست سرویس libvirtd را در استارتاپ قرار داده و اجرا کنیم :
chkconfig libvirtd on
service libvirtd start
نصب و کانفیگ یک Network Bridge
برای امکان اتصال ماشین های مجازی و سرور های مجازی ساخته شده توسط مجازی ساز KVM باید یک Bridge یا پل ارتباطی شبکه در KVM ایجاد کرده و کانفیگ کنید . برای این
منظور کافی است تا دستورات زیر را در کنسول و محیط SSH اجرا کنید :
yum install bridge-utils
در مرحله بعدی باید تنظیمات ستاپ Gateway رو به شکل زیر انجام بدید :
ابتدا فایل /etc/sysconfig/network را ویراش کرده و به شکل زیر تغییر میدهیم :
# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=kvm-42.cyberciti.biz
## I am routing internet traffic via br1 ##
GATEWAYDEV=br1
برای کانفیگ bridging به شکل زیر عمل کنید :
ابتدا فایل /etc/sysconfig/network-scripts/ifcfg-eth0 را به شکل زیر ویرایش کنید :
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
HWADDR=00:30:48:C6:0A:D8
BRIDGE=br0
سپس فایل /etc/sysconfig/network-scripts/ifcfg-eth1 را نیز به شکل زیر ویرایش میکنیم :
# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
HWADDR=00:30:48:C6:0A:D9
BRIDGE=br1
برای اختصاص IP به br0 فایل /etc/sysconfig/network-scripts/ifcfg-br0 رو ایجاد کرده و به شکل زیر مقدار دهی میکنیم :
# cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
## setup LAN/VLAN ips as per your needs ##
IPADDR=10.10.29.66
NETMASK=255.255.255.192
DELAY=0
برای اختصاص IP به br1 فایل /etc/sysconfig/network-scripts/ifcfg-br1 رو ایجاد کرده و به شکل زیر مقدار دهی میکنیم :
# cat /etc/sysconfig/network-scripts/ifcfg-br1
DEVICE=br1
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
## setup INTERNET ips as per your needs ##
IPADDR=74.ww.xx.yy
NETMASK=255.255.255.248
GATEWAY=74.ww.xx.yy
DELAY=0
ما نیاز داریم تا کل ترافیک lan رو (subnet 10.0.0.0/8) از طریق Gateway ۱۰٫۱۰٫۲۹٫۶۵ روت کنیم .
برای این منظور فایل /etc/sysconfig/network-scripts/route-br0 را ویرایش کرده و به شکل زیر مقدار دهی میکنیم :
# cat /etc/sysconfig/network-scripts/route-br0
10.0.0.0/8 via 10.10.29.65
توجه : در صورت ریستارت کردن سرویس شبکه در حالی که در موارد فوق اشتباهی صورت گرفته باشد ، سبب قطع کامل دسترسی شما به سرور (از طریق SSH) میشود . بنا بر این قبل از ریستارت کردن سرویس network از درست بودن کانفیگ و تنظیمات اطمینان حاصل کنید . احتمال ایجاد اختلال در کار KVM به دلیل وجود سیستم امنیتی لینوکس موسوم به SELinux وجود دارد . بنابر این اگر در زمینه مدیریت SELinux حرفه ای نیستید ، حتما این سرویس رو غیر فعال کنید .
بعد از کسب اطمینان از صحیح بودن کلیه کانفیگ ها و تنظیمات شبکه در سرور لینوکس ، اقدام به ریستارت کردن و راه اندازی مجدد سرویس شبکه میکنیم :
service network restart
و در نهایت برای کسب اطمینان از عملکرد صحیح br0 و br1 دستورات زیر را در SSH اجرا کنید :
# brctl show
# ip addr show br0
# ip addr show br1
# ip route
# ping novinhost.org
تاریخ ارسال: 2015-09-14
تعداد بازدید: 9142
نویسنده: admin