LINUX.ORG.RU
решено ФорумAdmin

Пропало место

 , , , ,


0

1

Добрый день.

Есть настроенный squid, логи и конфигурация которого пишутся в gluster. Смотрю объем занятого места в смонтированном разделе через df -h, показывает такое:


/dev/mapper/vg01-lv01               89G   75G  9,1G  90% /GlFS
SQUID-02:/SquidFS               89G   76G  9,1G  90% /ClFS

А если смотреть объем того, что там находится, то показывает значительно меньше - 21ГБ:
root@squid-01:/ClFS# du -h --max-depth=1 | sort -hr
21G     .
19G     ./squid
1,6G    ./lightsquid
400K    ./lightsquid_cfg
5,0K    ./apache2
root@squid-01:/ClFS# cd /GlFS/
root@squid-01:/GlFS# du -h --max-depth=1 | sort -hr
21G     ./dv0
21G     .
16K     ./lost+found

Что может занимать остальные 55ГБ?

Маленькая подсказка - удаленные файлы могут занимать место, пока их дескрипторы открыты. Рестартни squid и проверь еще раз. А заодно глянь

lsof | grep DEL

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Да, спасибо. Вчера долго ковырял, забыл отписаться.

Проблема обнаружилась через lsof. Вот что делал:

Проверяем через lsof что может занимать место на выделенном разделе

lsof /GlFS/

COMMAND    PID USER   FD   TYPE DEVICE    SIZE/OFF    NODE NAME
glusterfs 1925 root    5w   REG  253,1  1065591650 1441817 /GlFS/dv0/squid/logs/access.log
glusterfs 1925 root   13r   DIR  253,1        4096 1441793 /GlFS/dv0
glusterfs 1925 root   34w   REG  253,1 58068706468 1442408 /GlFS/dv0/.glusterfs/07/57/07579874-7bf2-4749-a195-797a07d027a5 (deleted)

Выполним

ls -l /proc/1925/fd

Получаем список файлов

lr-x------ 1 root root 64 дек  5 07:12 13 -> /GlFS/dv0
lrwx------ 1 root root 64 дек  5 07:12 14 -> 'socket:[731058]'
lrwx------ 1 root root 64 дек  5 07:12 15 -> 'socket:[732701]'
l-wx------ 1 root root 64 дек  5 07:12 16 -> /var/log/glusterfs/bricks/GlFS-dv0.log
lrwx------ 1 root root 64 дек  5 07:12 17 -> 'socket:[53896]'
l-wx------ 1 root root 64 дек  5 07:12 2 -> /dev/null
lrwx------ 1 root root 64 дек  5 07:12 3 -> 'anon_inode:[eventpoll]'
l-wx------ 1 root root 64 дек  5 07:12 34 -> '/GlFS/dv0/.glusterfs/07/57/07579874-7bf2-4749-a195-797a07d027a5 (deleted)'
lrwx------ 1 root root 64 дек  5 07:12 4 -> 'socket:[24968]'
l-wx------ 1 root root 64 дек  5 07:12 5 -> /GlFS/dv0/squid/logs/access.log
lrwx------ 1 root root 64 дек  5 07:12 6 -> /run/gluster/vols/SquidFS/SQUID-01-GlFS-dv0.pid

Обнулим файл

> /proc/1925/fd/34 

Проверяем место

df -h
Filesystem                         Size  Used Avail Use% Mounted on
/dev/sda2                          976M  279M  631M  31% /boot
/dev/mapper/vg01-lv01               89G  8,3G   76G  10% /GlFS
SQUID-02:/SquidFS               89G   64G   22G  75% /ClFS

Проверяем сверим данные lsof на двух нодах

1:

root@squid-01:/home/stb# lsof /ClFS/
COMMAND     PID  USER   FD   TYPE DEVICE SIZE/OFF                 NODE NAME
log_file_ 21690 proxy    3w   REG   0,49 96881918 13262758998096368239 /ClFS/squid/logs/access.log
root@squid-01:/home/stb# lsof /GlFS/
COMMAND    PID USER   FD   TYPE DEVICE   SIZE/OFF    NODE NAME
glusterfs 1925 root    5w   REG  253,1   96933149 1442410 /GlFS/dv0/squid/logs/access.log
glusterfs 1925 root   13r   DIR  253,1       4096 1441793 /GlFS/dv0
glusterfs 1925 root   34w   REG  253,1 1395774816 1442408 /GlFS/dv0/.glusterfs/07/57/07579874-7bf2-4749-a195-797a07d027a5 (deleted)
2:
root@squid-02:/home/stb# lsof /GlFS/
COMMAND    PID USER   FD   TYPE DEVICE    SIZE/OFF    NODE NAME
glusterfs 1981 root    5w   REG  253,1   141661081 4719207 /GlFS/dv0/squid/logs/access.log
glusterfs 1981 root   13r   DIR  253,1        4096 4718593 /GlFS/dv0
glusterfs 1981 root   34w   REG  253,1 59723521895 4719209 /GlFS/dv0/.glusterfs/07/57/07579874-7bf2-4749-a195-797a07d027a5 (deleted)
root@squid-02:/home/stb# lsof /ClFS/
COMMAND     PID  USER   FD   TYPE DEVICE    SIZE/OFF                 NODE NAME
log_file_ 25720 proxy    3w   REG   0,49 59723735877 11643345976660338597 /ClFS/squid/logs/access.log (deleted)
Похоже сейчас проблема в удаленном файле access.log на второй ноде. Но я не знаю что делать дальше? Попробовать так же обнулить файл? Или можно что-то сделать удаление?

KOTOXJle6 ()
Последнее исправление: KOTOXJle6 (всего исправлений: 1)
Ответ на: комментарий от KOTOXJle6

Но я не знаю что делать дальше?

Так а squid у тебя запущен на одной ноде или на двух? Рестартить его надо там, где он держит открытым файл.

Ну или если тебя устраивает рестарт всего glusterfs - то да, можно и так, но это жестко конечно

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Squid на двух нодах. Сейчас точно уже сказать не получится, но насколько я помню, изначально один и тот же удалённый файл было видно на обеих нодах в полностью идентичном виде. На первой ноде я его обнулил, он он начал заполняться заново, а на второй ноде размер остался прежним и просто продолжал расти, занимая 50+ ГБ. При этом на первой ноде его было видно как удалённый файл на волюме гластера именно первой нод, а на второй ноде он стал виден как файл на общем томе гластера. Чем больше пишу, тем более странной кажется эта ситуация. Может быть я что-то проглядел или сначала смотрел только на первую ноду. Сейчас уже никак не проверить.

Спасибо вам за отклик!

KOTOXJle6 ()