Maszyny wirtualne i TRIM


17

Chociaż obsługa TRIM została wprowadzona w celu poprawienia działania SSD, powinna również pomóc maszynom wirtualnym optymalizować dyski wirtualne (na przykład wiedzieć, które części dysków wirtualnych nie wymagają przechowywania na partycjach fizycznych). Czy jakaś maszyna VM używa TRIM w ten sposób?

Odpowiedzi:


8
  • Pamięć: zaimplementowana obsługa usuwania nieużywanych bloków obrazu za pomocą TRIM dla SATA i IDE oraz UNMAP dla SCSI podczas korzystania z obrazów VDI

http://www.fb-developers.info/blog/2012/virtualbox-v4-2-is-coming/

VHDX to nowy format wirtualnego dysku twardego wprowadzony w systemie Windows Server 2012, który umożliwia tworzenie odpornych dysków wirtualnych o wysokiej wydajności do 64 terabajtów.

  • ...
  • Wydajność w reprezentowaniu danych, co skutkuje mniejszym rozmiarem pliku i umożliwia bazowemu fizycznemu urządzeniu magazynującemu odzyskanie niewykorzystanego miejsca. ( Przycinanie wymaga dysków tranzytowych lub SCSI i sprzętu zgodnego z trymowaniem .)

https://msdn.microsoft.com/en-us/library/windows/hardware/dn567657(v=vs.85).aspx

Przypadków użycia

  • Wirtualny dysk twardy konsumenta (VHD) zamontowany na dysku SSD:

    VHD jest początkowo montowany na „czystych” nieużywanych nośnikach. Gdy używany jest VHD, VHD zużywa części nośników pamięci dla plików itp. Gdy usuwa pliki na nośniku pamięci, pliki te nie są usuwane z dysku SSD, ponieważ cały VHD jest przechowywany jako jeden plik na dysku SSD. Środowisko Hyper-V wywołuje plik TRIM dla wszystkich regionów, które są usuwane, gdy plik usuwania występuje w środowisku VHD. Pliki File_TRIM są tłumaczone na dysk SSD, aby można było zoptymalizować wydajność dysku SSD.
  • VHD konsumenta zamontowane w sieci SAN o słabej dostępności:

    Dysk VHD jest początkowo zamontowany na jednej minimalnej płycie środowiska o słabej dostępności. Ponieważ pliki są przechowywane w VHD, ślad pamięci VHD rośnie w wielokrotnościach płyt. Gdy pliki są usuwane w VHD, Hyper-V wywołuje File_TRIM do bazowej sieci SAN o słabej konfiguracji. Jeśli TRIM są większe niż granulacja SLAB, SAN może teraz usunąć SLAB, a tym samym zmniejszyć ślad VHD na tej sieci SAN.

Jeśli dysk VHD jest rezydentny na serwerze z systemem Windows 8, optymalizator pamięci masowej wyśle ​​również TRIM, aby zmniejszyć ślad płyty VHD z zamontowanego dysku VHD.

https://msdn.microsoft.com/en-us/library/hh848053(v=vs.85).aspx

To także jest wspomniane w Wymagania dotyczące dysku twardego VMWare Workstation Pro Documentation Center dla systemów hostów - dyski półprzewodnikowe :

Jeśli komputer hosta ma fizyczny dysk SSD, host informuje systemy operacyjne gościa, które działają na dysku SSD.

Dzięki temu systemy operacyjne gości mogą optymalizować zachowanie. Sposób, w jaki maszyny wirtualne rozpoznają SSD i wykorzystują te informacje, zależy od systemu operacyjnego gościa i typu dysku wirtualnego (SCSI, SATA lub IDE).

  • Na maszynach wirtualnych Windows 8, Windows 10, Ubuntu i Red Hat Enterprise Linux wszystkie typy dysków mogą zgłaszać swoje wirtualne dyski jako dyski SSD.
  • Na maszynach wirtualnych z systemem Windows 7 tylko wirtualne dyski IDE i SATA mogą zgłaszać swoje wirtualne dyski jako SSD. Dyski wirtualne SCSI zgłaszają się jako dyski SSD tylko wtedy, gdy są używane jako dysk systemowy w maszynie wirtualnej lub jako napęd mechaniczny, gdy są używane jako napęd danych w maszynie wirtualnej.
  • Na maszynach wirtualnych Mac tylko dyski wirtualne SATA są zgłaszane jako SSD. Dyski wirtualne IDE i SCSI są zgłaszane jako dyski mechaniczne.

Użyj systemu operacyjnego maszyny wirtualnej, aby sprawdzić, czy maszyna wirtualna używa dysku SSD jako dysku wirtualnego.

P. Czy VMware obsługuje UNMAP bezpośrednio z systemu gościa w wersji vSphere 6.0.

Tak. Wydawanie UNMAP bezpośrednio z systemu gościa w celu odzyskania miejsca jest obsługiwane w wersji vSphere 6.0.

P. Jakie są warunki wstępne do uruchomienia UNMAP?

Istnieje szereg warunków wstępnych, które muszą zostać spełnione. To są:

  • VMDK musi być uproszczony
  • Wersja sprzętu maszyny wirtualnej musi wynosić 11 (ESXi 6.0)
  • Zaawansowane ustawienie EnableBlockDelete musi być ustawione na 1
  • System gościa musi być w stanie zidentyfikować dysk jako cienki (Windows 2012 [zaktualizowany 30 października 2015 r.] Używa strony trybu B2, aby to osiągnąć)

P. Czy odzyskiwanie działa tylko dla UNMAP? Co z TRIM?

To jest odpowiedź „to zależy”. TRIM jest używany tylko wtedy, gdy podstawowym urządzeniem jest dysk SSD - Solid State Disk. Z tego, co rozumiem, TRIM jest konwertowany na UNMAP w stosie we / wy. Istnieją jednak pewne problemy z przekształcaniem TRIM w UNMAP. UNMAP działa na pewnych granicach bloków w VMFS, podczas gdy TRIM nie ma takich ograniczeń. Dlatego niektóre TRIM przekształcone w UNMAP mogą się nie powieść z powodu problemów z wyrównaniem bloków.

http://cormachogan.com/2015/05/07/vsphere-6-0-storage-features-part-8-vaai-unmap-changes/

http://www.codyhosterman.com/2015/04/direct-guest-os-unmap-in-vsphere-6-0/


Wierzę, że VMware usunęło to twierdzenie marketingowe z przyszłych wersji, ponieważ zostało uszkodzone, ponieważ nie obsługiwały TRIM. Widzieć tutaj i tutaj
Tom Hale

1

Obsługa TRIM wymaga dogłębnej znajomości podstawowego sprzętu. Od maszyn wirtualnych ( Goście VM ) z definicji działają na sprzęcie wirtualnym, nie są świadomi szczegółów dysku twardego lub dysku SSD, na którym się znajdują.

Więc jeśli Host VM system operacyjny rozumie TRIM, który powinien być wystarczający dla wszystkich Gości VM działających na nim.

Niektóre hosty maszyn wirtualnych mogą „przejść” przez dysk fizyczny i zamontować go bezpośrednio w systemie operacyjnym gościa maszyny wirtualnej. W zależności od dokładnej implementacji, teoretycznie możliwe jest, że Gość będzie mógł obsługiwać funkcję TRIM dysku SSD. Podobnie jak w przypadku większości rzeczy, Twój przebieg może się różnić, a jeśli jest to krytyczne dla twojego środowiska, powinieneś go dokładnie przetestować przed zatwierdzeniem.


1
Jedyną rzeczą, którą chciałbym dodać, jest to, że plik dysku twardego vm jest dynamiczny, można go zmniejszyć, a host w razie potrzeby powie SSD, aby przyciął nowo uwolnione sektory. Może to przyspieszyć zapisywanie plików na dysku twardym vm, ponieważ gdy plik rośnie, nie modyfikując istniejących sektorów hosta, można użyć nowych / przyciętych sektorów do zapisu gościa. Zwykle naprawiam rozmiar na dyskach twardych vm, ale ma to na celu zapobieganie fragmentacji na HD. W przypadku dysków SSD prawdopodobnie przejdę dynamicznie i okresowo zmniejszy się.
Scott McClenning

1
-1. Brakuje Ci faktu, że TRIM / unmap jest używany do zmniejszania dynamicznego rozmiaru pliku obrazu VM. W rezultacie hostowy system operacyjny może wydać polecenie TRIM / unmap na podstawowym sprzęcie. To ważna część koncepcji thin provisioning.
rustyx

-1

TRIM został wynaleziony, ponieważ zapis na dysku SSD musi być wykonany w 512 tys. Bloków, a określenie, ile bloku jest faktycznie używane przez plik lub pliki, jest niemożliwe dla samego dysku SSD i musi zostać przekazane przez system operacyjny i system plików.

Widzieć

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

EDYTOWAĆ:

Link wiki mówi, że lepiej niż ja:

Polecenie TRIM nie działa z dyskami przechowywanymi w plikach obrazów dysków. Jest to spowodowane faktem, że pliki komputerowe mogą zostać usunięte całkowicie lub obcięte na końcu. Ten problem dotyczy aplikacji takich jak usługi dysków wirtualnych, maszyny wirtualne itp.


6
Maszyna wirtualna może przechowywać informacje o tym, które bloki zostały przycięte, aby mogły zostać użyte, gdy użytkownik zażąda przepakowania i zmniejszenia dysków wirtualnych. VMWare ma obecnie podobną operację, ale działa, zastępując najpierw całe wolne miejsce w VM.
liori

6
Pytanie nie dotyczy tłumaczenia operacji TRIM na dysku wirtualnym na operację TRIM na dysku hosta. Jak zauważyłeś, nie działa to bezpośrednio. Pytanie brzmi wyraźnie, jak przetłumaczyć wywołanie TRIM na dysku wirtualnym na skrócenie pliku obrazu na dysku hosta (który, nawiasem mówiąc, może z kolei wywołać operację TRIM na dysku hosta, ale pytanie dotyczy pierwszego kroku)
Pascal Cuoq

1
Tam są pliki zapasowe , który powinien być idealny do użycia jako obraz dysku z możliwością przycięcia dla vm.
not-a-user
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.