نگاهي به فناوري و ابزارهاي مجازي سازي لينوکس
نگاهي به فناوري و ابزارهاي مجازي سازي لينوکس
نگاهي به فناوري و ابزارهاي مجازي سازي لينوکس
مجازي سازي ( Virtualization) يکي از فناوري هايي است که در چند سال اخير به شدت مورد توجه بوده و سرمايه گذاري هاي مادي و تحقيقاتي زيادي از سوي شرکت هاي بزرگ روي آن صورت گرفته است. دليل اين اتفاق نيز روشن است: کاهش هزينه ها، برپاسازي سرورهاي اختصاصي و قدرتمند، افزايش قدرت محاسبات و پردازش اطلاعات، استفاده از سيستم عامل هاي مختلف و انعطاف پذيري سيستم.
در اين مقاله نخست نگاهي به فناوري مجازي سازي و کاربردهاي آن خواهيم انداخت و سپس ابزارهاي مجازي سازي در لينوکس را مورد بررسي قرار مي دهيم.
مثال ديگر استفاده از چندين سيستم عامل مختلف روي يک سيستم است. مسئله اي که اين روزها حتي کاربران خانگي نيز با آن درگير شده اند. با مجازي سازي مي توان چندين سيستم عامل را روي يک سخت افزار نصب کرد؛ به طوري که هر سيستم عامل سخت افزار را به صورت اختصاصي در اختيار داشته باشد، انگار که فقط اين سيستم عامل روي اين سخت افزار نصب است. همان طور که در تصوير 1 نمايش داده شده است، مي توان چندين سيستم عامل با پلتفرم هاي مختلف را روي يک سخت افزار راه اندازي کرد.
کاربرد ديگر مجازي سازي براي بالا بردن سرعت پردازش اطلاعات و محاسبات در شبکه ها است. فرض کنيد يک شبکه با ده ها کامپيوتر کلاينت وجود دارد. اگر تمام اين کامپيوترها بخواهند به طور همزمان به يک سرور در شبکه متصل شده و تبادل اطلاعات کنند، ترافيک روي اين سرور به شدت افزايش مي يابد و در عمل سرعت شبکه کاهش يافته و دچار مشکل مي شود. راه کار منطقي اين است که چندين سرور در شبکه راه اندازي کنيد تا کامپيوترها ميان اين سرورها تقسيم شده و بار ترافيکي شبکه در اصطلاح شکسته شود. مجازي سازي کمک مي کند که شما در شبکه يک سرور فيزيکي و چندين سرور نرم افزاري به صورت مجازي داشته باشيد.
فکر کنم اکنون بدانيد مجازي سازي چيست. اگر يک تعريف کلاسيک از مجازي سازي بخواهيم، تعريف هاي زير را مي توان ارائه کرد:« مجازي سازي يعني ايجاد سخت افزار انتزاعي براي نرم افزارها» يا « مجازي سازي انتزاعي کردن منابع سيستم است.»
تعريف هاي بالا به اين معني است که شما منابع سيستم را به صورت اختصاصي و مجزا شده، به طوري که بتوان به صورت واحد ديد، در آوريد. منابع مي توانند سيستم عامل، نرم افزار، سخت افزار، تجهيزات شبکه يا منابع اطلاعاتي مانند هارد ديسک باشند، در تصوير 2 اين مفهوم مشاهده مي شود. با استفاده از مجازي سازي روي يک سخت افزار شامل پردازنده، حافظه، کارت شبکه و هارد ديسک دو سيستم عامل و مجموعه نرم افزارها نصب شده است.
اگر شما يک دسکتاپ را نيز براي يک سيستم عامل شبيه سازي کنيد، از مجازي سازي استفاده کرده ايد. تقسيم بندي سکتورهاي يک هارد ديسک براي دسترسي هاي مختلف نيز به نوعي مجازي سازي است. به اين دليل که هر کاربر فکر مي کند در حال کار با يک هارد ديسک مجزا و اختصاصي است. لايه بندي سيستم عامل و سخت افزار رويکرد ديگر مجازي سازي است. يکي از بزرگ ترين کاربردهاي اين فناوري در اينترنت و تحت مفاهيمي مانند « کلاسترينگ» و « گريد» صورت مي گيرد. گريد يعني ايجاد يک شبکه از کامپيوترهاي مجزا براي پردازش اطلاعات.
کار مجازي سازي را اغلب يک نرم افزار انجام مي دهد. اين نرم افزار لايه Hypervisor را ساخته و ارتباط ميان سخت افزار با اين لايه و هريک از ماشين هاي مجازي را فراهم مي کند. دستگاه هاي سخت افزاري مجازي سازي نيز وجود دارند که امکان راه اندازي سيستم عامل و نرم افزار را روي سخت افزارهاي متفاوتي که وجود فيزيکي ندارند، فراهم مي کنند.
Full Virtual: تمام سخت افزار و منابع سيستم در مجازي سازي شرکت کرده و در اختيار ماشين هاي مجازي قرار مي گيرند. به طور معمول براي سيستم عامل ها از اين نوع مجازي سازي استفاده مي کنند. مزيت اين روش ايجاد يک سيستم کامل مجازي است و عيب آن کند شدن سيستم است، زيرا به طور همزمان چندين سيستم عامل از يک سخت افزار واحد استفاده مي کنند.
Para Virtual : بخشي از سخت افزار يا منابع سيستم در اختيار ماشين هاي مجازي قرار گرفته و ماشين هاي مجازي در مود Para اجرا مي شوند. بقيه سخت افزار ميان ماشين ها به اشتراک گذاشته مي شود. به عنوان مثال، ممکن است يک ماشين مجازي نيازي به کارت گرافيک نداشته باشد. در اين حالت کارت گرافيک براي اين ماشين تعريف نمي شود. مزيت اين روش کاهش سر بار سخت افزار است.
Virtual Private Servers: مجازي سازي در سطح محيط( نرم افزارهاي کاربردي و سيستم عامل) صورت مي گيرد و از مجازي سازي سخت افزاري خبري نيست. اين روش VE( Virtual Environment) نيز ناميده مي شود. نصب چندين توزيع لينوکس روي يک سخت افزار نمونه اي از VE است. اجراي نرم افزارهاي لينوکس روي ويندوز نيز نمونه ديگري از اين نوع مجازي سازي است. VE در مقايسه با دو روش ديگر ساده تر و از سرعت و انعطاف پذيري بالاتري برخوردار است.
Xen
Xen VMM( Xen Virtual Machine Monitor) يک پروژه اپن سورس است که در آزمايشگاه هاي کامپيوتر دانشگاه کمبريج انگليس توسعه داده مي شود. خروجي اين پروژه يک برنامه مجازي سازي قدرتمند به نام Xen است که امکان ساخت و برپاسازي چندين ماشين مجازي با قابليت اجرا توسط سيستم عامل هاي مختلف را روي يک سخت افزار واحد فراهم مي کند. با اين ابزار، سيستم عامل هاي ميهمان به هسته لينوکس متصل مي شوند و امکان يکپارچه سازي آن ها براي هسته سيستم عامل هاي NetBSD/FreeBSD نيز وجود دارد. در نتيجه کاربران قادر خواهند بود با برنامه Xen چندين سيستم عامل ميهمان را روي سيستم عامل هاي خانواده يونيکس بدون نياز به تغيير و اصلاح کد و ساختار هسته سيستم عامل اصلي، راه اندازي کنند. برنامه Xen از روش هاي Full Virtual و Para Virtual براي پياده سازي سيستم عامل هاي ميهمان بهره مي گيرد. Para Virtual علاوه بر کاري که به آن اشاره شد، سيستم عامل و سخت افزار فيزيکي را در يک سطح و ماشين هاي مجازي را در سطوح ديگر پياده سازي مي کند. مزيت اين روش، عدم تداخل فرآيندهاي اجرايي سيستم عامل و امکان افزودن پروسه هاي جديد به هسته سيستم عامل بدون کامپايل يا دستکاري هسته است. اين مفاهيم در تصوير 4 به خوبي قابل درک هستند. همان طور که مي بينيد، سخت افزار و توزيع لينوکس سوزه در يک سطح و مجزا از ماشين هاي مجازي هستند. بسياري از توزيع هاي لينوکس مانند سوزه، ردهت، دبيان و شرکت هاي بزرگي مانند سان، Xen را به عنوان اولين ابزار مجازي سازي اپن سورس شناخته و همراه با توزيع خود ارائه مي کنند. بيشتر کاربران اين ابزار، شرکت هاي بزرگ و شبکه هاي شامل چند ده کامپيوتر يا شبکه هاي محاسباتي و گريد هستند. Xen روي مين فريم هاي IBM، HP و شرکت هاي سرويس دهنده خدمات اينترنتي مانند AOL نصب است. کاربران خانگي با Xen به دليل عدم سادگي آن ميانه خوبي ندارند.
در مقايسه با ابزارهايي مانند VMware و Xen انعطاف پذيري بيشتري در انتخاب سيستم عامل هاي ميهمان و اصلي دارد و از قابليت هايي مانند اطمينان، حساسيت، رمزنگاري و محافظت از ماشين هاي مجازي، مديريت پوياي منابع سيستم و مديريت آسان برخوردار است.
بهترين کاربرد OpenVZ براي نصب چندين سيستم عامل يا توزيع لينوکس روي يک سخت افزار يا ساخت چندين محيط کاربري روي يک سيستم عامل است. استفاده از اين ابزار مجازي سازي در ميان کاربران خانگي محبوبيت بيشتري دارد.
در تصوير 7 کارکرد اين ابزار نمايش داده شده است. KVM از يک هسته اصلي لينوکس استفاده مي کند و براي سيستم عامل هاي ميهمان يک ارتباط ميان آن ها و هسته برقرار مي کند؛ به طوري که به نظر مي رسد هرکدام از آن ها در حال استفاده از يک هسته اختصاصي اما کوچک و مشخص شده هستند. KVM بيشتر براي مجازي سازي پروسه هاي خاص طراحي شده و با توجه به اپن سورس بودن و امکان کامپايل روي هسته لينوکس، بهترين ابزار براي توسعه دهندگان و برنامه نويسان است.
منبع: عصر شبکه، شماره 103.
در اين مقاله نخست نگاهي به فناوري مجازي سازي و کاربردهاي آن خواهيم انداخت و سپس ابزارهاي مجازي سازي در لينوکس را مورد بررسي قرار مي دهيم.
مجازي سازي چيست؟
مثال ديگر استفاده از چندين سيستم عامل مختلف روي يک سيستم است. مسئله اي که اين روزها حتي کاربران خانگي نيز با آن درگير شده اند. با مجازي سازي مي توان چندين سيستم عامل را روي يک سخت افزار نصب کرد؛ به طوري که هر سيستم عامل سخت افزار را به صورت اختصاصي در اختيار داشته باشد، انگار که فقط اين سيستم عامل روي اين سخت افزار نصب است. همان طور که در تصوير 1 نمايش داده شده است، مي توان چندين سيستم عامل با پلتفرم هاي مختلف را روي يک سخت افزار راه اندازي کرد.
کاربرد ديگر مجازي سازي براي بالا بردن سرعت پردازش اطلاعات و محاسبات در شبکه ها است. فرض کنيد يک شبکه با ده ها کامپيوتر کلاينت وجود دارد. اگر تمام اين کامپيوترها بخواهند به طور همزمان به يک سرور در شبکه متصل شده و تبادل اطلاعات کنند، ترافيک روي اين سرور به شدت افزايش مي يابد و در عمل سرعت شبکه کاهش يافته و دچار مشکل مي شود. راه کار منطقي اين است که چندين سرور در شبکه راه اندازي کنيد تا کامپيوترها ميان اين سرورها تقسيم شده و بار ترافيکي شبکه در اصطلاح شکسته شود. مجازي سازي کمک مي کند که شما در شبکه يک سرور فيزيکي و چندين سرور نرم افزاري به صورت مجازي داشته باشيد.
فکر کنم اکنون بدانيد مجازي سازي چيست. اگر يک تعريف کلاسيک از مجازي سازي بخواهيم، تعريف هاي زير را مي توان ارائه کرد:« مجازي سازي يعني ايجاد سخت افزار انتزاعي براي نرم افزارها» يا « مجازي سازي انتزاعي کردن منابع سيستم است.»
تعريف هاي بالا به اين معني است که شما منابع سيستم را به صورت اختصاصي و مجزا شده، به طوري که بتوان به صورت واحد ديد، در آوريد. منابع مي توانند سيستم عامل، نرم افزار، سخت افزار، تجهيزات شبکه يا منابع اطلاعاتي مانند هارد ديسک باشند، در تصوير 2 اين مفهوم مشاهده مي شود. با استفاده از مجازي سازي روي يک سخت افزار شامل پردازنده، حافظه، کارت شبکه و هارد ديسک دو سيستم عامل و مجموعه نرم افزارها نصب شده است.
اگر شما يک دسکتاپ را نيز براي يک سيستم عامل شبيه سازي کنيد، از مجازي سازي استفاده کرده ايد. تقسيم بندي سکتورهاي يک هارد ديسک براي دسترسي هاي مختلف نيز به نوعي مجازي سازي است. به اين دليل که هر کاربر فکر مي کند در حال کار با يک هارد ديسک مجزا و اختصاصي است. لايه بندي سيستم عامل و سخت افزار رويکرد ديگر مجازي سازي است. يکي از بزرگ ترين کاربردهاي اين فناوري در اينترنت و تحت مفاهيمي مانند « کلاسترينگ» و « گريد» صورت مي گيرد. گريد يعني ايجاد يک شبکه از کامپيوترهاي مجزا براي پردازش اطلاعات.
فناوري مجازي سازي
کار مجازي سازي را اغلب يک نرم افزار انجام مي دهد. اين نرم افزار لايه Hypervisor را ساخته و ارتباط ميان سخت افزار با اين لايه و هريک از ماشين هاي مجازي را فراهم مي کند. دستگاه هاي سخت افزاري مجازي سازي نيز وجود دارند که امکان راه اندازي سيستم عامل و نرم افزار را روي سخت افزارهاي متفاوتي که وجود فيزيکي ندارند، فراهم مي کنند.
انواع مجازي سازي
Full Virtual: تمام سخت افزار و منابع سيستم در مجازي سازي شرکت کرده و در اختيار ماشين هاي مجازي قرار مي گيرند. به طور معمول براي سيستم عامل ها از اين نوع مجازي سازي استفاده مي کنند. مزيت اين روش ايجاد يک سيستم کامل مجازي است و عيب آن کند شدن سيستم است، زيرا به طور همزمان چندين سيستم عامل از يک سخت افزار واحد استفاده مي کنند.
Para Virtual : بخشي از سخت افزار يا منابع سيستم در اختيار ماشين هاي مجازي قرار گرفته و ماشين هاي مجازي در مود Para اجرا مي شوند. بقيه سخت افزار ميان ماشين ها به اشتراک گذاشته مي شود. به عنوان مثال، ممکن است يک ماشين مجازي نيازي به کارت گرافيک نداشته باشد. در اين حالت کارت گرافيک براي اين ماشين تعريف نمي شود. مزيت اين روش کاهش سر بار سخت افزار است.
Virtual Private Servers: مجازي سازي در سطح محيط( نرم افزارهاي کاربردي و سيستم عامل) صورت مي گيرد و از مجازي سازي سخت افزاري خبري نيست. اين روش VE( Virtual Environment) نيز ناميده مي شود. نصب چندين توزيع لينوکس روي يک سخت افزار نمونه اي از VE است. اجراي نرم افزارهاي لينوکس روي ويندوز نيز نمونه ديگري از اين نوع مجازي سازي است. VE در مقايسه با دو روش ديگر ساده تر و از سرعت و انعطاف پذيري بالاتري برخوردار است.
ابزارهاي مجازي سازي لينوکس
Xen
Xen VMM( Xen Virtual Machine Monitor) يک پروژه اپن سورس است که در آزمايشگاه هاي کامپيوتر دانشگاه کمبريج انگليس توسعه داده مي شود. خروجي اين پروژه يک برنامه مجازي سازي قدرتمند به نام Xen است که امکان ساخت و برپاسازي چندين ماشين مجازي با قابليت اجرا توسط سيستم عامل هاي مختلف را روي يک سخت افزار واحد فراهم مي کند. با اين ابزار، سيستم عامل هاي ميهمان به هسته لينوکس متصل مي شوند و امکان يکپارچه سازي آن ها براي هسته سيستم عامل هاي NetBSD/FreeBSD نيز وجود دارد. در نتيجه کاربران قادر خواهند بود با برنامه Xen چندين سيستم عامل ميهمان را روي سيستم عامل هاي خانواده يونيکس بدون نياز به تغيير و اصلاح کد و ساختار هسته سيستم عامل اصلي، راه اندازي کنند. برنامه Xen از روش هاي Full Virtual و Para Virtual براي پياده سازي سيستم عامل هاي ميهمان بهره مي گيرد. Para Virtual علاوه بر کاري که به آن اشاره شد، سيستم عامل و سخت افزار فيزيکي را در يک سطح و ماشين هاي مجازي را در سطوح ديگر پياده سازي مي کند. مزيت اين روش، عدم تداخل فرآيندهاي اجرايي سيستم عامل و امکان افزودن پروسه هاي جديد به هسته سيستم عامل بدون کامپايل يا دستکاري هسته است. اين مفاهيم در تصوير 4 به خوبي قابل درک هستند. همان طور که مي بينيد، سخت افزار و توزيع لينوکس سوزه در يک سطح و مجزا از ماشين هاي مجازي هستند. بسياري از توزيع هاي لينوکس مانند سوزه، ردهت، دبيان و شرکت هاي بزرگي مانند سان، Xen را به عنوان اولين ابزار مجازي سازي اپن سورس شناخته و همراه با توزيع خود ارائه مي کنند. بيشتر کاربران اين ابزار، شرکت هاي بزرگ و شبکه هاي شامل چند ده کامپيوتر يا شبکه هاي محاسباتي و گريد هستند. Xen روي مين فريم هاي IBM، HP و شرکت هاي سرويس دهنده خدمات اينترنتي مانند AOL نصب است. کاربران خانگي با Xen به دليل عدم سادگي آن ميانه خوبي ندارند.
OpenVZ
در مقايسه با ابزارهايي مانند VMware و Xen انعطاف پذيري بيشتري در انتخاب سيستم عامل هاي ميهمان و اصلي دارد و از قابليت هايي مانند اطمينان، حساسيت، رمزنگاري و محافظت از ماشين هاي مجازي، مديريت پوياي منابع سيستم و مديريت آسان برخوردار است.
بهترين کاربرد OpenVZ براي نصب چندين سيستم عامل يا توزيع لينوکس روي يک سخت افزار يا ساخت چندين محيط کاربري روي يک سيستم عامل است. استفاده از اين ابزار مجازي سازي در ميان کاربران خانگي محبوبيت بيشتري دارد.
VirtualBox
VMware
KVM
در تصوير 7 کارکرد اين ابزار نمايش داده شده است. KVM از يک هسته اصلي لينوکس استفاده مي کند و براي سيستم عامل هاي ميهمان يک ارتباط ميان آن ها و هسته برقرار مي کند؛ به طوري که به نظر مي رسد هرکدام از آن ها در حال استفاده از يک هسته اختصاصي اما کوچک و مشخص شده هستند. KVM بيشتر براي مجازي سازي پروسه هاي خاص طراحي شده و با توجه به اپن سورس بودن و امکان کامپايل روي هسته لينوکس، بهترين ابزار براي توسعه دهندگان و برنامه نويسان است.
منبع: عصر شبکه، شماره 103.
مقالات مرتبط
تازه های مقالات
ارسال نظر
در ارسال نظر شما خطایی رخ داده است
کاربر گرامی، ضمن تشکر از شما نظر شما با موفقیت ثبت گردید. و پس از تائید در فهرست نظرات نمایش داده می شود
نام :
ایمیل :
نظرات کاربران
{{Fullname}} {{Creationdate}}
{{Body}}