Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2015-03-27 15:18:20

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Backup danych przez sieć

Ma ktoś jakiś ciekawy pomysł na zrobienie backupu danych z jednego pc na drugi wykorzystując do tego sieć? Chodzi generalnie o jak najmniejsze zjadanie zasobów systemowych (przepustowość łącza nie gra roli). Do tej pory jechałem na rsync + sshfs ale to jest chyba najgorsze rozwiązanie z możliwych -- może i najbezpieczniejsze ale znowu ta sieć, w której ten backup ma być robiony, jest zaufana i wszelkie szyfrowanie jest zbędne, przynajmniej jeśli chodzi o sam przesył danych przez sieć. Do tego dochodzi ten overhead z samego rsync, który niezbyt miło operuje na plikach co spowalnia drastycznie przesyłanie danych w przypadku gdy plików jest dużo, a ja zamierzam robić sync całych partycji i jest to jakieś  200G na partycję. Gdzieś mi się przez oczy przewineło również zaprzęganie wielu procesów rsync by przyśpieszyć proces kopiowania ale nie byłem w stanie tego odtworzyć u siebie i mi się lekki burdel zrobił na dysku docelowym, na szczęście łatwy do posprzątania. xD

Myślałem też by czasem nie przepuścić tego przez dd ale na necie znalazłem w sumie tylko info jak połączyć dd z ssh, co może i przyśpieszyłoby samo kopiowanie ale trzeba by przesłać całe 200G.

Przestrzeń na docelowym jak i źródłowym dysku jest zaszyfrowana i mi by zależało na pozbyciu się szyfrowania w ssh oraz uniknąć także szyfrowania samych danych przy zapisie. Czyli najlepszym rozwiązaniem chyba to by było puszczenie tego przez nieszyfrowany kanał przy i pomocy dd dane bezpośrednio zapisać na dysku docelowym. Pomijam również kompresję, bo tamten procek ma 2ghz z czego też obniżyłem mu taktowanie do 1ghz by zjadał jedynie 17W. xD Generalnie rzecz biorąc utylizacja procesora na 100% by była przy jakichś 50M/s, choć u mnie laptop i tak max przez sieć potrafi przesłać najwyżej 250mbitów/s (100mbit lan + wifi5g na usb2), czyli nieco ponad 30M/s.

Czy ktoś próbował robić takie cuda? xD

Ostatnio edytowany przez morfik (2015-03-27 15:18:30)

Offline

 

#2  2015-03-27 15:29:38

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Backup danych przez sieć

Rsync bez szyfrowania?

Dużo lźejsze od Rsynca są np Svn, Git albo Mercurial, ale musiałbyś się nieźle nagimnastykować z konfiguracją. xD


Poza tym jak backupuje tylko /etc, konfig kernela i własne skrypty, reszty i tak nie ma po co, bo po prostu nie ma tam nic tajnego.
A do tego Rsync starcza w zupełności.

Jeśli natomiast masz problem z partycją na dane, np /home, to albo RAID1 lokalnie, albo np DRBD.

DD możesz puścić nawet przez netcaty, ale ze stabilnością jest średnio.

Ja bym raczej na noc zapuścił Rsynca i rano zobaczył, co wyszło, albo np skołował obudowę na dyzia - z portem USB (czy wsadził zapasowego dyzia prosto do kompa),  i skopiował w kompie na linii dyzio => dyzio.

Ostatnio edytowany przez Jacekalex (2015-03-27 15:34:18)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2015-03-27 16:03:42

  Pavlo950 - człowiek pasjonat :D

Pavlo950
człowiek pasjonat :D
Zarejestrowany: 2012-02-20
Serwis

Re: Backup danych przez sieć

Ja nie próbowałem, nie znam też rsynca, ale może zamiast sshfs to ftp?

Offline

 

#4  2015-03-27 16:05:52

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Backup danych przez sieć

Jeśli chodzi o system, to ja mam 22M paczkę, w której mam tylko zmienione pliki konfiguracyjne (no i kopię systemu na innej partycji xD), poza tym, ja i tak już nigdy nie mam zamiaru wgrywać tej paczki na nowy systemie -- już raz mi to rozwaliło system, bo debian nie trzyma numerów grup i użytkowników i w zależności od kolejności wgrywania pakietów, te numerki ulegają zmianie -- kto to wymyślił? Ponad 65k numerów do dyspozycji i nie można tego ustandaryzować. xD

A te dane co chce sobie backupować to one nie wiele mają wspólnego z systemem, a tam jest tyle rzeczy, że gdyby mi to zdechło, to nie wiedziałbym w co łapy wsadzić by przywrócić to do stanu używalności. xD

Raid mnie za bardzo nie zadowala -- to laptop w końcu. Poza tym, taki obszerniejszy sync mi wystarczy raz na kilka tygodni.

Rsync to ja robię cały czas póki co ale to trwa niemiłosiernie długo --  mam do dyspozycji transfer teoretycznie 1G/s a leci mi to z taką prędkością:

Kod:

44,273 100%   85.61kB/s    0:00:00 (xfr#41005, ir-chk=1116/129141)

Im większy plik tym lepiej. Dlatego najlepiej to by przesyłało pliki 30-40M przy pomocy tego rsync, czyli tyle ile jest ten mój staroć w stanie obsłużyć. Ale w przypadku setek czy tysięcy tych małych plików, to rsync przez sieć ssie. xD

A co do samego przełączania dysków, to mógłbym to robić ale to mało praktyczne. Póki co to nadaje zwykle przez ścianę przez wifi i tak latać z dyskiem na usb nie uśmiecha mi się za bardzo. xD

Co do DRBD, to poszukam info o tym, a z kolei sam git to może być ciekawe rozwiązanie i też nad tym pomyślę.

FTP? Uprawnienia chyba szlag trafi przy takim rozwiązaniu.

Ostatnio edytowany przez morfik (2015-03-27 16:08:31)

Offline

 

#5  2015-03-27 16:10:59

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Backup danych przez sieć

1795

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:14:44)

Offline

 

#6  2015-03-27 16:20:34

  rulezdc - Członek DUG

rulezdc
Członek DUG
Skąd: Tarnowskie Góry
Zarejestrowany: 2007-05-22

Re: Backup danych przez sieć

a co nfs albo iscsi nie bylo lepszym rozwiazaniem lub gfs2.
jest parallel nfs ktory mozne znacznie przyspieszyc kopiowanie.
mozna rowniez zobaczyc baclula, amanda

Offline

 

#7  2015-03-27 17:31:31

  Pavlo950 - człowiek pasjonat :D

Pavlo950
człowiek pasjonat :D
Zarejestrowany: 2012-02-20
Serwis

Re: Backup danych przez sieć

[quote=morfik]Rsync to ja robię cały czas póki co ale to trwa niemiłosiernie długo —  mam do dyspozycji transfer teoretycznie 1G/s a leci mi to z taką prędkością:

Kod:

44,273 100%   85.61kB/s    0:00:00 (xfr#41005, ir-chk=1116/129141)

[/quote]
Jeśli jest to backup tylko w jedną stronę, to czemu nie wykorzystasz [b]cp[/b] i [b]ssfs[/b]? Pliki się nadpiszą, kopiowanie będzie (chyba) szybsze i uprawnienia zostaną.

Offline

 

#8  2015-03-27 18:44:29

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Backup danych przez sieć

Jeśli jest to backup tylko w jedną stronę, to czemu nie wykorzystasz cp i ssfs? Pliki się nadpiszą, kopiowanie będzie (chyba) szybsze i uprawnienia zostaną.[/quote]
Zobacz jak to by wyglądało. Pierw wyciągasz dane i przesyłasz je via sshfs — tu masz pierwsze szyfrowanie danych. Następnie po odszyfrowaniu tych danych, zapisujesz je na dysk i tu ponownie je szyfrujesz, Mój stary PC nie wyrobi przy tym. xD Poza tym, takie reszyfrowanie jest zwyczajnie bez sensu. Dużo szybciej by poszło zrobić kopię całego dysku przy pomocy dd i ją przesłać xD

Ta bacula wygląda milo, tylko chyba ktoś w debianie zapomniał o aktualizacji pakietów. xD W każdym razie rzucę sobie na to okiem później.

NFS, w sumie fakt, to taki sshfs bez szyfrowania, tylko strasznie dużo błędów mi wyrzuca. Jeden typ błędu obszedłem via --omit-link-times --omit-dir-times ale nie wiem czy to jest bez znaczenia dla samego kopiowania. Inny typ to:

Kod:

rsync: mkstemp "" failed: Permission denied (13)

I nie mam pojęcia co z tym zrobić — tego typu błędów nie było przy kopiowaniu via ssh. Swoją drogą to dziwne są te błędy bo dotyczą plików, które mają końcówki typu  .pMyC5U , mimo, że takich plików w ogóle nie ma. Pewnie jakieś tymczasowe pliki, z którymi rsync coś robi.

Tak sobie testuję ten rsync po nfs i strasznie się wlecze, jest z 10x gorzej niż na ssh. xD Zużycie proca na serwie jest w okolicy 2%, dysk ryje tak, że go słychać z drugiego końca pokoju. xD Coś mi wpadło w oczy, że to tak będzie się wlekło i chyba nic się nie da z tym zrobić i generalnie odradza się rsync via nfs.

Ostatnio edytowany przez morfik (2015-03-27 18:51:43)

Offline

 

#9  2015-03-27 20:12:18

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Backup danych przez sieć

Chyba jednak będę robił to na kota. xD Jest to proste i praktycznie nie obciąża procka (15M/s zjada około 55%).

Na serwie się wklepuje:

Kod:

# nc -l -s 192.168.1.166 -p 19000 | dd bs=2M of=/dev/sdb5

a na laptopie:

Kod:

# dd bs=2M if=/dev/sda6 | pv -s 142G | nc 192.168.1.166 19000
9.53GiB 0:11:37 [13.5MiB/s] [>                             ]  6% ETA 2:41:28

Próbowałem to również skompresować dla celów testowych via:

Kod:

# dd bs=2M if=/dev/sda6 | pv -s 142G | bzip2 -c | nc 192.168.1.166 19000
# nc -l -s 192.168.1.166 -p 19000 | bzip2 -d | dd bs=2M of=/dev/sdb5

Ale przy takim obciążeniu przesył spadł do 2M/s. xD

Póki co przez wifi przez ścianę leci około 14M/s także nie jest znowu aż tak źle. Mam nadzieję, że jak się to skończy to nie wipnie mi to całego dysku. xD

Trochę lipa, że całe 142G trzeba przesłać ale przynajmniej będę miał kompletny mirror partycji.

Offline

 

#10  2015-03-27 20:19:37

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Backup danych przez sieć

1798

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:14:47)

Offline

 

#11  2015-03-27 20:33:00

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Backup danych przez sieć

Czyli zostawić tak jak jest i tyle. Choć nie wiem czemu tylko 15M/s leci -- powinno być trochę więcej.

Offline

 

#12  2015-03-27 20:46:12

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Backup danych przez sieć

1799

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:14:49)

Offline

 

#13  2015-03-27 21:08:55

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Backup danych przez sieć

[quote=morfik]Czyli zostawić tak jak jest i tyle. Choć nie wiem czemu tylko 15M/s leci — powinno być trochę więcej.[/quote]
15 MB, to mniej więcej  54GB na godzinę, czyli puszczasz i idziesz spać.
Tylko jak się potem wysypie, to z dd może być jazda, bo tam nie ma za bardzo jak dokończyć sesji.

Ja bym jednak zatrudnił rsynca, tylko jakoś go inaczej oskrypcił, żeby np kilka procesów brało różne foldery, czy coś w tym rodzaju.

A poza tym trzeba było myśleć o backupie, jak na partycji było 2GB a nie 200GB. :D

Ostatnio edytowany przez Jacekalex (2015-03-27 21:09:12)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#14  2015-03-27 21:49:42

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Backup danych przez sieć

Tylko jak się potem wysypie, to z dd może być jazda, bo tam nie ma za bardzo jak dokończyć sesji.[/quote]
Jak nie ma? Załóżmy, że ci się wysypało po 102G, Ustawiasz odpowiednio bs, skip i seek i tak trochę przed dajesz, ja wiem, na 100G i jedziesz dalej. xD Ja już tak robiłem i działało bez problemu, z tym, że na odmontowanym voluminie. No i trzeba pamiętać by ustawić te same parametry w obu linijkach, bo ja raz przez przypadek ustawiłem w jednej bs 8M a w drugiej bs był domyślny czyli 512bajtów chyba, i jak dałem skip i seek w oparciu o różne bs, bo pod koniec kopiowania zadałem sobie pytanie "eee, to ten dysk ma więcej niż 300G?". I tak patrzę 301. 302, a po 320 stwierdziłem, że coś chyba jest nie tak i trochę lipa była bo wgrałem się w połowie dysku, a nie na początku odpowiedniej partycji. xD

Co do samych bs, to prześledziłem od 1 do 16 i w sumie nie widzę żadnej różnicy, zostawiłem 2M, bo nieco szybciej było niż w przypadku pozostałych.

A co do samego skrypcenia, to można by pomyśleć o sumach kontrolnych, czyli zrobić coś co będzie brało 10M wycinki z dysku docelowego i porównywało sumy kontrole z 10M wycinkami z dysku lokalnego, jeśli się będą różnić, to przesłać przez sieć ten wycinek i wgrać go w odpowiednim miejscu. Z tym, że nie mam pojęcia jak to zrobić. xD Gdzieś jakiś program do skanowania w poszukiwaniu badów miał podobny mechanizm ale już nie pamiętam co to było.

Ostatnio edytowany przez morfik (2015-03-27 21:50:34)

Offline

 

#15  2015-03-27 22:06:14

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Backup danych przez sieć

1801

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:14:51)

Offline

 

#16  2015-03-27 22:21:34

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Backup danych przez sieć

A jest sens brać więcej niż  jest w stanie się przesłać przez sieć?

Offline

 

#17  2015-03-27 22:35:46

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Backup danych przez sieć

1802

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:14:53)

Offline

 

#18  2015-03-27 23:25:41

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Backup danych przez sieć

Może faktycznie czasem przydaje się przestawić ten parametr na graniczną wartość odczytu dysku, czyli gdzieś 60-90M, bo wtedy spada ilość prób odczytu i przy tym nie trzeba pozycjonować głowicy 30-40 razy. I tu faktycznie może nieco transfer skoczyć ale czy ja wiem czy znowu aż tak znacznie. Jeśli dysk wykonuje jakieś dodatkowe operacje podczas synchronizowania danych, to ja bym to przestawił na te 100M. Ale jeśli popatrzysz na przykładzie sieci to masz tutaj transfer ledwo 15M i to jest niewiele w porównaniu do 95M (tyle ten dysk wyciąga), także buforowanie więcej danych niż 16M nie ma raczej większego sensu. Gdybym miał tutaj 50M/s, czy 80M/s to wtedy bym nawet i 150M starał się ustawić, bo wtedy dysk może nie nadążyć z odczytem i to faktycznie mogłoby spowolnić transfer i większy bufor by się jak najbardziej w takim przypadku przydał. Zresztą, nawet widać było przy bs= 1 2 4 8 i 16M, że to praktycznie na nic nie wpływało, dysk sam znowu nie był obciążony zatem nie miał problemów z dostępem do danych i transfer był w miarę liniowy i po zakończeniu wyszło w sumie:

Kod:

dd bs=2M if=/dev/sda6 | pv -s 142G | nc 192.168.1.166 19000
 141GiB 2:58:13 [13.6MiB/s] [============================> ] 99%
72644+0 records in
72644+0 records out
152345509888 bytes (152 GB) copied, 10693 s, 14.2 MB/s

I nawet wszsytko działa jak trza. xD

Offline

 

#19  2015-03-28 09:01:25

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Backup danych przez sieć

1803

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:14:54)

Offline

 

#20  2015-03-28 10:32:06

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Backup danych przez sieć

A co do samego skrypcenia, to można by pomyśleć o sumach kontrolnych, czyli zrobić coś co będzie brało 10M wycinki z dysku docelowego i porównywało sumy kontrole z 10M wycinkami z dysku lokalnego, jeśli się będą różnić, to przesłać przez sieć ten wycinek i wgrać go w odpowiednim miejscu. Z tym, że nie mam pojęcia jak to zrobić. xD Gdzieś jakiś program do skanowania w poszukiwaniu badów miał podobny mechanizm ale już nie pamiętam co to było.[/quote]
Przecież Rsync sprawdza sumy md5, między innymi dlatego jest wolniejszy od np dd/nc.

Ostatnio edytowany przez Jacekalex (2015-03-28 17:10:40)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#21  2015-03-28 13:07:28

  guzzi - Członek DUG

guzzi
Członek DUG
Skąd: Asteroida Linux
Zarejestrowany: 2005-03-31

Re: Backup danych przez sieć

rdiff-backup

Offline

 

#22  2015-03-28 18:28:23

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Backup danych przez sieć

[quote=uzytkownikubunt]Szczerze mówiąc na początku rozumiałem to tak, jakby ta maksymalna przepustowość rzędu 14 MB/s mogła być spowodowana odczytywaniem i zapisywaniem danych z/na HDD. Jeśli jednak jesteś pewien, że to sieć jest wąskim gardłem to pewnie nie ma sensu grzebać.[/quote]
Ja mam dwie stare sieciówki podpięte i zbondowane w tym starym pc, w sumie powinny dać 200mbitów, czy tam trochę mniej. Z tym, że tutaj na laptopie słałem to przez wifi5g ale moja karta wifi niby jest na usb3 ale podpięta do portu usb2 i myślę, że więcej przez te porty na tym laptopie nie da się pociągnąć:

[img]http://i.imgur.com/dF9bvxK.png[/img]

Poza tym, to ten adapter wifi coś mi bardzo dużo pakietów w drop daje, być może sterownik nie jest jeszcze dopracowany, w końcu go muszę sam kompilować by w ogóle ta karta działała u mnie. xD

Jacekalex, z tym, że tam można wybrać sprawdzanie po sumach, datach i rozmiarze:

Kod:

 -c, --checksum              skip based on checksum, not mod-time & size

Ja nie korzystałem z -c, jeśli bym spróbował, to by mi pierw przehashował całe 150G a potem przesłał połowę tego i lepiej już po datach i rozmiarach jechać. xD Sam dd ze sprawdzaniem sum by był szybszy pewnie.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.014 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00014 SET CHARSET latin2
0.00006 SET NAMES latin2
0.00119 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.141.21.199' WHERE u.id=1
0.00330 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.141.21.199', 1732705385)
0.00036 SELECT * FROM punbb_online WHERE logged<1732705085
0.00061 SELECT topic_id FROM punbb_posts WHERE id=285169
0.00034 SELECT id FROM punbb_posts WHERE topic_id=27220 ORDER BY posted
0.00039 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27220 AND t.moved_to IS NULL
0.00034 SELECT search_for, replace_with FROM punbb_censoring
0.00172 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27220 ORDER BY p.id LIMIT 0,25
0.00092 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27220
Total query time: 0.00937 s