با اين حال اين ديدگاه مشكلاتي در پي دارد ؛ اول اين كه با اين روش نميتوان از قدرت پردازش سرورهاي قدرتمند و مدرن بهره جست و بيشتر سرورها از بخش بسيار كوچكي از تواناييهاي پردازشگر خود استفاده ميكنند. مشكل بعدي اين است كه با رشد يك شبكه و پيچيدهتر شدن آن و افزايش تعداد سرورها، با كمبود فضاي فيزيكي مواجه ميشويم.
با مجازيسازي سرورها اين دو مشكل در يك چشم بر هم زدن از بين ميرود. با استفاده از نرمافزارهاي مخصوص مجازيسازي، ميتوان يك سرور فيزيكي را به چند سرور مجازي تبديل كرد. هر سرور مجازي مانند يك سرور مستقل فيزيكي عمل ميكند و سيستم عامل خود را دارد. از لحاظ منطقي شما ميتوانيد تا جايي كه منابع يك سرور فيزيكي به شما اجازه ميدهند، سرور مجازي داشته باشيد ولي در عمل معمولا اينگونه نيست.
مجازيسازي سرورها ايده جديدي نيست. دانشمندان علم رايانه دهها سال است كه ماشينهاي مجازي را روي ابر رايانهها به وجود ميآورند. ولي فقط در چند سال اخير است كه مجازيسازي سرورها امكانپذير شده است و در دنياي فناوري اطلاعات موضوع جديدي به حساب ميآيد.
انگيزههاي زيادي براي سرمايهگذاري در مجازيسازي وجود دارد كه بعضي از آنها مالي و بعضي فنياند. با تركيب چند سرور مجازي در يك سرور فيزيكي، در فضا صرفهجويي ميشود. معمولا هر سرور براي كار خاصي استفاده ميشود. اگر هر سرور از قسمت كمي از قدرت پردازشگر استفاده كند، با تركيب چند سرور مجازي در يك سرور فيزيكي قدرتمند ميتوانيم هم در فضا صرفهجويي كنيم و هم از قدرت پردازشگر به صورت بهينه بهرهمند شويم.
با مجازيسازي ميتوان بدون خريد سختافزارهاي اضافي، افزونگي به وجود آورد. افزونگي به اين معني است كه چند سرور يك كار را انجام دهد و در اين صورت اگر يك سرور به هر دليلي از كار بيفتد، سرور ديگري كه همان كار را انجام ميدهد، ميتواند جايگزين آن شود. اين كار باعث جلوگيري از وقفه ميشود. ايجاد دو سرور مجازي كه يك كار انجام ميدهند، روي يك سرور فيزيكي منطقي نيست، چراكه اگر سرور فيزيكي از كار بيفتد، هر دو سرور مجازي از كار ميافتند. معمولا سرور مجازي افزونه را روي يك سرور فيزيكي ديگر قرار ميدهند.
سرورهاي مجازي به برنامه نويسان اجازه ميدهند آزمايشهاي خود را روي سيستمهاي مجزا و مستقل انجام دهند و نيازي به خريد سرور فيزيكي جديد نداشته باشند. مستقل بودن سرورهاي مجازي از يكديگر باعث ميشود برنامهنويسان، آزمايشهاي خود را بدون نگراني از تحت تأثير قرار گرفتن شبكه و سرورهاي ديگر انجام دهند.
سختافزار سرورها بتدريج منسوخ ميشوند و تعويض سختافزار يك شبكه ميتواند كار سختي باشد. گاهي اوقات لازم است ارائه يك سرويس روي سختافزار منسوخ شده ادامه داشته باشد. مدير شبكه ميتواند اين سخت افزار را به صورت مجازي روي يك سخت افزار مدرن به وجود آورد. از ديد برنامهاي كه اجرا ميشود، هيچ تغييري رخ نداده و بهگونهاي اجرا ميشود كه در سختافزار قديمي اجرا ميشد. اين كار باعث ميشود انتقال سرورها به سرور فيزيكي جديد بدون نگراني از تداخلهاي احتمالي صورت گيرد.
در شبكه، مهاجرت به انتقال يك سرور به سروري ديگر گفته ميشود. با استفاده از سخت افزار و نرمافزار مناسب، ميتوان يك سرور مجازي را از يك سرور فيزيكي به سرور ديگري انتقال داد. در اصل اگر سختافزار، سيستم عامل و پردازشگر اين دو سرور يكسان باشند اين كار امكانپذير است، اما حال امكان مهاجرت يك سرور مجازي از يك سرور فيزيكي به سروري ديگر وجود دارد، حتي اگر پردازشگر آنها يكسان نباشد (اما سازنده پردازشگرها بايد يكسان باشد).
معمولا براي ايجاد سرور مجازي از 3 روش استفاده ميشود: مجازيسازي كامل، مجازيسازي بهينه شده و مجازيسازي در سطح سيستم عامل. هر سه شباهتها و ويژگيهاي مشتركي دارند. سرور فيزيكي ميزبان نام دارد و به سرورهاي مجازي مهمان گفته ميشود. سرورهاي مجازي مانند سرورهاي فيزيكي رفتار ميكنند. هر كدام از روشهاي مجازيسازي از راه متفاوتي براي تخصيص منابع سرور فيزيكي به سرورهاي مجازي دارند.
در مجازيسازي كامل از يك نرمافزار واسط استفاده ميشود. واسط روي سيستم عامل سرور فيزيكي نصب ميشود و مستقيما با پردازشگر و منابع آن رابطه دارد. واسط هر سرور مجازي را از بقيه سرور كاملا مستقل ميكند و در واقع سرورهاي مجازي روي يك سرور فيزيكي از وجود هم بيخبرند و هر سرور، سيستم عامل خود را دارد.
واسط، منابع سرور فيزيكي را زير نظر دارد و با توجه به نياز سرورهاي مجازي اين منابع را به هر كدام در حد نياز تخصيص ميدهد. بنابراين واسطها نيز به پردازش نياز دارند و سرور فيزيكي بايد مقداري از قدرتپردازش و منابع خود را براي راهاندازي واسط مصرف كند. اين كار بر عملكرد كلي سرور و در نتيجه سرورهاي مجازي تأثير ميگذارد.
مجازيسازي بهينه شده كمي متفاوت است. برخلاف روش مجازيسازي كامل، مهمانان يك سيستم مجازيسازي بهينه شده از يكديگر با خبر هستند. در اين روش واسط براي مديريت مهمانان به پردازش زيادي نياز ندارد، چراكه سيستم عامل از نيازهايي كه بقيه سيستمهاي عامل دارند با خبر است. در واقع كل سيستم به عنوان يك واحد يكپارچه عمل ميكند.
در مجازيسازي در سطح سيستم عامل از واسط استفاده نميشود. در عوض سيستم عامل، ميزبان توانايي مجازيسازي دارد و ميتواند تمام كارهايي را كه به عهده يك واسط است، انجام دهد. بزرگترين محدوديت اين روش اين است كه همه مهمانان بايد يك سيستم عامل داشته باشند. هر سرور مجازي مستقل از بقيه عمل ميكند، ولي نميتوان سيستمهاي عامل را تركيب كرد. به چنين سيستمي كه همه سيستمهاي عامل مهمانان از يك نوع است، محيط همگن گفته ميشود.
در اينجا سوالي كه مطرح ميشود اين كه كدام روش بهتر است؟ در واقع به نيازهاي مدير شبكه بستگي دارد. اگر سيستمهاي عامل سرورهاي فيزيكي همگي از يك نوع باشند، احتمالا مجازيسازي در سطح سيستم عامل بهترين انتخاب است، چراكه اين روش سريعتر و بهينهتر از روشهاي ديگر است. از سوي ديگر اگر مدير سيستمهاي عامل مختلفي روي سرورها نصب شده است، مجازيسازي بهينه شده انتخاب بهتري است. يكي از اشكالات فعلي اين روش، جديد بودن آن است و شركتهاي كمي آن را ارائه ميكنند. شركتهاي زيادي مجازيسازي كامل را پشتيباني ميكنند، اما تقاضا براي مجازيسازي بهينه شده رشد بيشتري دارد و ممكن است بتدريج جايگزين مجازيسازي كامل شود.
مجازيسازي در بسياري از موارد مفيد است، اما محدوديتهاي خود را دارد و مدير يك شبكه بايد قبل از مجازيسازي نيازها و معماري شبكه خود را در نظر بگيرد. براي مثال براي سروري كه به پردازش زيادي نياز دارد، مجازيسازي انتخاب مناسبي به نظر نميرسد. واسطهاي زيادي براي مجازيسازي وجود دارد كه قديميترين و معروفترين آنها VMware است، اما در سالهاي اخير واسطهاي قدرتمند ديگري مجازيسازي را ارائه ميكنند كه از ميان آنها ميتوان به نرم افزارهاي زير اشاره كرد:
FreeVPS، Microsoft Virtual Server، Parallels، Qemu، SWSoft، Virtual Iron، Virtuozzo، Xen.
محمدعلي زارعيفر