Próbuję użyć dysku twardego virtualbox na kilku komputerach, używając synchronizacji Dropbox (popularne narzędzie chmurowe). Zakładam, że żadne dwie maszyny nie otworzą tego samego dysku w tym samym czasie.
Aby zmniejszyć transfer danych, chciałbym użyć tylko różnicowego dysku twardego, który będzie przechowywać niewielką ilość „dokumentów”, a nie synchronizację całego dysku twardego (nie ufam, że synchronizacja różnicowa Dropbox jest bardzo skuteczna) . Korzystając z tej oficjalnej dokumentacji VirtualBox , podjąłem następującą sztuczkę, która tylko częściowo mnie satysfakcjonuje.
- Zbuduj napęd różnicowy za pomocą triku:
- Ustaw dysk w tryb multiattach (patrz powyższa dokumentacja)
- Dokonaj prostej zmiany na dysku gościa, który utworzy plik diff
- Przywróć (używając VBox Media Manager, Plik> Virtual Media Manager) napęd podstawowy do trybu „normalnego” (potrzebuję tego, aby móc podłączyć go do kilku komputerów)
- Odłącz główny dysk od maszyny i zamiast tego podłącz dyferencjał
- To wymaga dodatkowej sztuczki podczas dołączania do nowego komputera: dołącz, a następnie odłącz główny, a następnie dołącz diff, w przeciwnym razie VirtualBox nie rozpozna GUID dysku
Ta sztuczka spełnia swoje zadanie: ponieważ pracuję tylko z dyskiem różnicowym, baza nigdy nie jest modyfikowana, a zatem nigdy nie jest synchronizowana przez sieć. Zła część jest jednak, że nawet jeśli niewiele rośnie w ilości przechowywanych danych , napęd diff jest rosnąca w przestrzeni VDI (Virtual plik Dysku na hoście) wykonuje się na komputerze , ponieważ, jak fragmenty gość systemowe i pliki porusza . I tak zaczynam synchronizować ciągle powiększający się dysk twardy diff, tracąc zalety posiadania diff.
Problem polega na tym, że chcę, aby sposób na regularne „scalanie” lub „defragmentację zmian” na diff vdi utrzymywał małą synchronizację. Mogę sobie pozwolić (choć nie chcę) na pełną synchronizację głównego vdi za każdym razem, gdy dokonam tego scalenia. Ale jedynym sposobem, jaki wymyśliłem, jest odtworzenie pliku różnicowego vdi przy użyciu tego samego procesu i przywrócenie plików na tym dysku za pomocą pewnego rodzaju kopii zapasowej. Niezbyt przydatny. Czy ktoś ma lepszy pomysł?
Oczywiście istnieje inny sposób pracy tylko we współdzielonym katalogu (między hostem a gościem), ale będzie on wymagał dodatkowej konfiguracji (wiele dowiązań symbolicznych na gościu) i nie chcę, aby użytkownicy hosta mieli z tym problem pliki gości.
Czy byłem wystarczająco jasny?
Odpowiedzi:
VBoxManage modyfikuj - compact wycina wszystkie wyzerowane bloki za pomocą odpowiedniego narzędzia (patrz instrukcja). Nie jestem pewien, czy podłączenie oddzielnego dysku dla dokumentów (może zapisu ) byłoby lepsze dla twoich potrzeb.
źródło
Jeśli wszystkie systemy operacyjne hosta to Mac OS 10.5+, możesz użyć mechanizmu Sparse Bundle, który dobrze nadaje się do przyrostowej synchronizacji / tworzenia kopii zapasowych za pomocą narzędzi takich jak Time Machine lub rsync: http://en.wikipedia.org/wiki/Sparse_image# Sparse_Bundle
Używam go przez Dropbox z woluminem 3 GB i działa dobrze. Oczywiście Twój dysk VM ma prawdopodobnie co najmniej 10-20 GB, więc pierwsza synchronizacja będzie bardzo wolna. Może to zostać przyspieszone przez Dropbox z synchronizacją LAN.
Ponadto, musisz uważać, aby zamontować go tylko raz w danym momencie (jak powiedziałeś) i pozwolić na synchronizację po zatrzymaniu maszyny wirtualnej / stanie gotowości.
źródło