Несоответствие свободного места в корневом разделе XFS

Некоторое время назад (я думаю, что это началось после моего обновления до 16.04), я начал получать уведомления о снижении свободного места в корневом разделе. Сначала я подумал, что это может быть связано с тем, что после обновления пакеты находились в / var / cache, поэтому я переместил папки в другой раздел и sym связал их с исходным местоположением. Это помогло, но ненадолго. Затем я заметил, что у меня довольно много старых ядер и связанных с ними заголовков, поэтому я их почистил. Это дало мне около 1 ГБ дополнительного пространства, которое затем снова исчезло. Это мои точки монтирования и их текущее использование, как показано в df -h:

Filesystem      Size  Used Avail Use% Mounted on
udev            981M     0  981M   0% /dev
tmpfs           200M   19M  181M  10% /run
/dev/sda6       8.0G  8.0G   16M 100% /
/dev/sda7        32G   16G   17G  49% /usr
tmpfs           999M  300K  999M   1% /dev/shm
tmpfs           5.0M  8.0K  5.0M   1% /run/lock
tmpfs           999M     0  999M   0% /sys/fs/cgroup
/dev/sda9       270G   41G  216G  16% /repo
/dev/sda8        99G   91G  2.6G  98% /home
/dev/sda10      504G  162G  317G  34% /mnt/media
cgmfs           100K     0  100K   0% /run/cgmanager/fs
tmpfs           200M   64K  200M   1% /run/user/1000
/dev/sr2         48M   48M     0 100% /mnt/usb-HUAWEI_Mass_Storage-0:0

Как видите, / (/dev/sda6) практически заполнен. Когда я запускаю sudo du -h -x --max-depth=1 /, я получаю:

469M    /var
24M     /etc
0       /media
13M     /bin
54M     /boot
326M    /lib
198M    /opt
6.9M    /root
15M     /sbin
0       /srv
8.0K    /tmp
0       /cdrom
0       /mnt
0       /snap
1.1G    /

, что, насколько я могу судить, показывает, что используется гораздо меньше, чем 8 ГБ. Я использую Linux на своем рабочем столе с 90-х годов, но, видимо, мне здесь не хватает чего-то, что я не могу объяснить. Как мне узнать, что потребляет место на моем /?

[РЕДАКТИРОВАТЬ]: я попробовал решение, представленное здесь: https://serverfault.com/questions/406069/why-are- my-xfs-filesystems-внезапно потребляющее-больше-пространства-и-полно-разреженного-файла (опция allocsize = 64k), но свободное место не было освобождено.

[EDIT 2]: комментарий Пер Андрюса, вывод из xfs_db:

magicnum = 0x58465342
blocksize = 4096
dblocks = 2096474
rblocks = 0
rextents = 0
uuid = 3a3ee397-d4e5-40f1-b179-94f3c0b566ac
logstart = 1048580
rootino = 128
rbmino = 129
rsumino = 130
rextsize = 1
agblocks = 524119
agcount = 4
rbmblocks = 0
logblocks = 2560
versionnum = 0xb4b4
sectsize = 512
inodesize = 256
inopblock = 16
fname = "u.root\000\000\000\000\000\000"
blocklog = 12
sectlog = 9
inodelog = 8
inopblog = 4
agblklog = 19
rextslog = 0
inprogress = 0
imax_pct = 25
icount = 60800
ifree = 27330
fdblocks = 2970
frextents = 0
uquotino = nic
gquotino = nic
qflags = 0
flags = 0
shared_vn = 0
inoalignmt = 2
unit = 0
width = 0
dirblklog = 0
logsectlog = 0
logsectsize = 0
logsunit = 1
features2 = 0x8
bad_features2 = 0x8
0
задан 14 April 2017 в 01:14

3 ответа

Это довольно интересно, но это то, что xfs хранит метаданные о файлах в файловой системе xfs внутренне, но, похоже, это не так много, как у du, но df. Однако у xfs есть своя собственная команда xfs_estimate. df правильно показывает свободное место, используемое в разделе xfs. Я обнаружил, что запуск sudo du -h -x --max-depth=0 /path ; sudo xfs_estimate /path sudo может быть необязательным в случае, если есть файлы, которые ваш обычный пользователь не может видеть, как виртуальные машины kvm / qemu по умолчанию, которые являются одной из вещей / которые занимают много места. Например, когда я запускаю sudo du -h -x --max-depth=0 /path ; sudo xfs_estimate /path в / etc с etc, имеющим множество небольших файлов конфигурации. Это показывает, что / etc занимает 13 МБ пространства, но оценка xfs показывает, что ему потребуется раздел размером 20 МБ, который выглядит так, как будто вы используете 65% по вашей команде, но на самом деле метаданные используют остальное. Итак, в конце концов xfs_estimate может вам многое рассказать.

0
ответ дан 14 April 2017 в 01:14

Я работал xfs_check, и это показало, что существует больше места, выделенного, чем быть используемым. Я попробовал xfs_repair, и это устранило проблему. Из того, что я понимаю, проблема была подобна тому, что иногда происходило с разделами FAT, которые были подвержены 'потерянным кластерам' ошибки. Тем не менее, я все еще не знаю то, что было ответственно за это и как к предварительному центу подобные проблемы в будущем.

0
ответ дан 14 April 2017 в 01:14
  • 1
    В дополнение к @heynnema ' s превосходный ответ, когда более новые устройства поставляются, их repective usb.ids добавляются к более поздним версиям драйвера. Поэтому устройство, которое было выпущено в 2016, не будет управляться приблизительно 2013 версия драйвера 4.2.2. Кроме того, более старые версии, вероятно, не скомпилируют правильно на позже, т.е. 4.15.0-xx ядра. – chili555 19 October 2018 в 03:58

Боюсь, ваша XFS не находится в режиме "ленивого счетчика", в нем есть какая-то ошибка. Поэтому попробуйте перевести XFS в режим «ленивого счетчика» с помощью команды «xfs_admin -c 1».

0
ответ дан 8 November 2019 в 06:53

Другие вопросы по тегам:

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