Arquivo de diferenciação não persistente

1

Eu tenho um arquivo grande (5-10 GB) e quero acessar esse arquivo em um sistema de arquivos especial com as seguintes condições / recursos:

  1. Existe um único processo que lê e escreve no arquivo.
  2. Quando o processo grava em alguma posição do arquivo e lê a mesma posição depois, os novos valores são retornados (o arquivo parece alterado).
  3. Quando o sistema de arquivos recebe um sinal de reversão, o arquivo será restaurado para o estado original.
Teoricamente eu posso imaginar um mecanismo onde as mudanças são salvas em um arquivo auxiliar, e há um sistema de arquivos virtual que gerencia tudo isso, dando uma visualização de um arquivo não persistente para o fim-usado. Alguém sabe de uma implementação disso?

    
por WillingGood 01.07.2013 / 15:24

1 resposta

0

Procure por um mecanismo de armazenamento com um recurso de instantâneo. No Linux, o sistema de arquivos Btrfs suporta o snapshot. Você pode criá-los com o comando [ btrfs ] ( link .

btrfs subvolume snapshot myvolume mysnapshot
… work on mysnapshot, not on the original file …
btrfs subvolume delete mysnapshot

Outro sistema de arquivos que suporta snapshots é o ZFS , que é nativo do Solaris e também disponível no Linux e no * BSD. Você pode criá-los com o comando zfs .

zfs snapshot myvolume@mysnapshot
…
zfs rollback mysnapshot

No Linux, você também pode fazer o snapshot no nível LVM . Veja Como criar um instantâneo somente leitura no LVM, e então reverter para ele depois de algum trabalho?

    
por 02.07.2013 / 01:15