kvm یک فناوری مجازی ساز متن باز لینوکسی است که اجازه میدهد از کرنل لینوکس به عنوان هاپیروایزر استفاده کنید. مزیت بزرگی که این فناوری مجازی ساز نسبت به نمونههای مشابه دارد در متن باز بودن آن است، بهطوری که به کاربران این امکان را میدهد تا نسخهای متناسب با نیازهای کاری خود را به کار گیرند. در کنار معرفی مجازی ساز kvm با آموزش تصویری نصب kvm روی ubuntu و آموزش تصویری نصب kvm روی centos با توسعه شبکه آداکهمراه باشید.
- مجازی ساز kvm چیست
- دلایل استفاده از فناوریهای مجازی ساز لینوکس محور
- ویژگیهای شاخص kvm
- نصب و راه اندازی kvm
- آموزش تصویری نصب kvm روی اوبونتو
- آموزش ساخت ماشین مجازی در kvm و بستر ubuntu
- مدیریت ماشینهای مجازی در kvm و بستر ubuntu
- آموزش تصویری نصب kvm روی توزیع CentOS 7.x
- پیکربندی Bridge Interface
- ساخت ماشین مجازی در kvm و بستر CentOS
- ساخت ماشین مجازی از طریق خط فرمان در Centos
مجازی ساز kvm چیست
مجازی سازی یکی از فناوریهای بزرگی است که باعث شکلگیری تغییرات مهمی در دنیای فناوری شده است، بهطوری که اجازه میدهد به شکل کارآمدتری از منابع و ابر استفاده کنیم. این فناوری با ارایه راهحلی یکپارچه، خودکار و هماهنگ که همه مولفهها به بهترین شکل در تعامل با یکدیگر هستند این امکان را در اختیار سرپرستان شبکه قرار میدهد تا ماشینهای مجازی را ایجاد کنند که عملکردی شبیه به ماشینهای واقعی (کامپیوترهای واقعی) دارند، با این تفاوت که هر زمان کاربران در محل کار حضور دارند ماشین مجازی را فعال کرده و از آن استفاده کنند.
مجازی سازی با تقسیم منابع فیزیکی به نمونههای منطقی یا همان مجازی این امکان را فراهم میکند تا منابع را به شکل دقیقی مدیریت و از آنها استفاده کرد. در حالی که مجازی سازی اساسا یک فناوری نرمافزارمحور است، با اینحال به ملزومات سختافزاری قدرتمندی نیاز دارد. بنابراین، اگر یک سرور فیزیکی با ۱۶ هسته پردازشی دارید که یک hypervisor روی آن در حال اجرا است، میتوانید به راحتی یک یا چند ماشین مجازی که هر یک دو هسته پردازشی دارند ایجاد کرده و کار را آغاز کنید.
محدودیت در مورد نحوه ساخت و بهکارگیری ماشینهای مجازی بستگی به راهکار نرمافزاری دارد که از آن استفاده میکنید. بهطور مثال، اگر در حال اجرای راهکار مجازی ساز Red Hat Enterprise v4.x هستید که یک هایپروایزر bare metal بر kvm است، میتوانید به مدیریت و تخصیص ۷۶۸ هسته پردازنده منطقی بپردازید. Kvm مخفف Kernel-based Virtual Machine است.
kvm یک ماژول مجازی سازی در هسته لینوکس است که اجازه میدهد از کرنل لینوکس به عنوان Hypervisor استفاده کنید. KVM این امکان را میدهد که یک سرور فیزیکی را به چند سرور مجازی و ماشین مجازی تقسیم کنید.
دلایل استفاده از فناوریهای مجازی ساز لینوکس محور
مجازی سازی اولین بار در قالب مفهومی بهنام uml مخفف user mode linux پدید آمد. امروزه گزینههای زیادی برای مجازی سازی در سیستم عامل لینوکس وجود دارد که امکان ساخت ماشینهای مجازی قدرتمند را فراهم میکند. راهکارهای محبوب در این زمینه باید KVM و Xen و QEMU و… است.
یکی از مهمترین عواملی که باعث شده کاربران به سراغ مبحث مجازی سازی لینوکس محور با kvm بروند، متن باز و منعطف بودن این فناوری است. شبیه به هر نرمافزار متن باز دیگری راهکارهای مجازی سازی نیز به مرور زمان تکامل پیدا کردهاند. بهطوری که امروزه دسترسی به قابلیتهای گستردهای فراهم شده است. بهطور مثال، در مقایسه با یک راهکار متن بسته، روند توسعه و شناسایی معایب نرمافزارهای متن باز بهشکل سادهتری انجام میشود که باعث میشود بهطور غیر مستقیم هزینه تحقیق و توسعه کاهش پیدا کند و عملکرد، بهرهوری و بازدهی بهبود پیدا کند.
ویژگیهای شاخص kvm
مهمترین ویژگیهای راهکار سرور kvm عبارتند از:
امنیت: kvm از ترکیب selinux و مجازی سازی امن (svirt) برای بهبود امنیت و ایزولهسازی ماشینهای مجازی استفاده میکند.
ذخیرهسازی: kvm قادر به پشتیبانی از حافظههای رایجی است که توسط توزیعهای مختلف لینوکسی پشتیبانی میشود. بنابراین مشکل خاصی در استفاده از دیسکهای محلی و ذخیرهسازهای متصل به شبکه nas نخواهید داشت.
مسیرهای چندگانه ورودی و خروجی (Multipath I/O): راهحل kvm به شرکتها اجازه میدهد برای بهبود فرایند ذخیرهسازی و دستیابی به افزونگی بهتر از مسیرهای چندگانه ورودی و خروجی استفاده کنند. علاوه بر این از سیستم فایلی مشترک پشتیبانی میکند تا ایمیجهای ماشین مجازی توسط میزبانهای مختلف قابل استفاده باشند.
پشتیبانی از سختافزارهای مختلف: kvm میتواند از طیف گستردهای از سختافزارها پشتیبانی کند، بنابراین امکان بهکارگیری سختافزار شرکتهای مختلف وجود دارد. با توجه به اینکه فروشندگان برتر سختافزار جهان در روند توسعه کرنل لینوکس مشارکت میکنند، جدیدترین ویژگیهای سخت افزاری در زمان کوتاهی به هسته لینوکس اضافه میشود.
نصب و راه اندازی kvm
با توجه به متنباز، انعطافپذیر بودن و قابلیت نصب kvm روی توزیعهای لینوکسی بی دلیل نیست که شرکتهای مختلفی به دنبال نصب و راه اندازی kvm با هدف کاهش هزینهها باشند. kvm یکی از راهکارهای مجازی سازی کامل برای توزیعهای مختلف لینوکس است که روی سختافزارهای x86 کار میکند و دسترسی به طیف گستردهای از ویژگیها را فراهم میکند.
مجازی ساز kvm شامل ماژول هسته قابل بارگذاری kvm.ko است که میتواند زیرساخت مجازی سازی اصلی را فراهم کند. یکی از ویژگیهای مثبت این فناوری توانایی ساخت ماشینهای مجازی مختلف است. بهطوری که هر ماشین مجازی به سختافزار مجازی خاص خود دسترسی خواهد داشت و این شما هستید که بر فرایند تخصیص منابع نظارت میکنید.
نکتهای که در مورد kvm باید به آن دقت کنید این است که برای استفاده از آن در لینوکس نیازی به نرمافزارهای جانبی ندارید و علاوه بر این اگر خرید لایسنسهای مربوط به VMware برای شما مشکل است این هاپیروایزر کار شما را راحت کرده است. شما میتوانید از kvm برای اجرای ویندوز و لینوکس در ماشینهای مجازی استفاده کنید.
سرپرستان شبکه میتوانند kvm را بهشکل مستقیم با استفاده از دستورات و ابزارهای خط فرمان به کار گیرند. نکته مهم این است که نسخه گرافیکی مدیریت ماشین مجازی قابلیتهای بهتری به ویژه در ارتباط با ساخت ماشینهای مجازی ارایه میدهد. بنابراین پیشنهاد ما این است که از رابط گرافیکی آن استفاده کنید.
با توجه به اینکه، نصب این مدل هایپروایزرها در توزیعهای لینوکسی به یکسری ترفندهای خاص نیاز دارد در ادامه با نحوه نصب آن روی دو توزیع اوبونتو و سنتاوس آشنا میشویم. در این مقاله ما توزیع لینوکسی اوبونتو و سنت او اس ۷ را انتخاب کردیم که از توزیعهای محبوب و پر کاربرد دنیای حرفهای هستند.
آموزش تصویری نصب kvm روی اوبونتو
اولین نکتهای که هنگام کار با kvm باید به آن دقت کنید این است که هایپروازیر فوق تنها زمانی قابل استفاده است که پردازنده مرکزی سیستم از مجازی سازی پشتیبانی کند. برای بررسی این موضوع که آیا پردازنده مرکزی سیستمتان از ویژگی مذکور پشتیبانی میکند یا خیر دستور زیر را اجرا کنید:
egrep -c ‘(svm|vmx)’ /proc/cpuinfo
مقدار ۰ یعنی پردازنده مرکزی از مجازی سازی پشتیبانی نمیکند. مقدار ۱ یا بالاتر یعنی پردازنده بدون مشکل از مجازی سازی پشتیبانی میکند.
در این زمینه باید به یک نکته ظریفی دقت کنید، این احتمال وجود دارد که پردازنده از فناوری مذکور پشتیبانی کند اما قادر به استفاده از kvm نباشید. این مشکل به این دلیل به وجود میآید که گزینه فوق در بایوس سیستم غیر فعال است. در این حالت باید به تنظیمات مادربورد بروید و این گزینه را فعال کنید. برای اینکه بتوانید kvm و بستههای مربوطه را نصب کنید از دستور زیر استفاده کنید.
sudo apt-get install qemu-kvm libvirt-bin bridge-utils virt-manager
تنها کاربر روت و کاربری که در گروه libvirtd قرار دارد قادر به استفاده از ماشینهای مجازی kvm است. دستور زیر را برای اضافه کردن حساب کاربری موردنظر خود به این گروه اجرا کنید.
sudo adduser name libvirtd
بعد از اجرای این دستور، از سیستمعامل خارج شده و دوباره لاگین کنید. پس از ورود به سیستم دستور زیر را اجرا کنید. اکنون باید فهرست خالی از ماشینهای مجازی را مشاهده کنید. این موضوع نشان میدهد که همه چیز به درستی کار میکند:
virsh -c qemu:///system list
آموزش ساخت ماشین مجازی در kvm و بستر ubuntu
بعد از نصب kvm، سادهترین روش برای استفاده از آن، از طریق نرمافزار گرافیکی مدیریت ماشین مجازی است.
در ادامه آموزش ساخت ماشین مجازی در kvm را مشاهده میکنید.
۱- روی دکمه Create New Virtual Machine در نوار ابزار کلیک کنید. اکنون Virtual Machine Manager اجازه میدهد حالت نصب را انتخاب کرده و سختافزار مجازی ماشین مجازی را پیکربندی کنید.
۲- اگر سابقه کار با نرمافزارهای دیگری مثل ویامویر را داشته باشید مشکل خاصی در این زمینه ندارید. میتوانید از طریق دیسک، فایل ایمیج ایزو یا شبکه، فرایند نصب سیستمعامل را انجام دهید.
۳- اگر در نظر دارید حافظه ماشین مجازی بیشتر از ۲ گیگابایت باشد، باید از توزیعی از لینوکس استفاده کنید که کرنل آن ۶۴ بیتی باشد. سیستمهای ۳۲ بیتی قادر به پشتیبانی از ۲ گیگابایت حافظه اصلی برای ماشینهای مجازی هستند.
۴- بهطور پیشفرض، kvm اجازه میدهد bridged networking را انتخاب کنید که عملکردی شبیه به فناوری nat دارد و روشی ساده برای دسترسی به شبکه است. اگر نرمافزار سرور را در ماشین مجازی خود اجرا میکنید و میخواهید از طریق سایر دستگاههای موجود در شبکه به آن دسترسی داشته باشید باید تنظیمات شبکه را کمی تغییر دهید.
۵- بعد از انتخاب روش نصب، Virt-Manager سیستمعامل میهمان را بوت میکند. حالا میتوانید سیستمعامل را نصب کنید.
مدیریت ماشینهای مجازی در kvm و بستر ubuntu
برای مدیریت vm ها در kvm به ترتیب زیر عمل کنید:
پنجره مدیریت ماشین مجازی فهرستی از ماشینهای مجازی نصب شده را نشان میدهد. در پنجره مورد نظر روی ماشین مجازی راست کلیک کنید. در اینجا میتوانید کارهایی همچون شروع، خاموش کردن، کلون کردن (کپی) یا انتقال را انجام دهید.
اگر روی آیکون شبیه i در تولبار کلیک کنید به اطلاعاتی در مورد ماشین مجازی دست پیدا خواهید کرد، ضمن آنکه دسترسی به مدیریت سختافزار مجازی نیز فراهم میشود.
آموزش تصویری نصب kvm روی توزیع CentOS 7.x
بهطور معمول، سرپرستان شبکه kvm را روی توزیعهایی مثل اوبونتور، redhat و centos نصب میکنند. در این بخش با روش نصب kvm روی توزیع centos که یکی از توزیعهای محبوب لینوکسی است آشنا میشویم. همانند حالت قبل، ابتدا باید دستور زیر را اجرا کنید تا اطمینان حاصل کنید که پردازنده مرکزی از مجازی سازی سختافزار پشتیبانی میکند یا خیر.
# egrep ‘(vmx|svm)’ /proc/cpuinfo
اگر خروجی دستور بالا واژگانی مثل vmx یا svm است به معنای آن است که پردازنده مرکزی قادر به پشتیبانی از مجازی سازی سختافزار است.
مرحله اول شامل نصب kvm و بستههای مرتبط است.برای نصب آخرین بسته qemu و برنامه مدیریت ماشین مجازی دستور زیر را اجرا کنید:
[root@linuxtechi ~]# yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils
در مرحله بعد با استفاده از دستورات زیر سرویس ibvirtd را فعال کنید:
[root@linuxtechi ~]# systemctl start libvirtd [root@linuxtechi ~]# systemctl enable libvirtd
برای آنکه مطمئن شوید که آیا ماژول kvm بارگذاری شده یا خیر دستور زیر را اجرا کنید:
[root@linuxtechi ~]# lsmod | grep kvm kvm_intel 162153 0 kvm 525409 1 kvm_intel [root@linuxtechi ~]#
تا این بخش از آموزش شما حداقل ملزومات اولیه موردنیاز CentOS 7 را نصب کردهاید. با اینحال، virt-manager هنوز آغاز به کار نکرده، زیرا باید بسته x-window را نصب کنید. برای این منظور از دستور زیر استفاده کیند:
[root@linuxtechi ~]# yum install "@X Window System" xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils -y
سرور را راه اندازی کنید و virt manager را اجرا کنید.
پیکربندی Bridge Interface
قبل از ساخت ماشینهای مجازی، ابتدا باید رابط bridge را ایجاد کنید. اگر در نظر دارید که ماشینهای مجازی با شبکه خارج از هایپروایزر در ارتباط باشند به رابط مذکور نیاز دارید. برای این منظور دستورات زیر را اجرا کنید (دقت کنید در پنجره خط فرمان باید نام رابطی که سیستم دارد را وارد کنید):
[root@linuxtechi ~]# cd /etc/sysconfig/network-scripts/ [root@linuxtechi network-scripts]# cp ifcfg-eno49 ifcfg-br0 [root@linuxtechi network-scripts]#
فایل Bridge که ifcfg-br0 نام دارد را ویرایش کرده و دستورات زیر را درون آن وارد کنید:
[root@linuxtechi network-scripts]# vi ifcfg-br0 TYPE=Bridge BOOTPROTO=static DEVICE=br0 ONBOOT=yes IPADDR=192.168.10.21 NETMASK=255.255.255.0 GATEWAY=192.168.10.1 DNS1=192.168.10.11
در اینجا باید آدرس آیپی و سرور dns را با جزییات شبکه خود جایگزین کنید. Manager Service را ریستارت کنید تا رابط bridge فعال شود. برای این منظور از دستور زیر استفاده کنید:
[root@linuxtechi ~]# systemctl restart NetworkManager [root@linuxtechi ~]#
ساخت ماشین مجازی در kvm و بستر CentOS
بعد از اینکه kvm و سایر ابزارها را نصب کردید باید ماشین مجازی را ایجاد کنید. Virt Manager یک ابزار گرافیکی است که میتوانیم برای نصب و مدیریت ماشینهای مجازی از آن استفاده کنیم. برای اجرای virt manager دستور virt-manager را در پنجره ترمینال وارد کنید.
[root@linuxtechi ~]# virt-manager
۱- پس از پیکربندی bridge interface، زمان ساخت ماشینهای مجازی فرارسیده است. دستور virt-install را اجرا کرده یا از رابط گرافیکی (virt-manager) گزینه New را انتخاب کنید. در اینجا ما قصد نصب ویندوز سرور را روی ماشین مجازی با استفاده از virt-manager داریم. Virt-manager را اجرا کنید. روی منوی File کلیک کرده و گزینه New Virtual Machine را انتخاب کنید.
۲- ما از فایل ایزو برای نصب استفاده میکنیم. در مرحله بعد باید مسیر فایل ایزو را مشخص کنید.
۳- دکمه Forward را کلیک کنید.
در مرحله بعد باید منابع سیستمی مثل حافظه اصلی و پردازنده مرکزی را مشخص کنیم.
۴- روی دکمه Forward کلیک کنید. در مرحله بعد باید اندازه ماشین مجازی را مشخص کنید که ما مقدار ۲۵ گیگابایت را تعیین کردهایم.
۵- در مرحله بعد نام ماشین مجازی و نوع شبکه که Bridge bro است را تعیین کنید.
۶- روی دکمه finish کلیک کنید تا نصب آغاز شود.
ساخت ماشین مجازی از طریق خط فرمان در Centos
دستور virt-install با استفاده از خط فرمان، ماشین مجازی را ایجاد میکند. این دستور پارامترهای ورودی مختلفی دارد. در مثال زیر ما قصد ساخت ماشین مجازی و نصب توزیع اوبونتو را داریم.
[root@linuxtechi ~]# virt-install --name=Ubuntu-16-04 --file=/var/lib/libvirt/images/ubuntu16-04.dsk --file-size=20 --nonsparse --graphics spice --vcpus=2 --ram=2048 --cdrom=ubuntu-16.04-server-amd64.iso --network bridge=br0 --os-type=linux --os-variant=generic Starting install... Allocating 'ubuntu16-04.dsk' | 20 GB 00:00:00 Creating domain...
در فرمان virt-install پارامترهای این فرمان به شرح زیر هستند:
–name = نام ماشین مجازی
–file = مکانی که فایل دیسک ماشین مجازی ما در آن ذخیره خواهد شد.
–file-size = اندازه ماشین مجازی که در مثال فوق ۲۰ گیگابایت است.
–nonsparse = تخصیص کل فضای ذخیرهسازی هنگام ساخت
–graphics = ابزار گرافیکی را برای نصب تعاملی مشخص میکند، در مثال بالا Spice است.
–vcpu = تعداد CPU مجازی برای ماشین
–ram = اندازه RAM برای ماشین مجازی
–cdrom = سی دی رام مجازی که رسانه نصب مانند فایل ISO در آن قرار دارد.
–network = مشخص میکند ماشین مجازی از چه شبکهای استفاده کند. در این مثال I am bridge interface را انتخاب کردهایم.
–os-type = نوع سیستمعامل مانند لینوکس و پنجره را مشخص میکند.
هنگامی که نصب کامل شد، میتوانید با استفاده از کنسول Virtual Machine یا همان virt-manager ماشین مجازی را اجرا کرده و از آن استفاده کنید.
میتوانید از طریق لینک دریافت مشاوره طراحی شبکه با کارشناسان و متخصصین شبکه توسعه شبکه آداکدر ارتباط بوده و از خدمات ما زمینه طراحی، پیاده سازی و پشتیبانی شبکه استفاده نمایید.
مجازی سازی با تقسیم منابع فیزیکی به نمونههای منطقی یا همان مجازی این امکان را فراهم میکند تا منابع را به شکل دقیقی مدیریت و از آنها استفاده کرد. در حالی که مجازی سازی اساسا یک فناوری نرمافزارمحور است، با اینحال به ملزومات سختافزاری قدرتمندی نیاز دارد. بنابراین، اگر یک سرور فیزیکی با ۱۶ هسته پردازشی دارید که یک hypervisor روی آن در حال اجرا است، میتوانید به راحتی یک یا چند ماشین مجازی که هر یک دو هسته پردازشی دارند ایجاد کرده و کار را آغاز کنید.
محدودیت در مورد نحوه ساخت و بهکارگیری ماشینهای مجازی بستگی به راهکار نرمافزاری دارد که از آن استفاده میکنید. بهطور مثال، اگر در حال اجرای راهکار مجازی ساز Red Hat Enterprise v4.x هستید که یک هایپروایزر bare metal بر kvm است، میتوانید به مدیریت و تخصیص ۷۶۸ هسته پردازنده منطقی بپردازید. Kvm مخفف Kernel-based Virtual Machine است.
kvm یک ماژول مجازی سازی در هسته لینوکس است که اجازه میدهد از کرنل لینوکس به عنوان Hypervisor استفاده کنید. KVM این امکان را میدهد که یک سرور فیزیکی را به چند سرور مجازی و ماشین مجازی تقسیم کنید.”
}
},{
“@type”: “Question”,
“name”: “دلایل استفاده از فناوریهای مجازی ساز لینوکس محور”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “مجازی سازی اولین بار در قالب مفهومی بهنام uml مخفف user mode linux پدید آمد. امروزه گزینههای زیادی برای مجازی سازی در سیستم عامل لینوکس وجود دارد که امکان ساخت ماشینهای مجازی قدرتمند را فراهم میکند. راهکارهای محبوب در این زمینه باید KVM و Xen و QEMU و… است.
یکی از مهمترین عواملی که باعث شده کاربران به سراغ مبحث مجازی سازی لینوکس محور با kvm بروند، متن باز و منعطف بودن این فناوری است. شبیه به هر نرمافزار متن باز دیگری راهکارهای مجازی سازی نیز به مرور زمان تکامل پیدا کردهاند. بهطوری که امروزه دسترسی به قابلیتهای گستردهای فراهم شده است. بهطور مثال، در مقایسه با یک راهکار متن بسته، روند توسعه و شناسایی معایب نرمافزارهای متن باز بهشکل سادهتری انجام میشود که باعث میشود بهطور غیر مستقیم هزینه تحقیق و توسعه کاهش پیدا کند و عملکرد، بهرهوری و بازدهی بهبود پیدا کند.”
}
}]
}