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.