نوشته‌ها

مجازی سازی با KVM


مجازی سازی سرور با KVM

Kernel-based Virtual Machine (KVM) چیست؟

Kernel-based Virtual Machine یک فناوری مجازی سازی منبع باز است که شرکت Linux ارائه داده است. KVM به شما این امکان را می‌دهد Linux را به یک Hypervisor تبدیل کنید تا به Host اجازه دهد چندین VM را در خود اجرا کند. KVM قابلیت‌های مجازی سازی را فعال کرده و به VMها سرویس‌های معمولی یک سیستم فیزیکی از جمله بایوس مجازی و سخت‌افزار مجازی مانند CPU، RAM، فضای ذخیره‌سازی، کارت شبکه را ارائه می‌دهد. در نتیجه، هر VM یک سرور فیزیکی را به طور کامل شبیه‌سازی می‌کند.

نحوه کار KVM

KVM، لینوکس را به Hypervisor نوع 1 (Bare Metal) تبدیل می‌کند. تمامی Hypervisor ها برای اجرای VM ها به برخی از اجزای سیستم عامل مانند RAM، CPU، پشته Input/Output، درایورهای دستگاه و موارد دیگر نیاز دارند که KVM همه این اجزا را داراست، چرا که بخشی از هسته لینوکس است. هر VM به عنوان یک فرآیند معمولی در لینوکس، با سخت‌افزار مجازی اختصاصی مانند کارت شبکه، کارت گرافیک، CPU، RAM و دیسک‌ها پیاده‌سازی می‌شود.

ویژگی‌های KVM

KVM بخشی از Linux است و Linux نیز بخشی از KVM. هر آنچه Linux دارد، KVM نیز دارد اما ویژگی‌های خاصی وجود دارد که KVM را به یک Hypervisor ترجیحاً سازمانی تبدیل می‌کند. این ویژگی‌ها عبارتند از:

  • KVM از SELinux و sVirt برای امنیت و ایزوله‌سازی VM استفاده می‌کند. SELinux امنیت را در بیرون از VM ایجاد می‌کند و sVirt نیز قابلیت‌های SELinux را گسترش داده و این امکان را فراهم می‌کند که امنیت در VM های Guest نیز اعمال شود و از خطاهای دستی نیز جلوگیری ‌کند.
  • KVM می‌تواند از هر فضای ذخیره‌سازی که توسط لینوکس پشتیبانی شده است از جمله دیسک‌های local و NAS ها استفاده کند.
  • KVM از انتقال VM به صورت live نیز پشتیبانی می‌کند، به عبارتی توانایی جابجایی VM در حال اجرا میان Host های فیزیکی بدون وقفه؛ به این صورت که VM روشن می‌ماند، اتصالات شبکه فعال هستند و برنامه‌ها در حالیکه VM در حال جابجایی است به کار خود ادامه می‌دهند. هم‌چنین KVM وضعیت فعلی VM را ذخیره می‌کند تا بتواند پس از انتقال، آن را از سر بگیرد.
  • عملکرد KVM همانند Linux می‌باشد، به این صورت که با افزایش تعداد VM های Guest و درخواست‌ها، مقیاس‌بندی را نسبت به تقاضا انجام می‌دهد. KVM این امکان را فراهم می‌کند تا برنامه‌هایی که بیشترین workload را دارند مجازی شوند و بسیاری از تنظیمات مجازی‌سازی سازمانی مانند مراکز داده و Private Cloud ها از طریق OpenStack صورت می‌گیرد.
  • هسته لینوکس به برنامه‌هایی که مجازی‌سازی شده‌اند این امکان را می‌دهد تا با تاخیر کمتر و با اولویت‌بندی مناسب اجرا شوند. این هسته هم‌چنین فرآیندهایی که به زمان محاسباتی بیشتری نیاز داشته باشند به اجزای کوچکتر تقسیم کرده سپس بر اساس آن پردازش می‌شوند.
مزایای KVM
  • مانند هر راه حل نرم‌افزاری دیگر، KVM نیز مزایا و معایبی دارد. از مزایای این Hypervisor می‌توان به موارد زیر اشاره کرد.
    منابع اختصاصی که هر ماشین مجازی دریافت می‌کند اعم از مقدار RAM و ROM، مستقل بوده و در دیگر ماشین‌های مجازی دخالتی ندارد که همین امر باعث افزایش پایداری کار می‌شود.
  • پشتیبانی از Guest OS، در نسخه‌های BSD، Solaris و Linux امکان نصب سیستم عامل Windows و حتی macOS نیز وجود دارد.
  • KVM حجم بیشتری از سخت‌افزارها و سیستم عامل‌ها را با جدیدترین نسخه پوشش می‌دهد.
  • با مدیریت آسان، امکان کنترل از راه دور با استفاده از نرم‌افزار VNC و دیگر نرم‌افزارها را به وجود می‌آورد.
معایب KVM
  • سخت‌افزار Host بایستی بسته به نیاز و سیستم کاربر قوی باشد.
  • از آنجایی که KVM بخشی از هسته لینوکس است، بنابراین نمی‌تواند در اکثر سیستم عامل‌ها به استثنای FreeBSD و Illumos اجرا شود.
  • سخت‌افزارهایی که به صورت متمرکز هستند، ممکن است در موارد خرابی مشکل ساز باشند.

مجازی سازی با Proxmox


مجازی سازی Proxmox

Hypervisor نرم‌افزاری است که مجازی‌سازی را امکان‌پذیر می‌کند. در واقع Hypervisor یک لایه مجازی برای جداسازی CPU، RAM و سایر منابع فیزیکی ایجاد می‌کند تا بتوان از آن‌ها در ماشین‌های مجازی یا همان VM استفاده نمود. این به این معنی است که سخت‌افزار Host اصلی می‌تواند به طور مستقل یک یا چند ماشین مجازی را به عنوان Guest در خود جای دهد. اصلی‌ترین مزیت Hypervisor این است که لایه مدیریت را مجازی می‌کند. در این مقاله به توضیحاتی در خصوص مجازی سازی سرور با Proxmox Virtual Environment که یک Hypervisor است، می‌پردازیم.

Proxmox Virtual Environment (VE) چیست؟

Proxmox VE یک Hypervisor از نوع 1 است که به طور مستقیم بر روی سخت‌افزار سیستم Host اجرا شده و از آن برای سیستم عامل‌های Guest استفاده می‌کند. که بر پایه Debian سیستم عامل لینوکس بوده و کاملاً رایگان است. این امر به کاربران اجازه می‌دهد تا مجازی‌سازی سازمانی را بر روی پلتفرم‌های مختلف تجربه کنند و قابل ذکر است این Hypervisor با انواع مختلف سخت‌افزار سازگار است.

VE یک پلتفرم مدیریت سرور به صورت منبع باز می‌باشد که به منظور کمک به کنترل VM و یکپارچه‌سازی ابزارهای بازیابی فاجعه (Disaster Recovery) به وجود آمده است. بسیاری از سازمان‌ها از Proxmox VE به عنوان بخشی از مجازی‌سازی سرور خود استفاده می‌کنند. با استفاده از این رابط کاربری می‌توان VM ها و Container ها، منابع ذخیره‌سازی، پیکربندی شبکه و High Availability را مدیریت کرد. این رابط کاربری هم‌چنین دسترسی به Backup، Live migration، Storage replication و پیکربندی فایروال را نیز فراهم می‌کند.

ویژگی Proxmox Virtual Environment

پلتفرم Proxmox VE دارای ویژگی‌های قدرتمندی است، از جمله:

  • نرم‌افزار منبع باز (Open-source)
  • دارای قابلیت High Availability
  • قابلیت fencing (به فرآیند جداسازی یک سرور از یک Cluster یا محافظت از منابع مشترک fencing گفته می‌شود زمانی که به نظر برسد یک سرور در حال از کار افتادن است.)
  • توانایی Software-defined Storage
  • پشتیبانی از Network Virtualization
  • دارای قابلیت Two-factor authentication
  • Proxmox این امکان را فراهم می‌کند تا به طور برنامه‌ریزی شده از دستگاه‌ها و Guest ها پشتیبان تهیه شود.
  • ذخیره‌سازی انعطاف پذیر

Proxmox به کاربران این اجازه را می‌دهد تا چندین نوع ذخیره‌سازی مانند CephFS، GlusterFS و NFS را داشته باشند. هم‌چنین گزینه‌های مختلفی برای مدیریت فضای ذخیره‌سازی VM هم‌چون ZFS، Ext4، LVM و … را دارید.

  • حفاظت از زیرساخت

Proxmox دارای یک فایروال داخلی است که از ماشین‌های مجازی و Container ها محافظت می‌کند. فایروال Proxmox قابلیت تنظیم داشته و امکان پیکربندی هم از طریق CLI و هم به صورت گرافیکی را فراهم می‌کند.

  • قابلیت Live migration

این قابلیت Proxmox به کرابران این اماکن را می‌دهد که VM ها را میان Cluster ها جابجا کنند، بدون اینکه Downtime ای رخ دهد.

  • VM Image Storage

Proxmox به کاربران اجازه می‌دهد تا تصاویر را به صورت Local با استفاده از سیستم عامل‌های ZFS، Container های LVM یا سایر ذخیره‌سازهای اشتراکی مانند iSCSI و NFS ذخیره کنند.

راحتی در استفاده از Proxmox

مدیران IT می‌توانند وظایف مدیریتی را از یک مکان و به صورت یکپارچه و متمرکز به حالت گرافیکی انجام دهند. و از آنجایی که Proxmox بر پایه Debian است، اگر تجربه‌ای از محصولات لینوکس داشته باشید، یادگیری و استفاده از آن برای شما آسان خواهد بود ولی با این حال برخی از تنظیمات از طریق CLI انجام می‌شوند.

امنیت Proxmox

Proxmox با پشتیبان‌گیری خودکار و ویژگی‌های امنیتی پیشرفته از سیستم‌ها محافظت می‌کند. این Hypervisor تمامی ماشین‌های مجازی را از هم مجزا می‌کند و این امر باعث می‌شود تهدیدات و مشکلات احتمالی یک VM بر روی دیگری تأثیر نگذارد. با وجود Open source بودن Proxmox، developer ها می‌توانند به سرعت اشکالات امنیتی را برطرف کنند، اگرچه برخی از سازمان‌ها از خرید و استفاده از نرم‌افزارهای Open source اجتناب می‌کنند.

مزایای Proxmox VE
  • برای مدیریت مرکز داده می‌توان از رابط مدیریت مرکزی و Web-based استفاده کرد.
  • با قابلیت Live migration، می‌توان VM های در حال اجرا را از سرور یک Cluster به سرور دیگر منتقل کرد، بدون اینکه توقفی رخ دهد.
  • پشتیبانی از چندین منبع احراز هویت، از جمله: Linux PAM، LADP، Microsoft Active Directory، OpenID Connect.
  • با Proxmox می‌توان پشتیبان‌گیری را به گونه‌ای برنامه‌ریزی کرد که به طور خودکار و در روزهای خاص برای VM ها اجرا شود.
  • Proxmox دارای یک فایروال داخلی است که به محافظت از زیرساخت IT کمک می‌کند. این فایروال قابل تنظیم بوده و امکان پیکربندی هم به صورت GUI و هم به صورت Command line را فراهم می‌کند.

خدمات نسام در زمینه مجازی سازی Proxmox

شرکت هوشمند افزار نوین راهبرد با تکیه بر توانایی‌های متخصصان فنی خود، آماده ارائه خدمات درخصوص راه اندازی، مشاوره و پشتیبانی در زمینه تجهیزات سخت افزاری و سرویس‌های نرم افزاری شما از جمله مجازی سازی که امروزه به عنوان تکنولوژی روز دنیا در بسیاری از سازمان‌ها راه‌اندازی شده، می‌باشد.