Backup de dados usando um monte de FreeFileSync e 7-zip

Anamnese, por assim dizer:

servidor Fujitsu rx300 s6, RAID6 de 6 1TB de discos, XenServer 6.2 está ativo, vários servidores estão girando, entre eles Ubunta com várias bolas, 3,5 milhões de arquivos, 1,5 TB de dados, tudo isso cresce e aumenta gradualmente.

Tarefa: configurar o backup dos dados do servidor de arquivos, parcialmente diariamente, parcialmente semanalmente.
Temos uma máquina de backup do Windows com RAID5 (em termos de pobreza, uma unidade de sistema regular com um controlador RAID embutido na mãe) e um disco de 2 TB separado para cópia intermediária do estado atual dos arquivos. Você poderia usar qualquer distribuição Linux, mas esta máquina já estava em estoque com uma matriz de ataque e uma licença do Windows.

Instalamos o FreeFileSync no servidor de backup , configuramos o "espelho" de tudo em uma fileira de toda a esfera do servidor de arquivos uma vez por dia Ă  noite, apĂłs 18 horas, executando o agendador.

Um ponto importante: ao salvar uma tarefa em lote, é obrigatório marcar "Fechar a janela da tarefa na conclusão", caso contrário, os processos se multiplicarão e se multiplicarão.

Lançamos arquivos temporários em exceções de máscara: * .dwl, * .dwl2, * .tmp.

O FreeFileSync usa a rede extremamente bem, a cópia leva vários fluxos, a velocidade atinge 80 Mb / s ao copiar arquivos grandes, nenhum plug-in foi detectado em arquivos pequenos.

Vamos realizar o arquivamento já no servidor de backup local, em vez da TheCopier usada anteriormentecom arquivamento em uma rede. A propósito, TheCopier é ótimo! Mas com esses volumes, ele simplesmente não tem tempo para transferir tudo, apesar da interface de 1 GB no backup e de 2 GB na interface do arquivo (o vínculo de duas placas de rede). O SyncToy

também foi usado anteriormente , mas com o número de arquivos acima de 1,5 a 2 milhões, ele parou de funcionar normalmente, simplesmente não conseguiu lidar.

Para arquivar as pastas necessárias, escrevemos um arquivo em lotes para 7-zip :

configure agora =% TIME: ~ 0, -3%
configure agora =% now :: =.%
Configure agora =% now: = 0%
defina agora =% DATE: ~ - 4%.% DATA: ~ 3,2%.% DATA: ~ 0,2% _% agora%
C: \ "Arquivos de Programas" \ 7-Zip \ 7z.exe a -tzip -mx = 1 -mmt = ativado -mtc = off -ssw D: \ backups \ All \% now% _10-04.zip E: \ 10-04
C:\«Program Files»\7-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All\%now%_35-110.zip E:\35-110
C:\«Program Files»\7-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All\%now%_asu.zip E:\asu
C:\«Program Files»\7-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All\%now%_director.zip E:\director
C:\«Program Files»\7-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All\%now%_gpr.zip E:\gpr
C:\«Program Files»\7-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All\%now%_otiz.zip E:\otiz
C:\«Program Files»\7-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All\%now%_ps.zip E:\ps
C:\«Program Files»\7-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All\%now%_pto.zip E:\pto
C:\«Program Files»\7-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All\%now%_rza.zip E:\rza
C:\«Program Files»\7-Zip\7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:\backups\All\%now%_smeta.zip E:\smeta

:: a —
:: -tzip -t7z — ( zip 1.5-2 )
:: -mx=1 — (1 , 9 x=[0 | 1 | 3 | 5 | 7 | 9 ])
:: -mmt=on —
:: -mtc=off — ( , ..)
:: -ssw — ,
:: -xr!.Sync* — BtSync ,


A construção de set now =% e assim por diante permite salvar o formato do registro de horas no nome do arquivo sem os problemas que ocorreram quando o dia ou o mês era menor que 10, ou seja, substituímos o zero.

O comentário -xr! .Sync * é o restante vestigial do BTSync originalmente usado .

Até 500 GB e 700-800 mil arquivos, o BTSync ainda não funcionava nada, sincronizado em tempo real, mas nos volumes atuais estava consumindo recursos de memória e processador no servidor de arquivos ubunt e no backup do Windows em que foi lançado pelo serviço, e também simplesmente violado um sistema de disco com leitura / gravação constante.

Embora o arquivador seja 7-zip, nós o arquivamos no formato zip em vez do 7z nativo, porque é muito mais rápido e praticamente não há diferença na compactação com mx = 1, ele foi testado por muitos experimentos.

Os arquivos sĂŁo executados por sua vez.

A limpeza da pasta de arquivamento também ocorre por meio da tarefa agendada usando o utilitário fpurge, deixando os arquivamentos com menos de uma semana.
Como resultado, temos uma cópia dos arquivos do dia anterior, além de arquivos da última semana, o FreeFileSync coloca os arquivos excluídos na lixeira.

Source: https://habr.com/ru/post/undefined/


All Articles