Como o tamanho do snapshot jfs2 do AIX pode ser menor que o tamanho dos dados no fs?

Como o tamanho do snapshot jfs2 do AIX pode ser menor que o tamanho dos dados no fs?

Em todos os sistemas operacionais, eu crio snapshots de tamanho maior que o espaço fs ocupado. Por exemplo: se eu tivesse um fs chamado /try de 250GB mas o espaço utilizado for 100GB vou criar um snapshot de 100GB ou um pouco mais. No AIX eu crio um snapshot com um tamanho abaixo do espaço ocupado pelo fs..e funciona. Em um volume lógico de 2GB eu crio um arquivo de 590MB

dd if=/dev/zero of=hello bs=1m count=590
590+0 records in
590+0 records out

então eu crio o instantâneo de 256 MB em vez de 590 MB ou mais

snapshot -o snapfrom=/try -o size=256m 
Snapshot for file system /try created on /dev/fslv00

df reporta o tamanho correto de fs "try"

df -hT /try
/dev/try     jfs2    2,0G  591M    1,5G  29% /try

Eu posso montar o snapshot

mount -o snapshot /dev/fslv00 /mnt/

tamanho do relatório df de 256 MB para o instantâneo, mas com 1,5 MB usado!

df -hT /mnt
/dev/fslv00    jfs2  256M  1,5M    255M   1% /mnt

Para a tentativa final, fiz uma verificação md5sum de um arquivo ... e funciona tanto para instantâneo quanto para fs real.

b7fb2207c641085a9cf02064edf1742e  /mnt/hello
b7fb2207c641085a9cf02064edf1742e  /try/hello

As perguntas são simples: como o tamanho do snapshot pode estar abaixo do tamanho do fs real? Por que o espaço no snapshot (1,5mb) está abaixo do espaço utilizado (591mb) ​​do fs real?

Responder1

Solução encontrada. É "possível" criar um snapshot com tamanho inferior ao tamanho fs usado do fs real, mas é totalmente inútil. Quando eu excluo o arquivo original /try/hello, o tamanho do snapshot fica grande (devido à transferência dos blocos de arquivo), mas como eu o criei com o tamanho do fs real, o fs fica cheio e o arquivo "hello" fica quebrado e retornar erro de E/S.

df -hT /mnt
/dev/fslv00    jfs2    256M  256M     0 100% /mnt

md5sum /mnt/hello 
md5sum_64: /mnt/hello: There is an input or output error.

informação relacionada