Instantâneos LVM vs. Instantâneos do sistema de arquivos


32

Tanto quanto eu sei, o LVM torna possível tirar instantâneos de um volume. Há também vários sistemas de arquivos (ZFS, Btrfs, reiserfs, ...) que suportam instantâneos.

No entanto, nunca entendi a diferença entre os instantâneos LVM e os instantâneos do sistema de arquivos. Se é possível tirar instantâneos com o LVM, por que alguém demora para implementá-lo em um sistema de arquivos?

Edit: Algum deles é preferido em algumas situações? Por quê?

Respostas:


25

A maioria desses instantâneos são instantâneos de cópia na gravação, que são muito rápidos e muito baratos (em termos de armazenamento) em sistemas raramente atualizados. Os instantâneos LVM são instantâneos COW, o ZFS / BTRFS possui um modo COW para instantâneos, o reiserfs não possui instantâneos nativamente, o sistema de arquivos NSS da Novell também é o COW, assim como os volumes Shadow Copy para volumes Windows NTFS.

Os instantâneos de cópia na gravação levam uma cópia dos metadados do volume de destino para o conjunto de instantâneos. Então, dependendo do modo de COW que eles estão usando, eles copiam os dados que seriam substituídos por novas gravações no pool de instantâneos antes de gravar os novos dados.

O ZFS e (eventualmente, se ainda não estiver lá) o BTRFS têm recursos de captura instantânea completa, o que é útil para encaixar em mídia separada, o que por sua vez é muito útil para sistemas de backup de sneakernet usando mídia removível. No entanto, o ZFS não chama isso de "instantâneo", eles aproveitam a capacidade do ZFS de usar zfs sende zfs recvcopiar volumes e instantâneos pela rede para um host remoto (ou matriz local).

Eu prefiro as habilidades de instantâneo no nível do sistema de arquivos do que as do LVM, porque é melhor confiar no próprio sistema de arquivos para lidar com o processo de maneira limpa. No entanto, na falta de suporte direto ao sistema de arquivos, o LVM deve funcionar bem na maioria dos casos.

As capturas instantâneas de COW são boas se você precisar de um backup point-in-time feito muito rápido para necessidades de recuperação de curto prazo. Como fazer um snap diário, ou 4x diariamente, para ser mantido por uma semana. Isso é útil se você precisar recuperar arquivos que os usuários excluem acidentalmente ou reverter um sistema inteiro para uma configuração de pré-atualização. Eles também podem ser usados ​​por alguns sistemas de backup como um sistema de arquivos totalmente desativado, para que os backups tirados do volume da captura instantânea não precisem se preocupar com a entrada de arquivos abertos no caminho. A principal coisa a lembrar é que os volumes de captura instantânea estarão no mesmo armazenamento que o volume principal, portanto, não forneça nada em caso de falha na matriz.

Instantâneos COMPLETOS são bons se forem levados para mídia removível ou remota de algum tipo. Se você tiver armazenamento em rede, o destino poderá ser uma matriz iSCSI ou Fibre Channel diferente daquela em que o armazenamento primário está hospedado. Isso fornece uma proteção fora da matriz para alguns tipos de falhas. Se estiver usando mídia removível, como uma unidade ESATA de 3 TB, você pode até usá-la como um sistema simples de backup em disco. Esses instantâneos PODEM estar em hardware diferente dos de seus irmãos COW, portanto, são úteis para resiliência a desastres.


No total vs instantâneos de vaca.

O termo 'instantâneo' foi um pouco derivado ao longo dos anos. Este ano, tenho quase certeza de que significa "uma cópia dos dados originais na cópia usando a realocação de blocos". Por essa definição, o instantâneo "Completo" apresentado acima não é realmente um instantâneo, é uma replicação. Alguns fornecedores de armazenamento usaram definições diferentes de 'instantâneo' no passado para descrever várias operações em nível de bloco que executam. Onde fica confuso são os sistemas que usam instantâneos como parte do processo de replicação.


«É preferível uma captura instantânea no nível do sistema de arquivos em vez de uma via LVM pelo simples fato de o sistema de arquivos saber como se manter consistente durante o processo de captura instantânea, onde o LVM pode '» - na verdade, acabou não sendo verdade. Confira: serverfault.com/questions/300961/…
poige 15/08

1
«O ZFS e (eventualmente, se ainda não estiver lá) o BTRFS têm recursos de captura instantânea completa» - Você deve explicar o que quer dizer com as capturas instantâneas "completas". AFAIK, não há opção "COW / full" para instantâneos com ZFS. Todos os snapshots são COW, mas, no entanto, podem ser salvos posteriormente em uma mídia separada como um sistema ou volume de arquivos inteiro.
Jlliagre

5

O LVM requer pré-planejamento. Costumo não usá-lo, porque também é outra camada de abstração e raramente está disponível quando preciso. Existem outras opções para clonar no nível do sistema de arquivos (no Linux) sem o LVM. Você pode utilizar o Hot Copy da R1Soft para fazer isso. É um módulo do kernel, mas permite que você adicione esse recurso rapidamente.


3

Problema muito claro: não é garantido que os snapshots do LVM tenham jue FS consistente porque o LVM "não sabe" nada sobre o FS que está sendo carregado com

Editado (veja os comentários): - true, a menos que o FS tenha suporte .freeze_fs, caso contrário, ele deve ser tratado pelo FS normalmente.


2
Falso; O LVM estimula o sistema de arquivos a se sincronizar antes de tirar o instantâneo.
womble

1
@ womble: mesmo depois sync, o instantâneo é uma duplicata exata de um sistema de arquivos já montado; portanto, quando você o monta, ele aparece como 'não desmontado' (porque não foi desmontado) e precisa executar algumas ações corretivas antes de ser consistente. Obviamente, isso geralmente é apenas uma repetição do diário e, depois syncdisso, deve ser uma repetição vazia; portanto, não há risco de perda de dados.
Javier

1
@womble, 1) A sincronização não é suficiente , pois haveria uma janela para novas solicitações de E / S apenas entre a sincronização e a manipulação de instantâneos do LVM. Requer tipo de bloqueio. 2) O XFS possui um recurso especial chamado "congelar" ( xfs_freeze is intended to be used with volume managers and hardware RAID devices that support the creation of snapshots.) - coisa especial para instantâneos, o LVM-2 sabe sobre ele e o usa já? 3) Diga-me onde, no espaço do usuário ( sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/?cvsroot=lvm2 ) ou nas fontes do kernel, posso provar que você está certo nos dizendo que o LVM produz FS para sincronizar.
poige

9
ok, fiz minha lição de casa e agora posso responder à 3ª parte da minha pergunta - na verdade, o LVM usa freeze_bdev () do kernel, como diz o título lock a filesystem and force it into a consistent state. Então, pelo menos, posso dizer que provavelmente estava errado ao dizer "não é garantido que o FS seja consistente", pois é o suporte ao 'método' freeze_fs dentro da implementação do FS - alguns FSes certamente têm esse suporte (EXT3, Reiser3, XFS), e outros não (EXT2, por exemplo). Além disso, ele responde à 2ª pergunta - é provável que o congelamento do XFS seja tratado automaticamente com o LVM.
poige

1

Como complemento para outras respostas. Nos snapshots do FS, você pode se beneficiar dos recursos do FS, como compactação e desduplicação em todos os snapshots.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.