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.