{"id":35003,"date":"2019-10-31T22:01:46","date_gmt":"2019-10-31T19:01:46","guid":{"rendered":"https:\/\/prohoster.info\/blog\/rezervnoe-kopirovanie-chast-4-obzor-i-testirovanie-zbackup-restic-borgbackup\/"},"modified":"2019-10-31T22:01:46","modified_gmt":"2019-10-31T19:01:46","slug":"rezervnoe-kopirovanie-chast-4-obzor-i-testirovanie-zbackup-restic-borgbackup","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/rezervnoe-kopirovanie-chast-4-obzor-i-testirovanie-zbackup-restic-borgbackup","title":{"rendered":"Backup, parte 4: Vis\u00e3o geral e teste do zbackup, restic, borgbackup,","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Backup, parte 4: Vis\u00e3o geral e teste do zbackup, restic, borgbackup,\" src=\"\/wp-content\/uploads\/2019\/06\/a48fd8c8d725f94f0358a563ab76b783.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Neste artigo, ser\u00e3o discutidos os softwares para backup que, ao dividir o fluxo de dados em componentes individuais (chunks), formam um reposit\u00f3rio.<\/p>\n<p><\/p>\n<p>Os componentes do reposit\u00f3rio podem ser comprimidos e criptografados adicionalmente, e o mais importante \u2014 em processos repetidos de backup \u2014 podem ser reutilizados.<\/p>\n<p><\/p>\n<p>Um backup em tal reposit\u00f3rio \u00e9 uma sequ\u00eancia nomeada de componentes inter-relacionados, por exemplo, com base em diferentes fun\u00e7\u00f5es hash.<\/p>\n<p><\/p>\n<p>Existem v\u00e1rias solu\u00e7\u00f5es semelhantes, e vou me concentrar em 3: zbackup, borgbackup e restic.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"ozhidaemye-rezultaty\">Resultados Esperados<\/h3>\n<p><\/p>\n<p>Uma vez que todos os candidatos, de uma forma ou de outra, exigem a cria\u00e7\u00e3o de um reposit\u00f3rio, um dos fatores mais importantes ser\u00e1 a avalia\u00e7\u00e3o do tamanho do reposit\u00f3rio. Idealmente, seu tamanho n\u00e3o deve ultrapassar 13 GB de acordo com a metodologia adotada, e at\u00e9 menos \u2014 com uma boa otimiza\u00e7\u00e3o.<\/p>\n<p><\/p>\n<p>Al\u00e9m disso, \u00e9 extremamente desej\u00e1vel ter a capacidade de criar backups de arquivos diretamente, sem o uso de arquivadores como o tar, assim como trabalhar com ssh\/sftp sem ferramentas adicionais como rsync e sshfs.<\/p>\n<p><\/p>\n<p><strong>Comportamento ao criar backups:<\/strong><\/p>\n<p><\/p>\n<ol>\n<li>O tamanho do reposit\u00f3rio ser\u00e1 igual ao tamanho das altera\u00e7\u00f5es, ou menor.<\/li>\n<li>Esperamos uma grande carga no processador ao usar compress\u00e3o e\/ou criptografia, al\u00e9m de uma carga significativa na rede e no subsistema de disco, caso o processo de arquivamento e\/ou criptografia ocorra no servidor de armazenamento de backups.<\/li>\n<li>Se o reposit\u00f3rio for corrompido, um erro latente pode ocorrer tanto ao criar novos backups quanto ao tentar restaur\u00e1-los. \u00c9 necess\u00e1rio planejar medidas adicionais para garantir a integridade do reposit\u00f3rio, ou usar ferramentas integradas para verificar sua integridade.<\/li>\n<\/ol>\n<p><\/p>\n<p>Como refer\u00eancia, foi adotado o trabalho com tar, como foi demonstrado em um dos artigos anteriores.<\/p>\n<p><\/p>\n<h3 id=\"testirovanie-zbackup\">Testando zbackup<\/h3>\n<p><\/p>\n<p>O mecanismo geral de funcionamento do zbackup \u00e9 que o programa encontra no fluxo de dados fornecido \u00e1reas que cont\u00eam dados id\u00eanticos, opcionalmente comprime, criptografa, mantendo cada \u00e1rea apenas uma vez.<\/p>\n<p><\/p>\n<p>Para deduplica\u00e7\u00e3o, utiliza-se uma fun\u00e7\u00e3o hash de 64 bits com janela deslizante para verifica\u00e7\u00e3o byte a byte da correspond\u00eancia com blocos de dados j\u00e1 existentes (semelhante ao que \u00e9 realizado no rsync).<\/p>\n<p><\/p>\n<p>Para compress\u00e3o, s\u00e3o aplicados lzma e lzo em execu\u00e7\u00e3o multithread, e para criptografia \u2014 aes. Nas vers\u00f5es mais recentes, h\u00e1 a possibilidade de remover dados antigos do reposit\u00f3rio no futuro.<br \/>\nO programa foi escrito em C++ com depend\u00eancias m\u00ednimas. O autor aparentemente se inspirou no unix-way, portanto, o programa aceita dados via stdin ao criar backups, emitindo um fluxo de dados semelhante em stdout ao restaurar. Assim, o zbackup pode ser utilizado como um excelente 'tijolo' na elabora\u00e7\u00e3o de suas pr\u00f3prias solu\u00e7\u00f5es de backup. Por exemplo, para o autor do artigo, este programa tem sido a principal ferramenta de backup para m\u00e1quinas dom\u00e9sticas desde aproximadamente 2014.<\/p>\n<p><\/p>\n<p>Como fluxo de dados, ser\u00e1 utilizado o tar comum, a menos que indicado de outra forma.<\/p>\n<p>\n<b class=\"spoiler_title\">Vamos ver quais ser\u00e3o os resultados:<\/b><\/p>\n<p>A verifica\u00e7\u00e3o do funcionamento foi realizada em 2 variantes:<\/p>\n<p><\/p>\n<ol>\n<li>\u00e9 criado um reposit\u00f3rio e o zbackup \u00e9 iniciado no servidor com os dados de origem, depois o conte\u00fado do reposit\u00f3rio \u00e9 transferido para o servidor de armazenamento de backups.<\/li>\n<li>\u00e9 criado um reposit\u00f3rio no servidor de armazenamento de backups, o zbackup \u00e9 iniciado via ssh no servidor de armazenamento de backups, recebendo os dados atrav\u00e9s de pipe.<\/li>\n<\/ol>\n<p><\/p>\n<p>Os resultados da primeira variante foram os seguintes: 43m11s \u2014 ao usar um reposit\u00f3rio n\u00e3o criptografado e o compressor lzma, 19m13s \u2014 ao substituir o compressor por lzo.<\/p>\n<p><\/p>\n<p>A carga no servidor com os dados de origem foi a seguinte (mostramos um exemplo com lzma, com lzo foi uma imagem semelhante, mas a parte do rsync foi aproximadamente um quarto do tempo):<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/pp\/d3\/hs\/ppd3hsaxn_kffamwcrwstrb_sds.png\"><img decoding=\"async\" alt=\"Backup, parte 4: Vis\u00e3o geral e teste do zbackup, restic, borgbackup,\" src=\"\/wp-content\/uploads\/2019\/06\/11c3c38124f6e20b6f92290e41a609a5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>\u00c9 claro que tal processo de backup \u00e9 apropriado apenas para mudan\u00e7as relativamente raras e pequenas. Al\u00e9m disso, \u00e9 extremamente desej\u00e1vel limitar o funcionamento do zbackup a 1 thread; caso contr\u00e1rio, haver\u00e1 uma carga bastante alta no processador, uma vez que o programa consegue trabalhar muito bem em m\u00faltiplas threads. A carga no disco foi baixa, o que no geral, dado o subsistema de disco moderno baseado em ssd, ser\u00e1 impercept\u00edvel. Tamb\u00e9m \u00e9 claramente vis\u00edvel o in\u00edcio do processo de sincroniza\u00e7\u00e3o de dados do reposit\u00f3rio para o servidor remoto, e a velocidade de opera\u00e7\u00e3o \u00e9 compar\u00e1vel ao rsync comum, estando restrita pela performance do subsistema de disco do servidor de armazenamento de backups. A desvantagem desse m\u00e9todo \u00e9 o armazenamento do reposit\u00f3rio local e, como consequ\u00eancia, a duplica\u00e7\u00e3o de dados.<\/p>\n<p><\/p>\n<p>A segunda op\u00e7\u00e3o, que envolve executar o zbackup diretamente no servidor de armazenamento de backups, \u00e9 mais interessante e aplic\u00e1vel na pr\u00e1tica.<\/p>\n<p><\/p>\n<p>Para come\u00e7ar, ser\u00e1 verificado o funcionamento sem o uso de criptografia com o compressor lzma:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/wf\/m4\/g0\/wfm4g0zjf3cktbvihsmmtbg-hcu.png\"><img decoding=\"async\" alt=\"Backup, parte 4: Vis\u00e3o geral e teste do zbackup, restic, borgbackup,\" src=\"\/wp-content\/uploads\/2019\/06\/2179a53ed6fb9530324490dc0922c788.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Tempo de execu\u00e7\u00e3o de cada teste:<\/p>\n<p><\/p>\n<p>Execu\u00e7\u00e3o 1<br \/>\nExecu\u00e7\u00e3o 2<br \/>\nExecu\u00e7\u00e3o 3<\/p>\n<p>39m45s<br \/>\n40m20s<br \/>\n40m3s<\/p>\n<p>7m36s<br \/>\n8m3s<br \/>\n7m48s<\/p>\n<p>15m35s<br \/>\n15m48s<br \/>\n15m38s<\/p>\n<p><\/p>\n<p>Se a criptografia utilizando aes for ativada, os resultados s\u00e3o bastante pr\u00f3ximos:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/mf\/7p\/yv\/mf7pyvnly6bmjtxbno88mjtrtn4.png\"><img decoding=\"async\" alt=\"Backup, parte 4: Vis\u00e3o geral e teste do zbackup, restic, borgbackup,\" src=\"\/wp-content\/uploads\/2019\/06\/afe515a8574ac0c6b2c2390b647108a4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Tempo de execu\u00e7\u00e3o com os mesmos dados, com criptografia:<\/p>\n<p><\/p>\n<p>Execu\u00e7\u00e3o 1<br \/>\nExecu\u00e7\u00e3o 2<br \/>\nExecu\u00e7\u00e3o 3<\/p>\n<p>43m40s<br \/>\n44m12s<br \/>\n44m3s<\/p>\n<p>8m3s<br \/>\n8m15s<br \/>\n8m12s<\/p>\n<p>15m0s<br \/>\n15m40s<br \/>\n15m25s<\/p>\n<p><\/p>\n<p>Se a criptografia for combinada com a compress\u00e3o lzo, os resultados s\u00e3o:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/38\/cz\/tb\/38cztb4tuzxtgsorc6uysied59k.png\"><img decoding=\"async\" alt=\"Backup, parte 4: Vis\u00e3o geral e teste do zbackup, restic, borgbackup,\" src=\"\/wp-content\/uploads\/2019\/06\/0e5ff5e133acd8710177c27f2fc3c202.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Tempo de execu\u00e7\u00e3o:<\/p>\n<p><\/p>\n<p>Execu\u00e7\u00e3o 1<br \/>\nExecu\u00e7\u00e3o 2<br \/>\nExecu\u00e7\u00e3o 3<\/p>\n<p>18m2s<br \/>\n18m15s<br \/>\n18m12s<\/p>\n<p>5m13s<br \/>\n5m24s<br \/>\n5m20s<\/p>\n<p>8m48s<br \/>\n9m3s<br \/>\nO tamanho do reposit\u00f3rio resultante foi relativamente igual e totalizou 13GB. Isso significa que a deduplica\u00e7\u00e3o est\u00e1 funcionando corretamente. Al\u00e9m disso, aplicar lzo em dados j\u00e1 comprimidos proporciona um efeito significativo, fazendo com que o tempo total de execu\u00e7\u00e3o do zbackup se aproxime do duplicity\/duplicati, embora fique atr\u00e1s dos baseados em librsync de 2 a 5 vezes.<\/p>\n<p><\/p>\n<p>As vantagens s\u00e3o claras \u2014 economia de espa\u00e7o em disco no servidor de armazenamento de backups. Quanto \u00e0s ferramentas de verifica\u00e7\u00e3o do reposit\u00f3rio \u2014 n\u00e3o est\u00e3o previstas pelo autor do zbackup, sendo recomendado o uso de um arranjo de disco redundante ou provedor de nuvem.<\/p>\n<p><\/p>\n<p>No geral, uma impress\u00e3o bastante boa, apesar de o projeto estar estagnado h\u00e1 cerca de 3 anos (o \u00faltimo pedido de funcionalidade foi h\u00e1 cerca de um ano, mas sem resposta).<\/p>\n<p><\/p>\n<p>Testando borgbackup<\/p>\n<p><\/p>\n<h3 id=\"testirovanie-borgbackup\">O Borgbackup \u00e9 um fork do attic, outro sistema semelhante ao zbackup. Escrito em python, possui uma lista de funcionalidades semelhante \u00e0 do zbackup, mas tamb\u00e9m tem a capacidade de:<\/h3>\n<p><\/p>\n<p>Montar backups via fuse<\/p>\n<p><\/p>\n<ul>\n<li>Verificar o conte\u00fado do reposit\u00f3rio<\/li>\n<li>Operar no modo cliente-servidor<\/li>\n<li>Usar diferentes compressores para os dados, assim como a determina\u00e7\u00e3o heur\u00edstica do tipo de arquivo durante a sua compress\u00e3o.<\/li>\n<li>2 op\u00e7\u00f5es de criptografia, aes e blake<\/li>\n<li>Ferramenta incorporada para<\/li>\n<li>verifica\u00e7\u00e3o de desempenho<\/li>\n<\/ul>\n<p>\n<b class=\"spoiler_title\">borgbackup benchmark crud ssh:\/\/backup_server\/repo\/path local_dir<\/b><\/p>\n<p>Os resultados foram os seguintes:<\/p>\n<p><\/p>\n<p>C-Z-BIG 96.51 MB\/s (10<\/p>\n<p><\/p>\n<p>100.00 MB arquivos todos zero: 10.36s) <em> R-Z-BIG 57.22 MB\/s (10<br \/>\n100.00 MB arquivos todos zero: 17.48s) <\/em> U-Z-BIG 253.63 MB\/s (10<br \/>\n100.00 MB arquivos todos zero: 3.94s) <em> D-Z-BIG 351.06 MB\/s (10<br \/>\n100.00 MB arquivos todos zero: 2.85s) <\/em> C-R-BIG 34.30 MB\/s (10<br \/>\n100.00 MB arquivos aleat\u00f3rios: 29.15s) <em> R-R-BIG 60.69 MB\/s (10<br \/>\n100.00 MB arquivos aleat\u00f3rios: 16.48s) <\/em> U-R-BIG 311.06 MB\/s (10<br \/>\n100.00 MB arquivos aleat\u00f3rios: 3.21s) <em> D-R-BIG 72.63 MB\/s (10<br \/>\n100.00 MB arquivos aleat\u00f3rios: 13.77s) <\/em> C-Z-MEDIUM 108.59 MB\/s (1000<br \/>\n1.00 MB arquivos todos zero: 9.21s) <em> R-Z-MEDIUM 76.16 MB\/s (1000<br \/>\n1.00 MB arquivos todos zero: 13.13s) <\/em> U-Z-MEDIUM 331.27 MB\/s (1000<br \/>\n1.00 MB arquivos todos zero: 3.02s) <em> D-Z-MEDIUM 387.36 MB\/s (1000<br \/>\n1.00 MB arquivos todos zero: 2.58s) <\/em> C-R-MEDIUM 37.80 MB\/s (1000<br \/>\nC-R-MEDIUM 37,80 MB\/s (1000 <em> 1,00 MB arquivos aleat\u00f3rios: 26,45s)<br \/>\nR-R-MEDIUM 68,90 MB\/s (1000 <\/em> 1,00 MB arquivos aleat\u00f3rios: 14,51s)<br \/>\nU-R-MEDIUM 347,24 MB\/s (1000 <em> 1,00 MB arquivos aleat\u00f3rios: 2,88s)<br \/>\nD-R-MEDIUM 48,80 MB\/s (1000 <\/em> 1,00 MB arquivos aleat\u00f3rios: 20,49s)<br \/>\nC-Z-SMALL 11,72 MB\/s (10000 <em> 10,00 kB arquivos todos zero: 8,53s)<br \/>\nR-Z-SMALL 32,57 MB\/s (10000 <\/em> 10,00 kB arquivos todos zero: 3,07s)<br \/>\nU-Z-SMALL 19,37 MB\/s (10000 <em> 10,00 kB arquivos todos zero: 5,16s)<br \/>\nD-Z-SMALL 33,71 MB\/s (10000 <\/em> 10,00 kB arquivos todos zero: 2,97s)<br \/>\nC-R-SMALL 6,85 MB\/s (10000 <em> 10,00 kB arquivos aleat\u00f3rios: 14,60s)<br \/>\nR-R-SMALL 31,27 MB\/s (10000 <\/em> 10,00 kB arquivos aleat\u00f3rios: 3,20s)<br \/>\nU-R-SMALL 12,28 MB\/s (10000 <em> 10,00 kB arquivos aleat\u00f3rios: 8,14s)<br \/>\nD-R-SMALL 18,78 MB\/s (10000 <\/em> 10,00 kB arquivos aleat\u00f3rios: 5,32s)<\/p>\n<p><\/p>\n<p>A heur\u00edstica ser\u00e1 utilizada para compress\u00e3o detectando o tipo de arquivo (compress\u00e3o autom\u00e1tica), e os resultados ser\u00e3o:<\/p>\n<p>\n<b class=\"spoiler_title\">Primeiro, vamos verificar o funcionamento sem criptografia:<\/b><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/fe\/ep\/xm\/feepxmsoyorprvvt5h00tuj2spg.png\"><img decoding=\"async\" alt=\"Backup, parte 4: Vis\u00e3o geral e teste do zbackup, restic, borgbackup,\" src=\"\/wp-content\/uploads\/2019\/06\/bcf7d2021a77dd5099b0b159defe2022.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Tempo de execu\u00e7\u00e3o:<\/p>\n<p><\/p>\n<p>Execu\u00e7\u00e3o 1<br \/>\nExecu\u00e7\u00e3o 2<br \/>\nExecu\u00e7\u00e3o 3<\/p>\n<p>4m6s<br \/>\n4m10s<br \/>\n4m5s<\/p>\n<p>56s<br \/>\n58s<br \/>\n54s<\/p>\n<p>1m26s<br \/>\n1m34s<br \/>\n1m30s<\/p>\n<p><\/p>\n<p>Se a autoriza\u00e7\u00e3o do reposit\u00f3rio for ativada (modo autenticado), os resultados se aproximar\u00e3o:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/3c\/qe\/kx\/3cqekxviy9rzhafckbi0tidjxn4.png\"><img decoding=\"async\" alt=\"Backup, parte 4: Vis\u00e3o geral e teste do zbackup, restic, borgbackup,\" src=\"\/wp-content\/uploads\/2019\/06\/6b4f28a5b464d2f2bf83f003d45be6dd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Tempo de execu\u00e7\u00e3o:<\/p>\n<p><\/p>\n<p>Execu\u00e7\u00e3o 1<br \/>\nExecu\u00e7\u00e3o 2<br \/>\nExecu\u00e7\u00e3o 3<\/p>\n<p>4m11s<br \/>\n4m20s<br \/>\n4m12s<\/p>\n<p>1m0s<br \/>\n1m3s<br \/>\n1m2s<\/p>\n<p>1m30s<br \/>\n1m34s<br \/>\n1m31s<\/p>\n<p><\/p>\n<p>Com a ativa\u00e7\u00e3o da criptografia AES, os resultados n\u00e3o pioraram muito:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/oa\/yz\/zl\/oayzzliqw8zixlppy_idv2l8gzm.png\"><img decoding=\"async\" alt=\"Backup, parte 4: Vis\u00e3o geral e teste do zbackup, restic, borgbackup,\" src=\"\/wp-content\/uploads\/2019\/06\/06a122bb3b7b1bdb86e82101b144a2ab.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Execu\u00e7\u00e3o 1<br \/>\nExecu\u00e7\u00e3o 2<br \/>\nExecu\u00e7\u00e3o 3<\/p>\n<p>4m55s<br \/>\n5m2s<br \/>\n4m58s<\/p>\n<p>1m0s<br \/>\n1m2s<br \/>\n1m0s<\/p>\n<p>1m49s<br \/>\n1m50s<br \/>\n1m50s<\/p>\n<p><\/p>\n<p>Se trocar AES por Blake, a situa\u00e7\u00e3o melhora:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/df\/kh\/ay\/dfkhayqoecs9hw_c_aj2fmxjkbu.png\"><img decoding=\"async\" alt=\"Backup, parte 4: Vis\u00e3o geral e teste do zbackup, restic, borgbackup,\" src=\"\/wp-content\/uploads\/2019\/06\/f474e6870145ec0e15aec383b272b8ce.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Tempo de execu\u00e7\u00e3o:<\/p>\n<p><\/p>\n<p>Execu\u00e7\u00e3o 1<br \/>\nExecu\u00e7\u00e3o 2<br \/>\nExecu\u00e7\u00e3o 3<\/p>\n<p>4m33s<br \/>\n4m43s<br \/>\n4m40s<\/p>\n<p>59s<br \/>\n1m0s<br \/>\n1m0s<\/p>\n<p>1m38s<br \/>\n1m43s<br \/>\n1m40s<\/p>\n<p><\/p>\n<p>Assim como no caso do zbackup, o tamanho do reposit\u00f3rio foi de 13 GB ou at\u00e9 um pouco menos, o que era esperado. O tempo de opera\u00e7\u00e3o foi bastante satisfat\u00f3rio, sendo compar\u00e1vel a solu\u00e7\u00f5es baseadas em librsync, oferecendo recursos muito mais amplos. Tamb\u00e9m foi um ponto positivo a possibilidade de definir diferentes par\u00e2metros via vari\u00e1veis de ambiente, o que proporciona uma vantagem significativa ao usar o borgbackup em modo autom\u00e1tico. O impacto na carga durante o backup foi tamb\u00e9m satisfat\u00f3rio: usando a carga da CPU como indicador \u2014 o borgbackup opera em 1 thread.<\/p>\n<p><\/p>\n<p>N\u00e3o foram encontrados problemas significativos durante o uso.<\/p>\n<p><\/p>\n<h3 id=\"testirovanie-restic\">Testando o restic<\/h3>\n<p><\/p>\n<p>Apesar de o restic ser uma solu\u00e7\u00e3o relativamente nova (os primeiros 2 candidatos eram conhecidos desde 2013 ou antes), ele tem caracter\u00edsticas bastante razo\u00e1veis. Foi escrito em Go.<\/p>\n<p><\/p>\n<p>Se compararmos com o zbackup, ele oferece tamb\u00e9m:<\/p>\n<p><\/p>\n<ul>\n<li>Verifica\u00e7\u00e3o da integridade do reposit\u00f3rio (incluindo verifica\u00e7\u00f5es por partes).<\/li>\n<li>Uma enorme lista de protocolos e provedores suportados para armazenamento de backups, al\u00e9m do suporte ao rclone \u2014 rsync para solu\u00e7\u00f5es 'cloud'.<\/li>\n<li>Compara\u00e7\u00e3o de 2 backups entre si.<\/li>\n<li>Montagem do reposit\u00f3rio atrav\u00e9s do fuse.<\/li>\n<\/ul>\n<p><\/p>\n<p>De modo geral, a lista de recursos \u00e9 bastante semelhante \u00e0 do borgbackup, em alguns aspectos mais rica, em outros menos. Uma caracter\u00edstica \u00e9 a impossibilidade de desativar a criptografia, portanto, os backups estar\u00e3o sempre criptografados. Vamos ver na pr\u00e1tica o que podemos extrair deste software:<\/p>\n<p>\n<b class=\"spoiler_title\">Os resultados foram os seguintes:<\/b><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/tq\/k5\/xn\/tqk5xn1xknn33dydmslqofrjfvs.png\"><img decoding=\"async\" alt=\"Backup, parte 4: Vis\u00e3o geral e teste do zbackup, restic, borgbackup,\" src=\"\/wp-content\/uploads\/2019\/06\/d5aa98b72f2a9918bfb3e9e963e4f71d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Tempo de execu\u00e7\u00e3o:<\/p>\n<p><\/p>\n<p>Execu\u00e7\u00e3o 1<br \/>\nExecu\u00e7\u00e3o 2<br \/>\nExecu\u00e7\u00e3o 3<\/p>\n<p>5m25s<br \/>\n5m50s<br \/>\n5m38s<\/p>\n<p>35s<br \/>\n38s<br \/>\n36s<\/p>\n<p>1m54s<br \/>\n2m2s<br \/>\n1m58s<\/p>\n<p><\/p>\n<p>Os resultados do trabalho tamb\u00e9m s\u00e3o compar\u00e1veis \u00e0s solu\u00e7\u00f5es baseadas em rsync e, em geral, est\u00e3o muito pr\u00f3ximos do borgbackup, mas a carga na CPU \u00e9 mais alta (opera com v\u00e1rias threads) e apresentou varia\u00e7\u00f5es.<\/p>\n<p><\/p>\n<p>\u00c9 prov\u00e1vel que o programa dependa da performance do subsistema de disco no servidor de armazenamento, como j\u00e1 ocorreu com rsync. O tamanho do reposit\u00f3rio foi de 13GB, assim como no zbackup ou borgbackup, n\u00e3o foram detectadas desvantagens claras ao usar esta solu\u00e7\u00e3o.<\/p>\n<p><\/p>\n<h3 id=\"rezultaty\">Resultados<\/h3>\n<p><\/p>\n<p>Na pr\u00e1tica, todos os candidatos apresentaram resultados pr\u00f3ximos, mas com pre\u00e7os diferentes. O borgbackup se saiu melhor, um pouco mais lento foi o restic, e o zbackup provavelmente n\u00e3o vale a pena ser implementado,<br \/>\ne se j\u00e1 estiver em uso, vale a pena testar a migra\u00e7\u00e3o para borgbackup ou restic.<\/p>\n<p><\/p>\n<h3 id=\"vyvody\">Como resultado, obtemos um servi\u00e7o de \"monitoramento como servi\u00e7o\", automatizado na linha de produ\u00e7\u00e3o de integra\u00e7\u00e3o cont\u00ednua. O desenvolvedor ou testador precisa apenas definir a lista de m\u00e9tricas em um arquivo JSON, e tudo o mais acontece automaticamente. Obtemos um controle de qualidade transparente dos lan\u00e7amentos: todas as notifica\u00e7\u00f5es sobre desempenho, consumo de recursos ou regress\u00f5es arquitet\u00f4nicas.<\/h3>\n<p><\/p>\n<p>A solu\u00e7\u00e3o mais promissora parece ser o restic, pois possui a melhor rela\u00e7\u00e3o entre recursos e velocidade de opera\u00e7\u00e3o, mas ainda n\u00e3o vamos apressar nossas conclus\u00f5es gerais.<\/p>\n<p><\/p>\n<p>O Borgbackup, na verdade, n\u00e3o \u00e9 inferior, mas o zbackup provavelmente deve ser substitu\u00eddo. Contudo, para garantir o funcionamento da regra 3-2-1, o zbackup ainda pode ser utilizado. Por exemplo, em adi\u00e7\u00e3o \u00e0s solu\u00e7\u00f5es de backup baseadas em (lib)rsync.<\/p>\n<p><\/p>\n<h3 id=\"anons\">An\u00fancio<\/h3>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/449282\/\">Backup, parte 1: Por que o backup \u00e9 necess\u00e1rio, vis\u00e3o geral dos m\u00e9todos e tecnologias,<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/452630\/\">Backup, parte 2: Vis\u00e3o geral e teste de ferramentas de backup baseadas em rsync<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/454420\/\">Backup, parte 3: Vis\u00e3o geral e teste do duplicity, duplicati,<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/454734\/#first_unread\">Backup, parte 4: Vis\u00e3o geral e teste do zbackup, restic, borgbackup,<\/a><\/noindex><br \/>\nBackup, parte 5: Teste do bacula e veeam backup for linux<br \/>\nBackup, Parte 6: Compara\u00e7\u00e3o de ferramentas de backup<br \/>\nBackup, parte 7: Conclus\u00f5es<\/p>\n<p><\/p>\n<p><u>Autor da publica\u00e7\u00e3o:<\/u> Pavel Demkovich<\/p>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/454734\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0443\u0442\u0435\u043c \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u044f \u043f\u043e\u0442\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b (chunks), \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439. \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0436\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u0438 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u0430 \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u2014 \u043f\u0440\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u0445 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u2014 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e. \u0420\u0435\u0437\u0435\u0440\u0432\u043d\u0430\u044f \u043a\u043e\u043f\u0438\u044f \u0432 \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u2014 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0446\u0435\u043f\u043e\u0447\u043a\u0430 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26337,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35003","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/rezervnoe-kopirovanie-chast-4-obzor-i-testirovanie-zbackup-restic-borgbackup\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0447\u0430\u0441\u0442\u044c 4: \u041e\u0431\u0437\u043e\u0440 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 zbackup, restic, borgbackup | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/rezervnoe-kopirovanie-chast-4-obzor-i-testirovanie-zbackup-restic-borgbackup\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:01:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:01:46+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Backup, parte 4: Revis\u00e3o e teste do zbackup, restic, borgbackup | ProHoster","description":"Em.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/rezervnoe-kopirovanie-chast-4-obzor-i-testirovanie-zbackup-restic-borgbackup","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0447\u0430\u0441\u0442\u044c 4: \u041e\u0431\u0437\u043e\u0440 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 zbackup, restic, borgbackup | ProHoster","og:description":"\u0412.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/rezervnoe-kopirovanie-chast-4-obzor-i-testirovanie-zbackup-restic-borgbackup","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:01:46+00:00","article:modified_time":"2019-10-31T19:01:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35003","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 21:26:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:11:30","updated":"2026-01-21 21:26:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/35003","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=35003"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/35003\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/26337"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=35003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=35003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=35003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}