У меня есть система Centos7 с пулом zfs, с которой я сделал снимок sudo zfs snapshot -r data-pool/Samba@backup_r
. Сделав снимок, я скопировал несколько гигабайт файлов со своего ПК с Windows в этот пул (он отображается как общий ресурс samba). После копирования я сделал снимок с sudo zfs snapshot -r data-pool/Samba@backup_r2
.
Я был удивлен, что zfs list -o space -r data-pool
сообщает 0 как размер для обоих этих снимков в USED
и USEDSNAP
поля вывода.
Почему размер обоих снимков указан как 0? Если я правильно понял, снимки в файловых системах ZFS являются инкрементными, поэтому я предположил, что последний снимок должен указывать размер того количества данных, которые я скопировал в общий ресурс samba.
Снимок увеличится в размере, только если вы изменить или удалить файлы которые присутствовали в наборе данных на момент создания снимка.
ZFS использует моментальные снимки копирования при записи, что означает, что если блок данных собирается быть изменен, новая копия блока, включая изменения, записывается в другое место в пуле хранения и ссылки в соответствующем наборе данных / том обновлены.
Снимки имеют нулевой размер, если ни один из блоков, которые использовались набором данных во время создания снимка, не был изменен, поэтому снимок отличается от текущей версии набора данных только метаданными.