У меня есть резервный сервер с ZFS (Ubuntu 16.04; 32 ГБ ОЗУ, 4x6 ТБ HDD, raidz2). Недавно я обнаружил проблему со свободным местом.
# zpool list -v
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
pool 21.6T 19.9T 1.76T - 62% 91% 2.30x ONLINE -
raidz2 21.6T 19.9T 1.76T - 62% 91%
sda5 - - - - - -
sdb5 - - - - - -
sdc5 - - - - - -
sdd5 - - - - - -
Похоже, что почти все место выделено. Понятия не имею, что это потребляет. Взгляните на размер тома:
# zfs list -o space
NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD
pool 425G 13.4T 0 140K 0 13.4T
pool/backup 425G 742G 0 140K 0 742G
pool/backup/avol 425G 69.0G 0 198K 0 69.0G
pool/backup/avol/old_dumps 425G 69.0G 0 69.0G 0 0
pool/backup/nnn 425G 517G 0 163K 0 517G
pool/backup/nnn/cdvol 425G 5.00G 0 5.00G 0 0
pool/backup/nnn/himvol 425G 98.3G 0 98.3G 0 0
pool/backup/nnn/irvol 425G 33.8G 0 140K 0 33.8G
pool/backup/nnn/irvol/smavol 425G 33.8G 0 33.8G 0 0
pool/backup/nnn/menvol 425G 931M 0 931M 0 0
pool/backup/nnn/nevvol 425G 77.9G 0 77.9G 0 0
pool/backup/nnn/scovol 425G 27.4G 0 27.4G 0 0
pool/backup/nnn/vm 425G 274G 0 16.5M 0 274G
pool/backup/nnn/vm/123 425G 1.47G 0 1.47G 0 0
pool/backup/nnn/vm/124 425G 9.23G 0 9.23G 0 0
pool/backup/nnn/vm/125 425G 13.5G 0 13.5G 0 0
pool/backup/nnn/vm/126 425G 10.5G 0 10.5G 0 0
pool/backup/nnn/vm/128 425G 16.9G 0 16.9G 0 0
pool/backup/nnn/vm/130 425G 8.96G 0 8.96G 0 0
pool/backup/nnn/vm/131 425G 147G 0 147G 0 0
pool/backup/nnn/vm/132 425G 11.3G 0 11.3G 0 0
pool/backup/nnn/vm/135 425G 39.7G 0 39.7G 0 0
pool/backup/nnn/vm/136 425G 16.0G 0 16.0G 0 0
pool/backup/old 425G 50.5G 0 140K 0 50.5G
pool/backup/old/himvol 425G 50.5G 0 50.5G 0 0
pool/backup/telvol 425G 105G 0 105G 0 0
pool/backup2 425G 2.74T 0 140K 0 2.74T
pool/backup2/nnn 425G 2.74T 0 140K 0 2.74T
pool/backup2/nnn/vm 425G 2.74T 0 151K 0 2.74T
pool/backup2/nnn/vm/101 425G 28.0G 0 28.0G 0 0
pool/backup2/nnn/vm/103 425G 38.0G 0 38.0G 0 0
pool/backup2/nnn/vm/104 425G 333G 0 333G 0 0
pool/backup2/nnn/vm/105 425G 526M 0 526M 0 0
pool/backup2/nnn/vm/106 425G 17.1G 0 17.1G 0 0
pool/backup2/nnn/vm/107 425G 17.0G 0 17.0G 0 0
pool/backup2/nnn/vm/109 425G 235G 0 235G 0 0
pool/backup2/nnn/vm/110 425G 321G 0 321G 0 0
pool/backup2/nnn/vm/111 425G 1.11G 0 1.11G 0 0
pool/backup2/nnn/vm/112 425G 73.6G 0 73.6G 0 0
pool/backup2/nnn/vm/114 425G 1.27T 0 1.27T 0 0
pool/backup2/nnn/vm/116 425G 1.31G 0 1.31G 0 0
pool/backup2/nnn/vm/117 425G 19.9G 0 19.9G 0 0
pool/backup2/nnn/vm/119 425G 7.15G 0 7.15G 0 0
pool/backup2/nnn/vm/121 425G 178G 0 178G 0 0
pool/backup2/nnn/vm/122 425G 237G 0 237G 0 0
Недавно я отключил дедуплиацию и скопировал все тома (zfs send | zfs receive; zfs destroy), чтобы избавиться от дедуплицированных данных, но они все еще присутствуют:
# zpool status -D
pool: pool
state: ONLINE
scan: scrub in progress since Wed Jul 12 11:23:27 2017
1 scanned out of 19.9T at 1/s, (scan is slow, no estimated time)
0 repaired, 0.00% done
config:
NAME STATE READ WRITE CKSUM
pool ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
sda5 ONLINE 0 0 0
sdb5 ONLINE 0 0 0
sdc5 ONLINE 0 0 0
sdd5 ONLINE 0 0 0
errors: No known data errors
dedup: DDT entries 41434395, size 978 on disk, 217 in core
bucket allocated referenced
______ ______________________________ ______________________________
refcnt blocks LSIZE PSIZE DSIZE blocks LSIZE PSIZE DSIZE
------ ------ ----- ----- ----- ------ ----- ----- -----
1 25.3M 2.41T 1.95T 1.99T 25.3M 2.41T 1.95T 1.99T
2 5.00M 469G 340G 347G 11.2M 1.03T 762G 779G
4 7.37M 549G 438G 451G 36.9M 2.69T 2.14T 2.21T
8 1.41M 124G 80.7G 83.5G 14.6M 1.26T 833G 862G
16 281K 16.8G 10.7G 11.5G 5.72M 337G 219G 235G
32 73.7K 4.57G 3.79G 3.96G 3.14M 198G 167G 174G
64 40.5K 2.58G 2.32G 2.41G 3.25M 215G 195G 202G
128 8.49K 358M 272M 298M 1.38M 60.2G 45.7G 50.0G
256 3.22K 201M 171M 180M 1.10M 69.8G 59.7G 62.7G
512 1.46K 56.1M 52.2M 56.9M 1.20M 41.1G 38.1G 42.1G
1K 372 12.5M 10.4M 11.7M 501K 19.5G 16.3G 18.0G
2K 169 7.41M 6.14M 6.78M 468K 20.3G 17.0G 18.8G
4K 64 3.40M 2.69M 2.85M 358K 19.1G 15.0G 15.9G
8K 14 316K 172K 238K 151K 3.37G 1.82G 2.52G
16K 10 35.5K 31.5K 75.6K 206K 738M 667M 1.54G
32K 4 102K 85.5K 105K 185K 4.71G 3.93G 4.79G
256K 2 1K 1K 11.6K 704K 352M 352M 4.00G
Total 39.5M 3.55T 2.81T 2.87T 106M 8.36T 6.42T 6.61T
Может в этом причина? Есть ли способ проверить, что использует дедуплицированные данные, и удалить их? Что еще может занимать дисковое пространство?
Есть что-то странное с zpool scrub. Я запустил его более 6 часов назад (часовой пояс CEST), и текущий статус:
scan: scrub in progress since Wed Jul 12 15:48:20 2017
1 scanned out of 20.0T at 1/s, (scan is slow, no estimated time)
0 repaired, 0.00% done
Нагрузка на сервер слишком велика (время безотказной работы от 2 до 80), iostat показывает 100% использование дисков, но никакие процессы не запущены (кроме ssh-сервера).
ОБНОВЛЕНИЕ: Сегодня у меня почти 1 ТБ свободного места. На сервере ничего не было сделано, может, zfs нужно время, чтобы очистить старые данные?
РЕШЕНО: Проблема исчезла. Таблица дедупликации теперь пуста, 6,75 ТБ свободного места! Zfs потребовалось около 6 дней, чтобы его очистить.
Запустите скрипт python для обнаружения и удаления дублированного файла данных:
http://code.activestate.com/recipes/362459-dupinator-detect-and-delete-duplicate-files/