Как размер снимка AIX jfs2 может быть меньше размера данных на файловой системе?

Как размер снимка AIX jfs2 может быть меньше размера данных на файловой системе?

На каждой ОС я когда-либо создавал снимки размером больше, чем занятое пространство fs. Например: если у меня была fs с именем /try размером 250 ГБ, но занятое пространство составляет 100 ГБ, я создам снимок размером 100 ГБ или немного больше. На AIX я создаю снимок размером меньше занятого пространства fs... и это работает. На логическом томе размером 2 ГБ я создаю файл размером 590 МБ

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

затем я создаю снимок размером 256 МБ вместо 590 МБ или больше

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

df сообщает правильный размер fs "попробовать"

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

Я могу смонтировать снимок

mount -o snapshot /dev/fslv00 /mnt/

Размер отчета df для снимка составляет 256 МБ, но при этом используется 1,5 МБ!

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

В качестве последней попытки я сделал проверку md5sum файла. Она работает как для моментального снимка, так и для реальной файловой системы.

b7fb2207c641085a9cf02064edf1742e  /mnt/hello
b7fb2207c641085a9cf02064edf1742e  /try/hello

Вопросы простые: как размер снимка может быть меньше размера реальной fs? Почему пространство на снимке (1,5мб) меньше используемого пространства (591мб) реальной fs?

решение1

Решение найдено. «Возможно» создать снимок размером меньше используемого размера реальной fs, но это совершенно бесполезно. Когда я удаляю исходный файл /try/hello, размер снимка становится большим (из-за передачи блоков файла), но поскольку я создал его меньше размера реальной fs, fs заполняется, а файл «hello» становится сломанным и возвращает ошибку ввода-вывода.

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.

Связанный контент