Büyük bir sanal makineyi birkaç fiziksel emtia sunucusuna yaymak mümkün mü?


11

Bir büyük Sanal Makineyi birkaç fiziksel emtia sunucusuna yaymak mümkün mü?

İşte kullanım durumumuz:

  • 64 GB RAM ile 32 işlemcili bir db sunucusu uygulamamız gerekiyor
  • Bu kapasitede fiziksel bir sunucumuz yok
  • Daha küçük kaynaklara sahip çok sayıda sunucumuz var.

Gerekli kapasiteye sahip bir VM oluşturmak için bu sunucuları kullanmamıza izin veren bir teknoloji veya (daha iyi) bir ürün var mı? Diyelim ki, 8 GB RAM ile 8 fiziksel 4 işlemcili makineyi 64 GB RAM ile tek bir 32 işlemcili "mantıksal ünitede" birleştirip tüm bu kapasiteyi kullanan bir Oracle sunucusu kurabiliyor muyuz?

Bu soruyu göndermeden önce benzer soruları okuduk ancak bir cevap bulamadık.

Belki birileri bize bir ipucu verebilir mi?


2
Bu, sorunuzun cevabı değil, ancak yazılım sınırlamalarına bakmak için kimsenin tavsiyede bulunmaması garip geliyor. Şirketiniz orta ölçekli işletmeler için uygulamalar oluşturuyorsa, sorunun yazılım kısıtlamaları olduğu açıktır ki, muhtemelen yazılım mimarı ve tasarımcılar milyarlarca kayıt içeren veya büyük geçici tablolar veya prosedürlerle bir veritabanında düşünmediler, bunu düşünün ve Yavaş sorgular için bazı kendi kendine test ve hata raporları oluştur, çünkü bu sorunu çözmenin yolu ... x86'daki 3.3GB sınırını düşünün

Yanıtlar:


7

ScaleMP'den vSMP adı verilen ticari bir ürün var . Birden çok x86 sistemini tek bir sanal örnekte toplamanızı sağlar. Daha önce kişisel olarak hiç denemedim, ama onlardan bir sunum yaptım. Doğru hatırlarsam, bunun çalışması için belirli gereksinimler vardır ve bazı ek donanımlar almanız gerekir (hızlı, düşük gecikmeli ara bağlantılar için Infiniband). Çok güzel bir kuruşa mal olabilir!


1
ScaleMP bir x86 ortamını taklit etmez. Hiçbir zaman Windows'un veya başka bir standart x86 işletim sisteminin sanal ortamda çalıştırılmasını sağlamazsınız. Siz Desteklenen tek lezzet, SMP tipi mimariye dayanan çeşitli Linux sürümleridir. Ve bu tür bir mimariden ... BİRİNCİ lezzet var. Özgür olanlar bile.
TheCompWiz

OP, diğer gereklilikler hakkında spesifik değildi. Sadece görevinden ne toplayabileceğimi cevapladım.
ryanlim

1
Bu çok havalı görünüyor. 32 çekirdekli bir kutunun (2x 16 Çekirdekli AMD yongalarıyla mümkün) Infiniband ile bir kümeden daha ucuz olabileceğinden şüpheleniyorum, ama işte başlıyoruz. Bu çözüm daha fazla övünme hakkı kazanıyor.
Tom O'Connor

9

Birkaç ayrı sunucuya sahip tek bir 32 işlemcili makine ile aynı işlevselliği elde etmenin bir yolu yoktur. En iyi seçeneğiniz kümelenmeye veya şebeke bilgi işlemine bakmaktır. Doğru yapıldığında, karşılaştırılabilir performans ve daha yüksek düzeyde kullanılabilirlik elde edebilirsiniz. Sorunuzun çoğu "db" türüne de bağlıdır. Microsoft SQL Server, MySQL veya Oracle'dan önemli ölçüde farklı çalışır ... ve ölçeklenebilirlik de tamamen farklı şekilde yapılır.

Alternatif olarak ... birisinin veritabanını sizin için yapmasına izin vermeyi düşünebilirsiniz ... EC2 RDS'yi kullanmak gibi ...

Ne yazık ki, birkaç fiziksel sunucuyu bir araya getirmenin ve vmware'i tokatlamanın ve tekil uber-güçlü sanal sunucuyla sonuçlanmasının bir yolu yoktur.


TheCompWiz, cevap için teşekkürler. Tamam, cevap db türüme bağlıysa, Oracle veya Microsoft SQL Server olsun. Bu düzeltmelerle hala imkansız mı? Evet, EC2'yi biliyoruz, ancak bir müşteri için sunduğumuz bir yazılım ürünü ile ilgili sorunları test etmek için tam olarak Oracle veya Microsoft SQL Server'a ihtiyacımız var ...
user54614

Ayrıca, neden sadece vmware dikkate almak için? Diğer hipervizörlere
aldırmıyoruz

Birden fazla sunucudan geçiş yapabilme yeteneği, BÜYÜK bir lojistik kabusudur ... cihazlar arasında mevcut bant genişliği eksikliğinden bahsetmiyoruz bile. Bir CPU'nun ne kadar hızlı olduğunu düşünün ... o zaman yapmanız gereken tek şey işlemi yavaşlatır ... yani CPU -> veri yolu -> PCI köprüsü -> ağ kartı -> ethernet kablosu -> ağ yığın -> ... diğer sunucuya ulaşmadan önce bile? 1 + 1 ekleyebilmek için 1 saniye beklemek istemezsiniz. Kümeler genellikle "İşler" de görevler atandığı ve bu işteki tüm görevleri yapan bir işlem düğümüne bir iş verildiği için bunu yapabilirler ...
TheCompWiz

... ve sonra yanıtları yönetim düğümüne geri gönderir. Windows bunu yapmıyor. Bunu yapmaya bile çalışabilecek bir sanal X86 ortamı (veya X86_64) kurmanın bir yolu yoktur.
TheCompWiz

2
@ user54614 - Kesinlikle senaryolarını birbirine bağlayarak senaryolarını çoğaltamayacaksınız. Sorunları belirlemek ve tanımlamak için hem müşterinizle hem de Oracle desteğiyle konuşmanızı öneririm.
Chris Thorpe

-1

"TheCompWiz" sorunuzu faydalı bir şekilde yanıtladı.

Yine de şunu söylemek isterim, evet, tek bir VM'nin birkaç fiziksel ana bilgisayarı yaymasına izin veren bir hipervizör oluşturabilir ve bu VM'yi her şeyin çalıştığı yerde "doğru" çalıştırabilir.

Ancak, fiziksel ana bilgisayarlar arasında gerçekten iyi, yüksek hızlı ağlarda bile, böyle bir şeyin performansı gerçekten korkunç olacak ve bu ana bilgisayarların tek bir tanesine uyan daha küçük bir VM'den çok daha yavaş çalışacaktır. Konuk işletim sisteminin ve uygulamanın yaptığı her bellek hafızasını milyonlarca olmasa bile binlerle çarparak çarpan her tek belleği arayarak tek bir VM'nin önbellek tutarlılık özelliklerini simüle etmeniz gerekir.

Yani hiçbir ticari hipervizör satıcısı böyle bir şeyi mümkün kılmaz. Laboratuarda denendi. Kimse bundan bir ürün üretmeye zahmet etmedi.

Noktayı bir kez daha vurgulamak için bir çözüm bulmak üzere kümelemeye bakın.


Ancak, sunduğumuz bir yazılım ürünü çoğu müşteri için iyi çalışıyorsa, ancak 64 GB RAM'e sahip 32 procluk bir Oracle sunucusunda çalışan büyük bir müşterinin ortamında düzgün çalışmıyorsa ne olur. Bu başarısızlığı çevremizde yeniden üretmek istiyoruz.
user54614

2
Yazılımınız hakkında hiçbir şey bilmiyorum, ancak 32 işlemcide ve 64 GB RAM'de 2 işlemcide ve 8 GB RAM'de olmayan şey nedir? Bu seviyede gerçekten yanlış bir şey varsa, bu bir Oracle / OS / sürücü / IO / donanım sorunudur.
gravyface

Fiziksel makinelerde geçiş yapmak için asla bir hipervizör alamazsınız. Hala makinenin fiziksel çekirdeği içinde tutuluyorlar. Olduğu söyleniyor ... Eminim uzun zaman önce arkaik devlerinkine benzer bir anabilgisayar tipi bir mimari inşa edebilirsiniz ... ama asla x86 üzerinde çalışan bir şey elde edemezsiniz.
TheCompWiz

1
Büyük müşterinizin o canavar veritabanı sunucusunun ikinci bir KG örneğine sahip olması gerekir. Eğer buna sahip değillerse, bu onların problemidir. 15 yıllık BT çalışmasında, hiç kimsenin bir yazılım satıcısının altyapılarını çoğaltmasını beklediğini görmedim (tam olarak bunu belirten bir hizmet sözleşmesinin bir parçası olmadığı ve müşteri bunun için ödeme yaptığında). Özellikle bu altyapı ezoterik olduğunda (32 çekirdekli 64 GB'lık bir sunucu bu gün Dell'den yaklaşık 22 bin $ 'a sahip olsa da).
rmalayter

ScaleMP ( scalemp.com ) ne olacak ?
user54614 18:10

-2

VMWare yapar. Buna DRS veya Dağıtılmış Kaynaklar Zamanlayıcısı denir. 16 sunucunun kaynaklarını birleştirmenizi sağlar. Daha sonra bu toplamı bir veya daha fazla sanal ortama dağıtabilirsiniz.


Hayır, bu DRS'nin yaptığı şey değil. DRS, küme çevresindeki otomatik vMotion makinelerinin ana bilgisayar düğümleri arasında bile yüklenmesini sağlar. Hiçbir şekilde tek bir VM'den birden fazla ana bilgisayara erişim sağlamaz.
EEAA
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.