Sanal Makine anlık görüntüsü nasıl çalışır?


16

On yıldan uzun bir süredir disk görüntüleme yazılımı kullandıktan sonra, Sanal Makinelerin birkaç saniye içinde anlık görüntü alınabileceğini ve geri yüklenebileceğini düşünürken, disk görüntüleme genellikle saatler sürüyor.

Bir VM'yi anlık olarak görüntüleyebilir, farklı bir işletim sistemine yeniden yükleyebilirim, sonra geri yükleme yapabilir ve bir şekilde birkaç saniye içinde eski VM'm daha önce bulunduğu durumda mükemmel bir şekilde yedeklenebilir.

Bu nasıl olabilir? VM ana bilgisayarı aslında bunu mümkün kılan VM'ye ne yapar?

Yanıtlar:


16

Anlık görüntü oluşturduğunuzda, ilk sanal disk görüntüsünde yapılan tüm değişiklikler gerçekte görüntünün kendisinde yapılmaz, ancak yeni bir (anlık görüntü) disk dosyasına yazılır. Bu eylem çok hızlıdır, çünkü tüm sanal disk görüntüsünü kopyalamaya gerek yoktur, çünkü yazma prensibine göre kopyalama üzerinde çalışır (sadece değişti, yani anlık görüntü görüntüsüne yazılı bloklar yazılır). Orijinal sanal disk görüntünüzdeki (anlık görüntüyü çektiğiniz anda olduğu gibi) daha fazla veri değiştirdikçe anlık görüntü görüntüsünün büyüdüğünü unutmayın. Büyük olasılıkla orijinal görüntüden çok daha küçük olacaktır, ancak en kötü durumda tam olarak aynı boyutta olacaktır (tüm bloklar değiştirilmişse).

Bu yeni anlık görüntü görüntüsü ile yapabileceğiniz iki işlem vardır:

  1. Anlık görüntüyü atın : çok hızlı işlem. Sanal makine yöneticisi anlık görüntü görüntü dosyasını siler ve denetimi orijinal disk görüntüsüne veya önceki anlık görüntülerin bazılarına döndürür
  2. Anlık görüntüyü birleştir : sanal makine yöneticisi değiştirilen blokları (yani anlık görüntü görüntüsü) orijinal görüntüyle birleştirir. Bu eylem, orijinal görüntüden ne kadar blok değiştiğine bağlı olarak zaman alacaktır. Yine, en kötü durum senaryosu, anlık görüntü oluşturulduktan sonra orijinal görüntüden tüm blokların yazılması durumunda tüm orijinal görüntünün üzerine yazılmasıdır.

Yukarıda açıklanan tüm prosedürler birden fazla anlık görüntü için de kullanılabilir. Bu durumda orijinal görüntü bir anlık görüntü olabilir ve bir sonraki anlık görüntü bu (ilk) anlık görüntüdeki bloğa başvurabilir. Bu şekilde kolayca atabileceğiniz veya birleştirebileceğiniz birçok anlık görüntü elde edebilirsiniz.


1
silme işleminden sonra sil özelliğini etkinleştirdiyseniz, görüntüyü silme işlemi, herhangi bir görüntü silme işlemi gibi, aslında oldukça yavaş olabilir. Diğer VM'ler tarafından kullanılmak üzere serbest bırakılmadan önce bir görüntünün veya anlık görüntünün kullandığı alanı silmek için bir güvenlik özelliğidir, aksi takdirde düşük düzeyli blok okuma kullanarak, önceki VM'nin kullandığı verileri okumak mümkündür. Ve bu özelliğe sahip olmayan herhangi bir sanallaştırma çözümünün içinde büyük bir güvenlik açığı var
dyasny

Birden fazla anlık görüntü oluşturma senaryosunu ve her anlık görüntüdeki değişikliklerin nasıl korunduğunu açıklamaya çalıştım. VMware anlık görüntülerinin çalışmasıyla ilgili bu kısa açıklamaya bakın: cubicrace.com/2012/02/…
Piyush Chordia

5

Anlık görüntü ile sanallaştırma yazılımınızın dört şeyi izlemesi gerekir: CPU durumu, RAM, yapılandırma (VM'de kaç ağ kartı?) Ve disk. İlk üç şeyi görmezden geliyorum çünkü büyük miktarda veri değiller, yazılım nispeten küçük veri yapılarının kopyalarını oluşturabilir ve bunları bir dosyada saklayabilir. Yani, bu sadece açıklamak için disk anlık görüntü bırakır.

Öncelikle, VM'nin sabit disk olarak gördüğü şey aslında ana bilgisayar dosya sistemindeki bir dosya kümesidir. Anlık görüntü yapmak için, sanal makine yazılımı VM'nin diskini belirli bir zamanda alır, korur, yeni bir boş disk dosyası açar ve sonraki her disk erişimiyle yazma üzerine kopyalama şeması yapar.

Diyelim ki disk dosyanız BigVM.disk. Anlık görüntü alıyorsunuz ve şimdi VM yazılımınız diskinizi BigVM-s1.disk olarak yeniden adlandırıyor, ardından yeni bir boş BigVM.disk yapıyor. VM'niz çalışırken, tüm okuma istekleri BigVM.disk'ten geçer. Bu dosya, VM'nizin istediği disk bölümü için bir girdi içermiyorsa, BigVM-s1.disk'deki veriler döndürülür. Yazma sırasında veriler BigVM-s1.disk yerine BigVM.disk'e yazılır. Aynı sektöre gelecek bir okuma, BigVM-s1.disk dosyasındaki orijinal anlık görüntü yerine verileri BigVM.disk'ten döndürecektir. BigVM-s1.disk, anlık görüntünüzden dolayı VM'nizin sabit disk durumunu içerirken, BigVM.disk bu anlık görüntüden bu yana diskinizdeki tüm farklılıkları içerir.

Daha eski bir anlık görüntüye geri döndüğünüzde ne olur? VM yazılımı, BigVM-s1.disk'i işaret eden yeni bir boş BigVM.disk ile BigVM.disk içeriğini atar ve baştan başlar.


2

Tam sanal makine diskini değil, yalnızca anlık görüntü zamanından itibaren değişen dosyalardaki farkları yazıyor. Unix diff ve patch gibi, ikili düzeyde farklılık gösteren ve sanal makinenizin diğer ayrıntılarını bilen daha karmaşık bir sürüm hariç.


1

En azından VMware anlık görüntülerinde, anlık görüntünün temel olarak disk yazma işlemleri ve makine durumu için yeni bir denetim noktası başlatmak üzere VMX'e bir sinyal olmasıdır. VM'nizin kapalı veya açık olmasına bağlı olarak, anlık görüntüyü geri yüklemek yalnızca bu kontrol noktasından sonra olan her şeyi nuking etmeyi içerebilir. Aksi takdirde, VM'nizin tüm disk sektörleri yazma sırasında kopyalanır, yani sıcak bir anlık görüntü geri yüklemesi yaptığınızda, yalnızca anlık görüntüyü çektiğinizden bu yana değişen sektörleri yeniden yazmanız gerekir. Bu yüzden daha hızlı.


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.