Как я могу найти использование дискового пространства?

У меня есть докер Ubuntu, запущенный на хосте CentOS в Google Cloud. Докер запускает подпружиненное приложение, используемое для загрузки изображений на S3. Я ничего не сохраняю на локальном диске. Приблизительно каждые 2 недели у меня возникает проблема с местом на диске (на устройстве не осталось места). Я запускаю следующее на хост-машине:

[james@api /]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       1.0T   58G  967G   6% /
devtmpfs         15G     0   15G   0% /dev
tmpfs            15G     0   15G   0% /dev/shm
tmpfs            15G   26M   15G   1% /run
tmpfs            15G     0   15G   0% /sys/fs/cgroup
tmpfs           3.0G     0  3.0G   0% /run/user/0
tmpfs           3.0G     0  3.0G   0% /run/user/1000

[james@api /]$ sudo du -hs * | sort -rh | head -5
3.3G    var
1.5G    usr
154M    boot
58M     srv
34M     etc

Я запустил то же самое на Docker-контейнере:

[root@ea23811c1871 /]# df -h 
Filesystem      Size  Used Avail Use% Mounted on
overlay         1.0T   58G  966G   6% /
tmpfs            64M     0   64M   0% /dev
tmpfs            15G     0   15G   0% /sys/fs/cgroup
/dev/sda1       1.0T   58G  966G   6% /var/log
shm              64M     0   64M   0% /dev/shm
tmpfs            15G     0   15G   0% /proc/acpi
tmpfs            15G     0   15G   0% /proc/scsi
tmpfs            15G     0   15G   0% /sys/firmware

[root@ea23811c1871 /]# du -hs * | sort -rh | head -5
1.2G    usr
139M    var
2.7M    etc
36K     tmp
28K     root

У меня вопрос, как я могу найти, где 58G прячется?

Спасибо Ханан

2 ответа

Решение

В хосте macchine запустите lsof и просмотрите удаленные файлы.

lsof |grep delete

Может быть, процесс не выпустил удаленный файл

Прежде всего, если это еще не сделано, пожалуйста, настройте мониторы и оповещения об использовании дискового пространства. Nagios/Icinga имеет несколько общих плагинов, которые легко настроить, или даже простой скрипт, который предупреждает вас о заполнении диска.

Затем вы должны проверить, сколько места занимает ваш контейнер с помощью команд докера (смотрите docker ps -s, docker system df или же docker inspect - внимательно прочитайте справочные страницы, прежде чем запускать их). Вам также необходимо учитывать пространство, занимаемое пользователем файлов конфигурации для контейнеров, контрольной точки (если используется) и файлов журнала. В общем ковыряться /var/lib/docker/ чтобы понять, какие файлы находятся в контейнере.

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