ESXi sunucusunda bellek nasıl ayrılır?


17

48 GB RAM'li bir ESXi 4.1 sunucumuz var.

Her VM için 4GB bellek ayırıyoruz. Sunucuda 13 sanal makine olacağı için yöneticim bunun yanlış olduğunu düşünüyor.

Onlara ESXi'nin aslında belleğin kendisini yöneteceğini açıklayacağım, ancak bana ESXi sunucusu için ne kadar bellek ayırdığımı sordular.

Herhangi bir tahsis etmedim (ESXi sunucusunun kendisi için bellek ayırma seçeneğini bile duymadım).

ESXi sunucusu için bellek nasıl ayrılır? Sorun olmadan sanal makineler arasında RAM'i nasıl aşırı tahsis eder / dağıtır?

Yanıtlar:


26

Burada söz konusu ESXi'den çok daha fazlası var,

  1. Her VM burada belgelenen en fazla 4GB + "ek yük" tüketecektir . Bu, vCPU'lara, ayrılan belleğe bağlıdır. Her VM en az 4261,98 MB (4096 + 165,98) kullanacak
  2. ESXi'nin kendi bellek yükü, bu donanıma bağlıdır. En kolay seçenek vSphere istemcisinde Sistem belleği kullanımına bakmaktır . Bellekten 1.3GB işareti civarında olduğunu hatırlıyorum, ancak belirtildiği gibi donanıma çok bağımlı.

Bellek Ayırma ve Aşırı Devreye Alma

Hiper yöneticinin tüm bu belleği önceden ayırmayacağını , VM'nin kullanımına bağlı olduğunu unutmayın. Bununla birlikte, VM'ler kendilerine tahsis edilen tüm belleği tahsis etmeye ve kullanmaya çalışırsa ne olacağını anlamaya değer.

VM + konak kullanımı için çalışacağız maksimum yaklaşık olacak 55 ZD'ne milage değişebilir

  • ESXi tarafından kullanılan 1,3 GB
  • VM'ler tarafından kullanılan 4261,98 MB * 13

Dikkate alınması gereken başka bir husus daha var ve bu da bellek eşikleri. Varsayılan olarak VMware,% 6 boş (yüksek bellek eşiği) almayı hedefleyecektir. Bu nedenle, 55 GB'lık kullanılan belleğin ~ 45 GB'a düşürülmesi gerekiyor

Bu, ana makinenin, ayrılan belleği kullanması durumunda bir yerden geri alması gereken yaklaşık 10.500 MB belleğe sahip olacağı anlamına gelir. ESX'in ek 10,5 GB'ları bulmak için yaptığı üç şey var.

Bellek Geri Kazanım Yöntemleri

  1. Şeffaf Sayfa Paylaşımı
  2. Hafıza Balonu
  3. Hipervizör Takas

VMware® ESX ™ Server'da Bellek Kaynağı Yönetimini Anlama okumalı ve anlamalısınız .

Çok sayıda faktöre bağlı olarak, her üçünün bir kombinasyonu aşırı taahhütlü bir ana bilgisayarda gerçekleşebilir / gerçekleşebilir. Aşırı taahhüdün etkisini anlamak için uygulamanızı test etmeniz ve bu metrikleri izlemeniz gerekir.

Bilmeye değer bazı kaba kurallar (yukarıdaki makalede ve diğer kaynaklarda).

  1. 2/4 MB sayfa kullanan VM'ler için saydam sayfa paylaşımı gerçekleşmez. Windows VM'lerinize 4096 MB ayırdığınız için, varsayılan olarak 2/4 MB sayfaları kullanacaklardır (PAE bağımlı). VMware yalnızca bellek baskısı altında büyük sayfaları paylaşılabilecek 4 KB'ye böler. TPS, boş CPU döngülerinin kullanılmasına ve bellek sayfalarının belirli bir oranda taranmasına dayanır. Belleği nispeten yavaş döndürür (dakika yerine bir saat düşünün). Yani bir önyükleme fırtınası, TPS'nin size yardımcı olmayacağı anlamına gelir. Üçünden, bu en düşük performans etkisine sahiptir. Belgeden daha fazlası,

Donanım destekli bellek sanallaştırma (örneğin, Intel EPT Donanım Yardımı ve AMD RVI Donanım Yardımı [6]) sistemlerinde, ESX büyük ana bilgisayar fiziksel sayfalarına (normal sayfalar için 4KB yerine 2MB bitişik bellek bölgesi) sahip konuk fiziksel sayfaları otomatik olarak yedekler daha az TLB eksikliği nedeniyle daha iyi performans. Bu tür sistemlerde, ESX bu büyük sayfaları paylaşmayacaktır, çünkü: 1) aynı içeriğe sahip iki büyük sayfa bulma olasılığı düşüktür ve 2) 2MB'lik bir sayfa için bit-bit karşılaştırması yapma yükü çok daha büyüktür. 4KB sayfası için. Bununla birlikte, ESX her büyük sayfadaki 4KB sayfaları için karmalar oluşturur. ESX büyük sayfaları değiştirmeyeceğinden, ana makine değişimi sırasında, büyük sayfa küçük sayfalara bölünür, böylece önceden oluşturulmuş bu karmalar, değiştirilmeden önce küçük sayfaları paylaşmak için kullanılabilir. Kısacası, ana makine belleği fazla yükleninceye kadar donanım destekli bellek sanallaştırma sistemleri için herhangi bir sayfa paylaşımını gözlemlemeyebiliriz.

  1. Sonraki balon vuruşları (eşikler yapılandırılabilir, varsayılan olarak bu, ana bilgisayarda% 6'dan daha fazla boş bellek (yüksek ve yazılım arasında) olduğundadır). Sürücüyü yüklediğinizden ve genel olarak Java ve yönetilen uygulamalara dikkat edin . İşletim sistemi, çöp toplayıcının bundan sonra ne yapacağına dair bir kavrayışa sahip değildir ve diske değiştirilen sayfalara çarpacaktır. Java uygulamalarını çalıştıran sunucular için, gerçekleşmeyeceğini garanti etmek amacıyla takas işlevini tamamen devre dışı bırakmak nadir bir uygulama değildir. VSphere Memory Management, SPECjbb sayfasına göz atın

  2. Hiper yönetici takas , üç yöntemden “bellek” in belirli bir zamanda hiper yönetici için mevcut olmasını garanti eden tek yöntemdir . Bu, 1 ve 2 sabit eşiğin altında kalmak için yeterli bellek vermezse kullanılır (varsayılan% 2 boş bellek). Performans metriklerini okuduğunuzda (kendinizinkini yapın), bunun üçünün en kötü performansı olduğunu anlayacaksınız. Performans etkisi neredeyse tüm uygulamalarda çift ​​haneli yüzde çok belirgin olacağından, ne pahasına olursa olsun önlemeyi hedefleyin

  3. Dikkat edilmesi gereken bir daha devlet yoktur düşük (varsayılan% 1). Bu kılavuzdan performansınızı büyük ölçüde düşürebilir,

Ana bilgisayar boş belleğinin düşük eşiğin altına düştüğü nadir bir durumda, hiper denetimci takas ve bellek sıkıştırma yoluyla belleği geri almaya devam eder ve ek olarak hedef bellek tahsislerinden daha fazla bellek tüketen tüm sanal makinelerin yürütülmesini engeller.

özet

Stresin kilit noktası, teknik incelemelerden ortamınızın nasıl davranacağını tahmin etmenin imkansız olmasıdır.

  1. TPS size ne kadar verebilir? (VM'lerinizin işletim sistemi, Service Pack ve çalışan uygulamaları ile ne kadar benzer olduğuna bağlıdır)
  2. VM'leriniz belleğinizi ne kadar hızlı tahsis eder? Ne kadar hızlı yaparlarsa, daha az etkili olan bellek geri kazanma şeması sizi mevcut eşik değerinizde tutmaya başlamadan önce bir sonraki eşiğe geçme olasılığınız o kadar artar.
  3. Uygulamaya bağlı olarak, her bir bellek ıslah şeması çok çeşitli etkilere sahip olacaktır.

Ortalama senaryolarınızı test edin,% 95 persentil senaryosunuz ve son olarak ortamınızın nasıl çalışacağını anlamak için maksimum değeriniz.


Düzenle 1

Bunu vSphere 4 ile (veya 4.1 hatırlayamıyor) eklemeye değer, şimdi hipervizör takasını yerel diske yerleştirmek, ancak yine de VM'yi hareket ettirmek mümkündür . Paylaşılan depolama alanı kullanıyorsanız, hiper yönetici takas dosyasını varsayılan olarak yerel diskte taşımanızı önemle tavsiye ederim. Bu, bir ana makine ciddi bellek baskısı altındayken, aynı paylaşılan depolama birimindeki diğer tüm vSphere ana bilgisayarlarını / VM'lerini etkilememesini sağlar.

Düzenle 2

Yorumlara dayanarak, ESX'in hafızayı cesurca ayırmadığı gerçeğini yaptı ...

Düzenle 3

Bellek eşikleri hakkında biraz daha açıklama yapıldı.


1
VMware kullanılmayan belleği atamaz ; fazla çalışmanın gerçek nedeni, VM'ye yalnızca istendiğinde maksimum bellek tahsis edilmesidir . Her şey ayrıldıktan sonra, ek bellek talepleri takastan gelir.
adaptr

1
Bu yorumu eklemeden önce bu parçayı gördünüz mü? "Hipervizörün tüm bu belleği önceden ayırmayacağını, VM'nin kullanımına bağlı olduğunu unutmayın. Ancak, VM'ler kendilerine tahsis edilen tüm belleği ayırmaya ve kullanmaya çalışırsa ne olacağını anlamaya değer."
M Afifi

Bu oldukça açıkçası OP birincil endişe biri (vmware NASIL VAR OLMADI bellek ortaya çıkarıyor?) Olduğundan, bir sonradan değil, listede yüksek görünüyordu olmalıydı. Geri kazanımı açıklayarak bellek kullanımını geriye doğru açıklıyorsunuz. Neden ?
adaptr

Geriye doğru nasıl? Cevap, ne kadar bellek ayırdığınızı söylüyor. Önceden tahsis etmeyecektir. Varsa (VM bellek kullanımına bağlı olarak) etkisi budur. Gerçekten birine endişe etmediğini söyleyemem. Eğer hafızayı aşırı alırsanız etkisini bilmelisiniz.
M Afifi

4

VMware (ve diğer sanallaştırma teknolojileri) VM'leri çeşitli algoritmalara göre kaynakları (bellek, işlemci zamanı, çeşitli türlerde G / Ç ) paylaşır .

Tüm VM'ler her zaman ihtiyaç duydukları tüm işlem, bellek veya G / Ç'yi kullanmayacakları için aşırı kaynak kullanmak mümkündür. VMware'in kaynak yönetimi kılavuzu muhtemelen ESXi'de nelerin mümkün olduğunu okumak için en iyi yerdir.

Farklı kaynaklar için farklı VM'leri ağırlıklandırarak algoritmaların etkisini de yönetebilirsiniz - örneğin, bir uygulama sunucusu VM'sine işlemci için bir dosya sunucusu VM'sinden daha yüksek bir ağırlık verebilirsiniz. Ancak, kutudan çıkan ayarlar çoğu gereksinimi çok iyi karşılayacaktır. Bazı durumlarda, burada bazı yapılandırmalar yapmak, tam olarak alamayan yöneticileri yerleştirmek için yeterlidir, ancak elbette dikkatli olun ve VMware sürümünüz için belgeleri okuyun ve ne yaptığınızı anlayın. Yöneticinizin daha fazla yerleşime ihtiyacı yoksa varsayılanları kullanın.

Özellikle tek bir sunucuda sanallaştırdıysanız, aşırı taahhüdün her zaman iyi bir fikir olmadığını unutmayın. ESXi mülkünüzdeki kaynakları kullanımınızı izlemeniz ve gerekirse bir veya daha fazla kaynağı sık sık tüketiyorsanız ek ana bilgisayar / kaynak eklemeniz gerekir.


2

VMWare ESXi kurulumunuzun işlemesine izin verin. Bellek balonlaması, sıkıştırma ve veri tekilleştirme tekniklerini kullanması nedeniyle VMWare sistemlerinde RAM kaynaklarını aşırı sipariş edebilirsiniz .

Sanal makineler benzer bir işletim sistemi kullanıyorsa, orada bazı tasarruflar vardır. Bu özelliklerden tam olarak yararlanmak için konuk VM'lerin içindeki VMWare araçlarını etkinleştirdiğinizden emin olun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.