AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 675379
Accepted
Stefan Lasiewski
Stefan Lasiewski
Asked: 2015-03-14 12:42:14 +0800 CST2015-03-14 12:42:14 +0800 CST 2015-03-14 12:42:14 +0800 CST

Como posso validar uma imagem de instantâneo do ZFS residente em um sistema de backup?

  • 772

Estou executando um host FreeBSD com ZFS.

Vamos fingir que estou armazenando uma série de imagens incrementais de instantâneos do ZFS em um host remoto usando zfs send:

zfs send -i zpool/data/foo@04hoursago zpool/data/foo@10hoursago > /nfs/backups/foo.zfs

Ou talvez eu queira enviar o stream por meio de um servidor FTP:

% ftp backup
ftp> put "| zfs send -i zpool/data/foo@04hoursago zpool/data/foo@10hoursago" /backups/foo.zfs

Gostaria de validar esta imagem remota. Gostaria de imprimir uma lista de instantâneos que estão nesta imagem ou, opcionalmente, extrair uma soma de verificação ou outros metadados para ajudar a verificar se a imagem é válida e contém os instantâneos como eu esperava.

Como posso consultar o arquivo de imagem e ver o que está dentro?

Eu tentei zfs receivecom os sinalizadores -nv( no-ope ) listar os instantâneos dentro da imagem, mas isso pode não funcionar em um sistema ativo:verbose

# zfs receive -nv zpool < /nfs/backups/foo.zfs
cannot receive new filesystem stream: destination 'zpool' exists
must specify -F to overwrite it
# zfs receive -nv -F zpool < /nfs/backups/foo.zfs
cannot receive new filesystem stream: destination has snapshots (eg. zpool@09hoursago)
must destroy them to overwrite it
backup
  • 2 2 respostas
  • 4201 Views

2 respostas

  • Voted
  1. Best Answer
    Stefan Lasiewski
    2015-03-14T16:00:58+08:002015-03-14T16:00:58+08:00

    Versões mais modernas do ZFS fornecem um comando chamado zstreamdumpque pode fornecer informações legíveis por humanos de um fluxo (ou imagem) criado usando zfs send.

    Este é um exemplo usando a linha de comando:

    host # zstreamdump < foo.zfs 
    BEGIN record
        ...
        toname = zpool/data/foo@04hoursago
        END checksum = 123123123123123123/123123123123123123/asdasdasdasdasd/zxczxczxczxczxc
        ...
        Total write size = 54784 (0xd600)
    

    E um exemplo do FTP:

    ftp> get /backups/foo.zfs "| zstreamdump"
    BEGIN record
     hdrtype = 1
     ...
     toname = zpool/data/foo@04hoursago
     END checksum = 123123123123123123/123123123123123123/asdasdasdasdasd/zxczxczxczxczxc
     ...
    

    Isso me fornece o nome do instantâneo real e uma soma de verificação desse instantâneo. Ele não me fornecerá uma lista de arquivos no instantâneo, é claro, porque essas informações existem em uma camada diferente.

    Na verdade, não tentei isso em um instantâneo incremental criado usando zfs send -i, mas pode ser o que eu quero.

    • 7
  2. user121391
    2016-04-07T08:16:33+08:002016-04-07T08:16:33+08:00

    Acho que o problema com a sua -nvabordagem é que os sistemas de arquivos intermediários não são criados ao receber com -n, e, portanto, falhará todas as vezes, enquanto funciona sem o sinalizador no-op (mas expandir os sistemas de arquivos completos pode levar muito tempo). Infelizmente, a maioria das documentações/blogs on-line não usa esse sinalizador, portanto, eles nunca experimentam esse erro como você (e eu).

    Também uma palavra de advertência do Solaris Internals ZFS Best Practices Guide :

    Se você armazenar o fluxo de envio do ZFS em um arquivo ou em uma fita e esse arquivo for corrompido, não será possível recebê-lo e nenhum dos dados será recuperável. No entanto, Nevada, compilação 125 adiciona o comando zstreamdump(1m) para verificar um fluxo de envio de instantâneo do ZFS. Veja também, RFE 6736794.

    Especialmente com grandes conjuntos de dados, isso significa três coisas:

    • Se o seu stream estiver em um armazenamento em que você não confia em relação à segurança de bits, você precisará verificar quase o tempo todo e ainda viver com o risco de que um único erro de bit apague todo o seu backup.
    • Se o seu stream estiver em um armazenamento confiável (por exemplo, em um volume ZFS exportado como NFS), você economizará relativamente, mas perderá zfs list -re zfs diff.
    • Se você tiver acesso ao armazenamento nativo (por exemplo, volume ZFS acessado por SSH), poderá expandir os sistemas de arquivos recebidos e usar as ferramentas mencionadas. Também neste caso, a -vopção funciona conforme o esperado e pode ser analisada facilmente.
    • 2

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve