У меня возникли проблемы с резервным копированием файловой системы ZFS из-за нехватки места на моих устройствах резервного копирования.
Первый раз забыл, что сжатие включено. Однако во второй попытке я получил степень сжатия файловой системы, а также видимый размер, возвращенный ду.
Они согласовали друг с другом размер:
louis@watson:~$ sudo zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
watson 3.62T 2.74T 904G 75% 1.00x ONLINE -
louis@watson:~$ sudo zfs list
NAME USED AVAIL REFER MOUNTPOINT
watson 2.74T 846G 30K none
watson/gelato 2.73T 846G 2.67T /data/gelato
louis@watson:~$ sudo zfs get compressratio watson/gelato
NAME PROPERTY VALUE SOURCE
watson/gelato compressratio 1.64x -
Я ожидал, что 2,67 ТБ в сжатом виде с экономией в 1,64 раза можно будет разместить на диске 6 ТБ, как было подтверждено ду:
louis@watson:~$ cd /data/gelato/
louis@watson:/data/gelato$ sudo du -hs --apparent-size
4.6T .
Но мне снова не хватило места во время резервного копирования, и я не уверен, почему. Вероятно, оставалось менее 1 ТБ для копирования, когда на диске 6 ТБ закончилось место. Тем не менее, это далеко не все, что, как мне кажется, могло бы объяснить расхождение.
Снимки:
louis@watson:~$ sudo zfs list -o space
NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD
watson 846G 2.74T 0 30K 0 2.74T
watson/gelato 846G 2.73T 53.6G 2.67T 0 0
watson/home 846G 15.8G 57.3M 15.8G 0 0
Есть ли лучший способ получить фактический размер данных, хранящихся в сжатой файловой системе ZFS?
Следует упомянуть, что для резервного копирования я использую rsync -avh. На целевом диске я не вижу снимков (..... /. Zfs / snapshot). Означает ли это, что снимки не копируются?
Что следует учитывать:
zfs list -o recsize watson/gelato
) как источника, так и цели. Если у вас много небольших данных, но большой размер записи, пространство будет потрачено впустую. Напротив, пространство также тратится впустую из-за заголовков и метаданных, но обычно эффект не так заметен. Если вы разделяете файловую систему через SMB / CIFS, вы можете увидеть разницу, используя окно свойств папки Windows Explorer.copies
свойство когда-либо было установлено на значение 1 или больше (это могло быть установлено и отключено в прошлом, и копии были бы созданы для любых вновь записанных данных в период между ними).usedbychildren
, usedbydataset
, usedbyrefreservation
, и usedbysnapshots
. Они подводят итог used
, так что это не будет ничего нового, но может помочь идентифицировать старые снимки и тому подобное.logicalused
и logicalreferenced
Я бы предложил zpool list
.
Я бы также проверил использование снимков. Есть ли в вашей среде какие-либо снимки?