مجازی سازی چیست و چگونه کار میکند؟
با مجازی سازی شما یه نسخه مجازی از هر چیز فیزیکی را دارید. حا این مورد از رایانه شما تا هارد و فلش وهرچیز دیگری میتواند باشد. حتی سخت افزار های شبکه شما.یک حوزه کاری جذاب در اکتیو شبکه، مجازی سازی است. در این مقاله سعی میکنم سیر تا پیاز مجازی سازی را به شما بگویم تا آخر این مقاله را بخوانید که حرف های زیادی برای گفتن هست.
آنچه خواهید خواند...
مجازی سازی چیست و کاربرد آن چیست؟
مجازی سازی (Virtualization) یعنی اینکه شما از یک سختافزار، دو یا چند نسخهی مجازی داشته باشید. بگذارید یک مثال بزنم:
مجازی سازی شبکه سرور یعنی اینکه شما از سرور فیزیکی خود با استفاده از یک سری نرم افزار ها یک نسخه مجازی بسازید و با تعاریف خودتون در برنامه استفاده از منابع رم و سی پی یو و… را بهینه و تنظیم کنیدو علاوه بر اونچون شما ساختار هار ار جدا میچینید، هرکدوم به مشکل بخوره، قیه رو درگیر نمیکنه. این خیلی خوبه.
توضیح مجازی سازی با یک مثال!
فرض کنید در شرکت شما برای هرکار یک سرور دارید. برای مثال سروری برای سایت-سروری برای ایمیل- سروری برای کار های مهم دیگر. هرکدام از این سیستم ها هم در نهایت 30 درصد استفاده می شوند. شما با مجازی سازی میتوانید با داشتن یک سرور هر چند دسته بند که میخواهید داشته باشید نامحدود!!
حال بزارید همان سیستم بالا را با مجازی سازی راه اندازی کنیم. من اینجوری میچینم: 20 درصد از منبع رو برای ایمیل میزارم. 50درصد رو برای وبسایت میزارم( چون حجم محتوا و بازدید و… خیلی بیشتره) و 30 درصد مابقی هم برای همان کار های مهم.
دیدید!!؟ من با مجازی سازی به جای خرید 3 سرور، 1 سرور خریدم. چقدر هزینه های مجوعه من کمتر شد؟! خیلی…😍
Virtualization به کسبوکارها گفت که میتواند سرورهایشان را به قسمتهای مجزایی تقسیمبندی کند. حتی آنها میتوانند روی هر قسمت، یک سیستمعامل جداگانه نصب کنند و با این روش، از سرور خود بهترین استفاده را ببرند.
VM یا ماشین مجازی چیست؟
ماشین مجازی (Virtual Machine) یا VM یک نرمافزار شبیه ساز مثلا یک ویندوز در ویندوز دیگر است(اون ویندوز اولی و دومی میتونه لینوکس یا مک باشه مهم نیست). یعنی شما با ماشین مجازی میتوانید روی یک سیستمعامل، سیستمعامل دیگری داشته باشید، بدون اینکه سختافزار خودتان را تغییر دهید.(الان اونایی که دوست دارند مک بوک بخرند ولی بودجه اش رو ندارند باید خوشحال باشند😁✌)
ماشین مجازی رو میارید بالا بدون اینکه سیستم جدید خریداری کنید از اون استفاده می کنید.
کاربردهای مهم ماشین مجازی
۱. تست نرمافزار در سیستم عاملهای مختلف: یکی از کاربردهای مهم ماشین مجازی، تست نرمافزار در سیستم عاملهای مختلف است. مثالش هم بالا زدم مثلا شما iOS Developer یی با ویندوز کار میکنی، راح یک مجازی ساز میاری بالا و…
۲. تست نرمافزارهای قدیمی: این برای اون نرم افزار های عهد بوقه که فقط با سیستم های قدیمی کار میکرد. دیگه با توجه به بالایی متوجه شدید😉
۳. توسعهی بازی: مشابه قضایای بالا اینبار در توسعه و ساخت بازی
۴. تست سختافزار با ماشین مجازی: اگر مطمئن نیستید که سخت افزار شما با چه سیستم عاملی سازگاره میتونید از این روش استفاده کنید
مجازی سازی چطور انجام میشود؟
قبل ادامه اینو باید بهتون بگم! قبل از اینکه بگم فرآیند مجازی سازی به چه شکله این رو باید بگم که هایپر وایزر یا Hypervisor چیه؟
هایپروایزر اون ابزاری هست که وظیفهی مشخص کردن منابع مورد نیاز ماشین مجازی سازه. یعنی چه؟ یعنی اینکه منابع فیزیکی سرور را از شما میگیرد و آن را تقسیم میکند تا بخشهای مجازی بتوانند از آن استفاده کنند.
در اینجا شما نیاز است که بدانید ماشین مجازی چیست؟ در مقاله بعدی به طور مفصل درمورد ان صحبت میکنم اما در اینجا بدانید که در واقع ماشین مجازی به عنوان یک فایل اطلاعات تکعمل میکند و همین قابلیت اش باعث میشه تا بتونیم اون رو یک سیستم به سیستمی دیگر منتقل کنیم و جالبیش اینکه همزمان باهم کارکنند.
مزایا و نقاط ضعف مجازی سازی
تمام سیستم ها در کنار مزیت اش معایبی هم دارد. مثل گل🌹😁 هر خوشگلی یه خاری هم داره.
مزایای استفاده از ماشین مجازی
همینجا بگم مزایا اش به معایب اش خیلی میصرفه پس:
۱. انعطافپذیری بالا: خلاصه کنم همین که سیتم عامل رو سیستم عامل میریزید خودش مزیت ترین هست.
۲. امنیت بیشتر: محیط اش ایزوله است و دسترسی ویروس بهش خیلی خیلی کمه.
۳. صرفهجویی در هزینهی شرکتها: مثال بالا یادتون هست؟ 3 تا سرور رو کردیم 1 سرور؟! این فقط سرور اش هست. سیم و کابل و برق و…😉✌
۴. کارایی بیشتر: یک مثال ساده اش این هست که فشاری کاری رو میشه پخش کرد بین سیستم ها.
۵. مدیریت سادهتر: با استفاده از یک پلتفرم، مدیریت تمامی ماشینهای مجازی خود را انجام میدهید.
معایب مجازی سازی
۱. استفاده از منابع سرور: بخواهید یا نخواهید خود مجازی سا هم دارد از سیستم های شما استفاده میکند. اما اگر سیستم های شما ضعیف نیست، این مورد قابل چشم پوشی هست.
۲. عدم سازگاری برخی نرمافزارها: برخی نرم افزار ها را که روی مجازی ساز میخواهید استفاده کنید، دچار باگ میشوند. این مشکل در برخی نرم افزار ها عادی است که نرمک افزار قبول نمیکند که روی مجازی ساز ها نصب شوند.
۳. مشکلات امنیتی: اگر ماشین مجازی را درست پیکربندی کنید، اتفاقاً سطح بالایی از امنیت را به شما میدهد.
۴. کمی پیچیدگی در یادگیری اولیه: ارزشش را دارد پس از هرسختی آسانی است.✌
بررسی انواع مجازی سازی
مجازی سازی دادهها (Data Virtualization)
مجازی سازی دیتا روشی است که علاوه بر شرکتها، تقریباً همهی ما، بهطور روزانه از آن استفاده میکنیم. به عبارت دیگر، مجازی سازی دیتا یعنی اینکه بهجای ذخیره کردن اطلاعات روی یک استوریج فیزیکی (مثلاً هارد کامپیوتر) آن را بهصورت مجازی ذخیره کنیم.
قشنگترین مثال برای این مورد، Cloud Storage هست.
مجازی سازی Desktop
این مدل به خاطر شباهت لفظی با مورد بعدی اشتباه گرفته می شود. تفاوت های اساسی باهم دارند که در ادامه توضیح می دهم.
با با مجازی سازی دسکتاپ، میتوانید محیط دسکتاپ شبیهسازی شده را روی چندین ماشین فیزیکی مستقر کنید. بهعبارت دیگر، بر خلاف دسکتاپهای سنتی که بهصورت فیزیکی روی هر دستگاه نصب، کانفیگ و بهروزرسانی میشوند، مجازی سازی دسکتاپ باعث میشود بتوانید تمامی پیکربندیها، بهروزرسانیها و همچنین بررسیهای امنیتی را روی تمامی دسکتاپهای مجازی انجام دهند.
مجازی سازی OS
مجازی سازی سیستمعامل، یکی از متداولترین و پرکاربردترین انواع مجازی سازی است که اگر بخواهیم در مورد کاربردهای آن توضیح دهیم.مثلاً وقتی که یک توسعه دهنده بخواهد برنامهای که توسعه داده است را روی یک سیستمعامل دیگر تست کند. یا مثلاً وقتی که نرمافزار قدیمی فقط روی سیستمعامل قدیمی، مثلاً ویندوز XP، نصب شود.
مجازی سازی Software
امکان استفاه از یک نرمافزار را بدون اینکه روی سیستم خودتان نصب شده باشد، در اختیارتان قرار میدهد. روش کار هم بدین ترتیب است که نرمافزار موردنظر روی یک سرور نصب شده و با استفاده از کامپیوتر خودتان به آن وصل میشوید. با این روش، شما میتوانید از یک نرمافزار بهصورت گروهی هم استفاده کنید.
یکی از کاربردهای مجازی سازی نرمافزار، نصب یک بازی روی سرور و استفاده از آن بهصورت گروهی است که اتفاقاً در سالهای اخیر، طرفدارانِ زیادی پیدا کرده است.
مجازی سازی Storage
بیشتر موردنیاز شرکتهای بزرگ با دیتاهای حجم بالا است. فرض کنید چند کامپیوتر یا سرور در شرکت شما وجود دارد و حالا میخواهید تمامی حافظه آنها را در یک محل قرار دهید. بنابراین با مجازی سازی Storage میتوانید منابع ذخیرهسازی اطلاعات را از دستگاههای دیگر، بهصورت مجازی در یک محل قرار داده و از آنها استفاده کنید.
این مدل خودش دو دستهی مجازی سازی بلوکی و فایلی تقسیم میشود. در ذخیرهسازی بلوکی، تمامی بلوکهای ذخیرهسازی در هر یک از مسیرهایی که برای آن تعریف شده است، بدون اینکه توجهی به محل ذخیرهسازی آن داشته باشیم جمعآوری شده و در یک محل واحد ذخیره میشود
در ذخیرهسازی فایلی، ذخیرهسازی که روی دستگاههای NAS و در سطح فایل انجام میشود، چیزی به اسم بلوک و مسیر وجود ندارد. شما اینجا با فایلهای سرور کار دارید و البته مدیریت این نوع از دستگاهها هم به تجربه و مهارت بالایی نیاز دارد.
مجازی سازی I/O
مجازی سازی I/O به سختافزارهای فیزیکی مربوط می شود.
در روش مجازی سازی I/O ما سختافزار را بهصورت مجازی بین چند User تقسیم میکنیم. مثلاً اگر یک کارت گرافیک در یک سرور وجود داشته باشد، میتوانید آن را بهصورت مجازی بین چند دستگاه یا سرور دیگر به اشتراک بگذارید.
این مورد یکی از بهترین روش ها برای کاهش هزینه های سخت افزاری یک مجموعه می باشد.
مجازی سازی شبکه Network
به فرآیندی که در آن منابع یک شبکهی فیزیکی، از سوییچها گرفته تا روترها، پورتها و … به منابع مجازی تقسیم شوند، مجازی سازی شبکه گفته میشود.با استفاده از مجازی سازی شبکه، میتوانید چندین شبکهی مجازی را رویِ یک سوییچ فیزیکی ایجاد کنید.
یفرض کنید شما شرکتی دارید و حالا میخواهید شبکهی بخشهای فروش و تحقیق و توسعه را از هم جدا کنید. این کار با مجازی سازی شبکه، امکانپذیر است. در واقع شما همان یک شبکه را بهصورت فیزیکی دارید، اما آن را بهطور مجازی به دو بخش تقسیم میکنید. در اینصورت هر کدام از این بخشها، IP و پورت مجزایی دارد.
مجازی سازی Datacenter
کلود یا فضای ابری اینجا هم پیش ما می آید. مجازی سازی دیتاسنتر یعنی اینکه مراکز دادهی فیزیکی که ممکن است در هر سازمان و شرکتی وجود داشته باشد، به مراکز مجازی داده یا همان مراکز دادهی دیجیتالی تبدیل شوند.
این کار هم با استفاده از فناوری مجازی سازی و یک پلتفرم ابری انجام میشود و شاید مهمترین ویژگی آن هم امکان دسترسی به منابع اطلاعاتی، بدونِ محدودیت زمان و مکان باشد.
مجازی سازی Server
سرورهای مجازی، همانطور که احتمالاً تا اینجا هم خودتان پی بردهاید، سرورهایی هستند که از یک سرور فیزیکی ساخته شده و هر کدام از آنها هم مشخصات مربوط به خود را دارند.
سرور مجازی یکی از مهمترین محصولاتیپراستفاده و عرف ترین روش مجازی سازی ، مجازی سازی سرور هست.اینقدر کار های عجیب و غریب با آن میکنند که تصمیم گفتم آن را در مقاله ای جدا بررسی کنم. در ادامه به مهمترین کاربردهای سرور مجازی
کاربردهای مجازی سازی سرور
میزبانی از اطلاعات وبسایتها – هاستینگ
تمامی وب سایت و اپلیکیشن های تحت وب در حال استفاده از سرور هستند حال اگر شما یک بیزینس کوچک یا نوپا باشید صرف هزینه خرید سرور خیلی برایتان گران تمام میشود. پس شما میتوانید بخشی از یک سرور را از یک شرکت دوم اجاره کنید. آن شرکت دوم در واقع با مجازی سازی بخشی از سرور خودش را به شما اجاره میدهد.
تقریبا تمامی شرکت های هاستینگ یا میزبانی وب از این روش استفاده میکنند.
انتخاب صحیح سرور، تأثیر زیادی روی تجربهی کاربری و حتی سئو وبسایت دارد. پس در انتخاب سرور مجازی، دقت کافی به خرج دهید تا در آینده دچار مشکل نشوید.
تست و توسعهی نرمافزار با سرور مجازی
یکی از مراحل مهم در توسعهی نرمافزار، تست آن است. اگر یک توسعه دهندهی نرمافزار باشید و بخواهید نرمافزار خود را در یک بستر مطمئن تست کنید و علاوه بر آن، به دیگران هم اجازه دهید تا نرمافزارتان را بررسی کنند، سرور مجازی بهترین انتخابی است که میتوانید داشته باشید.
بازیهای آنلاین گروهی با سرور مجازی
یکی دیگر از کاربردهای مهم سرور مجازی، که اتفاقاً در سالهای اخیر هم طرفداران زیادی پیدا کرده، بازی آنلاین بهصورت گروهی است. شما میتوانید بازی خود را رویِ یک سرور مجازی قرار دهید، با دوستان خود به سرور وصل شده و بازی موردنظرتان را بهصورت گروهی انجام دهید.
استفاده از امکانات صرافیهای ارز دیجیتال
خرید و فروش ارز دیجیتال، یکی از کسبوکارهایی است که به لطفِ تکنولوژی حالا دیگر در دسترس ما قرار دارد. اما با توجه به اینکه تمامی صرافیهای آنلاین مثل بایننس، به شهروندان ایرانی خدمات ارائه نمیکنند، با داشتن یک سرور مجازی میتوانید IP خود را تغییر داده و از سرویس موردنظرتان استفاده کنید.
استفاده از منابع علمی
اولین چیزی که یک محقق علمی نیاز دارد، اطلاعات و منابع علمی است. اما این منابع هم به سادگی در دسترس ایرانیان قرار ندارد. بسیاری از وبسایتها و مراجعی که بهعنوان سورس علمی شناخته میشوند، آی پی ایران را محدود کردهاند. یعنی بهصورت نرمال و بدون ابزارهای تغییر آی پی نمیتوانید به این وبسایتها دسترسی داشته باشید.
با سرور مجازی میتوانید آی پی خود را به یک کشور دیگر تغییر دهید. با این روش دیگر محدودیتی برای استفاده از منابع و مقالات علمی قبلی ندارید.
مجازی سازی اپلیکیشن یا مجازی سازی برنامه
در قسمت قبلی، مختصری در مورد مجازی سازی اپلیکیشن یا برنامه توضیح دادیم. اجازه دهید این موضوع را بیشتر باز کنیم؛ یک سؤال ساده: شما برای نصب یک نرمافزار یا اپلیکیشن، به چه چیزی نیاز دارید؟ احتمالاً قبل از هر چیز، به یک سیستمعامل نیاز دارید. بدون سیستمعامل، نرمافزار اصلاً قابلیت نصب را ندارد!
حالا فرض کنید میخواهید این نرمافزار را روی سیستم چند نفر نصب کنید. مثلاً شما یک نرمافزار حسابداری دارید و میخواهید این نرمافزار را روی سیستم تمامی حسابداران شرکت، نصب کنید. راه حل ساده این است که سورس این نرمافزار را روی کامپیوتر همهی کاربران کپی کنید و بعد هم روند نصب را دنبال کنید. اما سادهترین راه، همیشه بهترین راه نیست!
با مجازی سازی برنامه میتوانید همان نرمافزار را روی یک سرور نصب کنید و به کاربرانتان برای استفاده از آن روی سرور، دسترسی بدهید. با این کار شما یک بار نرمافزار را نصب کردهاید، اما تعداد نامحدودی کاربر میتوانند از آن استفاده کنند.
استفاده از این نوع مجازی سازی، کاربردها و مزایای مختلفی دارد. مثلاً یکی از این مزایا همین است که شما دیگر نیازی به نصب چند بارهی نرمافزار روی سیستمهای مختلف ندارید. مزیت دیگرش هم این است که اطلاعات و اسنادی که کاربران حین کار با نرمافزار ذخیره میکنند، همه در یک محل واحد، یعنی روی سرور شما Save میشود.
تفاوت KVM با VMWare
مجازی سازی سرورها هم راه و روش و هم ابزارهای متفاوتی دارد. اینکه استفاده از کدام ابزار یا روش مناسبتر است، کاملاً بستگی به نوع نیاز شما دارد. اما برای اینکه دست خالی از این مقاله بیرون نرویم، دو مجازیساز معروف را بهصورت ساده برایتان توضیح میدهیم تا حداقل اطلاعاتی در این زمینه داشته باشید.
۱. مجازی سازی VMware
اولین نکتهای که باید بدانید این است که VMware یکی از زیرمجموعههای شرکت معظم Dell Technologies است که توسط Broadcom خریداری میشود. این شرکت از سال ۱۹۹۸ فعالیت خود را در حوزهی تکنولوژی شروع کرد و حالا به یکی از غولهای این صنعت تبدیل شده است. VMware محصولات مختلفی ارائه میکند، اما آنچه که معمولاً با آن شناخته میشود، VMware vSphere است که یک پلتفرم مجازی سازی برای رایانش ابری محسوب میشود.
یکی از مهمترین مزایای VMware، فناوری vMotion آن است که با استفاده از آن میتوان به انتقال آنیِ ماشینهای مجازی در حال اجرا، از یک سرور فیزیکی به سرور فیزیکی دیگر پرداخت؛ بدون اینکه هیچ کدام از دیتاهای شما دچار مشکل شود. قدرِ این فیچر را فقط کسانی میدانند که حداقل یکبار با چالشهای تغییر سرور دست و پنجه نرم کرده باشند.
علاوه بر تمامی موارد بالا، ابزارهای قدرتمند مدیریتی VMware و همچنین پشتیبانی گستردهی آن از سیستم عاملهای مختلف، آن را به یک ابزار بسیار محبوب برای مجازی سازی تبدیل کرده است.
۲. مجازی ساز KVM
مجازی ساز KVM (Kernel-Based Virtual Machine) یکی از فناوریهای مجازیساز منبع باز است که روی کرنل لینوکس ساخته شده است. این نرمافزار که در سال ۲۰۰۷ معرفی شده است، به عنوان هایپروایزر سطح یک شناخته میشود و با استفاده از آن میتوانید چندین VM را روی یک سرور واحد اجرا کنید که هر کدام از آنها دارای سیستمعامل و اپلیکیشنهای مخصوص به خود هستند.
بهعنوان بخشی از کرنل لینوکس، KVM ویژگیهای پیشرفتهای مثلِ امنیت و پایداری بالایی دارد، به همین دلیل همیشه میتوان بهعنوان یک مجازیسازِ قابل اعتماد، روی آن حساب کرد. بهعلاوه جامعهی دولوپرهایی که از آن پشتیبانی میکنند، این اطمینان خاطر را به شما میدهند که این نرمافزار منبع باز، همیشه رایگان و البته ایمن باقی میماند.
مجازی ساز KVM مثلِ فیچر vMotion، قابلیت مهاجرت آنی از یک سرور به سروری دیگر را دارد. علاوه بر آن، از خصوصیت Overcommitting پشتیبانی میکند؛ یعنی شما میتوانید CPU مجازی بیشتری را نسبت به سرور فیزیکی، به ماشین مجازی خود اختصاص دهید.
جمعبندی
مجازی سازی یکی از تکنولوژیهای جدیدی است که در شبکهسازی و هاستینگ، از آن استفادههای فراوانی میشود. مجازی سازی باعث میشود بتوانید یک سرور را به چند بخش کاملاً مجزا از هم تقسیم کنید؛ بهطوری که هر یک از آنها ساختار، نرمافزارها و حتی سیستم عامل مخصوص به خود را داشته باشند. با توجه به اینکه این اصطلاح یکی از موضوعات اساسی در حوزهی وب و هاستینگ است، در این مطلب از آموزش شبکه بلاگ پارس پک بهطور کامل و البته با بیانی ساده، آن را توضیح دادیم.
سؤالات متداول
۱. سرور مجازی چیست؟
سروری است که با استفاده از ابزارهای مجازی سازی، از یک سرور فیزیکی تولید شده است و عملکردی کاملاً مستقل نسبت به خودِ سرور فیزیکی و یا سرورهای مجازی دیگر دارد.
۲.بهترین ابزارها برای مجازی سازی کدام است؟
مجازیساز KVM و VMware دو نرمافزار بسیار محبوب و متداول برای مجازی سازی سرورها محسوب میشوند.
۳. آیا سرورهای مجازی ایمن هستند؟
بله. استفاده از ابزارهایی مثل مجازیساز KVM، با توجه به اینکه روی کرنل لینوکس ساخته شده است، سطح بسیار بالایی از امنیت را به سرور مجازی میدهد.
منابع: