Help - seleção do sistema de arquivos linux para snapshots - Para backups de arquivos em uma VM

1

Felicidades,

Estou tentando fazer com que um sistema de backup funcione da maneira mais eficiente possível - a maioria dos sistemas dos quais eu preciso fazer backup são um pouco do Linux e nós atualmente os descarregamos para um servidor Ubuntu 16.04.3 e os armazenamos no / disco. A VM do Ubuntu está sendo executada no Hyper-V e possui um .vhdx para o disco raiz. O sistema operacional Ubuntu executa o rsync para se conectar a cada servidor de produção.

De qualquer forma, em vez de armazená-los no disco raiz, gostaria de armazenar os arquivos de backup em um novo disco e em um novo sistema de arquivos que possa operar com instantâneos diários. Eu criei um volume de 900GB no Hyper-V (thin-provisioned, atualmente) e conectado à VM. Então atualmente o disco aparece no Ubuntu como / dev / sdd, não formatado, com 900GB de capacidade.

Procurando sugestões sobre como dar suporte aos seguintes requisitos:

  • Permitir backups copiados para o sistema de arquivos via rsync de um número de servidores de produção, totalizando cerca de 60 GB
  • Permitir que instantâneos de volume ou de sistema de arquivos básico
  • Permitir referência simples (como um ponto de montagem simples no Ubuntu) a qualquer um dos instantâneos de backup, caso precisemos recuperar um arquivo aleatório de X dias atrás
  • Remover automaticamente instantâneos com mais de 10 dias.

O que eu não preciso:

  • Gerenciamento de volume físico ou RAID - o novo disco (o 900GB. vhdx) é já armazenado em um volume Windows Storage Spaces que lida com anomalias do disco físico
  • Scripts - que são executados para montar / desmontar ou mesclar snapshots - que não são baunilhados para o pacote do sistema de arquivos.

Eu já usei o ZFS no passado, na forma de NexentaStor, e isso foi bem legal. Além do gerenciamento de RAID, os instantâneos tirados eram automaticamente disponibilizados para mim como: "/primary_volume/.zfs/snapshot_name" e era bem legal ir & pegue um arquivo de X dias atrás.

Estou vendo uma implementação do BTRFS, ou talvez uma implementação do LVM aqui? Ou existem outras soluções prontas para voar que preencham esse vazio para mim?

Felicidades! SAM

    
por maloitpro 01.02.2018 / 18:07

1 resposta

1

Parece que você tem todas as opções básicas, mas há outra opção que eu acho que você deveria considerar - mais sobre isso daqui a pouco. Você tem os dois sistemas de arquivos comuns que suportam instantâneos (btrfs e ZFS) e instantâneos de dispositivo mapeador / LVM.

  • Os instantâneos do btrfs funcionam de maneira semelhante aos do ZFS com os quais você já está familiarizado; você executa btrfs subvolume snapshot -r /mountpoint/data "/mountpoint/snapshots/$(date -Is)" ou similar para criar um, então fica visível em /mountpoint/snapshots/$(date -Is) . Você também pode fazer a raiz do sistema de arquivos ( /mountpoint ), que funciona corretamente. Minha experiência com o btrfs é estável com esse uso. Ele também suporta trim, que (se todo o resto suportar isso - eu pessoalmente nunca usei o HyperV, portanto não posso dizer) será usado, mas agora liberou espaço para ser devolvido ao thin pool do seu hipervisor.

  • Os instantâneos do LVM (device-mapper) são diferentes - eles fazem o instantâneo do dispositivo de bloco. Os instantâneos tradicionais do LVM causam perda de desempenho (devido à cópia na gravação), o que pode ou não ser um problema para o uso de backup. Há também snapshots de pool thin, que são mais recentes e evitam esse problema. Como eles operam no nível de dispositivo de bloco, quando você cria um instantâneo, você estará criando um novo dispositivo de bloco - que terá que ser montado para acessar os arquivos de instantâneos.

Com ambos os métodos, você pode manter os snapshots pelo tempo desejado (espaço em disco permitido), removê-los em qualquer ordem, etc. Também sugiro considerar rsync --inplace para reduzir o tamanho do snapshot. Dada a escolha entre eles - eu acho que todos eles vão funcionar bem e você provavelmente deve escolher o que você / sua equipe está familiarizado.

A outra abordagem: Você está atualmente criando seu próprio sistema de backup. Muitos sistemas de backup já existem, incluindo aqueles destinados a fazer backups com espaço eficiente em um disco rígido como este. Exemplos incluem BackupPC, Bacula / Bareos (mais focado em fita, mas também disco), BorgBackup, restic, ZBackup, muito mais. Eu recomendaria dar uma olhada na lista de programas de sincronização e backup do Arch Wiki .

    
por 01.02.2018 / 18:56