Jaka jest różnica między plikami Virtualbox .SAV i .VDI?

7

Myślałem, że VDI jest obrazem dysku wirtualnego, a potem dowiedziałem się, że jest on również używany do tworzenia migawek. Otworzyłem więc folder migawek i znalazłem kilka VDI. Jak na razie dobrze.

Następnie przeczytałem gdzieś, że SAV jest używany do bieżącego stanu. Czy to prawda? A jeśli tak, to powinniśmy mieć tylko jeden plik SAV (ponieważ dla maszyny wirtualnej będzie tylko jeden stan bieżący. Ale gdy spojrzałem w mój folder migawek, znalazłem 2 pliki SAV (i 2 VDI). czy mój komputer jest uszkodzony?

Jaka jest naprawdę różnica między SAV a VDI? Czy migawka reprezentowana jest przez jeden z każdego typu?

Jeśli to ma znaczenie, używam wersji 4.3.20.

user453441
źródło

Odpowiedzi:

9

Masz rację, myśląc, że a .vdi plik jest plikiem obrazu dysku wirtualnego i jest używany przez migawki.

Po utworzeniu migawki nowy .vdi tworzony jest plik, w którym zapisywana jest różnica z migawki. Nazywa się to „pamięcią różnicową”.

Z technicznego punktu widzenia migawka rejestruje cały stan maszyny wirtualnej, który obejmuje wszystkie dołączone dyski, jednak większość ludzi używa tego słowa jako synonimu „obrazu delta”, „obrazu różnicowego” lub „obrazu dziecka” podczas omawiania roli pojedynczego VDI w łańcuchu migawek, innym niż podstawowy VDI. Źródło


Po zrobieniu migawki VirtualBox tworzy dysk twardy różnicowy dla każdego normalnego dysku twardego skojarzonego z komputerem, dzięki czemu po przywróceniu migawki zawartość wirtualnych dysków twardych maszyny wirtualnej można szybko zresetować, po prostu usuwając istniejące wcześniej pliki. Źródło

Można sobie wyobrazić, jak to może być przydatne, gdy trzeba utworzyć wiele „gałęzi” z jednego obrazu stanu - każda VDI migawki będzie zawierać tylko różnice dodane przez tę migawkę, a nie wszystko, co istnieje w podstawowym VDI. Rozważmy na przykład dysk podstawowy (migawkę) z 50 GB plików i wieloma migawkami podrzędnymi, z których każdy dodaje 10 GB unikalnych danych. Każde dziecko VDI będzie tylko tak duże, jak jest to konieczne do przechowywania ich 10 GB danych, a nie 50 GB z dysku podstawowego.

Jeśli otworzysz Virtual Media Manager ( Plik Virtual Media Manager w systemie Windows) można wyświetlić widok drzewa wirtualnych dysków twardych na karcie „Dyski twarde”. Tutaj możesz zobaczyć dyski i ich dzieci. Kliknięcie dysku spowoduje wyświetlenie jego informacji.

Na przykład mam dysk, którego informacje są wyświetlane:

Foo.vdi
Rodzaj: Normalna
Lokalizacja: C: VirtualBox VMs Foo Foo.vdi
Szczegóły przechowywania: Dynamicznie przydzielone miejsce do przechowywania
Dołączony do: Foo (Bar)

Najdalszą informacją potomka jest:

{bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb} .vdi
Rodzaj: Różnice
Lokalizacja: C: VirtualBox VMs Foo Snapshots
Szczegóły dotyczące przechowywania: przydzielane dynamicznie różnicowanie przechowywanie
Dołączony do: Foo

W tym przykładzie „Foo” to nazwa maszyny wirtualnej, a „Bar” to nazwa pierwszej migawki. „{bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb}” to UUID ostatniego dysk .

Maszyny wirtualne .vbox plik zawiera dokument XML opisujący maszynę wirtualną, w tym jej migawki. The VirtualBox węzeł zawiera Machine węzeł potomny, który może zawierać Snapshot węzły. The stateFile atrybut w tym węźle określa .sav plik skojarzony z tą migawką, jeśli istnieje.

The .sav plik jest zasadniczo zrzutem pamięci, chociaż prawdopodobnie przechowywane są również inne informacje o procesorze (takie jak rejestry). Źródło
O dziwo, mówi to również .sav pliki nie mają nic wspólnego z migawkami, co jest niepoprawne.


ZA .sav plik zawiera zawsze kompletny stan gościa na pewno   punkt w czasie. To robi nie zawierać wszelkie informacje przechowywane na zewnętrznych   urządzenia takie jak dyski wirtualne. Kiedy tworzona jest migawka, a .sav plik jest   utworzony zawierający stan maszyny wirtualnej wymagany do przywrócenia gościa   stan na ten czas i dla każdego tworzony jest nowy różnicowy obraz dysku   dysk wirtualny (który nie jest dołączony w specjalnym trybie, aby temu zapobiec).   Od tej chwili żądania zapisu dysku gościa przechodzą do obrazu różnicowego. Gdy   przywracasz migawkę, obraz różnicowy jest usuwany, więc wszystkie zmiany   na dysk po utworzeniu migawki zostaną utracone. Źródło

Aby bezpośrednio odpowiedzieć na twoje pytania:

[...] SAV jest używany dla bieżącego stanu. Czy to prawda?

Po zapisaniu stanu urządzenia bieżący stan w tym czasie jest zapisany w a .sav plik.

[...] powinniśmy mieć tylko jeden plik SAV (ponieważ dla maszyny wirtualnej będzie tylko jeden stan bieżący)

Jasne, jest tylko jeden obecny stan, ale .sav pliki utworzone przez migawkę zawierają poprzedni stany.

[...] Znalazłem 2 pliki SAV (i 2 VDI). Czy to normalne [...] ?


Czy migawka reprezentowana jest przez jeden z każdego typu?

To normalne. Zakładam, że możliwe jest posiadanie wielu migawek bez .sav pliki, jeśli migawki zostały wykonane, gdy maszyna wirtualna nie była uruchomiona, ponieważ nie ma stanu wykonania (lotnego) do zapisania. Jeśli twoja maszyna działa, gdy robisz zdjęcie, a .sav plik jest tworzony.

Jaka jest naprawdę różnica między SAV a VDI?

ZA .vdi plik to dysk wirtualny zawierający trwałą pamięć. ZA .sav plik zawiera zrzut informacji o stanie lotnym, który umożliwia wznowienie stanu komputera. Razem ułatwiają pełne przywrócenie stanu maszyny wirtualnej, który został utworzony za pomocą migawki.

Oba mogą być używane niezależnie od siebie. .sav pliki są również używane po zamknięciu maszyny wirtualnej i zapisaniu jej stanu. .vdi pliki mogą być również używane jako trwałe przechowywanie poza zakresem snapshotingu.

Spooky
źródło
Przepraszam, jeśli zawierało to zbyt wiele dodatkowych informacji i amp; ndash; Chociaż większość z nich mogła nie być konieczna do udzielenia odpowiedzi na twoje pytanie, pomyślałem, że może to być także przydatne dla Googlerów.
Spooky
1
Zdecydowanie jest to jedna z dłuższych odpowiedzi, które otrzymałem, ale myślę, że zrozumiałem: VDI to trwała pamięć (dysk twardy maszyny wirtualnej), podczas gdy SAV zawiera stan ulotny (RAM maszyny wirtualnej).
user453441