Автор Тема: проблем със свободно място  (Прочетена 1980 пъти)

mrowcp

  • Напреднали
  • *****
  • Публикации: 450
    • Профил
Имам много странен проблем.При: df -h

/dev/sdb1              10G  9.6G  469M  96% /part

, а при: du -hs /part

5.4G    /part

продължавам да трия, но не се освобождава място според df-a.Иначе du -hs го отчита.
« Последна редакция: Oct 15, 2010, 13:24 от mrowcp »
Активен

Some Things Just Are The Way They Are

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: проблем със свободно място
« Отговор #1 -: Oct 15, 2010, 14:07 »
Единственият вариант, за който се сещам, при който при триене на файлове от някой дял да не се променя заетото място според df, но да намалява според du, и заетото място според df да е по-голямо от заетото място според du, е монтирано дисково изображение с фиксиран размер (в случая 9.6GB) в папката /part. Така ли е?
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: проблем със свободно място
« Отговор #2 -: Oct 15, 2010, 14:39 »
Единственият вариант, за който се сещам, при който при триене на файлове от някой дял да не се променя заетото място според df, но да намалява според du, и заетото място според df да е по-голямо от заетото място според du, е монтирано дисково изображение с фиксиран размер (в случая 9.6GB) в папката /part. Така ли е?
Има и друг вариант - ако файл се изтрие но хендлъра му продължава да е отворен от някоя програма (примерно лог на апаш) за писане/добавяне
Активен

0x2B|~0x2B

mrowcp

  • Напреднали
  • *****
  • Публикации: 450
    • Профил
Re: проблем със свободно място
« Отговор #3 -: Oct 15, 2010, 15:52 »
Единственият вариант, за който се сещам, при който при триене на файлове от някой дял да не се променя заетото място според df, но да намалява според du, и заетото място според df да е по-голямо от заетото място според du, е монтирано дисково изображение с фиксиран размер (в случая 9.6GB) в папката /part. Така ли е?

До колко знам не, но пак трябва да проверя.А как се задава дяла да е фиксиран? :)

Единственият вариант, за който се сещам, при който при триене на файлове от някой дял да не се променя заетото място според df, но да намалява според du, и заетото място според df да е по-голямо от заетото място според du, е монтирано дисково изображение с фиксиран размер (в случая 9.6GB) в папката /part. Така ли е?
Има и друг вариант - ако файл се изтрие но хендлъра му продължава да е отворен от някоя програма (примерно лог на апаш) за писане/добавяне

Да предполагам е твоята версия :) Файловете бяха логове, но част пък от тях няма как да се ползват, защото бяха стари логове от миналия месец.Единствено единия голям лог ( около 4Гб ) предполагам може да се ползва към момента.
Има ли начин да се рефрешне това нещо?Или какво се прави в такъв случай.

П.С. И преди съм трил от тези логове, но това нещо за 1ви път става.Винги след като изтрия df -h покзваше, че се е освободило място.
Активен

Some Things Just Are The Way They Are

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: проблем със свободно място
« Отговор #4 -: Oct 15, 2010, 16:22 »
Има и друг вариант - ако файл се изтрие но хендлъра му продължава да е отворен от някоя програма (примерно лог на апаш) за писане/добавяне
Защо? Когато се отвори файлът за писане, съдържанието му отива в RAM паметта или в tmpfs. Ако изтрием файла, докато някоя програма го е отворила за писане, то на диска ще остане указател с големина няколко байта. Mястото на дяла, което е заемал файлът се освобождава и стойностите и на du, и на df, намаляват. В случая говорим за допълнително монтиран несистемен дял (направо диск), така че на стойността на df не влияят записите, които ще се направят на системния дял за процеса. Ако нещо съм в грешка, би ли обяснил какво ще предположи запазването стойността на заетото място на дяла, което ще покаже df?

А как се задава дяла да е фиксиран?
Не става дума за истински дял, а за файл, който се ползва като дял. Може да направиш такъв с dd. Чел си за такива файлове, когато е ставало дума за swap файл (вместо swap дял). Не е задължително файловата система на тези дялови изображения да е swap и да се ползват като swap, а можеш да ги ползваш и като контейнери, в които да си записваш неща, които лесно да монтираш и демонтираш от системата. Тук има едно примерче за създаването и ползването на такъв файл.
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

koue

  • Напреднали
  • *****
  • Публикации: 74
  • Distribution: FreeBSD
  • Window Manager: fluxbox
    • Профил
Re: проблем със свободно място
« Отговор #5 -: Oct 15, 2010, 16:33 »
# lsof | grep deleted
Почти винаги ми намира отговор на въпросния проблем.
Активен

Спрете да им прощавате, че не знаят какво правят!

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: проблем със свободно място
« Отговор #6 -: Oct 15, 2010, 16:40 »
Има и друг вариант - ако файл се изтрие но хендлъра му продължава да е отворен от някоя програма (примерно лог на апаш) за писане/добавяне
Защо? Когато се отвори файлът за писане, съдържанието му отива в RAM паметта или в tmpfs. Ако изтрием файла, докато някоя програма го е отворила за писане, то на диска ще остане указател с големина няколко байта. Mястото на дяла, което е заемал файлът се освобождава и стойностите и на du, и на df, намаляват. В случая говорим за допълнително монтиран несистемен дял (направо диск), така че на стойността на df не влияят записите, които ще се направят на системния дял за процеса. Ако нещо съм в грешка, би ли обяснил какво ще предположи запазването стойността на заетото място на дяла, което ще покаже df?

....
В момента нямам време да търся точното обяснение, а и не съм го запомнил, просто помня факта. Но в такива случаи има разлика, защото двете програми смятат (мисля) пространството по различен начин
Да предполагам е твоята версия :) Файловете бяха логове, но част пък от тях няма как да се ползват, защото бяха стари логове от миналия месец.Единствено единия голям лог ( около 4Гб ) предполагам може да се ползва към момента.
Има ли начин да се рефрешне това нещо?Или какво се прави в такъв случай.

П.С. И преди съм трил от тези логове, но това нещо за 1ви път става.Винги след като изтрия df -h покзваше, че се е освободило място.
Дам като се рестартира демона или се ползва активно logrotate за управление на логовете. Тази програма прави едни магии с хендлърите и успява да оправи нещата чисто :)
Активен

0x2B|~0x2B

mrowcp

  • Напреднали
  • *****
  • Публикации: 450
    • Профил
Re: проблем със свободно място
« Отговор #7 -: Apr 22, 2011, 10:56 »
Отново имам същия проблем и явно той си седи още от предния път :)
В момента имам заето около 4G място, а ми дава:

/dev/sdb1              10G  9.8G  282M  98% /opt


Като листва отворените файлове:

$lsof |grep deleted
java      11876       root    1w      REG       8,17 4824026409     491988 /opt/logs/catalina.out (deleted)


До колкото разбрах в /etc/logrotate.d/ трябва да има скрипт който да "зачиства" като рестартира сървиса, но не знам кое точно да гледам в момента.Имам следното:

/etc/logrotate.d # ls
mysql  ntp  rsync  scpm  syslog  syslog-ng  vsftpd  wtmp  xdm  xinetd  zypper.lr


Как да го разкарам този вече затрит файл? :)
« Последна редакция: Apr 22, 2011, 10:59 от mrowcp »
Активен

Some Things Just Are The Way They Are

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: проблем със свободно място
« Отговор #8 -: Apr 22, 2011, 14:48 »
Отново имам същия проблем и явно той си седи още от предния път :)
В момента имам заето около 4G място, а ми дава:

/dev/sdb1              10G  9.8G  282M  98% /opt


Като листва отворените файлове:

$lsof |grep deleted
java      11876       root    1w      REG       8,17 4824026409     491988 /opt/logs/catalina.out (deleted)


До колкото разбрах в /etc/logrotate.d/ трябва да има скрипт който да "зачиства" като рестартира сървиса, но не знам кое точно да гледам в момента.Имам следното:

/etc/logrotate.d # ls
mysql  ntp  rsync  scpm  syslog  syslog-ng  vsftpd  wtmp  xdm  xinetd  zypper.lr


Как да го разкарам този вече затрит файл? :)
ами добави тоя томкет в logrotate, трябва някой да дойде да го направи за теб?
Активен

0x2B|~0x2B

mrowcp

  • Напреднали
  • *****
  • Публикации: 450
    • Профил
Re: проблем със свободно място
« Отговор #9 -: Apr 22, 2011, 15:53 »
Отново имам същия проблем и явно той си седи още от предния път :)
В момента имам заето около 4G място, а ми дава:

/dev/sdb1              10G  9.8G  282M  98% /opt


Като листва отворените файлове:

$lsof |grep deleted
java      11876       root    1w      REG       8,17 4824026409     491988 /opt/logs/catalina.out (deleted)


До колкото разбрах в /etc/logrotate.d/ трябва да има скрипт който да "зачиства" като рестартира сървиса, но не знам кое точно да гледам в момента.Имам следното:

/etc/logrotate.d # ls
mysql  ntp  rsync  scpm  syslog  syslog-ng  vsftpd  wtmp  xdm  xinetd  zypper.lr


Как да го разкарам този вече затрит файл? :)
ами добави тоя томкет в logrotate, трябва някой да дойде да го направи за теб?

Не знаех, за какво става дума, иначе нямаше да питам.Можеше просто да дадеш линк
След като създадох файла и го стартирах както е описано, файла все оше виси в deleted
Дали параметрите са правилни за моя случай или трябва да променя нещо:

Код
GeSHi (Bash):
  1. /var/logs/catalina.out {
  2. copytruncate
  3. daily
  4. rotate 7
  5. compress
  6. missingok
  7. size 100M
  8. }
« Последна редакция: Apr 22, 2011, 16:09 от mrowcp »
Активен

Some Things Just Are The Way They Are

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: проблем със свободно място
« Отговор #10 -: Apr 22, 2011, 19:36 »
Не знаех, за какво става дума, иначе нямаше да питам.Можеше просто да дадеш линк
След като създадох файла и го стартирах както е описано, файла все оше виси в deleted
Дали параметрите са правилни за моя случай или трябва да променя нещо:

Код
GeSHi (Bash):
  1. /var/logs/catalina.out {
  2. copytruncate
  3. daily
  4. rotate 7
  5. compress
  6. missingok
  7. size 100M
  8. }
а къде е реда за рестартиране на томкет?
Активен

0x2B|~0x2B