Как раздел может быть полным, если du ​​не показывает его?

В одной из моих систем корневой раздел заполнен:

snip:˜ # df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           11G  9.3G     0 100% /
devtmpfs        744M   36K  744M   1% /dev
tmpfs           751M     0  751M   0% /dev/shm
tmpfs           751M  296K  751M   1% /run
/dev/sda7        11G  9.3G     0 100% /
tmpfs           751M     0  751M   0% /sys/fs/cgroup
tmpfs           751M  296K  751M   1% /var/lock
tmpfs           751M  296K  751M   1% /var/run
tmpfs           751M     0  751M   0% /media
/dev/sda5       151M   39M  104M  28% /boot
/dev/sda8       4.4G  207M  3.3G   6% /home

Но du не показывает около 9,3 гигабайта использования:

snip:~ # du /* -s -h
5.2M    /bin
34M /boot
36K /dev
22M /etc
199M    /home
154M    /lib
20M /lib64
0   /media
0   /mnt
0   /opt
0   /proc
7.9M    /root
288K    /run
7.1M    /sbin
0   /selinux
756K    /srv
0   /sys
0   /tmp
1.6G    /usr
1.1G    /var

Это всего около 3 гигабайт.

  • Как это может быть?
  • Где искать оставшиеся 6+ гигабайт использованных гигабайт?

Я использую openSUSE 12.2:

snip:~ # cat /etc/SuSE-release
openSUSE 12.2 (x86_64)
VERSION = 12.2
CODENAME = Mantis

1 ответ

Сначала немного справочной информации

Если у вас есть btrfs в корневой файловой системе на http://www.opensuse.org/en/, то произойдут две вещи:

  1. openSUSE автоматически начнет использовать snapper для создания снимков вашей корневой файловой системы.
  2. снимки будут занимать дисковое пространство, которое дю не показывает

Это означает, что вам не хватит места на диске раньше, чем вы ожидаете. Поэтому рекомендация (не в документации) - создавать разделы, использующие моментальные снимки, в два раза больше, чем обычно.

Я не нашел способ показать размер каждого снимка или общий размер всех снимков.

Таким образом, вы должны контролировать свободное место на диске с df или это специфическая команда btrfs для рута (/) файловая система:

btrfs filesystem df /

Очистка снимков окуня

Благодаря NerdyRoom™ "Радости btrfs и OpenSuSE - или" на устройстве не осталось места ". Я нашел самый простой способ удалить старые снимки, которые вы можете удалить (и вам придется делать, когда у вас заканчивается свободное место на диске).

Первый забег snapper list чтобы увидеть порядковый номер снимков, которые там.

Из этого списка выберите разумную нижнюю и верхнюю границу снимков для удаления.

Затем запустите это с нижней (1) и верхний (3656) связаны:

for i in `seq 1 3656`; do snapper delete $i; done

Изменить 20161212:

Анонимный пользователь предложил изменить, чтобы сделать это короче. Я согласен, так как вышеперечисленное можно сделать короче, как описано на странице руководства snapper

snapper delete 1-3656
Другие вопросы по тегам