مجازی سازی سرور با Vmware

این قسمت Resource Management and Monitoring

 

آموزش مجازی سازی سرور | مجازی سازی | مجازی سازی سرور | آموزش مجازی سازی | resource management and monitoring

 

 

آموزش مجازی سازی سرور | مجازی سازی | مجازی سازی سرور | آموزش مجازی سازی | importance resource management

 

اگرچه VMkernel به صورت فعالانه براي جلوگيري از Resource Contention  كار مي كند براي ماكزيمم Performance ما نياز به هر دو آناليز و مانيتورينگ داريم.

 

آموزش مجازی سازی سرور | مجازی سازی | مجازی سازی سرور | آموزش مجازی سازی | virtual cpu and memory concepts

 

شما در انتهاي اين قسمت با مطالب زير آشنا خواهيد شد:

  • توصيف مفاهيم CPU و Memory در يك محيط مجازي
  • توصيف OverCommit شدن يك Resource
  • شناسايي تكنولوژيهايي كه براي Improve يك Memory استفاده مي شود
  • توصیف اینکه چطور VMware vSphere Virtual Symmetric Multiprocessing كار مي كند و اينكه چطور Hyperthreading توسط VMkernel استفاده مي شود.

 

آموزش مجازی سازی سرور | مجازی سازی | مجازی سازی سرور | آموزش مجازی سازی | learner object virtual cpu and memory

آموزش مجازی سازی سرور | مجازی سازی | مجازی سازی سرور | آموزش مجازی سازی | memory virtualization basics

 

زماني كه شما يك ماشين مجازي را اجرا مي كنيد VMkernel يك فضايي پيوسته و قابل آدرس دهي از Memory را براي ماشين مجازي ايجاد مي كند

اين Memory Space  به عنوان Virtual Memory Space از طرف سيستم عامل ماشين مجازي به Application هايي كه برروي آن در حال اجرا هستند اختصاص داده مي شود.

اين Memory Space به VMkernel اجازه مي دهد كه بتواند چندين ماشين مجازي را به صورت همزمان در حالي كه دسترسي به Memory يك ماشين مجازي را از طرف ديگر ماشين هاي مجازي Protect مي كند اجرا كند.

 

آموزش مجازی سازی سرور | مجازی سازی | مجازی سازی سرور | آموزش مجازی سازی | virtual machine memory overcommitment

 

Memory Overcomit چیست:

در بعضي از زمان ها ممكن است Total Configured Memory Size از همه ماشين هاي مجازي بيشتر از Available Physical Memory روي يك Host شود كه به اين حالت  Memory Overcomit گفته مي شود.

بدليل تكنيك هاي مديريتي Memory كه به وسيله ESXi Host  انجام مي شود يك ماشين مجازي مي تواند از Virual Memory  بيشتري از آنچه برروي Host موجود است استفاده كند.

براي مثال شما مي توانيد يك Host با  ۲GB Memory داشته باشيد ولي برروي اين Host چهار ماشين مجازي كه هر كدام ۱GB Memory  دارند اجرا كنيد

كه در اين حالت Overcomit Memory  مي شود در صورتي كه هر چهار ماشين مجازي در حالت Idle باشند تركيب مصرف Memory بايستي زير ۲GB باشد

و در صورتي كه هر چهار ماشين مجازي به صورت Active از Memory استفاده كنند مصرف Memory آنها بيشتر از ۲GB مي شود و Host در اين حالت Overcomit مي شود.

يك ماشين مجازي در شرايط Overcomit مي تواند Extra Memory خود را برروي يك فايل vmsp .كه يك Swap File  مي باشد اجرا كند

يك Overcomit Memory برروي Host از يك فايلي به نام vmx‐*.Vmsp براي جمع آوري و Track يك Memory Overhead  استفاده مي كند.

Memory از اين فايل در زماني كه Host Memory  شما Overcomit شده است به Disk شما Swap مي شود.

 

آموزش مجازی سازی سرور | مجازی سازی | مجازی سازی سرور | آموزش مجازی سازی | memory reclamation techniques

يك VMkernel از روش هاي مختلفي براي Reclamation يا احيا Memory روي يك Vmware Esxi Host استفاده مي كند هر تكنيك به ترتيبي كه VMkernel از ان استفاده مي كند شرح داده خواهد شد.

اولين تكنيك Economize يا صرفه جويي كردن در مصرف Physical Memory Page ها مي باشد كه به آن Transparent Page Sharing يا TPS گفته مي شود.

TPS اجازه مي دهد كه Page هايي كه محتويات يكسان دارند فقط يكبار ذخيره شوند Workload شامل چندين ماشين مجازي Memory كمتري نسبت به زماني كه آنها روي يك ماشين فيزيكي اجرا مي شوند مصرف مي كنند.

با توجه به اثر TPS يك Host مي تواند از Memory بيشتري در زماني كه Overcomit Memory  رخ مي دهد استفاده كند.

در زماني كه Memory Contention  رخ مي دهد VMkernel بدنبال موقيتي مي گردد تا بتواند Memory را از طريق ماشين هاي مجازي كه Idle هستند يا Unused Memory  دارند.

يكي ديگر از روش هايي كه يك VMkernel براي احياي Host Physical Memory استفاده مي كند Memory Compression  نام دارد در اين روش از Compression Page  ها براي جلوگيري از عمليات Swapping استفاده مي شود.

يكي ديگر از روش هايي كه يك VMkernel براي احياي Host Physical Memory استفاده مي كند ايجاد يك Host Cache  برروي يك ( SSD ( drive state‐Solid روي Host مي باشد.

اين روش به وسيله VMkernel بعد از Try برروي تمامي روش هاي TPS Compression Memory,Ballooning و قبل از اينكه عمليات Swapping برروي ديسك انجام شود استفاده مي شود با استفاده از Host Cache  برروي SSD شما مي توانيد Performance را بالا ببريد.

آخرين تكنيكي يك VMkernel مي تواند براي احياي Memory استفاده كند استفاده از Swaping مي باشد در اين حالت Performance به شدت پايين مي آيد.

 

آموزش مجازی سازی سرور | مجازی سازی | مجازی سازی سرور | آموزش مجازی سازی | virtual smp

 

شما مي توانيد براي يك ماشين مجازي تا Virtual Cpu 64 پيكربندي كنيد VMkernel شامل يك CPU Scheduler  مي باشد كه به صورت اتوماتيك VCPU ها را روي Physical CPU  از يك Host مي تواند Schedule كند.

يك VMkernel Scheduler  در زمان تصميم گيري براي Scheduling از توپولوژي Thread,Core,Socket استفاده مي كند.

شركت هاي Intel و AMD توانسته اند Processor هاي ايجاد كنند كه تركيبي از چندين Processor Core  در يك Integrated Circuit  به نام Socket مي باشد.

يك Socket يك Single Package  مي باشد كه مي تواند شامل يك يا چندين Physical CPU  مي باشد كه هر Core ان مي تواند يك يا چندين (Logical (LCPU CPU يا Thread داشته باشد.

شرکت آرنا ارئه دهنده خدمات شبکه نصب شبکه پشتیبانی شبکه مجازی سازی سرور پسیو شبکه

 

آموزش مجازی سازی سرور | مجازی سازی | مجازی سازی سرور | آموزش مجازی سازی | hyperthreading

 

با استفاده از Hyperthreading شما مي توانيد يك Core را برروي دو Thread پياده سازي كنيد.

يك Hyperthreading به شما Scheduler Throughput  بيشتري ارائه مي دهد.

براي فعال كردن Hyperthreading شما بايستي كارهاي زير را انجام دهيد:

  • بايستي چك كنيد كه آيا Host System  شما Hyperthreading را ساپورت مي كند يا نه.
  • بايستي Hyperthreading را از طريق BIOS فعال كنيد.
  • مطمئن شويد كه Hyperthreading برروي ESXi Host  فعال باشد.
  • به صورت پيش فرض Hyperthreading فعال است.

 

آموزش مجازی سازی سرور | مجازی سازی | مجازی سازی سرور | آموزش مجازی سازی | cpu load balancing

 

يك CPU Scheduler  مي تواند از هر Logical Processor  به صورت مستقل براي اجراي ماشين هاي مجازي استفاده كند و قابليتي مشابه به SMP) Symmetric Multiprocessing)  را ارائه دهد.

VMkernel مي تواند به صورت هوشمندانه Processor Time  را براي گارانتي توزيع Load برروي Processor Core  ها در سيستم مديريت كند كه براي اين منظور هر ۲ يا ۴۰ Millisecond كه اين زمان بستگي به Thread,Core,Socket سيستم دارد

و مي تواند از يك Logical Processor  به يك Logical Processor  ديگر Migrate كند و در اين حالت بار CPU را ميان ماشين هاي مجازي Load Balance  مي كند.

يك VMkernel عمليات CPU Scheduling را براي يك ماشين مجازي كه چندين VCPU برروي دو Core متفاوت دارد را خيلي بهتر از دو Logical Processor  انجام مي دهد كه برروي يك Core مشابه قرار دارند.

البته در صورتي كه لازم باشد VMkernel مي تواند دو VCPU از يك ماشين مجازي را به Thread هاي يك Core متصل كند.

در صورتي كه براي يك Logical Processor  مشكلي ايجاد شود كه نتواند كار كند VMkernel آن را در Halted State  قرار مي دهد اين Action باعث مي شود كه Resource ها آزاد شوند و ماشين هاي مجازي بتوانند از Logical Processor  هاي ديگر برروي Same Core  استفاده كنند.

شما بايستي قادر به توصيف مطالب زير باشيد:

 

آموزش مجازی سازی سرور | مجازی سازی | مجازی سازی سرور | آموزش مجازی سازی |

 

در درس بعد به سراغ Resource Control and Recource Pool خواهیم رفت.

 

بارگذاری بیشتر در مجازی سازی

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *