Uso pbzip2 sempre (parallel bzip2) quando invio tramite WAN. Poiché è thread, è possibile specificare il numero di thread da utilizzare con l'opzione -p. Installare prima pbzip2 su entrambi gli host di invio e ricezione, le istruzioni di installazione sono disponibili all'indirizzo http://compression.ca/pbzip2/ .
zfs send -i tank/vm@2009-10-10 tank/vm@2009-10-12 | pbzip2 -c | \
ssh offsite-backup "pbzip2 -dc | zfs recv -F tank/vm"
La chiave principale è creare istantanee a intervalli frequenti (~ 10 minuti) per ridurre le dimensioni dell'istantanea, quindi inviare ogni istantanea. ssh non riprenderà da un flusso di snapshot interrotto, quindi se si ha un'istantanea enorme da inviare, reindirizzare il flusso su pbzip2, quindi dividerlo in blocchi di dimensioni gestibili, quindi rsincronizzare i file divisi sull'host ricevente, quindi reindirizzare a zfs recuperare i file concatenati pbzip2.
zfs send -i tank/vm@2009-10-10 tank/vm@2009-10-12 | pbzip2 -c | \
split -b 500M - /somedir/snap-inc-10-to-12.pbzip2--
questo produrrà file denominati in blocchi da 500 MB:
/somedir/snap-inc-10-to-12.pbzip2--aa
/somedir/snap-inc-10-to-12.pbzip2--ab
/somedir/snap-inc-10-to-12.pbzip2--ac
...
rsync per ricevere l'host più volte (è possibile rsync anche prima che zfs invii completato o non appena si vede un blocco completo da 500 MB), premere ctrl + c in qualsiasi momento per annullare:
while [[ true ]]; do rsync -avP /somedir/snap-inc-10-to-12.pbzip2--* offsite-backup:/somedir ; sleep 1; done;
zfs riceve:
cat /somedir/snap-inc-10-to-12.pbzip2--* | pbzip2 -dc | zfs recv -Fv tank/vm
Freind utente menzionato: per quello che vale. Non farei un invio diretto | comprimere | decomprimere | ricevere questo può causare problemi alla fine della ricezione se la linea di trasferimento si blocca e i vostri pool rimarranno offline per molto tempo durante la ricezione. - In precedenza ho riscontrato problemi con versioni precedenti di zfs <28 nell'host ricevente se un invio / recv in corso è interrotto da interruzioni di rete ma non nella misura in cui i pool sono off-line. Interessante. Invia nuovamente l'istantanea solo se "zfs recv" è uscito alla fine della ricezione. Se necessario, uccidi manualmente "zfs recv". zfs send / recv ora è molto migliorato in FreeBSD o Linux.