Disk küçültme ESXi konuklarında çalışmıyor


11

Herkese EHLO! StackOverflow ağındaki ilk yazım :)

Genelde debian 6 / amd64 konuk sistemlerini ext3 bölümleri ile barındırmak ve debian bug 471784'e göreopen-vm-tools kaynaktan derlemek için bazı ESXi 5.0 / vCenter altyapısı çalıştırıyoruz .

İnternetin her yerinde dile getirilen bir sorun var, ancak herhangi bir yerde kesin bir cevap vermeden.

Bağımsız, kalıcı modda, anlık görüntü, ebeveyn, klon olmadan hiçbir şekilde küçültülmüş bir diski küçültmeye çalışırken, sürekli olarak aşağıdaki hatayı alıyorum:

root@linux64:~# vmware-toolbox-cmd disk list
Shrink disk is disabled for this virtual machine.

Shrinking is disabled for linked clones, parents of linked clones,
pre-allocated disks, snapshots, or due to other factors.
See the User's manual for more information.

(Bu arada, "diğer faktörler" nelerdir ve teknik incelemeler ve teknik kılavuzları ton olan olan Kullanım kılavuzu? :)

Bölümleri sıfırlarla doldurabileceğimi biliyorum (aslında, shred -fuzn0büyük dosyaları silerken kullanıyorum ), sonra söz konusu konuğu vmkfstoolskapattım ve ince provizyon modunda diskleri klonlama veya vMotioning gibi çeşitli yöntemler kullanıyorum , ancak hepsi bunlardan herhangi biri, misafirin büzülmesi için kesinti cezasına neden olur veya verilerin veri depoları ve / veya toplantı sahipleri arasında haksız yere taşınmasına neden olur.


Cevap: ESX / ESXi altında daralma yok (versiyon 5'ten itibaren).

Dokümantasyon okur:

ÖNEMLİ Aşağıdaki koşullarda küçültme disklerine izin verilmez :

  1. Sanal makine bir ESX / ESXi sunucusunda barındırılmaktadır. ESX / ESXi Sunucusu bir sanal diskin boyutunu yalnızca bir sanal makine dışa aktarıldığında küçültebilir. Ancak ESX / ESXi sunucusundaki sanal disk tarafından kullanılan alan değişmez.

  2. Sanal makinede bir Mac konuk işletim sistemi vardır.

  3. Sen İlk ayırma oluştururken ona sanal diske tüm disk alanını.

  4. Sanal makine bir anlık görüntü içeriyor .

  5. Sanal makine bağlı bir klon veya bağlı bir klonun üstüdür .

  6. Sanal disk, kalıcı olmayan modda bağımsız bir disktir .

  7. Dosya sistemi olan günlük kaydı, dosya sistemi , örneğin, bir şekilde, ext4'te, XFS veya jfs dosya sistemi.

VMWare Workstation'da küçültme seçeneği var , ancak ESXi veya vCenter örneğine bağlı vSphere istemcisinde küçülme seçeneği yok .


2
vmx dosyasında bulunan isolation.tools.diskShrink.disable anahtarının bir değerini gösterebilir misiniz?
cikuraku

1
Orada değildi. İsolation.tools.diskShrink.disable = "false" eklemek hiçbir şeyi değiştirmedi.
NekojiruSou

Yanıtlar:


3

http://www.vmware.com/pdf/vmware-tools-cli.pdf Sayfa 13:

Aşağıdaki koşullarda küçültme disklerine izin verilmez:

Sanal makine bir ESX / ESXi sunucusunda barındırılmaktadır. ESX / ESXi Sunucusu bir sanal diskin boyutunu yalnızca bir sanal makine dışa aktarıldığında küçültebilir. Ancak ESX / ESXi sunucusundaki sanal disk tarafından kullanılan alan değişmez.


Üzgün ​​ama gerçek ...
NekojiruSou

18

Aslında, VM'yi ESXi üzerinde kapatmanın bir yolu var, ancak bunun için VM'yi kapatmanız gerekiyor. Bunu nasıl yapacağınız aşağıda açıklanmıştır:

  1. Sanal makine içindeki kullanılmayan tüm alanları sıfırlayın:

    dd if=/dev/zero bs=1048576 of=/zero ; sync ; rm /zero

  2. Aynısını diğer montaj noktaları, takas bölümleri vb. İle yapın.

  3. VM'yi kapatın.

  4. SSH'den ESXi'ye ve şu komutu verin:

    vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

Bu biraz zaman alacak ... vmkfstools VMDK'nızın içindeki "delikleri açar", örneğin sıfırlarla dolu tüm blokları etkin bir şekilde küçülterek VMDK'nızı daraltır.


6
Windows için, Virtual Server 2005'in bir kopyasını alabilir , Precompact.iso dosyasını ondan ayıklayabilirsiniz, Windows'ta kullanılmayan tüm disk hızını sıfırlayacak bir Procompact.exe programı içerir.
Chris S

VM bir NFS depolama birimindeyken vmkfstools çalışmıyor.
Sven 31415

0

VSphere ESXi içindeki bir VMDK'yı küçültmenin tek yolu, vMotion'ı başka bir veri deposuna aktarmak veya taşımak / Depolamadır. Bunu bir geçiş (SQL veya Exchange değil) işleyebilen canlı sunucularla çok şey yapıyorum. Önceki bir sunucu yöneticisi, tüm VM'leri Kalın Hazırlanan disklerle oluşturdu. VM'leri bir veri deposundan diğerine geçiriyorum ve VMDK'yı ince ayarlı olarak değiştiriyorum.

Sunucu çevrimdışıysa vmkfstools da yapabilirsiniz.


-1

ESXi'de diskleri küçültmek mümkündür.

  1. Büyük dosyayı bulun ve silin.

    find / -type f -size +50M

  2. Birleştirme (herhangi bir şeyi çıkarmaya / yeniden takmaya gerek yoktur). Hataları yoksayın. Simge bağlantıları ve aygıt dosyaları gibi bazı dosyalar birleştirilemez.

    sudo e4defrag /

  3. Kullanılmayan tüm alanları sıfırlayın, böylece VMware gerçekten de kullanılmamış olduğunu bilir:

    dd if=/dev/zero of=wipefile bs=1M; sync; rm wipefile

  4. Büzülme işlemini çalıştırın: 4 başarısız olursa, 5'e geçin.

    sudo vmware-toolbox-cmd disk shrinkonly

  5. Linux sistemini try seçeneğiyle yeniden başlatın ve bölüm tablosunu gparted ile düzenleyin. Kök dosya sistemini küçültün ve takas bölümünü kök bölümün yakınına silin ve taşıyın.

  6. SSH'den ESXi'ye ve şu komutu verin:

    vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

  7. * .Vmdk dosyasını düzenlememiz gerekiyor. RW harflerinden sonra, VMware sanal diskinin (VMDK) boyutunu tanımlar

    * 40 GB = 40 * 1024 * 1024 * 1024/512 = 83886080 *

  8. Yeni boyutu yansıtmak için başka bir veri deposuna taşıyın.

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.