|
Rozmiar: 3417
Komentarz: + uwaga o arcfour: unsupported
|
← Wersja 8 z 2021-08-24 11:39:25 ⇥
Rozmiar: 3771
Komentarz: * poprawki literówek; + komentarze do polecenia zfs send/recv
|
| Usunięcia zostały oznaczone w ten sposób. | Dodatki zostały oznaczone w ten sposób. |
| Linia 32: | Linia 32: |
| zfs send storage/imap@pelny | mbuffer -s 128k -m 1G 2>/dev/null | ssh -c arcfour __user__@server2 'mbuffer -s 128k -m 1G | zfs receive sda/backup/imap' | # dla sieci Internet export _MBUF="-s 256k -m 512M" # dla sieci LAN export _MBUF="-s 256k -m 1G" # send: # -R r/ownie/z wszystkie ew. dzieci danego zfs-a # # receive # -d u/zyj ca/lego snapshota, ale bez pierwszego cz/lonu (bez nazwy pool-i) # -e u/zyj tylko ostatniego cz/lonu snapshota (jak w opisie dla -d) # -u nie montuj automatycznie # -s mo/zliwo/s/c wznowienia wysy/lania, gdyby wyst/api/ly b/l/edy # -F wymu/s rollback przed uruchomieniem zfs recv # zfs send -R storage/imap@pelny | mbuffer $_MBUF 2>/dev/null | ssh -c aes128-ctr __user__@server2 "mbuffer $_MBUF | zfs receive -deusF sda/backup/imap" |
| Linia 35: | Linia 51: |
| /!\ '''UWAGA''' /!\ Jeżeli ssh wymaga podania hasła, to komunikat w celu jego wpisania zostanie ''przykryty'' przez komunikaty mbuffer o przesyłaniu danych z prędkością 0/0. Tak więc najlepiej jest wykonać kopiowanie z wykorzystaniem kluczy (bez hasła). | /!\ '''UWAGA''' /!\ Jeżeli ssh wymaga podania hasła, to komunikat w celu jego wpisania zostanie ''przykryty'' przez komunikaty '''mbuffer''' o przesyłaniu danych z prędkością 0/0. Tak więc najlepiej jest wykonać kopiowanie z wykorzystaniem kluczy (bez hasła). |
| Linia 38: | Linia 54: |
| Dodanie mało wymagającego algorytmu szyfrowania (np. ''arcfour'')<<FootNote(Ten algortym szyfrowania należy do tzw. ''słabych'' i został wycofany z OpenSSHd w roku 2014. Wszystko działało, w momencie nałożenia odpowiednich patchy w ''ports''. Po ich wyłączeniu jest to nieobsługiwane i pozostawiona opcja w `sshd_config` powoduje, że demon nie wstaje. Tak więc trzeba poszukać innego algortymu szyfrowania, który jest w OpenSSH, a jednocześnie jest najszybszy.)>> znacznie przyspieszy przesyłanie dużego backupu. Niemniej jest to algorytm, który trzeba dopisać do konfiguracji demona [[FreshPorts:security/openssh-portable|OpenSSH]]: | Dodanie odpowiedniego algorytmu szyfrowania (patrz odnośniki poniżej) znacznie przyspieszy przesyłanie dużego backupu. Niemniej jest to algorytm, który trzeba dopisać do konfiguracji demona [[FreshPorts:security/openssh-portable|OpenSSH]]: |
| Linia 41: | Linia 57: |
| Ciphers +arcfour | Ciphers +aes256-gcm@openssh.com |
| Linia 47: | Linia 63: |
| }}} Jeżeli serwer (procesor) wspiera obsługę ''AESNI'', to warto wgrać stosowny moduł: {{{#!highlight bash numbers=off kldload aesni |
|
| Linia 55: | Linia 76: |
| * [[https://turecki.net/content/getting-most-out-ssh-hardware-acceleration-tuning-aes-ni||target="_blank"]] |
Wydrukuj tę dokumentację Pokaż jako slajdy
Spis Treści
Backup za pomocą ZFS
Za pomocą zfs send oraz zfs receive (zfs recv) można dość szybko wykonać backup całej partycji ZFSowej. Podstawą jest wykonania snapshota.
Skrypt
# wykonanie snaphota wraz ze wszystkimi "dziećmi"
zfs snapshot -r storage/imap@pelny
# wyslanie snapshota do pliku GZip
zfs send -Rv storage/imap@pelny | gzip -c > /opt/_imap_full.zfs.gz
# rozpakowanie "snapshota" w miejscu docelowym:
gunzip -c /opt/_imap_full.zfs.gz | zfs recv -vdeusF sda
Uprawnienia dla zwykłego użytkownika
Można również wykonać zfs send oraz zfs receive poprzez SSH. Trzeba tylko upoważnić użytkownika do wykonywania operacji na partycji ZFS:
zfs allow -u <user> create,receive,rename,mount,share,send sda/backup/imap
Wykorzystanie mbuffer
Dzięki wykorzystaniu mbuffer, to można całość spokojnie przesyłać przez sieć:
# dla sieci Internet
export _MBUF="-s 256k -m 512M"
# dla sieci LAN
export _MBUF="-s 256k -m 1G"
# send:
# -R r/ownie/z wszystkie ew. dzieci danego zfs-a
#
# receive
# -d u/zyj ca/lego snapshota, ale bez pierwszego cz/lonu (bez nazwy pool-i)
# -e u/zyj tylko ostatniego cz/lonu snapshota (jak w opisie dla -d)
# -u nie montuj automatycznie
# -s mo/zliwo/s/c wznowienia wysy/lania, gdyby wyst/api/ly b/l/edy
# -F wymu/s rollback przed uruchomieniem zfs recv
#
zfs send -R storage/imap@pelny | mbuffer $_MBUF 2>/dev/null | ssh -c aes128-ctr __user__@server2 "mbuffer $_MBUF | zfs receive -deusF sda/backup/imap"
UWAGA
Jeżeli ssh wymaga podania hasła, to komunikat w celu jego wpisania zostanie przykryty przez komunikaty mbuffer o przesyłaniu danych z prędkością 0/0. Tak więc najlepiej jest wykonać kopiowanie z wykorzystaniem kluczy (bez hasła).
Algorytmy szyfrowania SSH
Dodanie odpowiedniego algorytmu szyfrowania (patrz odnośniki poniżej) znacznie przyspieszy przesyłanie dużego backupu. Niemniej jest to algorytm, który trzeba dopisać do konfiguracji demona OpenSSH:
Ciphers +aes256-gcm@openssh.com
Oczywiście po zmianach należy wykonać restart demona:
service openssh restart
Jeżeli serwer (procesor) wspiera obsługę AESNI, to warto wgrać stosowny moduł:
kldload aesni
Źródła w sieci internet
https://dan.langille.org/2014/05/03/zfs-send-on-freebsd-over-ssh-using-mbuffer/
https://www.dan.me.uk/blog/2012/08/05/full-system-backups-for-freebsd-systems-using-zfs/
https://mebsd.com/cheat-sheets/duplicate-zfs-pool-over-ssh-freebsd.html
https://turecki.net/content/getting-most-out-ssh-hardware-acceleration-tuning-aes-ni
(c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.
