روش مختلف براي ايجاد سرورهاي مجازي وجود دارند: مجازي سازي کامل، مجازي سازي ناقص (Para-Virtualization) و مجازي سازي سطح سيستم عامل. هر سه روش مذکور داراي چند خصوصيت مشترک هستند. سرور فيزيکي تحت عنوان ميزبان (Host) شناخته مي شود. سرورهاي مجازي تحت عنوان مهمان (Guest) شناخته مي شوند. سرورهاي مجازي همانند ماشين هاي فيزيکي رفتار مي کنند. هر سيستم از يک روش متفاوت براي اختصاص منابع فيزيکي به نيازهاي سرور مجازي استفاده مي نمايد. مجازي سازي کامل از يک نوع نرم افزار خاص با نام Hypervisor استفاده مي کند. Hypervisor مستقيماً با فضاي ديسک و CPU سرور فيزيکي تعامل مي نمايد. اين نرم افزار بعنوان يک سکو براي سيستم عامل سرور مجازي عمل مي کند. Hypervisor هر سرور مجازي را کاملاً مستقل و بي اطلاع از سرورهاي مجازي ديگري که بر روي همان ماشين فيزيکي اجرا مي شوند، نگه مي دارد. هر سرور مهمان بر روي سيستم عامل خودش اجرا مي شود. بعبارت ديگر، شما مي توانيد دو سرور مهمان داشته باشيد که بر روي يکي لينوکس و بر روي ديگري ويندوز اجرا مي شود.
Hypervisor بر منابع سرور فيزيکي نظارت مي کند. هنگاميکه سرورهاي مجازي نرم افزارهاي کاربردي را اجرا مي کنند، Hypervisor منابع را از ماشين فيزيکي به سرور مجازي مقتضي "رله" مي نمايد. Hypervisorها داراي نيازهاي پردازشي خودشان هستند و اين بدان معني است که سرور فيزيکي بايد مقدار از منابع و قدرت پردازش خود را براي اجراي نرم افزار کاربردي Hypervisor نگهدارد. اين موضوع مي تواند بر عملکرد کلي سرور تأثير گذاشته و نرم افزارهاي کاربردي را کند نمايد.
روش مجازي سازي ناقص، اندکي متفاوت است. برخلاف تکنيک مجازي سازي کامل، سرورهاي مهمان در يک سيستم مجازي سازي ناقص از وجود يکديگر اطلاع دارند. يک نرم افزار Hypervisor در ساختار مجازي سازي ناقص به قدرت پردازش چنداني براي مديريت سيستم هاي عامل مهمان نياز ندارد، زيرا هر سيستم عامل از مطالبات ساير سيستم هاي عامل از سرور فيزيکي آگاه است. کل اين سيستم با يکديگر بصورت يک واحد "به هم پيوسته" (Cohesive) کار مي کنند.
روش مجازي سازي سطح سيستم عامل اساساً از يک Hypervisor استفاده نمي کند. در مقابل، قابليت مجازي سازي بخشي از سيستم عامل ميزبان است که تمام توابع يک Hypervisor کاملاً مجازي سازي شده را انجام مي دهد. بزرگترين محدوديت روش مذکور در اين است که تمام سرورهاي مهمان بايد سيستم عامل مشابهي را اجرا کنند. هر سرور مجازي مستقل از تمام سرورهاي مجازي ديگر باقي مي ماند، اما شما نمي توانيد در بين آنها از سيستم هاي عامل متفاوتي استفاده کنيد. از آنجائيکه تمام سيستم هاي عامل مهمان بايستي يکسان باشند، اين ساختار بعنوان يک محيط "همگن" (Homogeneous) شناخته مي شود.
کدام شيوه بهترين است؟
پاسخ اين سؤال تا حدود زيادي به نيازهاي سرپرست شبکه بستگي دارد. اگر سرورهاي فيزيکي سرپرست همگي يک سيستم عامل واحد را اجرا مي کنند، روش مجازي سازي سطح سيستم عامل مي تواند بهترين گزينه باشد. ترکيب هاي سطح سيستم عامل عموماً سريعتر و کارآمدتر از ساير روش ها هستند. از سوي ديگر، اگر سرپرست از سرورهايي استفاده مي کند که سيستم هاي عامل متفاوتي بر روي آنها اجرا مي شوند، روش مجازي سازي ناقص مي تواند گزينه ي بهتري باشد. يک نقيصه ي احتمالي سيستم مجازي سازي ناقص، پشتيباني است. در واقع اين تکنيک نسبتاً جديد بوده و تنها تعداد اندکي از شرکت ها نرم افزار مجازي سازي ناقص را ارائه مي کنند. بيشتر شرکت ها از مجازي سازي کامل پشتيباني مي کنند، اما توجه به مجازي سازي ناقص در حال افزايش است و احتمالاً پس از مدتي جايگزين مجازي سازي کامل خواهد شد.