Program GUI do utworzenia obrazu kopii zapasowej partycji nie większego niż jego pliki?


8

Lubię „Disks” ( gnome-disk-utility) i jego zdolność do tworzenia kopii zapasowych partycji systemowych.

wprowadź opis zdjęcia tutaj

Ale w pewnym momencie przeczytałem w Internecie o programie, który stworzyłby takie obrazy, które nie są tak duże jak cała partycja, ale tylko tak duże jak pliki na niej zawarte. Teraz nie mogę go znaleźć ponownie.

Czy istnieje takie narzędzie?


3
Może CloneZilla?
muru

1
Jak widzę, clonezilla może być uruchamiana tylko jako sesja na żywo. Zredagowałem, aby określić, że szukam programu, który można zainstalować i uruchomić z systemu operacyjnego, używam wielu Ubuntus i wolę to rozwiązanie

Odpowiedzi:


9

Poniższa odpowiedź używa TUI , a nie GUI :

W zależności od przypadku użycia (używam go do tworzenia kopii zapasowych systemu) możesz użyć CloneZilla Live . Może tworzyć:

  • rzadkie obrazy,
  • skompresowane obrazy:
    • całe systemy,
    • całe dyski
    • po prostu pojedyncze partycje.

Główne zalety to:

  • że uruchamia się z:
  • posiada własny system operacyjny (oparty na Ubuntu)
  • może tworzyć dokładne kopie zapasowe systemu na zimno, które można łatwo przywrócić.

Oprócz tych wszystkich gadżetów może także kopiować MBR.

Jeśli kopia zapasowa systemu nie jest tym, czego szukasz, możesz nadal korzystać z technologii, na której opiera się CloneZilla partclone.


1
Zredagowałem, aby określić, że szukam programu GUI, który można zainstalować i uruchomić z systemu operacyjnego, używam wielu Ubuntus i wolę to rozwiązanie

jak zainstalować pyclonezilla? nie ma jednego wpisu w Google dla tego pytania

1
Byłem zbyt szybki, aby wskazać GUI: To nie działa. Tylko CLI! Usunę moją odpowiedź po pozostawieniu notatki, że ją przeczytałeś.
Fabby

1
Ponieważ wydaje się, że nie ma programu spełniającego oba warunki: 1) Posiadaj GUI przypominające dyski; 2) Utwórz obraz dysku tak duży, jak zajęte miejsce, usunięcie odpowiedzi nie ma sensu. Odpowiedzi CLI na pytania dotyczące GUI są zwykle przedstawiane tutaj i często akceptowane, bez uzasadnionego powodu. Próbowałem tylko naciskać na to, czego chciałem.

1
: DI zrobiłby kopię zapasową, a potem się skurczył ... ;-)
Fabby

4

Osiąganie mniejszych obrazów dysku odbywa się zwykle poprzez nie kopiowanie zerowych bloków z początkowego systemu plików na obrazie. Koncepcja jest nazywany rzadki przestrzeń w plikach lub puching otworów w plikach, a system plików host ma go wspierać. nieco wiersz poleceń, ale spróbuj tego:

sudo apt-get install virt-manager qemu-utils 

A potem po instalacji możesz użyć:

qemu-img convert -f raw -O raw  /dev/sdX /home/<user>/Ubuntu.img

Spowoduje to utworzenie rzadkiego (zera w pliku nie są zapisywane) obrazu dysku. gdzie -f = format, -O format wyjściowy. sdX na dysku (można również używać partycji). Program ma zaawansowane funkcje, takie jak migawki i różne formaty wyjściowe (vdi, vmdk itp.). Twoje miejsce gdzie zapisać obraz musi obsługiwać plików rzadkich , albo rozmiar będzie tak duża, ponieważ zera w tej partycji zostaną zapisane na dysku. Aby w pełni go wykorzystać, uruchom program taki jak sfilllub zerofreeznaleziony w apt na partycji, ponieważ wolne miejsce nie zawsze oznacza zero miejsca, a chcesz zmaksymalizować ilość miejsca zerowego w systemie plików.

Dodatkowe punkty ninja. Ponieważ linux myśli o dyskach jako o „plikach”, możesz również użyć zwykłego cp, pod warunkiem, że twoja partycja wyjściowa, na której zaparkowałeś plik, zna rzadkie pliki.

sudo cp --sparse=always /dev/sdX /home/<user>/Ubuntu.img

Który utworzy surową kopię za pomocą cp ..

Przykłady systemów plików, które obsługują rzadkie: ext4, btrfs, xfs, ntfs (ntfs-3g może jednak nie zezwalać na rzadkie zapisy).

Przykłady systemów plików, które nie: fat32.


Zredagowałem, aby określić, że szukam programu GUI, który można zainstalować i uruchomić z systemu operacyjnego, używam wielu Ubuntus i wolę to rozwiązanie

jakie byłoby polecenie przywrócenia obrazu?

Zwykle w farmach serwerów nie mamy tak dużo opcji GUI i budujemy skrypty wokół tych poleceń. To dlatego linia poleceń jest zwykle bardziej kompletna / wydajniejsza na Uniksie. Nawrócenie jest równie łatwe, jak odwracanie parametry .. sudo cp /home/<user>/Ubuntu.img /dev/sdX, lub jeśli masz ochotę dd, sudo dd if=/home/<user>/Ubuntu.img of=/dev/sdX. To samo dotyczy konwersji qemu-img. Jeśli powiesz, chcesz posadzić maszynę wirtualną na prawdziwym sprzęcie. Kiedy odpisze , zapisze zera na dysku, dzięki czemu nie będzie to rzadkością , ponieważ musi odpowiednio adresować geometrię partycji.
user283885,

1
Rozumiem twój punkt widzenia i przepraszam, że nie znam żadnych narzędzi GUI odpowiadających twoim potrzebom. Pomyślałem, że przynajmniej coś po tym może ci się przydać.
user283885,

1
Witamy po tej stronie ogrodzenia. Powodem, dla którego wskazałem farmy serwerów, jest to, jak ostatnio odbywa się większość prac programistycznych. Na przykład qemu-img to narzędzie z dużo większego projektu (openstack, rozpoczęty przez redhat, rackspace i nasa). Masz te duże firmy, które budują oprogramowanie dostosowane do ich centrów danych, a potem masz facetów takich jak my, którzy wkładają w to wysiłek. Jasne, że działa, ale w najlepszym razie jest spartański. Na razie najlepsze, co mogę zrobić, to dzielić się wiedzą z innymi.
user283885,

4

Ponieważ wydaje się, że nie ma żadnego programu, który sam w sobie spełniałby dwa warunki:

1) Posiadaj GUI przypominające dyski;

2) Utwórz obraz dysku tak duży, jak zajęte miejsce,

Myślałem o dość prostym obejściu, ale jednym z dwóch programów GUI, bardzo powszechnym w Ubuntu:

Jeden byłby tymi samymi „dyskami” (gnome-disk-utility) , używanymi do tworzenia obrazu kopii zapasowej danej partycji, a drugi byłby partycjonowany, aby maksymalnie zmniejszyć partycję przed utworzeniem obrazu kopii zapasowej, oraz aby potem zmienić rozmiar z powrotem na oryginalny .

Nie widzę żadnych niedogodności w takiej operacji: zmniejszenie partycji do minimum zajmie tylko kilka minut (około minuty na 10 GB) i utworzy puste miejsce po prawej stronie. Po utworzeniu kopii zapasowej dysku za pomocą „Dysków” za pomocą Gparted można zmienić rozmiar partycji z powrotem w prawo do pustego miejsca aż do stanu początkowego, a to zajmie tylko kilka sekund.

Testowany na partycji z instalacją Ubuntu:


1
Właśnie otrzymałem głos na moją odpowiedź, czytając, czy kiedykolwiek znalazłeś idealną odpowiedź, i wydaje się, że to ta! Dlaczego tego nie akceptujesz?
Fabby

2

Edycja : Nie zadziała to dobrze, jeśli pliki usunięte z systemu plików są nadal obecne na partycji, więc najpierw trzeba wyczyścić wolne miejsce na partycji docelowej:

  1. Zamontuj partycję docelową
  2. Biegać dd if=/dev/zero of=<path_to_partition_volume>/file.dd && rm <path_to_partition_volume>/file.dd
  3. Odmontuj partycję docelową

Następnie:


Możesz czytać cały blok partycji po bloku ddi wysyłać wszystko do narzędzia kompresji, takiego jak gzip. Najprawdopodobniej każde narzędzie do kompresji, nawet używając najszybszych / najniższych ustawień kompresji, skompresuje całą wolną przestrzeń podczas procesu.

Z gzip:

sudo dd if=/dev/sdX | GZIP=-1 gzip >/path/to/backup.gz

( GZIP=-1Tymczasowo ustawia zmienną środowiskową GZIP, aby -1osiągnąć największą / najmniejszą kompresją)

Aby przywrócić kopię zapasową:

gzip -d /path/to/backup.gz >/dev/sdX


Co sądzisz o zmniejszeniu partycji za pomocą gparted przed użyciem Dysków do wykonania kopii zapasowej?

@cipricus Lepiej poczekaj, aż ktoś powie coś na ten temat, ponieważ nie jestem pewien, nawet trudny, myślę, że powinno być w porządku zrobić to w ten sposób
kos

@kos Znalazłem polecenie ddrescue, które dało obraz bez wysiłku, ale w ogóle nie zmniejszyło to rozmiaru pliku. Obrazowałem partycję NTFS na ext4, które wydają się działać z rzadkimi plikami, ale rozmiar pliku .img pokazany w Nautilusie dokładnie odpowiadał rozmiarowi partycji źródłowej. Wygląda więc na to, że nadal trzeba się bawić przy gParted?
PhilJ

1

Co powiesz na korzystanie ddrescuez -Sopcji?

ddrescue -S /dev/sdXY /<path_to_backup>/backup.img

Spowoduje to sklonowanie każdego bloku, ale zero bloków znalezionych w urządzeniu blokowym /dev/sdXYdo/<path_to_backup>/backup.img


Brzmi wspaniale. Ale jakie byłoby polecenie przywrócenia obrazu?

@cipricus Dowiedziałem się, że jest to w dużej mierze zależne od systemu i nie będzie działać na każdej dystrybucji, więc dodałem prostszą, ale może trochę wolniejszą metodę, aby osiągnąć to samo bez pobierania dodatkowego oprogramowania, która jest metodą use
kos

0

Nie można go użyć do wykonania kopii na mniejszy dysk. Gdy mam dysk 64 Gb, który jest wypełniony danymi tylko w 10%. Chciałbym móc skopiować to do pliku obrazu 6 Gb, który z kolei mogę skopiować na dysk 16 Gb, a następnie rozszerzyć go do 16 Gb

Jedyne, co wiem teraz, to użycie GParted do zmniejszenia oryginału, niż skopiowanie go, a następnie zmiana rozmiaru obu. Bardzo ryzykowna operacja, ponieważ musisz zmniejszyć i zmienić rozmiar oryginału.


0

Możesz użyć rsyncdo wykonania kopii zapasowej tylko plików z partycji na inną partycję. Lub tarutworzyć skompresowane archiwum zawierające wszystkie pliki.

Oba prawdopodobnie mają (wiele) GUI, ale nigdy nie korzystałem z nich osobiście.


0

Clonezilla może być całkiem przyjazna. Live CD nie wymaga użycia wiersza poleceń - z przyjemnością nazwałbym go GUI, chociaż nie używa myszy - i myślę, że domyślne ustawienia są w wielu przypadkach OK. Problem polega na tym, że nie zostałeś wyraźnie przywołany: nie wydaje się, aby został zaprojektowany jako coś, co można zainstalować na dowolnym systemie Linux. Jest specjalnie zaprojektowany dla Debiana / Ubuntu, a Live CD jest najprostszym sposobem na uruchomienie.


Clonezilla / partclone używają klonowania uwzględniającego system plików i używają własnego formatu skompresowanego obrazu.

Istnieje jeszcze inna możliwość, bez GUI, generowania prostych (montowalnych) plików rzadkich, która nie polega na wykrywaniu zerowych sektorów.

virt-sparsify /dev/your-block-device backup.img

Jeśli / tmp jest ramdyskiem, ostrzeże, że potencjalnie potrzebuje więcej miejsca na pliki tymczasowe. Może być konieczne dodanie opcji --tmp /var/tmp.


Odkryłem, że metoda virt-sparsify z pewnością zmniejsza rozmiar pliku .img, ale wymaga bardzo dużego katalogu / tmp, mniej więcej równego rozmiarowi obrazowanej partycji. Dał komunikat ostrzegawczy, ale kiedy wypróbowałem pokazaną powyżej opcję --tmp (różniącą się w zależności od konfiguracji), dałem mi> nieznaną opcję `--tmp 'Nie jestem teraz pewien, jak zabrać się za przekierowywanie wyjścia / tmp w inne miejsce a wszelkie porady na ten temat byłyby pomocne dla mnie i dla przyszłych czytelników tego postu.
PhilJ

Określ virt-sparsify --version? Opcja jest udokumentowana na mine ( man virt-sparsify) ... Nie mogę przysiąc, że jej użyłem, ale przynajmniej mój obecny /tmpto tmpfs. Jeśli możesz użyć --in-place, wygląda na to, że pozwoli to uniknąć tymczasowego przechowywania. Wreszcie możesz spróbować TMPDIR=/var/tmp virt-sparsify .... Dokumenty dla mojej wersji mówią, że właśnie tak musisz ustawić katalog tmp dla wersji wcześniejszych niż 1.28.
sourcejedi
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.