نوشته‌ها

انواع مجازی سازی

مجازی سازی یا ماشین مجازی چیست؟
به طور خلاصه استفاده از سخت افزار و منابع سخت افزاری شامل حافظه، پردازنده، دیسک، کارت شبکه و … در یک سیستم کامپیوتری برای راه اندازی و استفاده (میزبانی) بیش از یک سیستم عامل به صورت همزمان را مجازی سازی می نامیم.
با این تعریف سیستمهایی که داری بوت دو یا چند گانه هستند و در هنگام بوت شدن یک سیستم عامل انتخاب شده و کنترل سخت افزار را بر عهده می گیرد در حیطه مجازی سازی قرار نمی گیرند.

انواع مجازی سازی

  • Emulation

در این حالت سخت افزار ماشین مجازی (HOST) به صورت کامل شبیه سازی می شود و ماشین مجازی ها (guest) به صورت کامل می توانند روی( هرنوع معماریcpuای) سیستم نصب گردند مثال این نوع سیستم مجازی سازی Microsoft’s VirtualPC, WinE, VirtualPC for Mac, QEMU می باشند.

مزیت ها
: مستقل از معماری سخت افزار عمل می کند
معایب: سربار بالای اینترفیس ارتباطی بین host و guest ها می باشد که منجربه کندی زیاد guest ها می شود

  • Full/Native Virtualization

معماری های x86 دارای یک رویه دسترسی بودند که به سیستم عامل اجازه دسترسی در دو سطح ۱-kernel space و ۲- privileged mode می دادند وapplication ها نیز در مودهای ۱-user space و ۲-unprivileged mode اجرا می شدند و در نتیجه برنامه ها امکان دسترسی مستقیم به cpu و یا حافظه را نداشتند در معماری های جدید مادربوردها و cpu های اینتل و amd قابلیتی به نام intel-vt و AMD-V ایجاد شده است که به cpu اجازه می دهد همه دستورات را درunprivileged virtual machine اجرا می کند و به نرم افزارها اجازه میدهد که از مزایا و قابلیت های آن به صورت مستقیم بهر مند شود
Full یا native نوعی از مجازی سازی می باشد که به صورت کامل guest ها را ایزوله می کند در این حالت سخت افزار ماشین مجازی (HOST)از طریق API هایی که تعریف میکند و همچنین خودش از آنها استفاده می کند به ماشین مجازی ها اجازه دسترسی مستقیم به سخت افزار را می دهد
مزیت ها : در نتیجه دسترسی مستقیم به شتابدهنده های سخت افزاری منجر به افزایش سرعت ماشین مجازی ها و افزایش توان پردازشی خواهد شد
معایب : واز طرف دیگر این نوع تخیص منابع باعث محدودیت تعداد ماشین مجازی با توجه به سخت افزار مورد استفاده خواهد بود
تکنولوژ‍ی های مورد مثال xen, kvm, MSHypervisor, Virtual iron, VMware

  • Para-virtualization

این نوع مجازی سازی نوعی از پلت فرم ای است که بسیار شبیه به نوع emulation می باشد که قبلا توضیح داده شد و تفاوت آن با emulation در این است که با ایجاد تغییرات روی ماشین مجازی ها از طریق API هایی که دارد با سخت افزار ارتباط بر قرار می کند در نتیجه در این نوع تکنولوژی guest ها (ماشین مجازی ها) می بایست قابلیت تغییر دادن داشته باشند و source ها در دسترس باشد در حال حاضر می توان از guest های BSD و linux روی این نوع مجازی سازی استفاده کرد
مثال این نوع تکنولوژی xen می باشد
مزایت ها :به دلیل تغییراتی که در سطح هسته سیستم عامل های guest ایجاد می کند می تواند مدیریت خوبی روی swap و memory allocation داشته باشد همچنینمی توان به فرایند بوت سیستم های guest نیز دسترسی داشت
معایب :الزام در تغییر پذیر بودن سیستم عاملهای guest ایجاد محدودیت می کند به طور مثال نمی توان ویندوز را روی paravirtualization بالا آورد

  • OS-level virtualization

این نوع تکنولوژی مجازی سازی بر پایه یک کرنل می باشد و در این حالت سیستم عاملهای مجازی کرنل Host را به اشتراک می گذارند که فایل سیستم و memory و پروسس ها را برای ماشین مجازی ها فراهم می کند و همه درخواست ها از طریق این کرنل انجام می شود
مزیت ها: ای نوع سیستم مجازیسازی overhead کمی دارد و در نتیجه شما می توانید guest های زیادی روی آن load نمایید همچنین دسترسی مستقیم به root سیستم مجازی ها باعث می شود بتوانید قبلیت هایی نظیر ایجاد Quta و تغییرات در guest به صورت online داشته باشید مثلا تغییر ip و یا تغییر منابع مثل رم و هارد
معایب: سیستم عامل host و guest دقیقا باید مانند هم باشند یعنی سیستم مجازی ویندوز روی Host ویندوز و سیستم مجازی لینوکس روی لینوکس می تواند اجرا شود و همچنین در این نوع تکنولو‍ژی به دلیل دشوار در ایزوله کردن guest ها بعضی از سرویس ها به صورت کامل در دسترس نخواهد بود مثل Iptables,ppp,..
تکنولو‍ژی های مورد مثال Solaris Containers, BSD Jails, Linux Vserver openvz virtuozzoشکل ۴ بیانگر نحوه ارتباط host‌ و guest‌ می باشد

  • Application level virtualization

این شیوه مجازی سازی اجازه می دهد که شما در سطح application مجازی سازی داشته باشید و عملکرد آن اینگونه است که یک کپی از کامپوننت های برنامه که اشتراکی نیز نمی باشد را در اختیار کاربر قرار می دهد در پیاده سازی آن از تکنولوز‍ی های پردازش تصویر استفاده می گردد مانند ۲X, Citrix, JVM شکل زیر بیانگر نحوه سرویس دهی این تکنولوژی می باشد

مجازی سازی دسکتاپ (VDI) چیست؟

مجازی سازی دسکتاپ (VDI) چیست؟

Virtual Desktop Infrastructure

مجازی سازی دسکتاپ (VDI) روشی جدید برای مدیریت محیط کاربران ارائه می‏دهد. VDI این امکان را برای مدیران شبکه فراهم می‏ آورد تا کامپیوتر کاربران را در زیرساختی مجازی، واقع در مرکز داده میزبانی و مدیریت کنند.

vdi2

 چرا از مجازی سازی دسکتاپ استفاده کنیم؟

قبل از مجازی سازی دسکتاپ کاربران برای استفاده از کامپیوتر شخصی خود می‏بایست از یکی از دو روش زیر استفاده می‏کردند:

  1. روش قدیمی که روی کامپیوتر یا لپ‏تاپ هر کاربر یک نسخه محلی از ویندوز اجرا می‏شد. (Local Desktop)
  2. روش مبتنی بر سرور، که هر کاربر به صورت Remote به یک سرور مایکروسافت و یا Citrix متصل می‏گردید (SBC Desktop)

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

مزایا و فواید:

در تکنولوژی VDI مدل اشتراک منابع بطور طبیعی و ذاتی وجود دارد. در نتیجه فوایدی را نسبت به مدل قدیمی ارائه می‏دهد. هر کاربر به کامپیوتر خود به عنوان یک واحد کاملاً مستقل با سیستم عامل و برنامه‏ های کاربردی متصل می‏شود. از آنجایی که میزان منابع تخصیص یافته به هر کاربر تغییر می‏کند و در هر لحظه استفاده بهینه از منابع صورت می‏پذیرد، روی هم رفته هزینه‏ های سخت‏ افزاری کاهش می‏یابد.

مجازی‏ سازی، بطور طبیعی انباشتگی اطلاعات کاربران را بهبود می‏بخشد زیرا همه داده‏ ها در مرکز داده نگهداری و پشتیبانی شوند. فواید دیگر این روش عبارتند از:

  • کاهش پهنای باند مورد نیاز شبکه (کلاینت و سرور هر دو در مرکز داده قرار دارند)
  • سیستم عامل و برنامه‏ های کاربردی از سخت‏افزار جدا می‏شود (ایجاد محیط کامپیوتر یکپارچه برای کاربران)
  • کاهش هزینه کلی مالکیت IT TCO
  • سهولت ارتقاء نرم‏ افزار و سخت‏ افزار (سخت‏ افزار مجازی)
  • کاهش بار کاری مدیریتی از طریق مدیریت متمرکز
  • اعمال مؤثرتر محدودیت بر کاربران (استفاده غیر مجاز از کامپیوتر)
  • امکان مدیریت بهتر تجهیزات و پیش‏گیری از گم شدن آنها
  • ارتقاء امنیت و سهولت دسترسی از طریق جمع کردن و یکپارچه‏ سازی داده‏ های کاربران در مرکز داده
  • بهره‏ برداری بیشتر از منابع سخت‏افزاری و به کارگیری بهینه آنها (CPU، دیسک، برق، حتی حافظه)
  • امکان اتصال از همه جا (به محض وصل شدن به شبکه می‏توان شروع به کار کرد)
  • امکان پاسخ سریعتر به درخواست و مشکلات کاربران
  • امکان ارتقای بسیار سریعتر به سیستم عامل ‏های جدید
  • قابلیت انعطاف‏ پذیری جهت رفع نیاز اکثر کسب و کارها
  • رایانش سبز (استفاده موثر از منابع)

 

چرا از VDI استفاده میکنیم ؟

 

  • کاهش هزینه خرید سخت افزار، نگهداری و بروز رسانی آن
  • نگهداری بهتر و آسان تر از سیستم عامل ها
  • کنترل دسترسی کاربران به CD Drive, USB و امنیت بیشتر اطلاعات
  • اهمیت استفاده از Data-center در این است که میتوان به صورت یک پارچه برای تهیه نسخه پشتیبانی یا نصب یک نرم افزار یا اجرای یک update اقدام کرد
  • قابلیت داشتن برق اضطراری برای Data-center این امکان را میدهد که در هنکام قطعی برق هم کلیه desktopها در دسترس باشند.
  • High availability برای سیستم عامل های desktop

مجازی سازی دسکتاپ در چه سازمان هایی کاربرد دارد؟

در حقیقت این تکنولوژی در هر مکانی که شما کاربرانی داشته باشید که به برنامه‏های کاربردی Server-Based نیاز داشته باشند، مفید است.

VDI تقریباً همه جا مفید خواهد بود و یکی از روش‏های متعددی خواهد بود که می‏تواند برای ارائه یک ماشین به کاربر، مورد استفاده قرار گیرد.

VDI می‏تواند در اکثر شرکت‏ها پیاده‏سازی گردد و باعث کاهش هزینه‏ها و بهبود کیفیت سرویس شود.

VDI vs. Terminal services

یکی از مهمترین تفاوتها این است که terminal services با اشتراک گذاری یک سیستم عامل بین چندین کاربر یک سیستم عامل را در اختیار کاربران قرار میدهد ولی در VDI برای هر کاربر یک سیستم عامل میتوان اختصاص داد.VDI فقط مختص شرکت vmware نیست محصولات مختلفی در این مبحث ارائه شده‌اند، همان طور در ابتدا گفتم VDI یک مغهوم یا یک اصطلاح است. محصولاتی که در این رابطه ارائه شده عبارت است از :

  • VMWare View
  • Citrix XenDesktop
  • Microsoft VDI broker or Remote Desktop Services Machine Host