Bir VMWare anlık görüntüsünde kalıcı olarak çalışmak performans açısından kötü mü?


18

VMWare KB'nin esas olarak iki şeyden dolayı uzun süre çalışan anlık görüntülerde kaşlarını çattığını anlıyorum (Bence)

  • Tonlarca anlık görüntü çekmek veri deposunu doldurabilir. Anlık görüntüler delta dosyalarıdır. Diyelim ki tam olarak 50 Gig VMDK'nız var ve anlık görüntü alıyorsunuz. Anlık görüntünüzde her biti çevirirsiniz. Delta dosyanız da yaklaşık 50 GB olacaktır. Anlık görüntü tekrar, bitleri çevirin, başka bir 50 Gig delta dosyası. Bunlar kontrolden hızlı bir şekilde çıkabilir.

  • Büyük fotoğraflar çekmek risk taşır. Anlık görüntüleri birleştirirken delta değişikliklerini orijinal VMDK'ya yazıyorsunuz. Bu zaman alır ve bir şey olursa VMDK'nızı nükleer silahlarla doldurma riskinizi taşır.

Uyarıları mantıklı geliyor.

Bununla birlikte, makinemi bir anlık görüntü VMDK'sından kalıcı olarak çalıştırmak doğal olarak kötü mü? Ağacımı aşağıdaki yapmak istiyorum:

  • baz
    • Snap1
      • Snap 2
      • Buradasınız

Ek 1 ve 2, temel sistemi kurduktan ve hazırladıktan hemen sonra alınacaktır. Bunlar sık ​​sık yenilemeyi planladığım makinelerdir, bu yüzden ağacımı aşağıdaki gibi göstereceğim:

  • baz
    • Snap1
      • Buradasınız
      • Snap 2

Snap2'yi silin ve Snap2'yi yeniden oluşturun.

Bunun aşağıdaki nedenlerle nasıl bir etkisi olabileceğini göremiyorum:

  • Basitçe bir temel görüntü yüklediğimden ve deltalarımı hemen veri deposunu doldurabileceğim bir yol olmadığından aldım. Temel görüntümün yalnızca 10 GB (50 GB'lik ince provizyonlu bir diskte) olduğunu varsayarsak, deltam her bir biti çevirse bile toplam kullanımım maksimum 60 GB (kilitli 10 GB temel VMDK, + 50 GB delta anlık görüntü VMDK dosyası). Bu, daha fazla anlık görüntü oluşturmadığımı varsayar.

  • Kullanım durumum anlık görüntüleri birleştirmek için arama yapmadığından, deltalarımı birleştirdikten sonra hataları riske atmam. Snap1'e geri dönüp Snap2'yi sildiğimde, Snap2'de bulunan tüm deltalar silinir.

  • Depolama yükü tamamen aynıdır, bu yüzden aynı IOPS'yi almalıyım. Bazı dosyaların (esas olarak sistem dosyaları) orijinal VMDK'da bulunacağını ve diğerlerinin (tabandan sonra her şey) deltada yer alacağını anlıyorum, ancak ESXI'nin nasıl umursadığını görmüyorum. Tüm dosyalar aynı fiziksel veri deposundadır, bu nedenle performans, anlık görüntüler olmadan orijinal VMDK'daki her şeye referansla eşdeğer olmalıdır.

Düşüncesi olan var mı? ESXI 5.5 ile veri deposu RAID'd DAS.

Bir vCenter lisansım yok, bu yüzden şablonlama ve klonlama masa dışında.

TEST SONUÇLARI

Bugün erken testler yaptım. İşte sonuçlar. Bir performans cezası var ama neden olduğundan emin değilim.

Fotoğraf Çekmeden Önce: Snapshoting Önce

Fotoğraf Çekildikten Sonra: Shapshoting Sonrası


Kesinlikle değil - zaman geçtikçe, anlık görüntüler giderek daha fazla farklılaşacak. Son olarak, bunlar aslında farklı kopyalar olacaktır. Anlık görüntü çekerek fazla disk yedeklemedikten sonra, anlık görüntüyü tamamen ayrı bir birime dönüştürün. Nasıl? Normalde, üçüncü bir VM'den dd kullanıyorum, ancak çoğunlukla burada böyle sapkın görüşler için neredeyse çarmıha gerildim. :-) Ama: işe yarayacak ve etkili olacak .
peterh - Monica'yı

@PeterHorvath - Duymayı sevdiğim şeyler bu. Akıllı, hacky, etkili, çıplak kemik çözümleri. Sakıncası yoksa bana pastebin'de ne yaptığına dair bir yazı verebilir misin? VMDK ve anlık görüntüyü birlikte DD misiniz?
VM_Storage_Inception

Bunu daha sık yapmam gerekirse, bir senaryo ile yaptım. Ama durum böyle değil ve çoğu durumda snapshpts bile kullanmıyorum, çünkü yavaşlar.
peterh - Monica

Yanıtlar:


17

Evet, uzun süre çalışan anlık görüntüler için performans etkileri vardır. Delta VMDK'leri orijinal disk dosyasına geri birleştirmenin daha büyük sonuçları vardır. Bu, VM'nizin işletim sisteminde yanıt vermemeye veya diğer istenmeyen davranışlara neden olabilir.

VMware, vCenter'da yerleşik olarak şablonlama ve klonlama işlevselliğine sahiptir . Bunu etkinleştirmek için 600 dolarlık bir vSphere Essentials lisansına ihtiyacınız var.

Zevkinize göre bir VM oluşturabilir, ardından bir şablona klonlayabilirsiniz. Bu şablon daha sonra bir "Altın Master" görüntüsünden yeni sanal makineler üretmek için kullanılabilir .

resim açıklamasını buraya girin

Bu, "temiz bir duruma" sahip olmanızı sağlar ancak aynı zamanda bu ana görüntüden uzun süreli veya kalıcı VM'ler oluşturmanızı sağlar. Anlık görüntü gerekmez.


İlginç, buna bakacağım ve nasıl çalıştığını göreceğim. Ne yazık ki bir vCenter lisansım yok ve tarif ettiğim şekilde kullanılan anlık görüntülerde herhangi bir performans etkisi yoksa org kabuğumun 600 $ 'ını almamasını tercih ederim. Ayrıca, şablonlama ve klonlama, bir OVA almak ve yeniden dağıtmaktan farklı görünmemektedir. Anlık görüntülerin silinmesi çok daha hızlı görünüyor ve "Resmi VMWare onaylı yöntem" olmasa bile performans etkilerinin nasıl olacağını mantıklı bir şekilde göremiyorum.
VM_Storage_Inception

Düzenlemenize yanıt vermek için, beni bir makaleye yönlendirebilir veya performansla ilgili sonuçların ne olacağını açıklayabilir misiniz? Onları nasıl tarif ettiğimi varsayarsak nasıl olacağını göremiyorum. Ayrıca, anlık görüntüleri orijinal VMDK'ya asla birleştirmem.
VM_Storage_Inception

Sanırım neden kısa süreli erişim için kullanılmak üzere tasarlanan bir özellik etrafında tasarım yapmakta ısrar ettiğinizi anlamaya çalışıyorum.
ewwhite

@VM_Storage_Inception - neredeyse VMWare'in geçersiz ürün Laboratuarı Yöneticisi'ne fakir bir adamın yaklaşmasını istiyormuşsunuz gibi geliyor.
TheCleaner

5
Bazen doğru çözümü satın almak mantıklıdır. Size bir desteklenen şablon / klonlama seçeneği sunacak bir vSphere Essentials lisansı (600 $) ödemekten daha fazla geçici çözüm bulmak için daha fazla çaba ve çalışma saati harcadınız .
ewwhite

4

ewwhite'ın cevabı doğrudur, ancak sadece biraz daha veya performans cezasını genişletmek için aşağıdaki senaryoyu düşünün:

Bir VM oluşturursunuz. Vmdk'den sanal bir okuma, aynı boyutta bir fiziksel disk okuması alır. Yeterince açıksözlü.

Şimdi VM'nin anlık görüntüsünü aldığınızı hayal edin. Şimdi, her sanal okuma için, biri temel vmdk'den diğeri delta vmdk'den olmak üzere 2 fiziksel okuma gerçekleştireceksiniz, çünkü mevcut durumu elde etmek için her ikisinden de bilgiye ihtiyacınız var. Şimdi fiziksel diskin iki katı okuma yapıyorsunuz.

İki enstantane için üç kez okuma yapıyorsunuz vb. Çok sayıda fotoğrafınız varsa, bunun nasıl oldukça önemli bir performans cezası olabileceğini görebilirsiniz. Mutlaka n kat daha kötü performansa (önbellekleme, değiştirilmemiş bölümler vb. Nedeniyle) dönüşmez, ancak iyi bir uygulama değildir.


Anlık görüntüler "hangi blok hangi dosyada" tablo kullanmak eminim. Bu nedenle, tek bir bloğun okunması yalnızca uygun dosyadan bir bloğun okunmasına neden olur. Tabii ki, birkaç bloğu okumak birkaç dosyaya erişmeye neden olabilir, bu da bir SSD'den çalıştırmıyorsanız disk kafalarını taşımak için bir ceza anlamına gelir, ancak toplam disk bloğu erişim sayısı değişmemelidir.
Guntram Blohm

1
Anladığım gibi, anlık görüntüler yalnızca orijinal diskteki değişiklikleri saklar. A dosyasını saklarsanız, bir anlık görüntü alır ve ardından A dosyasını yeniden değiştirirseniz, anlık görüntüye yalnızca o dosyadaki değişiklikler yazılır. Bu nedenle, tüm dosyayı almak için hem orijinal VMDK'yı hem de anlık görüntüyü okumalısınız. Aksi takdirde, her bir anlık görüntü orijinal diskin tam olmayan bir kopyası olacaktır.
tfrederick74656

doğru olabilir, ancak okumanız gereken toplam blok miktarı aynı kalır (örn. anlık görüntüden 10 blok ve temel diskten 100 blok). ESXi önce doğru anlık görüntüde (veya temel diskte) bitene kadar gerekli bloklar için mevcut anlık görüntüleri kontrol eder. Küçük bir ceza olabilir, çünkü sistem hiç anlık görüntü olmadığında bu anlık görüntü geçiş bölümünü tamamen atlayacaktır. Ayrıca, uzun süre çalışan bir anlık görüntü dosyası büyük olasılıkla ciddi parçalanmalara maruz kalacaktır.
Dirk Trilsbeek

N anlık görüntüsü için N okuma yapan bir sanal disk anlık görüntü sistemi çok aptalca bir uygulama olacaktır. VMWare'de bu şekilde uygulandığından şüpheliyim. Basit bir optimizasyonlar, taklit edilen sürücünün her bloğunun hangi disk dosyasında saklandığını gösteren bir dizin dosyası oluşturarak yapılabilir. 4 KB boyutunda bir blok boyutu olan 512 GB'lık bir sanal diskiniz olduğunu varsayalım, sabit zamanda 16'ya kadar sanal disk dosyasından hangisinin bir blok içerdiğini belirlemek için yalnızca 64 MB'lık bir dizine ihtiyacınız vardır.
Yalan Ryan

1
Serverfault.com/questions/430138 adresindeki cevaplara dayanarak katılmıyorum. Anlık görüntüleri her zaman sadece yeni verilerden oluşan bir koleksiyon değil, ikili aritmetik sonucu düşündüm. Bu nedenle, temel VMDK'nızda 01010101 bitleriniz varsa, anlık görüntüyü alırsınız, ardından bu bitleri 10101010 olarak değiştirirsiniz, deltalarınız 11111111 içerecektir (orijinal dosyadaki her bitin değiştiğini gösterir, 10101010'un yeni değeri değil). Yukarıdaki yorumu kabul ettiğim kadarıyla, VMDK'ların sözde ham dosyalar olduğu söylenebilir. Dizin nerede saklanır? Bunu herhangi bir VMWare teknoloji pubında hiç görmedim.
tfrederick74656

0

VMware ESX anlık görüntüleri kısa süreli kullanım içindir.

Uzun kullanım ve ağır G / Ç VM'nin donmasına neden olabilir. Yazma IO'sunun anlık görüntü konsolidasyonundan daha büyük / daha hızlı olduğu durumda ESX, verileri korumak için VM'yi dondurur. Zaman anlık görüntüleri parçalanır ve ESX dahili konsolidasyon yapar, periyodik donmalar yaşayabilirsiniz.

VM şablonlamasını ssh ile manuel olarak gerçekleştirebilirsiniz. Vmdk, vmx, vb. İçeren VM klasörünü yeni bir klasöre kopyalayın. Yeni kopyalanan VM'nin vmx dosyasında UID ve MAC adresini değiştirin.

VMware, yapmaya çalıştığınız aynı şey olan Linked Clone ürününe sahiptir. Potansiyel performans sorunları olduğunu söylüyorlar. Uygulamada, bir süre sonra VM'leri yeniden düzenleyeceksiniz. https://www.vmware.com/support/ws5/doc/ws_clone_typeofclone.html

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.