همانطور که در عنوان مقاله میبینید، میخواهیم چگونگی نصب KVM روی سرور اختصاصی را آموزش دهیم. برای این منظور، روال انجام کار روی دو توزیع مشهور لینوکس که بیشتر بهعنوان سیستمعامل چنین سرورهایی ایفای نقش میکنند را بررسی خواهیم کرد.
همچنین، مزایای انجام چنین کاری را هم زیر ذرهبین میبریم تا بتوانید با دید بازتر و اطلاعات کاملتری دربارۀ نصب کردن یا نکردن KVM روی سیستم خود تصمیم بگیرید.
ولی قبل از هر کاری، برای آنهایی که شاید نیاز به اطلاعات بیشتر داشته باشند، بخش آغازین را به تعریف KVM اختصاص خواهیم داد.
KVM چیست؟
این عبارت مخفف Kernel-based Virtual Machine است. یک تکنولوژی مجازیسازی متنباز که روی سیستمعامل نصب میشود و به کاربر اجازه میدهد چندین ماشین مجازی (VM) را روی یک دستگاه فیزیکی راه بیندازد.
به بیان بهتر، با KVM میتوانید چندین سیستمعامل را که بهصورت همزمان فعالیت میکنند، روی یک کامپیوتر (سرور)، با منابع مستقل و کاملاً ایزوله از یکدیگر در اختیار داشته باشید!
خصوصیات کلیدی مجازیساز KVM عبارتند از:
- متنباز بودن: یعنی هم رایگان است، هم جامعۀ استفادهکنندگان خیلی وسیعی دارد.
- عملکرد خوب: در مقایسه با دیگر تکنولوژیهای مجازیساز، KVM عملکرد خارقالعادهای از خود نشان میدهد.
- منعطف بودن: از طیف وسیعی از سیستمعاملها و کانفیگها پشتیبانی میکند.
- ایمنی بالا: با ایزوله کردن درستوحسابی هر ماشین مجازیای که میسازد، نهایت امنیت هرکدام را تضمین میکند.
- مقیاسپذیری: میتوان از آن برای ساخت ماشینهای مجازی خیلی بزرگ استفاده کرد.
پس KVM به کرنل لینوکس میرود و با استفاده از قابلیتهایی که دارد، مثل یک هایپروایزور نوع ۱ عمل کرده و منابع سختافزاری را بهصورت مستقیم مدیریت میکند.
حالا که فهمیدید KVM چیست، بیایید برویم سراغ اصل مطلب و چگونگی نصب KVM روی دو توزیع شناختهشدۀ لینوکس را یاد بگیریم.
شروع قیمت از
۴,۸ میلیون تومان
پیشنهاد خواندنی: سرور اختصاصی چیست؟ (+ مزایا، معایب و ویژگیها) |
مراحل نصب KVM روی سرور اختصاصی
بدون هیچ دلیل خاصی، اول نصب KVM روی Ubuntu را آموزش میدهیم و بعد سراغ چگونگی انجام این کار روی CentOS میرویم.
نصب KVM روی Ubuntu
اگر از توزیع Ubuntu سیستمعامل لینوکس استفاده میکنید، اگر اکانتتان اجازۀ دسترسی به root را دارد و اگر به ترمینال هم دسترسی دارید، بیایید ببینیم نصب KVM روی سرور اختصاصیای که از این توزیع استفاده میکند، به چه صورتی است.
در اولین قدم باید مطمئن شوید که سیستم امکان مجازیسازی در سطح سختافزار را ارائه میکند و اجازه میدهد کاربر از KVM استفاده کند.
بعد از آن، باید Ubuntu را به آخرین نسخه بهروزرسانی کنید. با این کار، مطمئن میشوید که میتوانید آخرین نسخه از برنامه را روی دستگاه خود نصب کنید. به این منظور، از دستور زیر کمک بگیرید:
sudo apt update
بعد از وارد کردن این دستور، دستگاه از شما میخواهد پسورد دسترسی به root را وارد کنید؛ بعد از وارد کردن پسورد، منتظر بمانید تا apt package manager کارش را به اتمام برساند.
اگر میخواهید ببینید که آیا سیستم اجازۀ مجازیسازی را میدهد یا نه، مراحل زیر را بهترتیب پشتسر بگذارید.
اول باید پشتیبانی CPU از مجازیسازی را با وارد کردن دستور egrep cpmmand چک کنید. بهطور مشخص، باید عین دستور زیر را در ترمینال بنویسید:
egrep -c '(vmx|svm)' /proc/cpuinfo
اگر در پاسخ دستور عدد ۰ را دیدید، یعنی سیستم نمیتواند KVM را اجرا کند؛ هر عدد دیگری غیر از صفر، یعنی مانعی در کار نیست! در تصویر زیر، عدد ۲ بهعنوان پاسخ دستور برگردانده شده است؛ این یعنی سیستم از KVM پشتیبانی میکند.
بعد از آن، باید ببینید آیا سیستم امکان استفاده از KVM acceleration را دارد یا نه. دستور زیر برای این منظور به کارتان میآید:
sudo kvm-ok
اگر پاسخ مثل تصویر زیر بود، یعنی همهچیز درست است.
ولی اگر دستور kvm-ok پاسخی با ارور نشانتان داد، برای حل مشکل باید cpu-checker را نصب کنید. دستور زیر را در ترمینال بنویسید تا کار انجام شود:
sudo apt install cpu-checker
بعد از نصب، دوباره دستور kvm-ok (که کمی بالاتر آن را نوشتیم) را وارد کنید تا KVM acceleration بررسی شود. اگر مشکلی در کار نبود، یعنی همهچیز برای نصب KVM مهیا است.
پس با کمک دستور زیر، پکیجهای ضروری این مجازیساز را روی دستگاه خود نصب کنید:
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils -y
کمی صبر کنید تا تمام پکیجها بهصورت کامل روی سیستم نصب شوند.
بهصورت پیشفرض، فقط کاربران گروههای kvm
و libvirt
امکان استفاده از ماشینهای مجازی را خواهند داشت. اگر میخواهید این امکان را برای کاربران خاصی فراهم کنید، باید آنها را به این گروهها اضافه کنید.
برای اضافه کردن کاربران به گروه libvirt
از این دستور استفاده کنید:
sudo adduser [username] libvirt
اضافه کردن کاربر به گروه kvm
هم با دستور زیر انجام میگیرد:
sudo adduser [username] kvm
نکته: در هر دو دستور، بهجای [username] باید نام کاربری فرد مورد نظر را بنویسید.
مثال زیر را ببینید تا توضیحات این قسمت کاملاً برایتان جا بیفتند.
در آخرین مرحله از نصب KVM روی Ubuntu باید مطمئن شوید که همهچیز درست پیش رفته است. این کار با دستور virsh
انجام میشود که یک ابزار خط فرمان برای مدیریت ماشینهای مجازی روی سیستمهای لینوکسی است. دستور زیر را بنویسید تا جوابی که دنبالش هستید را دریافت کنید:
sudo virsh list –all
در پاسخ این دستور، لیستی از تمام ماشینهای مجازی فعال و غیرفعال ساختهشده روی سیستم را خواهید دید. اگر هنوز هیچ ماشینی نساختهاید، پاسخی مثل آنچه در تصویر زیر میبینید روی صفحه ظاهر میشود:
همچنین، میتوانید از دستور systemctl
هم استفاده کنید تا وضعیت libvirtd
را ببینید. برنامهای در پسزمینه که خدمات بکاند را برای سیستم مدیریت مجازیسازی libvirt
فراهم میکند. منظورمان دستور زیر است:
sudo systemctl status libvirtd
اگر مشکلی در کار نباشد، این پاسخ را خواهید دید و روبهوری Active، عبارت active (running) به نمایش درمیآید.
اگر برنامۀ پسزمینه یا اصطلاحاً daemon فعال نبود، با نوشتن دستور زیر در ترمینال آن را فعال کنید:
sudo systemctl enable --now libvirtd
اینجا کار نصب KVM به پایان میرسد و میتوانید شروع کنید به ساخت ماشینهای مجازی روی توزیع Ubunto.
پیشنهاد خواندنی: راهنمای خرید سرور اختصاصی (نکات کلیدی) |
نصب KVM روی CentOS
جهت نصب KVM روی CentOS، باید CentOS ورژن ۷ یا ۸ روی دستگاه نصب باشد؛ همچنین اکانتی با اجازۀ دسترسی به sudo نیاز دارید که به ترمینال یا خط فرمان هم دسترسی داشته باشد.
اینجا هم در مرحلۀ اول باید پشتیبانی یا عدم پشتیبانی سیستم از مجازیسازی سختافزارها را بررسی کنید. دستور زیر را در ترمینال بنویسید:
cat /proc/cpuinfo | egrep "vmx|svm" $
خروجی چیزی شبیه تصویر زیر خواهد بود:
لیست flagها را بررسی کنید. اگر در بین آنها vmx
(برای پردازندههای Intel) یا svm
(برای پردازندههای AMD) را دیدید، یعنی مشکلی از بابت مجازیسازی سختافزارها وجود ندارد.
نکتۀ آموزشی: اگر در نصب KVM روی سیستمی که از مجازیسازی سختافزارها پشتیبانی میکند به مشکل برخوردید، BIOS را بررسی کنید و ببینید آیا HV (Hardware Virtualization یا همان مجازیسازی سختافزار) فعال است یا نه! برای فعالسازی آن هم باید داکیومنتهای BIOS را بخوانید.
بعد از اینکه مطمئن شدید محدودیتی از جانب سیستم در کار نیست، نوبت به نصب KVM میرسد. دستورهای زیر را بهترتیب وارد کنید:
sudo yum update $
sudo yum install @virt $
در مرحلۀ بعدی، سرویس libvirtd را با استفاده از دستور زیر فعال کنید:
sudo systemctl enable --now libvirtd $
حالا باید ابزارهایی که جهت مدیریت KVM ضروری هستند را با دستور زیر نصب کنید:
sudo yum -y install virt-top libguestfs-tools $
اینجا کار نصب تمام میشود و حالا باید از درستی انجام کار اطمینان حاصل کنید. در اولین قدم از مرحلۀ تأیید نصب، دستور زیر را در ترمینال بنویسید:
lsmod | grep kvm $
خروجی دستور بالا لیستی شامل تمام ماژولهای KVM را نشان میدهد.
برای اینکه خارج از شبکۀ هایپروایزور به ماشینهای مجازی دسترسی داشته باشید، به یک bridge interface نیاز خواهید داشت. در اولین قدم از ساخت bridge interface، باید شبکه رابطهای کاربریای که به ماشین متصل هستند را شناسایی کنید؛ پس دستور زیر را در ترمینال بنویسید:
sudo nmcli connection show $
خروجی دستور بالا، تمام رابطهای کاربری موجود در شبکه را نشان میدهد:
تصویر بالا را ببینید. به نام ethernet interface نیاز خواهید داشت. در تصویر بالا نام enp0s3 است.
برای از بین بردن اتصال، دستور زیر را در ترمینال بنویسد و بهجای UUID، مقدار مد نظر خود را وارد کنید:
sudo nmcli connection delete UUID $
پاسخ زیر موفقیتآمیز بودن عملیات قطع اتصال را تأیید میکند:
قبل از ادامه دادن، باید اطلاعات زیر را در اختیار داشته باشید:
- BRIDGE NAME: نامی که میخواهید برای bridge جدید انتخاب کنید (مثلاً brg1)
- DEVICE NAME: نام دستگاه شبکهای که به bridge متصل است. (مثلاً enp0s2)
- IP ADDRESS/SUBNET: آدرس آیپیای که برای برقراری اتصال مورد نیاز است. (مثلاً ۱۶۸.۱۲.۱۳)
- DEFAULT GATEWAY: آدرس gateway پیشفرض. (مثلاً ۱۶۸.۲۲۱.۵)
- DNS1 و DNS2: آدرسهای DNS. (مثلاً ۸.۸.۸.۸ و ۸.۸.۸.۴)
حالا با در دست داشتن مقادیر بالا، از دستور زیر برای ساخت یک bridge interface جدید کمک بگیرید:
sudo nmcli connection add type bridge autoconnect yes con-name BRIDGE NAME ifname BRIDGE NAME $
اگر با خروجیای مشابه تصویر زیر مواجه شدید، یعنی فرایند ساخت با موفقیت به سرانجام رسیده است:
در مرحلۀ بعدی باید برخی اصلاحات ضروری را روی آدرس آیپی، Gateway و DNS پیاده کنید. دستورهای زیر برای این منظور به کارتان میآیند:
sudo nmcli connection modify BRIDGE NAME ipv4.addresses IP ADDRESS/SUBNET ipv4.method manual $
sudo nmcli connection modify BRIDGE NAME ipv4.gateway GATEWAY $
sudo nmcli connection modify BRIDGE NAME ipv4.dns DNS1 +ipv4.dns DNS2 $
دستورهای بالا همراهبا مقادیر مخصوص خودتان، ظاهری مثل تصویر زیر خواهند داشت:
بعد از وارد کردن ۳ دستور بالا، این دستور را در ترمینال بنویسید:
sudo nmcli connection add type bridge-slave autoconnect yes con-name DEVICE NAME ifname DEVICE NAME master BRIDGE NAME $
خروجی این دستور باید چیزی باشد شبیه به تصویر زیر:
در آخرین مرحله، از دستور زیر استفاده کنید تا bridge فعال شود.
sudo nmcli connection up BRIDGE NAME $
این هم از این؛ حالا کاملاً با چگونگی نصب KVM روی لینوکس (دو توزیع پراستفادۀ آن) آشنایی دارید. بد نیست در بخش بعدی ببینیم انجام این کار (نصب KVM) چه فایدههایی خواهد داشت.
پیشنهاد خواندنی: ماشین مجازی (vm) چیست؟ آشنایی با کلید ورود به دنیای ابری! |
مزایای نصب KVM
نصب KVM روی سرور اختصاصی میتواند مزایای بسیاری را رقم بزند که در اینجا برخی از مهمترینهای آنها را بررسی خواهیم کرد:
- افزایش انعطافپذیری و کنترل
- بهبود چشمگیر عملکرد
- کاهش هزینهها
- افزایش قابل توجه امنیت
- آسانتر شدن مدیریت همهچیز
- راحتتر شدن بازایابی اطلاعات بعد از اتفاقات ناخواسته (Disaster Recovery)
- به وجود آمدن فضایی ایمن و ایزوله برای تست اپلیکیشنها و ابزارهای ناشناخته
در مجموع، انواع مجازیسازها (مخصوصاً KVM)، میتوانند بهترین راهکار برای بسیاری از نیازها باشند و گره از مشکلات بسیاری باز کنند.
پیشنهاد خواندنی: تکنولوژی مجازی سازی چیست و چه انواعی دارد؟ |
اگر موافق باشید، برویم سراغ جمعبندی مقاله.
چندین سیستمعامل روی یک سیستم؛ این است قدرت KVM!
بعد از اینکه در بخشی کوتاه راجعبه این مجازیساز صحبت کردیم و گفتیم مثل یک هایپروایزور نوع ۱ عمل میکند، رفتیم سراغ بخش عملی مقاله و چگونگی نصب KVM روی سرور اختصاصی را آموزش دادیم.
در دو بخش جداگانه، با جزئیات مفصل توضیح دادیم که چطور میتوان این مجازیساز کارراهانداز را روی دو توزیع لینوکس، یعنی Ubuntu و CentOS نصب کرد.
در آخرین بخش هم خیلی جمعوجور به مزایایی اشاره کردیم که KVM میتواند رقم بزند.
خلاصه که اگر تصمیم گرفتید سیستم خود را به بخشهای مستقل تقسیم کنید، بخشهایی که هرکدام از آنها منابع اختصاصی خود را دارند و از سیستمعاملی مجزا بهره میبرند، KVM یکی از بهترین انتخابهایی است که میتوانید داشته باشید.
امیدواریم توانسته باشیم تمام زیروبم نصب این مجازیساز را با زبانی ساده در اختیارتان قرار دهیم. اگر همچنان پرسشی باقی است، همین زیر آن را با مطرح کنید.
منابع: PhoenixNAP
دیدگاه ها
اولین نفری باشید که دیدگاه خود را ثبت می کنید