Ярлыки

gentoo (19) kde (7) btrfs (5) nvidia (4) portage (3) zfs (3) clementine (2) compiz (2) fs (2) kernel (2) windows (2) zram (2) сеть (2) bash (1) chattr (1) conky (1) cow (1) cpufreq (1) cryptsetup (1) dns (1) dnsmasq (1) dolphin (1) emerald (1) ext4 (1) f2fs (1) ffmpeg (1) firefox (1) kdm (1) kexec (1) kvm (1) lsattr (1) lvm (1) networkmanager (1) noop (1) openrc (1) pulseaudio (1) qemu (1) qtcurve (1) ram (1) reiserfs (1) s2ram (1) samba (1) sed (1) ssd (1) systemd (1) tmpfs (1) vlc (1) webdav (1) zcache (1) игры (1) шифрование (1)

Btrfs: дедупликация

Начиная с ядра 3.12 файловая система Btrfs научилась дедупликации. Грубо говоря, это выявление идентичных файлов и замена всех копий ссылкой на оригинал. Пока что дедупликация в Btrfs доступна только offline-типа, т.е. её нужно запускать вручную (на примонтированных разделах).

Утилита дедупликации находится в пакете bedup, причём дерево содержит только live-версию.

emerge -av bedup
И можно приступать к дедупликации. Изначально картина занятого места выглядела так:
locus fragment # zone df /
Space on /:
Data, single: total=43.01GiB, used=22.02GiB
System, single: total=4.00MiB, used=12.00KiB
Metadata, single: total=6.01GiB, used=1.41GiB
Дедупликация:
locus fragment # bedup dedup
Not scanning /zone, generation is still 30093
Not scanning /wine, generation is still 674
Not scanning /zone/frag, generation is still 65542
Not scanning /zone/frag/orig, generation is still 65542
Not scanning /repo, generation is still 73635
Not scanning /usr/src, generation is still 73818
Not scanning /zone/fragment, generation is still 73649
Not scanning /zone/fragment/orig, generation is still 49571
Not scanning /zone/fragment/update-1, generation is still 56067
Scanning volume /home/fragment generations from 75392 to 75634, with size cutoff 8388608
00.00 Scanned  retained 0/usr/lib64/python3.2/site-packages/cffi/vengine_cpy.py:166: UserWarning: reimporting '_cffi__xb792897axfdd60368' might overwrite older definitions
  % (self.verifier.get_module_name()))
00.05 Scanned 13843 retained 0
Not scanning /zone/fragment/20:11:37-10.11.2013, generation is still 65631
Not scanning /zone/fragment/first, generation is still 29238
Not scanning /zone/fragment/kde-4.11.3, generation is still 73823
Scanning volume /zone/root generations from 73649 to 75416, with size cutoff 8388608
00.00 Scanned 14 retained 0
Not scanning /zone/root/kde-4.11.3, generation is still 73824
Not scanning /zone/root/20:11:37-10.11.2013, generation is still 65632
Not scanning /zone/root/orig, generation is still 49572
Scanning volume / generations from 75393 to 75628, with size cutoff 8388608
00.01 Scanned 3654 retained 0
Not scanning /zone/root/update-1, generation is still 61063
Not scanning /zone/root/first, generation is still 30214
Deduplicating filesystem {8807f8ef-bb17-4c9a-b55b-89533a11d979}
File '.kde4/share/apps/nepomuk/repository/main/data/virtuosobackend/soprano-virtuoso.db' is in use, skipping
Deduplicated:
- '/zone/root/orig/usr/share/icons/oxygen/icon-theme.cache'
- '/zone/root/first/usr/share/icons/oxygen/icon-theme.cache'
Deduplicated:
- '/zone/root/orig/usr/share/icons/oxygen/icon-theme.cache'
- '/zone/root/update-1/usr/share/icons/oxygen/icon-theme.cache'
Deduplicated:
- '/zone/root/orig/usr/share/icons/oxygen/icon-theme.cache'
- '/zone/root/kde-4.11.3/usr/share/icons/oxygen/icon-theme.cache'
Deduplicated:
- '/zone/root/orig/usr/share/icons/oxygen/icon-theme.cache'
- '/zone/root/20:11:37-10.11.2013/usr/share/icons/oxygen/icon-theme.cache'
Deduplicated:
- '/zone/root/orig/usr/share/icons/oxygen/icon-theme.cache'
- '/usr/share/icons/oxygen/icon-theme.cache'
Deduplicated:
- '/zone/root/first/opt/vmware/lib/vmware/isoimages/windows.iso'
- '/zone/root/kde-4.11.3/opt/vmware/lib/vmware/isoimages/windows.iso'
И так далее. Конец:
Deduplicated:
- '/zone/root/kde-4.11.3/opt/vmware/lib/vmware/icu/icudt44l.dat'
- '/zone/root/20:11:37-10.11.2013/opt/vmware/lib/vmware/icu/icudt44l.dat'
Deduplicated:
- "/zone/frag/orig/My Games/clean Sid Meier's Civilization 5 clean/cache/Civ5BaseLocalizationDatabase.db"
- "/zone/frag/orig/My Games/clean Sid Meier's Civilization 5 clean/cache/Civ5LocalizationDatabase.db"
Deduplicated:
- '/opt/vmware/lib/vmware/lib/libvmwarebase.so.0/libvmwarebase.so.0'
- '/zone/root/20:11:37-10.11.2013/opt/vmware/lib/vmware/lib/libvmwarebase.so.0/libvmwarebase.so.0'
02:04.9 Size group 157/157 (8388608) sampled 804 hashed 471 freed 6481671739
00.01 Committing tracking state
Сам процесс не то, чтобы быстрый, но и утомительно медленным его назвать тоже нельзя.
И сколько же места сэкономлено?
locus fragment # zone df /
Space on /:
Data, single: total=43.01GiB, used=20.32GiB
System, single: total=4.00MiB, used=12.00KiB
Metadata, single: total=6.01GiB, used=1.41GiB
Почти что два гигабайта. Мелочь, а приятно. Всё же в корне системы и профилях пользователей немного простора для дедупликации, а вот на хранилище виртуальных машин эффект должен быть более поразительным.

Комментариев нет:

Отправить комментарий