Tek bir VMWare ana sunucuda 100 sanal makine çalıştırma


24

VMWare'i yıllardır kullanıyorum, çok az sorunla karşılaşan onlarca üretim sunucusunu çalıştırıyorum. Ancak hiçbir zaman tek bir fiziksel ana bilgisayarda 20'den fazla VM barındırmayı denemedim. İşte fikir:

  1. Windows XP'nin soyulmuş bir sürümü 512 MB RAM ve 4 GB disk alanı ile yaşayabilir.
  2. 5.000 dolar, 64 GB RAM ve dört SAS aynası bulunan 8 çekirdekli bir sunucu sınıfı makine alıyor.
  3. Yukarıda belirtilen 100 VM bu sunucuya uyduğundan, donanım maliyetim VM başına yalnızca 50 ABD dolarıdır (bu, süper hoş bir şeydir (GoDaddy veya diğer barındırma mağazalarında VM kiralamaktan daha ucuz).

VMWare ile bu tür bir ölçeklenebilirlik elde edebilecek biri olup olmadığını görmek ister misiniz? Birkaç test yaptım ve garip bir sorunla karşılaştım. VM performansı, 20 VM başlattığınızda çarpıcı şekilde düşmeye başlar. Aynı zamanda, ana bilgisayar sunucusu kaynak darboğazları göstermez (diskler% 99 boşta, CPU kullanımı% 15'in altında ve bol miktarda boş RAM var).

Başarı öykülerinizi VMWare'i veya başka bir sanallaştırma teknolojisini ölçeklendirme konusunda paylaşabilirseniz memnun olurum!


4
Hangi VMware ürününü kullanmayı planlıyorsunuz? ESX? ESXi? Sunucu?
wzzrd

2
XP'yi, özellikle de hafif işler ise, zorluk çekmeden 256 ile çalıştırabilirsiniz. Microsoft, 64 gerektirir ama 128 "yeterli" olduğunu technet.microsoft.com/en-us/library/bb457057.aspx
Mat Rogish

1
sunucularınızı nereden satın alıyorsunuz? Ben bir tane istiyorum :)
warren

1
Sadece 5000 USD, bana iki tane satabilir misin? :)
Taras Chuhay 16

Hosting sunucunuzda "bu kadar cpu" var, ve her sanal makineden bir pay alacak. Ayrıca esxi'nin tepesinde olacak: "bu VM'ye geçin, yönetin, diğerine geçin, vb.", Saniyede defalarca. Bu, her VM'nin toplam işlemcinin sadece bir kısmını alacağı anlamına gelir. Ne kadar çok VM olursa, işlemcinizi o kadar fazla bölersiniz (ve daha fazla ek yükü eklersiniz, yani 100 vms yerine, aslında biraz daha fazlasına sahipsiniz).
Olivier Dulac

Yanıtlar:


15

Evet yapabilirsin. Bazı Windows 2003 iş yükleri için bile 384MiB'nin yeterli olduğu kadar az olsa da, 512MiB oldukça iyi bir tahmin, biraz yüksek olabilir. RAM bir problem olmamalı, CPU da olmamalı.

100 VM biraz dik, ancak özellikle VM çok meşgul olmayacaksa yapılabilir. Tek bir ESX sunucusunda 60 sunucuyu (Windows 2003 ve RHEL) kolayca çalıştırıyoruz.

VMware ESX hakkında konuştuğunuzu varsayarsak, bunun hafızayı aşabileceğini de bilmelisiniz. Sanal Makineler hiç atanmamış bellek oranlarını neredeyse hiç kullanmazlar; bu nedenle ESX, mevcut RAM miktarından daha fazlasını işleyebilir ve aslında 'resmi olarak' RAM'inden daha fazla VM çalıştırabilir.

Büyük olasılıkla, darboğazınız CPU ya da RAM değil, IO olacaktır. VMware, pazarlamalarında büyük miktarda IOPS'ye sahiptir, ancak itme zorlanmaya başladığında, SCSI rezervasyon çakışmaları ve sınırlı bant genişliği, IOPS VMware övünçlerine yaklaşmadan önce sizi ölü şekilde durduracaktır.

Her neyse, 20 VM performans düşüşü yaşamıyoruz. Hangi ESX sürümünü kullanıyorsunuz?


Teşekkürler Wzzrd! Şu anda VMWare Server 2.0 kullanıyorum, ancak çok yakında ESX'i denemeyi planlıyorum. Tüm ana bilgisayar dizilerindeki G / Ç'leri çok dikkatli bir şekilde izliyorum ve bunu en üst düzeye çıkarmamın tek yolu, bir defada birden fazla konuku yeniden başlatmak. Konuklar hafif iş yükü yüklerken veya boşta kalırken, ana bilgisayar diskleri% 99 boşta kalır. Bu yüzden CPU ve IO'dan başka bir şeyin tüm VM'lerin yavaşlamasına neden olduğundan şüpheleniyorum. Bu arada, dramatik bir şekilde yavaşlıyorlar - Başlat menüsünü açmak 20 saniye sürüyor ve Görev Yöneticisi'ni bir VM içinde çalıştırırsam görev yöneticisi% 90 CPU alıyor - garip!
Dennis Kashkin

2
Bunun nedeni VMware Server kullanıyor olmanızdır. VMware Server, başka bir platformun üstünde (genellikle Linux) sanallaştırma platformudur, ESX ise tamamen metal bir sanallaştırma platformudur. Çok farklı, hem konseptte hem de performansta olduğu gibi.
wzzrd

Ne yazık ki, yama günü 100 vm ile geldiğinde, aynı zamanda paspasın çoğunu yeniden başlatacaksınız;) Ve kendini yamalamak zor. Servis paketine dikkat edin - gerçek acı başladığında;)
TomTom

Çıplak metal düşünmek konusunda kendinizi kandırmayı bırakın, özel bir şeydir. ESXi sadece soyulmuş bir Linux'tur. Evet Linux.
dresende

2
@dresende. Hayır değil. Güven Bana.
wzzrd

11

Bunun gibi büyük bir çevreyle ilgili büyük sorunlardan biri felaket önleme ve veri koruma olacaktır. Sunucu ölürse, 100 VM onunla birlikte ölür.

VM'lerin yerine çalışma türünü planlamanız ve başarısızlık durumunda VM'lerinizi koruyacak bir tür "ekstra VM" yönetimi planlamanız gerekir. Tabii ki, bu tür fazlalık, artan maliyet anlamına gelir; bu nedenle, muhtemelen, bu tür bir masrafın pratikte faydaları pratikte görülene kadar (yokluğunda) onaylanmadıkça onaylanmamasının nedeni budur.

Ayrıca, VM ana bilgisayarının birkaç başarısızlık noktasından yalnızca biri olduğunu unutmayın:

  • Ağ - VM sunucusunun ağ kartı düşerse ne olur?
  • Bellek - VM sunucusunun belleğinin bir bölümü hatalı giderse ne olur?
  • CPU - Bir CPU çekirdeği ölürse, VM'lere ne olur?
  • Güç - sadece bir veya iki güç kablosu var mı?
  • Yönetim bağlantı noktası - VM'nin ana bilgisayar yönetimine erişemediğinizi varsayalım?

Bu sadece birkaçı: büyük bir VM altyapısı, veri kaybını önleme ve VM kaybını önleme konusunda dikkat gerektirir.


2
David'i dinle. Bir N + 1 konfigürasyonu isteyeceksiniz, yani başarısız olursa, tüm iş yükünü başka bir makineyi emebilecek kapasiteye sahip en az bir boşta makineye ihtiyacınız olacak. Önerim, yükü eşit olarak dağıtan, ancak bir makinenin arızalanması durumunda tüm iş yükünü bağımsız olarak kaldırabilen iki sunuculu bir kümedir.
Jason Pearce

4

Bunun üretimdeki uygulanabilirliği hakkında bir açıklama yok, ancak ortak VM'ye tekilleştirme nedeniyle çok küçük bir disk alanı kullanarak yaklaşık 30 dakikada 32 ESX ana bilgisayarına (ana bilgisayar başına 170) 5440 XP masaüstü bilgisayar sağladıkları çok ilginç bir NetApp demosu var. Görüntüler

http://www.youtube.com/watch?v=ekoiJX8ye38

Tahminim sınırlamaların disk alt sisteminden geliyor. Buna göre bellek ve CPU kullanımı için hesap yapmış görünüyorsunuz.


3

Asla yapmadım - ancak söz veriyorum, sunucu donanımında olacağınızdan daha fazla VM'yi desteklemek için yeterli GİB’i almak için depolama alanından çok daha fazlasını harcayacağınıza söz veriyorum. Bunların 100'ü aynı anda etkinse, birçok GİB'e ihtiyacınız olacaktır. Olumsuz ses değil, aynı zamanda bir sepete çok yumurta koyduğunuzu mu düşündünüz (tek bir sunucu çözümünün peşindesiniz?)


2
Kesinlikle birden fazla "sepet" oluşturur ve bazı otomatik yedeklemeler kurardım. G / Ç darboğazları bugünlerde SSD sürücülerle kolayca çözülebilir. Üretimde 160 GB Intel MLC diskleri kullanıyorum ve muhteşem. Temelde hat SAS sürücülerinin (basit RAID yapılandırmalarında) 5 kat daha iyi rastgele G / Ç performansı elde edersiniz.
Dennis Kashkin,

1

Tek bir ana bilgisayarda 100 VM ile CPU çekişmesi konusunda endişeli olurdum. İşlemcinin sanallaştırılmadığını ve her makinenin cpu'ya erişmesini beklemek zorunda kalacağını unutmayın. ESXTOP'a bakarak çekişmeyi görmeye başlayabilirsiniz,% RDY alanında 5'ten fazla bir şey söylendiğinde VMWare Engineers tarafından çok kötü.

Deneyimlerime göre, bir ana bilgisayarda çalışan yaklaşık 30 - 40 sunucu gördüm (çok fazla değil).


1

VMWare Server 1.0.6'da 10 Windows Sunucum vardı (Windows 2003 altında) ve düzenli aralıklarla GÇ sorunlarıyla karşılaşacaktı (ve eğer gece herhangi bir şeyle çakışırsa, sorun çıkarırdı). Windows’tan ESXi U3’e yükselttikten sonra, performans sorunlarımızın ortadan kalktığını gördük (gecelik kurulumlar artık başarısız değil).

Ayrıca, SSD'lerin dönen medyadan çok daha yüksek bir G / Ç oranına sahip olmasına rağmen, bazı yazma düzenleri gibi bazı durumların ortaya çıkmadığını (sürücünün üzerine saçılmış çok sayıda küçük yazma işleminin, denetleyicinin bir özelliği olmadıkça performansı azaltacağını unutmayın) scatter yazarken iyi bir iş yapan akıllı yazma tamponlama önbelleği).

Sorun yaşarsanız SWAP dosyalarının farklı sürücülerde olup olmadığını araştırmanızı / test etmenizi öneririm.


1

Bunu yapacaksanız, yeni Intel 'Nehalem' Xeon 55xx serisi işlemcileri kullanmanızı şiddetle tavsiye ederim - VM'leri çalıştırmak için tasarlandılar ve ekstra bellek bant genişlikleri de çok yardımcı olacak. Oh ve eğer çok daha küçük, daha küçük diskleri, daha büyük diskleri kullanabilirsiniz - bu çok yardımcı olacaktır. ESX v4'ü 3.5U4'ün üzerinde de kullanabilirsiniz.


1

Her biri 16G ram olan bir makinede 512M ram ile çalışan 20 adet XP VM'im var. Bundan daha az ve onlar diske takas ve bu darboğazı verir. Bunlar her zaman aktif XP VM'leri olsa.

VMware ve OverCommit özelliği, her XP makineye daha fazla ram itmenize izin vermelidir. Benzer makine aynı sayfaları paylaşacak ve böylece disk yazma işlemini azaltacaktır. XP VM'lerimiz 10-20 megabayt sürekli disk trafiği yaparken, daha fazla makine eklemek için kurulumumuzu incelemek istediğim bir şey.


1

VMWare Sunucusunda 100 mutlu misafir alamadık ancak ESXi'nin çok daha iyi bir iş çıkardığını gördük. Bu nedenle, ESXi ve iyi bir sunucu (G / Ç'yi yaymak için birkaç disk aynası, birkaç I7 yongası ve 64 GB RAM) kullanıyorsanız, 100 XP vms'nin bir sorun olmadığı görülüyor. Son kullanıcılar için gözle görülür bir gecikme yoktur ve ana bilgisayar kaynakları maksimuma çıkarılmaz (en sıcak olanı CPU'dur, ancak genellikle en az% 70 boşta kalır).

PS. VMWare Sunucusuyla mücadele ederken bu soru bana geri gönderildi.


0

En son kontrol ettiğimde VMware, VM başına bir vCPU varsayarak ESX için işlem çekirdeği başına 4 VM'den fazlasını önermiyor.

Bu, yönetim giderlerinin bir faktör haline geldiğini gösteriyor.

Gerçekten 8 çekirdekli bir kutuda bir 4x faktörü elde edip edemeyeceğinizi görmek istiyorum.


1
Bu daha önce ESX 3.5U2 öncesi - config 2 güncellemesinde maksimum dokümanı belirtir, genel amaçlar için 8 diyor, ancak VDI iş yükleri için 11'e yükseliyor. VDI önerisini Güncelleme 3 veya 4 ile 19'a yükselten elde edemediğim bir şey göremediğimden eminim. VSphere için bu sınır şimdi 20'dir. VMware'den resmi belgeler için VMware ESX Yapılandırma Maksimumlarını arayın.
Helvick

VM'lerim çoğu zaman boşta kalıyor. İnsanlar bazı hafif yazılımları çalıştırmak için günde birkaç kez bağlanırlar. Bu VM'lerin ana bilgisayar üzerinde boşta olduklarında çok küçük CPU ek yükü oluşturduklarını onayladım (20 VM, çift quadcore sistemine dayalı olarak% 9'a kadar CPU kullanımı ekler). CPU başına dört VM limitinin nasıl haklı olduğunu hatırlayabilir misiniz? Web sunucuları veya masaüstü işletim sistemi örnekleri hakkında mı düşünüyorlar?
Dennis Kashkin
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.