Diferença entre fsfreeze e instantâneo lvm

3

Eu ouvi recentemente sobre fsfreeze e estou muito interessado em fazer instantâneos da minha VM com o VMware e obter um estado consistente de disco usando o quiescence. Todos os meus sistemas de arquivos são volumes LVM e man fsfreeze menciona:

fsfreeze is unnecessary for device-mapper devices. The device-mapper (and LVM) automatically freezes filesystem on the device when a snapshot creation is requested. For more details see the dmsetup(8) man page.

Mas acho o fsfreeze muito mais fácil de usar do que uma ferramenta LVM complexa, na qual você precisa avaliar o tamanho do seu instantâneo.

Perguntas

  • Existe alguma diferença?
  • Ainda posso usar o comando para um volume LVM? Ou talvez um volume físico de LVM?
  • Ou eu sou forçado a usar o comando lvm ?

Pergunta adicional para a recompensa

O instantâneo fsfreeze ou lvm assegura um instantâneo consistente se usado para fazer backup de um banco de dados mysql / oracle / postgrSQL?

Mais algumas informações

O caso aqui é simples, mas você precisa entender todo o conceito.
O VMWare é capaz de tirar o instantâneo da VM rapidamente (menos de 5 segundos) e antes e depois do snapshot que executa o script para estabilizar o estado da vm e obter um instantâneo vm consistente. Eu não me importo de montar em um snapshot lvm de somente leitura e não quero porque eles estão limitados ao tamanho do disco e ao over-over. O que eu quero é fsfreeze meus sistemas de arquivos e instantâneo a vm e liberar o bloqueio.
Nesse caso, seria possível usar fsfreeze em vez do instantâneo lvm (que são mais complexos e com espaço em disco vinculado.

    
por Kiwy 23.09.2014 / 13:05

3 respostas

1

De man fsfreeze :

-f, --freeze

This option requests the specified a filesystem to be frozen from new 
modifications. When this is selected, all ongoing transactions in the filesystem 
are allowed to complete, new write system calls are halted, other calls which 
modify the filesystem are halted, and all dirty data, metadata, and log information 
are written to disk. Any process attempting to write to the frozen filesystem will 
block waiting for the filesystem to be unfrozen.

Para fazer um backup, de um sistema de arquivos montado recebendo modificações aleatórias o tempo todo, o congelamento da E / S durante o backup é apenas parte do trabalho a ser feito. Isso porque, a menos que o sistema de arquivos seja realmente pequeno, ou você tenha um dispositivo de backup extremamente rápido, certamente não será capaz de congelar todo o sistema de arquivos durante toda a duração do backup.

Portanto, fsfreeze sozinho provavelmente não é suficiente para fazer o que você deseja. Por outro lado, o instantâneo LVM é exatamente o que é necessário para este trabalho: leva apenas alguns segundos para "fazer o backup", então você pode reservar um tempo para realmente copiar esse backup (o instantâneo) para algum dispositivo de backup lento o instantâneo LVM manipulará os blocos do sistema de arquivos que foram alterados durante esse longo processo de backup. A única parte em que fsfreeze seria necessário é a parte de criação do instantâneo, mas essa parte já é tratada pelo próprio LVM de forma transparente, portanto, tudo o que você precisa prestar atenção é o instantâneo do LVM.

Backups feitos usando recursos semelhantes de congelamento do sistema de arquivos ou instantâneos de dispositivo de bloco são considerados consistentes o suficiente para um RDBMS bem comportado (como Oracle e seus primos), mas é necessário garantir que todos os arquivos de banco de dados sejam congelados / instantâneos no mesmo ponto no tempo. Se vários sistemas de arquivos / volumes LVM forem afetados, isso poderá necessitar da ajuda do RDBMS. A Oracle, por exemplo, fornece um BACKUP MODE , que está lá para implementar um congelamento semelhante ao que o fsfreeze faz, mas no nível do banco de dados.

    
por 26.09.2014 / 22:07
0

Como @Laszlo observou, o congelamento é apenas uma parte de um processo de backup. Você congela o sistema de arquivos primeiro para forçar todas as informações armazenadas em buffer que estão prestes a ser gravadas no disco para serem descarregadas no disco. Quando o sistema de arquivos é congelado, nenhum dado será alterado no sistema de arquivos durante o processo de backup. Depois que você congelar seu sistema de arquivos, você pode continuar com o backup usando tar, dd, dump ou o que for (não sou especialista em soluções de backup). Além disso, em vez de congelar, eu acabei de remontar o sistema de arquivos como somente leitura antes de fazer o backup, se isso for uma opção.

Quando você cria um instantâneo LVM, não precisa congelar o sistema de arquivos; O mapeador de dispositivos lida com isso para você. E criar instantâneos não é tão difícil. O comando para criar um instantâneo de 2 GB em tamanho para o volume lógico do LVM / dev / mapper / centos-root seria:

lvcreate -L 2G -n root-snapshot -s /dev/mapper/centos-root

E o comando para restaurar a partir da captura instantânea seria:

lvconvert --merge /dev/mapper/centos-root-snapshot

Observe que, ao mesclar a captura instantânea de volta ao seu volume original, se o volume original estiver ativo, a mesclagem ocorrerá na próxima reinicialização. O instantâneo não existirá mais após a fusão.

Agora, algumas palavras de aviso. As cópias de instantâneos do LVM de um sistema de arquivos são cópias virtuais, não um backup de mídia real para um sistema de arquivos. Como os instantâneos do LVM dependem dos dados inalterados do volume original, eles não fornecem um substituto para um procedimento de backup.

Os instantâneos do LVM usam uma diretiva COW (copy-on-write). O instantâneo inicial que você tira simplesmente contém hard-links para os inodes de seus dados reais. Contanto que seus dados permaneçam inalterados, o instantâneo contém apenas seus ponteiros de inode e não os dados em si. Sempre que você modifica um arquivo ou diretório para o qual o snapshot aponta, o LVM clona automaticamente os dados, a cópia antiga referenciada pelo snapshot e a nova cópia referenciada pelo sistema ativo.

Se você deseja criar um backup (não um instantâneo) de um volume lógico confira aqui várias maneiras de alcançá-lo .

Além disso, se um instantâneo do LVM estiver cheio, o instantâneo se tornará inválido, pois não poderá mais rastrear as alterações no volume original. Portanto, você deve monitorar regularmente o tamanho da captura instantânea e aumentar o tamanho do volume da captura instantânea (os instantâneos são totalmente redimensionáveis) para evitar que ele seja descartado; ou se você achar que o volume da captura instantânea é maior do que o necessário, reduza seu tamanho e libere espaço.

    
por 30.09.2014 / 20:06
0

Tem certeza de que precisa congelar o fs? Eu ainda não ouvi falar de um problema com snaps quiescentes do Linux no ESXi - e eu tinha certeza de ter ouvido que o vm-tools permitiria que a VM linux desativasse corretamente via, bem, não um fsfreeze, mas eu pensei que era mais uma operação de suspensão muito curta.

Eu também não preciso de um problema com snaps em VMs de Linux ao vivo em execução no ESXi. Estamos usando o EMC (e o 3par quando forçados) e em ambos no ESXi5 eu não ouvi nada do meu grupo ou de um cliente sugerindo que o snap era diferente do que esperávamos (uma boa imagem da máquina naquele momento) ). Eu deveria estar preocupado? Você deveria?

    
por 02.10.2014 / 04:41