Ativar instantâneos do ZFS

12

Eu acidentalmente excluo alguns arquivos do meu pool do zfs e tentei montar os snapshots mais recentes, mas acabei de descobrir que não tenho snapshots. Como ativar os instantâneos, como configurá-lo?

Estou usando o servidor Ubuntu 12.04.1 e o zfs 0.6.1, a versão do pool é de 28.

    
por Misu Egri 21.07.2013 / 13:06

3 respostas

4

Se você não tirou nenhum instantâneo, perdeu seus dados.

Para tirar um instantâneo, use o comando zfs snapshot

link

    
por Pasi Suominen 21.07.2013 / 13:24
22

A partir do Ubuntu 17.04 você pode instalar o zfs-auto-snapshot da seguinte forma:

sudo apt install zfs-auto-snapshot

Para as versões do Ubuntu anteriores a 17.04 você pode configurar zfs-auto-snapshot para usar instantâneos automáticos do repositório

sudo add-apt-repository ppa:zfs-native/stable; sudo apt-get install zfs-auto-snapshot

ou diretamente do github

curl -L https://github.com/zfsonlinux/zfs-auto-snapshot/archive/master.tar.gz | tar xz -C /tmp/
pushd /tmp/zfs-auto-snapshot-master && sudo make install && popd && rm -rf /tmp/zfs-auto-snapshot-master

Por padrão, ele cria instantâneos para cada conjunto de dados a cada 15 minutos e salva o instantâneo em até 1 ano. No entanto, você pode desabilitar os instantâneos para um conjunto de dados específico definindo com.sun:auto-snapshot propriedade do conjunto de dados como false

sudo zfs set com.sun:auto-snapshot=false tank/tmp

Você também pode usar as propriedades com.sun:auto-snapshot:... para ajustar o comportamento do instantâneo automático. Por exemplo. salve os instantâneos diariamente por 31 dias para o conjunto de dados do tanque / backup:

sudo zfs set com.sun:auto-snapshot=true tank/backup
sudo zfs set com.sun:auto-snapshot:monthly=false tank/backup
sudo zfs set com.sun:auto-snapshot:weekly=false tank/backup
sudo zfs set com.sun:auto-snapshot:daily=true tank/backup
sudo zfs set com.sun:auto-snapshot:hourly=false tank/backup
sudo zfs set com.sun:auto-snapshot:frequent=false tank/backup

Por padrão, o script salva:

  • instantâneos frequentes a cada 15 minutos, mantendo 4 instantâneos
  • instantâneos por hora a cada hora, mantendo 24 instantâneos
  • instantâneos diários todos os dias, mantendo 31 instantâneos
  • instantâneos semanais a cada semana, mantendo 7 instantâneos
  • instantâneos mensais todos os meses, mantendo 12 instantâneos
por Andrey 17.12.2013 / 10:04
-1

Estou pesquisando na web qualquer página de manual ou pelo menos uma lista de propriedades ajustáveis do zfs-auto-snapshot, mas estou cego, provavelmente? Você pode adicionar poucas palavras ou um link, por favor? Eu encontrei um um README , mas não posso entender como eu poderia mudar ou mesmo ler os valores mencionados.

Então, tente uma tarefa simples: Como aumentar ou diminuir o número de snapsots mensais mantidos (tendo em mente o espaço em disco).

sun usa ferramentas svcadm ou time-slider que parecem inexistentes no Ubuntu, estou certo?

por exemplo:

svccfg -s svc:/system/filesystem/zfs/auto-snapshot:frequent setprop zfs/period = 30
svccfg -s svc:/system/filesystem/zfs/auto-snapshot:frequent refresh

svcadm restart svc:/system/filesystem/zfs/auto-snapshot:frequent

Espero que este post seja relevante aqui, pois os padrões são ótimos, mas talvez muitos usuários com pools "quase completos" tenham medo de ficar sem espaço em disco.

EDIT: tive outro problema com o zfs-auto-snapshot.  Criou snaps na cca 08:00, aproximadamente no início do dia de trabalho. O que é uma má idéia, assumindo que a destruição de snaps desatualizados, que poderia ser uma operação muito intensiva e levar bastante tempo, ocorrerá também nesse momento. Eu vejo isso como um risco de deixar o sistema inutilizável no pior momento do dia. Parece ser apenas uma entrada em /etc/cron.daily (semanal, mensal), então a mudança da linha anacron para tarefas diárias (ou qualquer outra) em crontab, deve ser suficiente. Eu estou faltando a menção sobre isso em readme.

    
por coro 20.06.2014 / 11:00

Tags