Backup systemu i kopiowanie dysków.

Dyskusje dotyczące działania obsługi programu LinuxCNC
Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 9323
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Backup systemu i kopiowanie dysków.

#1

Post napisał: tuxcnc » 26 paź 2013, 16:34

Przy okazji kłopotów kol. Kamara z jednym z jego komputerów, przypomniałem sobie że ciągle zapominam podzielić się z Wami skryptem do backupu Linuksa.
Oprócz backupu może też on przydać się do przenoszenia systemu, instalowanych programów, danych czy ustawień na inny dysk.
Otóż zasadniczo mamy dwa rodzaje backupu, pełny i przyrostowy.
Pełny to oczywiście skopiowanie wszystkiego jak leci, przyrostowy to skopiowanie tylko tych plików które zmieniły się od ostatniego pełnego backupu.
Skrypty które robią oba rodzaje backupu znalazłem kiedyś w internecie i coś tam w nich pozmieniałem, teraz to już nie bardzo pamiętam co.
Wszystko jest czytelne dla człowieka i nawet bez wielkiej wiedzy z zakresu Linuksa można sobie dostosować do swoich potrzeb.
W takiej wersji jak w załączniku działa następująco :
1. Archiwum rozpakowujemy do głównego katalogu, czyli pliki będą w /backup .
2. Zmieniamy zawartość pliku /backup/output wedle własnych upodobań.
Ten plik ma zawierać ścieżkę do istniejącego katalogu, w którym chcemy przechowywać kopie bezpieczeństwa.
Ważne żeby skryptu nie zapętlić, czyli żeby nie próbował robić backupu z robionego właśnie backupu.
Zwykle i tak kopię bezpieczeństwa robi się na innym dysku, albo przynajmniej na innej partycji, która oczywiście nie jest backupowana razem z systemem.
No właśnie, są katalogi które trzeba z backupu wyłączyć, bo nawet jak by się w ogóle udało je zbackupować, to kompletnie nie wiadomo po co.
To są katalogi na których są zamontowane inne systemy plików, czyli /dev /proc /sys /mnt /run /media i być może jeszcze inne, zależy od konkretnego systemu i co administrator nakombinował.
Katalogi które są wyłączone z backupu są wpisane w plik /backup/exclude .
Można ten plik wyedytować jeśli taka potrzeba.
3. Po skonfigurowaniu jak wyżej, uruchamiamy skrypt basha /backup/backup-full .
4. Jeśli w systemie dokonaliśmy istotnych zmian, to uruchamiamy /backup/backup-incremental.
W ten sposób tworzy się ciąg plików, które możemy wykorzystać wszystkie, albo przywrócić system tylko do pewnego momentu.
5. Przywrócenie systemu polega najzwyczajniej na wyczyszczeniu (ewentualnie sformatowaniu) partycji z systemem i rozpakowaniu tam archiwów z kopiami bezpieczeństwa.
Wykonać to można oczywiście tylko z innego systemu, ale to może być nawet Live z płyty czy USB i to nawet zupełnie inna wersja czy dystrybucja.

Oczywiście kopię bezpieczeństwa można rozpakować do dowolnej partycji na dowolnym dysku, byle by tylko partycji linuksowej.
System da się przenieść np. z reiserfs na ext4, bo przecież kopiujemy tylko pliki, nie wnikając w system plików.

Może się oczywiście tak przydarzyć, że system po przywróceniu nie będzie się chciał zbootować.
Polecam w takim przypadku narzędzie super-grub2-disk .
Po uruchomieniu systemu z pomocą powyższego, robimy na przykład :

Kod: Zaznacz cały

sudo -i
grub-install /dev/sda
update-grub
Po tej operacji system powinien się już bootować bez problemów.

W przypadku posiadania wielu komputerów z tym samym tylko inaczej skonfigurowanym systemem, możemy zrobić taki numer, że robimy pełny backup świeżo zainstalowanego systemu z doinstalowanymi pakietami które będą używane wszędzie.
Potem kończymy instalację danej wersji i robimy backup przyrostowy.
Potem można przywrócić pełny backup i doinstalować kolejną wersję.
Tak otrzymamy tylko jeden plik o objętości kilku gigabajtów i kilka małych plików dla każdej z wersji.
Zainstalowanie określonej wersji na danej partycji to oczywiście rozpakowanie tam archiwum pełnego backupu i wybranego archiwum backupu przyrostowego.

.
Załączniki
backup.tar
(10 KiB) Pobrany 193 razy



Tagi:

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 4463
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: Backup systemu i kopiowanie dysków.

#2

Post napisał: pitsa » 26 paź 2013, 19:21

W tar można dopisać -j aby również pakować w locie, a nie tylko archiwizować.
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 9323
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Backup systemu i kopiowanie dysków.

#3

Post napisał: tuxcnc » 27 paź 2013, 00:30

pitsa pisze:W tar można dopisać -j aby również pakować w locie, a nie tylko archiwizować.
Można, ale jak spróbujesz spakować 10 GB to zwątpisz w sens takiego rozwiązania.

.

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 4463
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: Backup systemu i kopiowanie dysków.

#4

Post napisał: pitsa » 27 paź 2013, 06:39

A bzip2 jest wolniejszy w pakowaniu od gzipa? Pakowałem tak pracownie komputerowe ale przez gzip -9 - pakowały się, raportowały i wyłączały się same. Po parę GB szło na starszych kompach ze trzy kwadranse. Jak ktoś chce szybciej to zawsze może wyregulować sobie stopień kompresji i dane z tara przesłać przez " | gzip -1" z kompresją na bloki 100k.
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 9323
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Backup systemu i kopiowanie dysków.

#5

Post napisał: tuxcnc » 27 paź 2013, 10:26

pitsa pisze:Po parę GB szło na starszych kompach ze trzy kwadranse.
Próbujesz dyskutować z faktami.
A fakty są następujące :
Komputer - Samsung NC110, Intel Atom N455 1,6 GHz jeden rdzeń HT, 2 GB DDR3, szybki dysk 500 GB max. transfer 120 MB/s.
Wczoraj zainstalowany Ubuntu 14.04, trochę rzeczy doinstalowałem, ale do pełnej funkcjonalności jeszcze sporo trzeba będzie dodać.
Pliki zajmują 7,773 GB i taki jest oczywiście rozmiar nieskompresowanego archiwum tar.
Przy zapisie backupu na drugiej partycji tego samego dysku, operacja zajęła dziesięć minut i osiem sekund.
To daje około 12,78 MB/s, co nie powinno dziwić, bo dane wędrują po tym samym dysku i jeszcze są po drodze obrabiane.
Po dodaniu opcji -j , jak sugerowałeś, rozmiar skompresowanego archiwum wyniósł 4,048 GB , co stanowi dość wątpliwą oszczędność, bo przecież pełnego backupu nie robi się co tydzień.
Ewentualna korzyść jest taka, że na jednowarstwowe DVD się zmieści, jeśli ktoś ma jeszcze zaufanie do tych nośników, bo ja straciłem je dawno ...
Natomiast operacja trwała dwie godziny, trzy minuty i sześć sekund , co daje około 1 MB/s i to już jest kompletna masakra.
Dodać należy, że to skompresowane archiwum trzeba jeszcze będzie rozkompresować przed użyciem.
Krótko mówiąc same kłopoty, a oszczędność iluzoryczna.
Życie jest krótkie, a dyski tanie.

Z ciekawostek to najważniezą rzeczą jest obciążenie systemu przez program bzip2.
Komputer w czasie testu nie był niczym specjalnie obciążany, zasadniczo oprócz bzipa wszystkie procesy sobie spały.
Otóż bzip2 wykorzystuje raptem kilka megabajtów pamięci i jeden logiczny rdzeń procesora.
Ponieważ procesor był HT, to jego wykorzystanie można określić na 50% - bzip2 i 15% - inne procesy.
Brakujące 35% mocy obliczeniowej nie było po prostu wykorzystywane.
Czyli krótko mówiąc można mieć ośmiordzeniowego Xeona HT, 32 GB RAM, a i tak backup się zrobi tak szybko jak na starym Pentium 3 ....
Oczywiście są programy robiące kompresję i wykorzystujące wiele wątków procesora, ale to już inny temat ...

.

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 4463
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: Backup systemu i kopiowanie dysków.

#6

Post napisał: pitsa » 30 paź 2013, 13:12

No tak, mając duży dysk, a nie złomki jakimi się zajmowałem, rzeczywiście szkoda zachodu.

Jednak rozpakowanie, jak pamiętam, już nie było takie spowolnione. :)
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”