Задать вопрос
youngmysteriouslight
@youngmysteriouslight
ТК, ТТ, JS, FP, WM

Как определить переиспользование пространства в btrfs?

Решил потрогать BTRFS. Делал по инструкции help ubuntu:
mkdir mnt
truncate -s 5G img
mkfs.btrfs img
losetup /dev/loop0 img
mount /dev/loop0 mnt
chmod 777 mnt # далее все команда от имени обычного пользователя

Далее я скопировал внутрь mnt сборник тегов (версий) старого проекта с раздела ext4 при помощи rsync -a.
5df75ba702ea8203798667.png
$ du -hs mnt/tags/*
5,8M	v0.0.1
5,8M	v0.0.2
52M	v0.1.0
55M	v0.1.1
59M	v0.1.2a
50M	v0.1.2 dcb7656
59M	v0.1.3 grand-merge
57M	v0.1.4
135M	v0.1.5
27M	v0.2.0
5,4M	v1.0
4,0M	v1.1
5,3M	v1.2
4,1M	v1.2.2
4,9M	v1.3
5,1M	v1.3-without-tag
6,5M	v1.4
6,4M	v1.5
6,6M	v1.6
6,6M	v1.7

Как видно, du и gui-анализатор согласуются. Затем делаю
$ btrfs filesystem du -s mnt
     Total   Exclusive  Set shared  Filename
 483.00MiB   483.00MiB       0.00B  mnt

$ btrfs filesystem du -s mnt/tags/*
     Total   Exclusive  Set shared  Filename
   5.52MiB     5.52MiB       0.00B  mnt/tags/v0.0.1
   5.40MiB     5.40MiB       0.00B  mnt/tags/v0.0.2
  50.21MiB    50.21MiB       0.00B  mnt/tags/v0.1.0
  52.29MiB    52.29MiB       0.00B  mnt/tags/v0.1.1
  57.23MiB    57.23MiB       0.00B  mnt/tags/v0.1.2a
  47.59MiB    47.59MiB       0.00B  mnt/tags/v0.1.2 dcb7656
  55.67MiB    55.67MiB       0.00B  mnt/tags/v0.1.3 grand-merge
  53.88MiB    53.88MiB       0.00B  mnt/tags/v0.1.4
 131.61MiB   131.61MiB       0.00B  mnt/tags/v0.1.5
  23.41MiB    23.41MiB       0.00B  mnt/tags/v0.2.0
 192.00KiB   192.00KiB       0.00B  mnt/tags/v1.0
     0.00B       0.00B       0.00B  mnt/tags/v1.1
     0.00B       0.00B       0.00B  mnt/tags/v1.2
     0.00B       0.00B       0.00B  mnt/tags/v1.2.2
     0.00B       0.00B       0.00B  mnt/tags/v1.3
     0.00B       0.00B       0.00B  mnt/tags/v1.3-without-tag
     0.00B       0.00B       0.00B  mnt/tags/v1.4
     0.00B       0.00B       0.00B  mnt/tags/v1.5
     0.00B       0.00B       0.00B  mnt/tags/v1.6
     0.00B       0.00B       0.00B  mnt/tags/v1.7

Откуда нули? Странно.
Далее:
$ btrfs filesystem df -h mnt
Data, single: total=1.01GiB, used=483.19MiB
System, DUP: total=8.00MiB, used=16.00KiB
Metadata, DUP: total=256.00MiB, used=36.53MiB
GlobalReserve, single: total=16.00MiB, used=0.0

Ещё опыт:
$ cp -r --reflink=always mnt/tags mnt/t
$ btrfs filesystem du -s mnt/*
     Total   Exclusive  Set shared  Filename
 483.00MiB       0.00B   483.00MiB  mnt/t
 483.00MiB       0.00B   483.00MiB  mnt/tags

Как узнать, сколько места
1) занимают файлы с точки зрения ФС — du работает, как видим,
2) занимает ФС с учётом переиспользования и сжатия на физическом диске
3) переиспользуется для данного набора файлов и директорий (как интерпретировать вывод в последнем опыте? почему exclusive нулевой?)
Ещё вопрос: полная оценка скопированной информации 587Mb по du и 483Mb по btrfs du. Почему эта разница возникает? Точнее, что именно измеряет btrfs du?
  • Вопрос задан
  • 32 просмотра
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы