Sanal makineler ve TRIM


18

Her ne kadar SSD'nin daha iyi çalışması için TRIM desteği sunulmuş olsa da, sanal makinelerin sanal diskleri optimize etmesine de yardımcı olmalıdır (örneğin, sanal disklerin hangi bölümlerinin fiziksel bölümlerde depolamaya ihtiyacı olmadığını bilmek). Herhangi bir VM makinesi TRIM'i bu şekilde kullanıyor mu?

Yanıtlar:


10

Virtualbox, 4.2 sürümünden beri TRIM'i destekliyor

  • Depolama: VDI görüntüleri kullanılırken SATA ve TRE için TRIM ve SCSI için UNMAP aracılığıyla kullanılmayan görüntü bloklarını atma desteği uygulandı

--nonrotational onVe --discard onseçeneklerini kullanmanız gerekir :

  • --discard

    Sanal sabit diskler için otomatik atma özelliğini etkinleştirir. Bu, konuk işletim sistemindeki trim komutuna yanıt olarak bir VDI görüntüsünün küçüleceğini belirtir. Aşağıdaki gereksinimler karşılanmalıdır:

    • Disk formatı VDI olmalıdır.
    • Temizlenen alanın boyutu en az 1 MB olmalıdır.
    • Oracle VM VirtualBox, yalnızca 1 MB'lık blokları kırpacaktır. VDI'lerin kendileri 1 MB'lık bloklar halinde düzenlenmiştir, bu nedenle bu sadece kesilen alanın 1 MB'lık sınırda en az 1 MB'lık bitişik bir blok olması durumunda çalışır. Windows'da, ara sıra cron işi olarak defrag.exe /Dçalışan Linux ile ara sıra birleştirme veya Linux üzerinde btrfs filesystem defragyararlı olabilir.

Daha fazla bilgi için:


Hyper-V ayrıca VHD ve VHDX görüntülerini daraltabilir

Kullanım örnekleri

  • ...
  • İnce tedarik edilmiş bir SAN üzerine monte edilmiş tüketici VHD'si:

    VHD başlangıçta ince bir ortamın minimum bir levhasına monte edilir. Dosyalar VHD'de depolandıkça, VHD'nin depolama alanı birden fazla döşemede büyür. VHD'de dosyalar kaldırıldığında, Hyper-V, temeldeki ince provizyonlu SAN'a File_TRIM'i çağırır. TRIM'ler SLAB parçalığından daha büyükse, SAN artık bir SLAB'ı kaldırabilir ve böylece VHD'nin söz konusu SAN üzerindeki kapladığı alanı azaltabilir.

VHD, Windows 8 tabanlı bir sunucuda bulunuyorsa, Storage Optimizer ayrıca VHD'nin döşeme izini takılan VHD'nin içinden azaltmak için TRIM'ler gönderir.

Yeni API, uygulamaların depolama ortamına "TRIM ve Unmap" ipuçlarını göndermesine izin verir

Ayrıca bakınız


VMware Workstation 10 , SSD geçişini desteklediğini iddia ediyor

  • SSD Düz Geçişli Windows 8, yarıiletken sürücüden (SSD) çalıştırıldığını algılayabilir ve bu donanım için kendini en iyi duruma getirir. İş İstasyonu 10'da, konuk işletim sistemi sanal makine Disk dosyasının bir SSD sürücüsünde ne zaman saklandığını algılayabilecektir ve işletim sistemi sanal bir makinede çalışırken aynı optimizasyonları yapabilir

VMware Workstation 10.0 Sürüm Notları

VMWare Workstation Pro Documentation Center'ın Ana Sistemler için Disk Sürücüsü Gereksinimleri - Katı Hal Sürücüleri :

Ana makinenizde fiziksel bir yarıiletken sürücü (SSD) varsa, ana makine konuk işletim sistemlerini bir SSD üzerinde çalıştırdıkları hakkında bilgilendirir.

Bu, konuk işletim sistemlerinin davranışı optimize etmesini sağlar. Sanal makinelerin SSD'yi nasıl tanıdığı ve bu bilgileri nasıl kullandığı, konuk işletim sistemine ve sanal diskin (SCSI, SATA veya IDE) disk türüne bağlıdır.

Ancak metinden, TRIM komutunun VMDK görüntüsünü daraltmak yerine sadece altta yatan fiziksel SSD'ye geçirildiği anlaşılıyor

VSphere ve ESXi gibi diğer VMware ürünleri de TRIM'i destekler, ancak görüntüyü küçültmek için kullanıp kullanmadıkları hala belirsizdir

S. VMware, UNMAP'leri vSphere 6.0'daki Guest OS'den doğrudan destekliyor mu?

Evet. Alanı geri kazanmak için doğrudan Konuk İşletim Sisteminden veren UNMAP'leri vSphere 6.0'da desteklenir.

S. UNMAP'in çalışması için gereken önkoşullar nelerdir?

Karşılanması gereken birkaç önkoşul vardır. Bunlar:

  • VMDK ince temini sağlamalıdır
  • Sanal Makine Donanımı sürümü 11 (ESXi 6.0) olmalıdır
  • Gelişmiş EnableBlockDelete ayarı 1 olarak ayarlanmalıdır.
  • Konuk İşletim Sistemi diski ince olarak tanımlayabilmelidir (Windows 2012 [30 Ekim 2015 güncellenmiştir] bunu başarmak için B2 modu sayfasını kullanır)

S. Geri alma yalnızca UNMAP için mi geçerli? TRIM ne olacak?

Bu bir “duruma bağlı” cevaptır. TRIM yalnızca temel aygıt bir SSD - Katı Hal Diski olduğunda kullanılır. Anladığım kadarıyla, TRIM I / O yığınında UNMAP'e dönüştürülür. Ancak, TRIM'in UNMAP'a dönüştürülmesiyle ilgili bazı sorunlar var. UNMAP, VMFS'de belirli blok sınırlarında çalışır, ancak TRIM'in bu tür kısıtlamaları yoktur. Bu nedenle, UNMAP'lere dönüştürülen bazı TRIM'ler blok hizalama sorunları nedeniyle başarısız olabilir.

vSphere 6.0 Depolama Özellikleri Bölüm 8: VAAI UNMAP değişiklikleri

Ayrıca bakınız


1
VMware'in bu pazarlama talebini gelecekteki sürümlerden kaldırdığına inanıyorum çünkü TRIM'i desteklemedikleri için sakatlandı. Buraya ve buraya
Tom Hale

1

TRIM desteği, temel donanım hakkında derinlemesine bilgi gerektirir. Sanal makineler ( VM Misafirleri ) tanım gereği sanal donanımda çalıştığından, içinde bulundukları sabit sürücünün veya SSD'nin ayrıntılarının farkında değildirler.

Bu nedenle, VM Host işletim sistemi TRIM'i anlıyorsa, bunun üstünde çalışan tüm VM Misafirleri için yeterli olmalıdır.

Bazı VM Ana Bilgisayarları, fiziksel bir sürücüden "geçebilir" ve doğrudan VM Misafirindeki işletim sistemine bağlayabilir. Kesin uygulamaya bağlı olarak, Konuk'un bir SSD'nin TRIM özelliğini desteklemesi teorik olarak mümkündür. Çoğu şeyde olduğu gibi, kilometreniz değişebilir ve ortamınız için kritikse, taahhütte bulunmadan önce iyice test etmelisiniz.


1
Ekleyeceğim tek şey, vm sabit disk dosyası dinamikse, küçültebilir ve ana bilgisayar, uygunsa, SSD'ye yeni serbest bırakılan sektörleri kırpmasını söyler. Bu, vm sabit disk dosyası yazma işlemlerini hızlandırabilir çünkü dosya mevcut ana bilgisayar sektörlerini değiştirmediğinizde, yeni / kesilmiş sektörler konukların yazması için kullanılabilir. Normalde vm sabit disk dosyalarımdaki boyutu düzeltirim, ancak HD'lerde parçalanmayı önlemek içindir. SSD'lerle muhtemelen dinamik ve periyodik küçülmeye giderdim.
Scott McClenning

2
-1. Dinamik olarak boyutlandırılmış VM görüntü dosyasını küçültmek için TRIM / unmap'in kullanıldığı gerçeğini kaçırıyorsunuz. Sonuç olarak, ana bilgisayar işletim sistemi temel donanımda TRIM / unmap verebilir. Bu, ince hazırlık konseptinin önemli bir parçasıdır.
rustyx

-1

TRIM icat edildi çünkü SSD'ye yazma işlemleri 512K'lık bloklar halinde yapılmalı ve bir blokun dosya veya dosyalar tarafından gerçekte ne kadar kullanıldığının belirlenmesi SSD sürücüsünün kendisi için imkansızdır ve işletim sistemi ve dosya sistemi tarafından iletilmelidir.

Görmek

http://en.wikipedia.org/wiki/TRIM

DÜZENLE:

Wiki bağlantısı benden daha iyi söylüyor:

TRIM komutu, disk görüntü dosyalarında depolanan disklerle çalışmaz. Bunun nedeni, bilgisayar dosyalarının yalnızca tamamen silinebilmesi veya sonunda kesilebilmesidir. Bu sorun, sanal disk hizmetleri, sanal makineler vb. Uygulamaları etkiler.


6
VM, kullanıcı sanal diskleri yeniden paketleyip küçültmek istediğinde hangi blokların kırpılacağı hakkında bilgi tutabilir. VMWare şu anda benzer bir işleme sahiptir, ancak öncelikle VM içindeki tüm boş alanların üzerine yazarak çalışır.
liori

6
Soru, sanal diskteki bir TRIM işleminin ana bilgisayar diskindeki bir TRIM işlemine dönüştürülmesiyle ilgili değildir. İşaret ettiğiniz gibi, bu kadar doğrudan çalışmaz. Soru, sanal diskteki bir TRIM çağrısını ana bilgisayar diskindeki görüntü dosyasının kısaltılmasına çevirmektir (bu arada, ana makine diskinde bir TRIM işlemini tetikleyebilir, ancak soru ilk adımla ilgilidir)
Pascal Cuoq

1
Bir vm için kırpılabilir disk görüntüsü olarak kullanılmak üzere ideal olması gereken yedek dosyalar vardır .
kullanıcı değil
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.