web-dev-qa-db-pt.com

Ativar instantâneos do ZFS

Eu acidentalmente excluir alguns arquivos do meu pool zfs e tentei montar os últimos instantâneos, mas eu descobri que não tenho instantâneos. Como ativar os instantâneos, como configurá-lo?

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

13
Misu Egri

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

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

http://docs.Oracle.com/cd/E19253-01/819-5461/gbcya/index.html

4
Pasi Suominen

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 snapshots 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, 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 a propriedade do conjunto de dados com.Sun:auto-snapshot 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 snapshot 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 de hora em 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
24
Andrey

Eu estou procurando na web por qualquer página de manual ou pelo menos uma lista de propriedades ajustáveis ​​do zfs-auto-snapshot, mas eu estou cego, provavelmente? Você pode adicionar algumas palavras ou um link, por favor? Eu encontrei m README , mas não consigo entender a maneira que eu poderia mudar ou até mesmo ler os valores mencionados.

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

A 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, já que 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: Eu tive outro problema com o zfs-auto-snapshot. Ele criou snaps na cca 8:00, aproximadamente no início do dia de trabalho. O que é uma má idéia, supondo 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.
Estou sentindo falta da menção sobre isso em readme.

0
coro