Faça backup da nuvem, amigos


Hoje eu gostaria de passar pelo backup em nuvem novamente. Não discutirei se é bom ou ruim, mas quero compartilhar exemplos de implementações de soluções para esse backup mais baseado em nuvem - de software acabado a muletas em bicicletas.


Ainda não faça backup na nuvem ou deseja ler sobre as opções de solução? Eu peço gato.


3-2-1, vamos lá


Acredita-se que a história da regra de backup por 3-2-1 comece com Peter Krogh, que a descreveu em seu livro Digital Asset Management for Photographers. Lembro-me brevemente deste princípio:


  • Deve haver pelo menos três cópias dos dados.
  • Pelo menos 2 cópias devem estar em mídia física de diferentes tipos. Por exemplo, uma cópia está trabalhando com dados em uma matriz de disco, a segunda cópia são dados em fita magnética.
  • Pelo menos um backup deve ser armazenado fora do escritório.

Pessoalmente, geralmente uso regras ligeiramente diferentes na criação de backups.



O circuito 3-2-1 clássico.


Primeiro, eu tomo os backups como dados iniciais e, em segundo lugar, nem sempre é conveniente e econômico armazená-los em vários tipos de mídia - especialmente para pequenas e médias empresas. Minha estratégia de armazenamento de backup usual é a seguinte:


  • Backups online. Seu principal objetivo é garantir a recuperação mais rápida em caso de uma pequena falha. Dependendo da infraestrutura, esses backups podem ser armazenados no servidor que está sendo copiado - apenas em um disco separado.
  • Arquivar backups. Eles são sempre armazenados pelo menos em outro servidor e com um histórico (na maioria das vezes - 6 backups diários, 4 semanais e 4 trimestrais).
  • Backups remotos. Os backups são necessariamente armazenados em outro local - em um servidor em um datacenter remoto ou na nuvem. Uma boa opção é sincronizar o diretório de backup do arquivo morto com o armazenamento remoto, se possível.

Nos backups operacionais e de arquivamento, geralmente tudo é bastante simples, exceto que você deve seguir determinadas recomendações. Uma das opções para essas recomendações está no spoiler.


Recomendações:
  • Um servidor com backups de maneira amigável deve, de alguma forma, ser isolado da rede de produção, caso um codificador seja iniciado repentinamente.
  • É uma boa opção quando o servidor faz backups, mas não os recebe - caso o servidor arquivado esteja comprometido.
  • História dos arquivos - deve ter. Muitas vezes, conheci infraestruturas onde apenas uma cópia de backup de dados importantes estava armazenada e, no caso de um ataque de criptografia ou perda de dados anteontem, os dados no backup já estavam corrompidos ou não eram o que precisávamos.
  • Não se esqueça de copiar não apenas os dados, mas também o sistema operacional.
  • Cópias de sombra e outros instantâneos são muito bons e ótimos, mas isso não é um backup. Você pode usá-los como um substituto para backups operacionais, mas é melhor combiná-los.
  • Arquivos com a extensão .exe ou .dll são uma boa opção para enganar um so-so-so-ransomware.
  • O RAID não tem nada a ver com backups. Absolutamente.

Mas com backups remotos, existem muitas perguntas. Em particular, é preciso escolher onde armazenar essas cópias e como jogá-las lá. Primeiro, darei alguns exemplos de "onde".


Escolha uma nuvem acolhedora


Uma opção seria simplesmente alugar um servidor dedicado ou instalar seu servidor em um datacenter em uma colocação.


De fato, a "nuvem" criada por ele próprio dá mais controle sobre o que está acontecendo, e a escolha de uma solução para armazenamento e backup direto depende do administrador do sistema. Você pode até incluir o servidor no domínio “no terreno”, como descrevi no artigo “ Como eu escondi a base 1C na Alemanha ”.


Por outro lado, controle também significa responsabilidade - será necessário monitorar o status do servidor em caso de problemas de hardware e software, enquanto a falta de nuvens na forma de dependência da Internet e a questão da confiança de terceiros não foi cancelada.



Mas é o seu servidor alugado de um host barato?


Outra opção seria usar serviços especializados criados apenas para armazenar backups. O exemplo mais famoso são os serviços Amazon Glacier . Eles estão envoltos em lendas sobre a tecnologia usada - de cassetes de fita a discos Blu-ray e braços robóticos. Mas oficialmente este é um HDD barato.


Ao contrário de um servidor alugado, a solução já está começando a cheirar como uma empresa sangrenta com muitos "noves de confiabilidade" após o ponto decimal. É verdade que, como muitos serviços da Web na Amazon, ele tem uma fórmula de custo complicada. Para simplificar, o download de dados para o serviço é gratuito, o armazenamento é bastante barato (US $ 1 por 1 TB por mês), mas você terá que pagar pelo recebimento dos dados. Como em feiras antigas - “a entrada é gratuita, a saída é de 15 copeques”.



Serviços de armazenamento clássicos como Amazon S3 e Yandex Object Storage também podem ser usados ​​para backups, é claro, mas o preço nesse caso será menos humano - ~ US $ 10 \ month por 1 TB para Yandex. Além disso, não se pode deixar de mencionar soluções completas de fabricantes de sistemas de backup, pois apenas os preguiçosos têm agora o benefício de sua nuvem. Por exemplo, o Acronis Cloud Storage, como uma adição aos produtos Acronis, literalmente por US $ 299 por ano, fornecerá 250 GB em seus servidores.


A terceira opção seria usar o armazenamento em nuvem, que não é muito projetado para armazenar backups da empresa, mas é mais focado em usuários comuns. Aqui estão apenas alguns deles que são ouvidos:



Agora não vou comparar plataformas em nuvem, darei isso à mercê de vários materiais na rede. Por exemplo, o artigo " Armazenamento em nuvem para indivíduos: o que escolher e por quê ". Pessoalmente, escolhi o Yandex.Disk para minhas necessidades, porque ele é um dos poucos que podem usar WebDAV, APIs e instantâneos (histórico) de arquivos em disco em planos gratuitos. Bem, é claro, acumulei uma certa quantidade de gigabytes grátis nele.


Obviamente, ao escolher, você deve prestar atenção não apenas ao número e custo gratuitos de gigabytes, mas também ao contrato de licença, pois o backup de bancos de dados condicionais 1C pode violá-lo. Separadamente, vale a pena observar os pontos nos quais o provedor de nuvem não tem nenhuma responsabilidade, pode excluir todos os arquivos a qualquer momento e não haverá nada para isso. Mas quase todos esses serviços possuem software que permite o upload de arquivos para o serviço, o que nos leva ao próximo ponto da história de hoje.


Como enviar para uma nuvem aconchegante


Pessoalmente, não gosto muito de usar o software fornecido pelos serviços (a não ser, é claro, que falemos de um serviço especializado como o Acronis): nem sempre é possível definir o cronograma de sincronização, e a história ainda está viva quando o Yandex.Disk organizou o patch de Barmin ao atualizar sistema operacional. Felizmente, existem softwares especiais para vários provedores. Como sempre, darei alguns exemplos de soluções praticamente gratuitas e quase gratuitas.


Handy Backup . É emitido na primeira página do Google para a consulta "backup na nuvem". Existem versões pagas de várias funcionalidades, plugins separados (por exemplo, para Exchange e 1C). Existe até uma nuvem - HBDrive . Mas o mais importante é que ainda existe uma versão gratuita que só pode fazer backup na nuvem - Handy Backup Free for Cloud . Infelizmente, como parte do teste, não pude fazê-lo funcionar de maneira estável com o Yandex.Disk - a tarefa agendada periodicamente não funcionou. É difícil querer algo de uma solução gratuita, mas me recusei a usar este software.


CloudBerry Backup O produto é bom para todos, existem até soluções para recuperar objetos individuais do Exchange, há suporte para muitos provedores diferentes. O uso foi interrompido pela falta de uma versão gratuita e do suporte do Yandex.Disk usual, apenas o Yandex Object Storage compatível com S3.



Lista de provedores de soluções suportados do CloudBerry Lab.


Duplicação 2 . Já é um produto totalmente gratuito, mesmo para uso comercial. Existem todas as plataformas populares, do Windows ao GNU \ Linux, você pode trabalhar tanto na interface da web quanto na linha de comando; também há criptografia de backups prontos para uso.



Interface Duplicati, provedores suportados.


Infelizmente, o Yandex.Disk não é suportado “pronto para uso” - apenas no modo WebDAV. Nesse modo, a solução da Yandex não funciona perfeitamente - há problemas com arquivos grandes. Mas há um na lista de destinos válida que resolve esse problema. Lá está ele.


Rclone Talvez este seja meu líder indiscutível entre outros softwares. Um utilitário de linha de comando para muitas plataformas, no site oficial , também está disponível para downloads de sistemas operacionais raros, como Plan9 e Solaris. A lista de provedores de nuvem suportados também é impressionante - suporta até Cephs e OwnCloud . E sim, o Yandex.Disk está listado. Até recentemente, a configuração era realizada apenas através do menu do console interativo, mas, relativamente recentemente, tornou-se possível iniciar a interface da Web e configurar através dela.



Interface web Rclone.


As desvantagens incluem a falta de agendadores internos. O utilitário funciona exclusivamente como um transporte de / para as nuvens, mas não requer instalação. Inclusive por causa disso, eu o uso em conjunto com o Yandex.Disk para transferir informações de um servidor remoto para outro - descobriu-se que arquivos grandes são mais rápidos para carregar na nuvem e fazer o download da nuvem do que para organizar o compartilhamento direto de arquivos. Sim, e fazer upload de backups é um prazer. Por exemplo, para copiar apenas arquivos novos para a nuvem, você pode usar o comando:


rclone copy --max-age 24h --no-traverse D:\backups yandex:backups 

Onde yandex é o nome da configuração criada com antecedência e backups é a pasta com backups.


Para obter mais detalhes sobre como o rclone funciona, consulte a documentação oficial e o artigo " Rclone: ​​rsync for clouds ".


Em princípio, como uma solução de backup completa, o rclone pode ser usado com a Duplicati, escolhendo rclone como o tipo de armazenamento. Em seguida, a Duplicati criará backups usando vss (snapshots) de acordo com o planejador, e o primeiro será responsável por fazer o download dos backups para a nuvem de que precisamos. Obviamente, você pode usar qualquer outra solução como o Cobian ou até fazer snapshots vss com o comando diskshadow , arquivar e fazer upload para a nuvem usando o rclone. É verdade que, se você realmente reinventar a roda, não será necessário rclone.


Crie seu script de bicicleta


Obviamente, se o provedor de nuvem fornecer acesso ao WebDAV, o download de dados será simples. Exemplo para cmd e Yandex.Disk:


 net use Z: "https://webdav.yandex.ru/backup/" /User:login@yandex.ru password rem     net use Z: /delete 

Mas nem todos os provedores são bons no WebDAV, e há perguntas sobre velocidade e estabilidade. Portanto, você pode usar a API se, é claro, o provedor fornecer esse acesso. Vamos analisar um exemplo com o mesmo Yandex.


O Yandex usa o OAuth para autorização, portanto, para o nosso script, precisamos obter um token especial. Primeiro, você precisa criar um aplicativo na seção " Criar um aplicativo " do site.


Você não deve esquecer de dar acesso ao aplicativo no Yandex.Disk:



Acesso de script à API Yandex.Disk.


E substitua o URL de desenvolvimento no URI de retorno de chamada (ele estará disponível após definir a caixa de seleção "Serviços da Web" nas plataformas disponíveis):



Configuração de URI de retorno de chamada.


Depois de receber o ID do aplicativo, siga o link:


 https://oauth.yandex.ru/authorize?response_type=token&client_id=12345678&display=popup 

Onde 12345678 é o ID recebido. Após conceder o acesso ao aplicativo, receberemos o cobiçado token OAuth, que já pode ser usado em scripts. Aqui, por exemplo, carregando um arquivo no Yandex.Disk usando o PowerShell:


 #   $filepath = "D:\backup.zip" $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $headers.Add("Authorization" ,'OAuth Oauth') $headers.Add("Content-Type","application/json") #   URL    $UploadUrl= (Invoke-RestMethod -method GET -URI ("https://cloud-api.yandex.net:443/v1/disk/resources/upload?path=backup.zip") -Headers $headers).href #   Invoke-WebRequest -uri $UploadUrl -Method Put -Infile $filepath -ContentType 'application/zip' 

Propõe-se organizar a rotação de arquivos, o controle de downloads e outros "kits", o benefício da API Yandex está bem documentado . Mas, pessoalmente, prefiro não reinventar a roda, mas usar o rclone.


Bem, ao fazer backup na nuvem, recomendo fortemente criptografar os arquivos, para não ficar na situação de herói de um poema do famoso poeta Aiklaud Von Browser em certos círculos, cuja linha é denominada neste artigo.


Nos comentários, proponho não criar um holivar sobre a racionalidade do backup em nuvem, mas compartilhar minha ferramenta de backup favorita.

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


All Articles