برنامه نویسی سیستم های مجازی سازی
مجازی سازی سرور یعنی چه و کاربرد و انواع آن
مراکز داده مدرن کاملا مجازی، تعریف شده و خودکار هستند، زیرساختها و تحویل برنامه های کاربردی را در یک محیط ابری ترکیبی ارائه میدهند. با یک Hypervisor چندین سیستمعامل مختلف میتوانند در کنار یکدیگر اجرا شوند و منابع سختافزار مجازی شده یکسانی را به اشتراک بگذارند. بدون مجازی سازی، فقط میتوانید 1 سیستمعامل را روی سختافزار اجرا کنید. در سال ۲۰۱۶ میلادی (۱۳۹۵ شمسی) مایکروسافت با معرفی محصول جدید Hyper-V به کاربران خود اجازه داد تا چندین نسخه از ویندوز سرور را به صورت همزمان بر روی هر تعداد رایانه اجرا کنند. این محصول به کاربران امکان میداد تا سرورهایی با پیکربندی سختافزاری یکسان را در سرورهای فیزیکی کمتری ادغام کنند. در نتیجه، هزینههای مرتبط با نگهداری سرور به شکل قابل ملاحظهای کاهش مییافت.
«ماشین مجازی» (Virtual Machine) یک شبیهسازی نرمافزاری از یک کامپیوتر فیزیکی است که به کاربران امکان میدهد تا سیستمعامل و برنامهها را به گونهای اجرا کنند که گویی بر روی یک ماشین فیزیکی در حال اجرا هستند. بنابراین، تمام عملکردهای سرور فیزیکی توسط ماشین مجازی شبیهسازی میشود. برای یادگیری عملی ساخت ماشین مجازی میتوانید فیلم آموزش ساخت ماشین مجازی با Hyper-V در ویندوز فرادرس را مشاهده کنید که لینک آن در ادامه آورده شده است. مجازیسازی سرور رایجترین شکل مجازیسازی مورداستفاده است و اجرای چند نمونه مجازی از سیستم عاملها که روی یک سرور فیزیکی قرار دارند را شامل میشود. این امکان استفاده بهتر از منابع سرور، افزایش انعطافپذیری و مدیریت ساده زیرساخت سرور را فراهم میکند. مجازیسازی سرور به یکی از اجزای ضروری در مراکز داده تبدیل شده است که با آن میتوان سرورهای فیزیکی را ادغام کرد و موجب کاهش هزینههای سختافزاری شد.
این نوع از مجازی سازی به کاربران امکان استفاده از یک نرمافزار، اپلیکیشن یا بازی را بدون نیاز به نصب آن بر روی سیستم خودشان میدهد. برای این منظور نرمافزار یا بازی مورد نظر بر روی یک سرور قدرتمند با توان پردازشی بالا نصب میشود. سپس، کاربران با استفاده از کامپیوترهای خودشان به سرور متصل شده و برنامه یا بازی مورد نظر را اجرا میکنند. یکی از بهترین مثالها در خصوص مجازی سازی داده تکنولوژی محبوب «ذخیرهسازی ابری» (Cloud Storage) است. در این روش به جای ذخیرهسازی اطلاعات به صورت فیزیکی بر روی «دیسک سخت» (Hard Drive) این اطلاعات بر روی یک یا چند سرور ذخیره خواهند شد که از طریق شبکه اینترنت قابل دسترسی هستند.
علاوه بر این، مبالغ صرفهجویی شده به خاطر کاهش مصرف برق را نیز میتوان در سایر عملیات تجاری مورد استفاده قرار داد. در این روش، منابع یک سرور فیزیکی به چندین ماشین مجازی تقسیم میشود که کاملاً از هم جدا هستند. هایپروایزر مانند یک لایه بین سختافزار و ماشینهای مجازی عمل کرده و سیستمعاملهای مختلفی را مدیریت میکند. تنها نکته منفی این روش، نیاز به منابع بیشتر برای هایپروایزر بوده که ممکن است کمی عملکرد را کاهش دهد. مجازی سازی (Virtualization)، نوعی فناوری برای ایجاد نسخههای مجازی از منابع فیزیکی مانند سرورها، سیستمعاملها و برنامههاست. این فناوری به کاربران امکان میدهد چندین محیط مجازی را روی یک سختافزار واحد اجرا کنند.
مجازیسازی دسکتاپ، نرمافزار کلاینت (سیستمعامل و برنامههای کاربردی) را از یک کلاینت فیزیکی که معمولاً از طریق اینترنت به برنامهها و دادهها از راهدور متصل میشود، تفکیک میکند. این تفکیک کاربران را قادر میسازد تا از هر تعداد دستگاه برای دسترسی به دسکتاپ مجازی خود استفاده کنند. مجازی سازی دسکتاپ یا Desktop Virtualization میتواند بسته به تعداد کاربران همزمان در زمان اوج کاری، نیاز سازمان به پهنای باند را تا حد زیادی افزایش دهد. V2 Cloud یک راهحل نرمافزاری از نوع «دسکتاپ به عنوان سرویس» (Desktop as a Service | DaaS) است که به کاربران اجازه کار از هر نقطهای را میدهد. در این روش محیط کامل دسکتاپ مجازی به کاربران ارائه میشود که شامل سیستمعامل، برنامهها، فایلها و سایر موارد است.
Hypervisorهای نوع 1 به عنوان Hypervisorهای Bare-metal نیز شناخته میشوند زیرا مستقیماً روی سختافزار کار میکنند. با اتصال به اینترنت، منابع مجازی شده را میتوان در زمان و مکان مورد نیاز در دسترس قرار داد. برای مثال، کارمندان میتوانند از مکانهای دوردست به دادهها، برنامهها و خدمات دسترسی داشته باشند که بهرهوری در خارج از دفتر را تا حد زیادی بهبود میبخشد. ماشین مجازی ساخته شده را انتخاب و بر روی دکمه Start کلیک کنید تا ماشین مجازی اجرا شود. مجازی سازی نیز همچون هر فناوری دیگری در کنار مزایای متعدد خود معایبی نیز دارد که در ادامه این بخش از نوشته به بررسی معایب آن خواهیم پرداخت.
با توجه به انواع مختلف مجازی سازی باید تعیین کنید که قصد یادگیری مجازی سازی سرور را دارید یا به دنبال یادگیری مجازی سازی دسکتاپ یا نوع دیگری از مجازی سازی هستید. همچنین، نیاز است تا سطح تخصص مورد نظر خود یعنی دانش مقدماتی، متوسط و پیشرفته را نیز مشخص کنید. در این محیط شما میتوانید مدیریت و بهینهسازی منابع سختافزاری و نرمافزاری را انجام دهید. این برنامه شامل ابزارهایی برای میگریشن (انتقال) ماشینهای مجازی، بکاپگیری و مانیتورینگ است. مجازیسازی همچنین انعطافپذیری و کنترل بیشتری را فراهم میکند، زیرا وابستگی به هر قطعه سختافزاری را از بین میبرد. برنامههای کاربردی که روی یک VM اجرا میشوند، به همان منابع سختافزاری و نرمافزاری دسترسی دارند که اگر روی ماشین اختصاصی خود اجرا میشدند.
در سال 2003 XenServer، به عنوان اولین hypervisor اوپنسورس، معرفی گردید. در سال 2007، KVM، نرمافزار open source دیگری، برای مجازیسازی منتشر گردید. روش های متنوعی در مجازی سازی قابل مطرح میباشد که در ادامه هر یک را بصورت مختصر توضیح خواهیم داد و اطلاعات مربوط درباره نحوه کاربرد هر یک را نیز بازگو خواهیم کرد. بله، در صورت مدیریت نادرست، مجازیسازی میتواند باعث کاهش عملکرد و افزایش پیچیدگی شود. بله، مجازیسازی میتواند باعث کاهش عملکرد شود، به ویژه اگر پردازنده (CPU) یا حافظه (RAM) رایانه شما تحت فشار کاری زیادی باشد.
میتوان اینگونه توضیح داد که Virtual Machine یک سیستم رایانه ای می باشد. ماشین مجازی شامل یک محفظه نرم افزاری کاملاً جداگانه با یک سیستم عامل و برنامه کاربردی مجزا در داخل است که بصورت مستقل می باشد. قرار گرفتن چندین Virtual Machine بر روی یک سرور امکان اجرای چندین سیستم عامل و برنامه کاربردی را فراهم میکند. مجازیسازی به تکنولوژی گفته میشود که به کمک آن میتوان از منابع فیزیکی وجود بیشترین استفاده را کرد. به کمک این فناوری میتوان منابع سخت افزاری یک کامپیوتر قدرتمند (سرور) را به بخش های کوچکتری تقسیم کرد.
سروری است که با استفاده از ابزارهای مجازی سازی، از یک سرور فیزیکی تولید شده است و عملکردی کاملاً مستقل نسبت به خودِ سرور فیزیکی و یا سرورهای مجازی دیگر دارد. مجازی ساز KVM مثلِ فیچر vMotion، قابلیت مهاجرت آنی از یک سرور به سروری دیگر را دارد. علاوه بر آن، از خصوصیت Overcommitting پشتیبانی میکند؛ یعنی شما میتوانید CPU مجازی بیشتری را نسبت به سرور فیزیکی، به ماشین مجازی خود اختصاص دهید. یکی از مهمترین مزایای VMware، فناوری vMotion آن است که با استفاده از آن میتوان به انتقال آنیِ ماشینهای مجازی در حال اجرا، از یک سرور فیزیکی به سرور فیزیکی دیگر پرداخت؛ بدون اینکه هیچ کدام از دیتاهای شما دچار مشکل شود. قدرِ این فیچر را فقط کسانی میدانند که حداقل یکبار با چالشهای تغییر سرور دست و پنجه نرم کرده باشند. خرید و فروش ارز دیجیتال، یکی از کسبوکارهایی است که به لطفِ تکنولوژی حالا دیگر در دسترس ما قرار دارد.
با انتخاب راهکارهای مجازیسازی مناسب، میتوانید بهطور قابل توجهی کارایی و بهرهوری سازمان خود را افزایش دهید. اگر دنبال افزایش کارایی و کاهش هزینههای کسبوکارتان هستید، سرورهای مجازی قدرتمند ایران سرور را امتحان کنید. VPS ایران سرور به شما امکان میدهد تا بهراحتی و با هزینه مناسب، زیرساختهای کسبوکارتان را ارتقا دهید و براساس نیازتان آن را سفارشیسازی کنید. برای اطلاعات بیشتر و آگاهی از پلنها میتوانید به صفحه خرید VPS مراجعه کنید. انواع رایج مجازیسازی شامل مجازیسازی سرور، ذخیرهسازی، دسکتاپ، شبکه و برنامههای کاربردی است.
در این قسمت ما سعی می کنیم که مجازی سازی در لایه سخت افزار و سیستم عامل را توضیح دهیم. مجازیسازی فرآیندی است که در آن یک سرور فیزیکی به چندین سرور مجازی تقسیم میشود. هر سرور مجازی سیستم عامل، منابع حافظه و پردازنده اختصاصی خود را دارد و بهصورت مستقل عمل میکند. مجازیسازی، به زبان ساده، یعنی ایجاد نسخههای کپی از یک منبع فیزیکی بهصورت مجازی. در این مقاله، به بررسی انواع مجازی سازی پرداختیم و مزایا، چالشها و کاربردهای آن را بررسی کردیم. مجازی سازی، با ارائه انعطافپذیری، مقیاسپذیری و کاهش هزینهها، به یک ابزار ضروری برای کسبوکارهای امروزی تبدیل شده است.
این پلتفرم ابزارهای متعددی برای پیکربندی خوشههای با دسترسی بالا، ذخیرهسازی نرمافزاری و شبکهبندی ارائه میدهد. مجازیسازی برنامه (Application Virtualization)، یکی دیگر از انواع مجازی سازی در سالهای اخیر است که اپلیکیشن را از سیستمعامل و سختافزاری که روی آن اجرا میشود، جدا میکند. در این حالت، کاربر نهایی معمولاً به برنامههای مجازیسازی شده روی یک تین کلاینت (Thin client) دسترسی دارد؛ درحالیکه برنامه روی یک سرور دیتاسنتر متصل به اینترنت اجرا میشود. به این ترتیب، اجرای برنامههایی که نیازمند نسخههای قدیمیتر سیستمعامل هستند یا ممکن است سایر منابع سیستم را تحت تاثیر قرار دهند، آسانتر میشود. VMware اولین شرکتی است که توانسته معماری x86 را مجازی سازی کند و به همین دلیل شهرت بسیاری پیدا کرده است. این شرکت بهترین نرمافزارهای مجازی سازی را برای حوزههای مختلف از جمله ذخیرهسازی، شبکه، محاسبات ابری و سرورها ارائه میدهد.
اگر شما هم به حوزهی وب و تکنولوژی علاقه داشته باشید، حتماً این اصطلاح را شنیدهاید. برای سازگار کردن شبکههای کامپیوتری، در محیطهای مجازی، از شبکههای مجازی استفاده میشود. در NV، قسمت مجازی شبکه (بخش نرمافزاری)، از تجهیزات سختافزاری شبکه، مجزا شده است. در این روش، تجهیزات سختافزاری، به یک ارسالکنندهی سادهی پکتها تبدیل میشوند. با استفاده از مجازیسازی میتوان چند نمونهی مجازی ، بعنوان مثال، از یک سوییچ و یا روتر فیزیکی ایجاد نمود، که این امر، توان استفاده از حداکثر ظرفیت منابع شبکه را بالا میبرد. بخش نرمافزاری یا قسمت هوشمند شبکه، وظایف مدیریت و کنترل سرویسها و منابع شبکه را برعهده دارد.
مجازیسازی را میتوان به عنوان بخشی از یک روش استاندارد در فناوری اطلاعات سازمانی دانست که به شکل مستمر در حال تکامل است. هدف معمول مجازی سازی، متمرکز ساختن وظایف اداری در کنار بهبود مقیاسپذیری و حجم کاری است که اقتصاد رایانش ابری را نیز هدایت میکند. در واقع مجازیسازی شبکه، روشی برای ترکیب منابع موجود در یک شبکه، با استفاده از تقسیم پهنای باند به کانالهایی است که از یکدیگر مستقل هستند و میتوانند به سرور یا دستگاهی خاص، تخصیص داده شوند. ریشههای مجازیسازی به دوران کامپیوترهای بزرگ در دهه 1960 برمیگردد؛ زمانی که هر یک از این قطعات عظیم سختافزاری، در لحظه تنها میتوانستند روی یک فرآیند کار کنند. در واقع داستان virtualization زمانی شروع شد که تقاضای پشتیبانی منابع فیزیکی از بیشتر از یک کاربر یا فرآیند، شکل گرفت. مجازی سازی کامل از Hypervisor استفاده میکند، نوعی نرم افزار که مستقیماً با فضای دیسک و CPU یک سرور فیزیکی ارتباط برقرار میکند.
در یک محیط مجازی، در صورت بروز مشکل در میزبان فیزیکی، تمامی ماشینهای مجازی در حال اجرا بر روی آن نیز از دسترس خارج خواهند شد. این امر اهمیت اجرای راهکارهای با قابلیت دسترسی بالا (High Availability) یا پشتیبانگیری مداوم را دوچندان میکند، که میتواند به افزایش هزینهها و پیچیدگی زیرساخت منجر شود. این نوع مجازیسازی، امکان اجرای برنامهها بر روی یک دستگاه بدون نیاز به نصب محلی آنها را فراهم میآورد. برنامهها بر روی یک سرور ذخیره شده و به صورت جریان داده (stream) برای کاربر ارسال میشوند. در حقیقت تفاوت این دو گروه در توانایی آن ها در ارائه ی ابزار برای مدیریت، مانیتورینگ و بهینه سازی اختصاص منابع می باشد.
تنها کافی است منابعی مانند حافظه و پردازنده را به ماشین اختصاص دهید و آن را اجرا کنید تا از صحت عملکرد نرمافزار مطمئن شوید. در واقع این سیستم، ذخیرهسازی را از منابع متعدد مدیریت کرده و آن را بدون توجه به تفاوت سختافزاری میان سیستمهای هاست، به عنوان یک منبع ذخیرهسازی واحد در نظر میگیرد. این شیوه مجازیسازی، انجام کارهای پشتیبانی، بایگانی و بازیابی را آسانتر میکند. در سال 1974، جرالد پوپک و رابرت گلدبرگ، هایپروایزرها را در دو نوع 1 و 2 دستهبندی کردند تا تمایز میان آنها را بهتر مشخص کنند؛ روش اول bare metal و روش دوم hosted. هایپروایزرهای نوع 1 به دلیل قرار گرفتن در سختافزار فیزیکی، امنیت بیشتری را ارائه میدهند و اغلب امکان حمله در سطح سیستم عامل را از بین میبرند. هایپروایزرهای نوع 2 ارتباط نزدیکی با آغاز معماری x86 دارند و از آنجا که بالای سیستمعامل قرار میگیرند، عموماً برای سیستمهای کلاینت یا کاربر نهایی استفاده میشوند.
به کمک این نرم افزار به چندین ماشین مجازی (vm)اجازه داده میشود که روی یک سرور فیزیکی اجرا شوند. در این صورت هر ماشین مجازی میتواند از یک سیستم عامل مستقل استفاده کند. به کمک این نرم افزار میتوانید CPU یا Processor ها، RAM و سایر منابع فیزیکی از ماشینهای مجازی که روی سرور ایجاد کردهاید جدا کنید. با این کار میتوانید ماشینهای مجازی را تعریف کنید و اشتراک منابع فیزیکی بین آنها را به راحتی مدیریت نمایید. لازم به ذکر است که از دیدگاه ماشینهای مجازی یا همان vmها تفاوتی بین محیط فیزیکی و مجازی وجود ندارد به همین دلیل کارایی هر دو یکسان است. به عبارت سادهتر، مجازیسازی به شما اجازه میدهد تا چندین سیستمعامل یا برنامه را بهطور همزمان روی یک دستگاه فیزیکی اجرا کنید، بدون اینکه این سیستمها با یکدیگر تداخل داشته باشند.
با توجه به اهمیت و کاربرد بالای انواع مجازی سازی پیشنهاد میکنیم خواندن این مقاله را از دست ندهید. Xen یک محصول کاملاً قابل شخصی سازی و به نوعی امکان ایجاد یک سرور اختصاصی یا dedicated server مجازی را به ما میدهد. در زمان استفاده از Xen برای سرویسهای معمولی میتوان گفت تقریباً هیچگاه تصور نمیکنید که از یک سرور مجازی استفاده میکنید بلکه احساس شما استفاده از یک سرور کاملاً اختصاصی است. VMware یک سیستم ESXi را شبیه به یک node محاسباتی بدون حالت توصیف میکند. مدیران مجازیسازی میتوانند «state information» را از یک فایل پیکربندی ذخیره شده آپلود کنند. به همین ترتیب، هنگامی که تقاضا کاهش مییابد، منابع مجازی را میتوان برای حذف هزینههای غیر ضروری کاهش داد.
تکنولوژی مجازیسازی در زمینههای مختلفی از جمله مدیریت منابع سرور، ذخیرهسازی داده، تست و توسعه نرمافزار، و حتی ارائهی خدمات ابری، کاربردهای گستردهای دارد. با استفاده از تکنولوژی مجازیسازی، سازمانها قادرند تا هزینههای سختافزار و نرمافزار را کاهش داده و بهبود قابلیت اطمینان، امنیت، و مقیاسپذیری سیستمهای خود را تجربه کنند. در این مقاله، به بررسی اصول و کاربردهای تکنولوژی مجازیسازی پرداخته و به دستآوردهای آن در ارتقاء عملکرد و بهرهوری سازمانی میپردازیم. مجازی سازی دسکتاپ ، برنامهای است که فضای دسکتاپ و برنامههای کاربردی مرتبط را از سیستم مشتری فیزیکی تفکیک میکند. این فناوری را میتوان در رابطه با مجازیسازی نرمافزار و سیستمهای مدیریت پروفایل کاربر استفاده کرد. لازم است بدانید که کامپیوترهای امروزی، از 4 سطح مرتبط یعنی سیستمعامل، سختافزار، داده و نرمافزار تشکیل شدهاند.
بله، Proxmox VE برای استفاده در محیطهای تولید طراحی شده و در بسیاری از مراکز داده و سازمانها به کار میرود. این امکان فراهم است که سفارشتان را از 25 شعب ایسوس ایران در شهر تهران دریافت فرمایید. در ادامه لینک مربوط به تعدادی از دورههای پیشنهادی موجود در این مجموعه آموزش آورده شده است. از جمله مهمترین مزایای Parallels Desktop به موارد زیر میتوان اشاره کرد. در ادامه این بخش از نوشته هر کدام از موارد ارائه شده در بالا را به طور کامل توضیح خواهیم داد. Microsoft Hyper-V جزو معدود محصولاتی است که از کرنل پردازش موازی استفاده میکند و همین مسئله باعث شده است تا در کلودهای خصوصی و عمومی، عملکرد بسیار بالایی داشته باشد.
سیستمعامل پایه Debian GNU/Linux است و کاربران میتوانند از فایل ISO رسمی برای نصب استفاده کنند. پس از نصب، دسترسی از طریق رابط وب امکان مدیریت تمامی جنبههای محیط مجازی را فراهم میکند. برای کاربرانی که میخواهند از مزایای هر دو استفاده کنند، ترکیب ماشین مجازی و سیستم اصلی بهترین گزینه است. شما میتوانید از لپتاپ ایسوس با سختافزار قدرتمند استفاده کنید تا هم سیستم اصلی و هم ماشینهای مجازی خود را بهصورت همزمان و روان اجرا کنید. برای اطمینان از عملکرد صحیح نرمافزار، میتوانید یک ماشین مجازی آزمایشی ایجاد کنید.
کد برنامه نویسی جدول ضرب