Claude_Viole | dinsdag 2 januari 2018 @ 12:24 | |||
Ik heb het idee dat de gebruikte ruimte op mijn CentOS server niet helemaal klopt. Volgens df -h wordt er in /home 131G gebruikt, en dat lijkt mij sterk. Want ik kan niks vinden wat zo groot is. Geen uit de kluiten gegroeide logfiles of iets dergelijks... Iemand enig idee hoe dit komt? Wel worden er met regelmaat logfiles aangemaakt die max. 10 MB zijn, en daarna een nieuwe aanmaken, waarbij er uitsluitend 10 logfiles bewaard blijven. Maar hoewel die verwijderd worden, zou het dan kunnen dan die ruimte bewaard blijft?
| ||||
#ANONIEM | dinsdag 2 januari 2018 @ 17:45 | |||
Welk filesystem gebruik je? Misschien worden er snapshots bewaard? Heb je ook de verborgen mappen bekeken? | ||||
Farenji | dinsdag 2 januari 2018 @ 18:00 | |||
Je kan even uitzoeken welke map de ruimte gebruikt. du -hcx --max-depth 1 | sort -h | ||||
Claude_Viole | dinsdag 2 januari 2018 @ 18:02 | |||
Voor zover ik weet wordt er in /home niks anders gelogd wat flinke proporties inneemt. Ik gebruik ext4, en met deze extra switch zie ik wat meer data, geen idee of je hier wat meer over kan afleiden? Bizar.. gewoon de verwachtte grootte:
Hoe kan dit? Het lijkt dus dat de ruimte niet wordt vrijgegeven? [ Bericht 3% gewijzigd door Claude_Viole op 02-01-2018 18:10:25 ] | ||||
#ANONIEM | dinsdag 2 januari 2018 @ 18:10 | |||
In ieder geval geen snapshots, dat heeft EXT4 niet. Gebruik je een GUI op je server? | ||||
Claude_Viole | dinsdag 2 januari 2018 @ 18:10 | |||
Nope, alles gaat commandline! Hoezo wou je dat weten? | ||||
#ANONIEM | dinsdag 2 januari 2018 @ 18:15 | |||
Eigenlijk wat ver gezocht, zat te denken aan de prullenbak (~/.local/share/Trash) waar files in staan. Worden die logs dmv een script verwijderd? [ Bericht 0% gewijzigd door #ANONIEM op 02-01-2018 18:16:41 ] | ||||
Claude_Viole | dinsdag 2 januari 2018 @ 18:17 | |||
Jep, dat klopt! Ze roteren namelijk! | ||||
Farenji | dinsdag 2 januari 2018 @ 18:28 | |||
Heb je al een fsck gedaan? | ||||
Claude_Viole | dinsdag 2 januari 2018 @ 18:34 | |||
Ik zal eens kijken, hoe kan ik dit het beste runnen? nog met bepaalde parameters? En met -N kan je het droog uitvoeren zonder de boel te wijzigen, nietwaar? Het is trouwens een server die op 500 km afstadn staat ter info. Dus ik wil niks om zeep helpen... [ Bericht 8% gewijzigd door Claude_Viole op 02-01-2018 18:46:54 ] | ||||
Farenji | dinsdag 2 januari 2018 @ 19:05 | |||
Je kan de home partitie unmounten en dan fsck erop runnen, maar dat is misschien onpraktisch, je kan beter een fsck na reboot forceren met sudo touch /forcefsck sudo reboot Dat kan ff duren maar je server komt daarna vanzelf wel terug. | ||||
Claude_Viole | dinsdag 2 januari 2018 @ 19:18 | |||
Ik zal eens even kijken morgen! Een server met 200GB HDD waarvan er iets van 10% wordt gebruikt zal toch niet langer duren dan een uurtje of wat? En hoe komt dit verschil nou eigenlijk precies? ik neem aan dat die /forcefsck weer vanzelf wordt verwijderd na afloop, zodat ik niet in een loopje kom met rebooten ? | ||||
Farenji | dinsdag 2 januari 2018 @ 19:30 | |||
Nee geen uur, denk eerder in minuten. En ja dat bestand wordt gewoon gewist. | ||||
Claude_Viole | dinsdag 2 januari 2018 @ 19:35 | |||
Maar dan ben ik enkel nog benieuwd naar de reden waarom die waarde zo gigantisch fout is. | ||||
Farenji | dinsdag 2 januari 2018 @ 22:13 | |||
Weet ik ook niet, paar geflipte bitjes ofzo? | ||||
Claude_Viole | woensdag 3 januari 2018 @ 15:16 | |||
Apart.... toch lees ik regelmatig dat dit gebeurt. Ik ga sowieso komende week die logging wat temmen dat hij minder gaat schrijven. Hij logt iets teveel crap zie ik . | ||||
Fleischmeister | woensdag 3 januari 2018 @ 16:52 | |||
In mijn Linux tijd was mijn ervaring met de ext filesystems nog weleens dat als je een bestand verwijderde waarop nog file descriptors open stonden, de ruimte pas vrijgegeven werd als deze descriptors gesloten werden (bv. door een daemon te herstarten o.i.d.). du zag t dan niet meer (want de bestanden waren er niet meer), maar df zag het nog wel als gebruikt. Gebeurde meestal als ik logs onder de voeten van een loggend proces wegmaaide (voor rotating) en vergat de betreffende processen een SIGHUP o.i.d. te geven zodat het e.e.a heropend/opgeschoond werd Doe eens als het ff kan een graceful reload (of een restart, maar weet niet hoe belangrijk het proces is) van het proces dat die logfiles volschrijft, ben heel benieuwd naar je df output erna [ Bericht 15% gewijzigd door Fleischmeister op 03-01-2018 17:11:00 ] | ||||
Claude_Viole | woensdag 3 januari 2018 @ 22:17 | |||
Ga ik ook maar eens bekijken. Het is in ieder geval een geavanceerd pythonscript. | ||||
Claude_Viole | donderdag 4 januari 2018 @ 00:07 | |||
Net even het script gekilled, en een nieuwe dh -lh gedaan. Opeens had ik de ruimte weer terug. van de week maar eens even het script temmen omdat hij een hoop bullshit logt. | ||||
Scarlet_Dragonfly | donderdag 4 januari 2018 @ 08:46 | |||
Het ‘probleem’ is dus dat een rm commando in Linux niet geheel direct een bestand verwijderd. Het verwijderd alleen de referentie ernaar. Als er nog andere verwijzingen naar dat bestand zijn (doordat een proces het nog geopend heeft bijvoorbeeld!) is het bestand gewoon nog aanwezig en neemt ruimte in. Het is alleen niet meer te vinden. Pas als alle processen die nog zo’n bestand geopend hebben dat gesloten hebben is het bestand echt weg. Dat los je dus niet op met minder logging, dat verkleint het probleem hooguit een beetje. Je moet echt zorgen dat het loggende proces na de logrotatie het oude bestand sluit en het nieuwe bestand opnieuw opent. Ookal is dat een bestand met dezelfde naam. | ||||
Aaargh! | donderdag 4 januari 2018 @ 15:44 | |||
Ja, dat kan heel goed. Een file onder Linux/Ext4 is niet meer dan een link naar een inode. Als je de file delete, dan wordt alleen de link verwijderd en de link-count van de inode met 1 verlaagt. Als de link count v/d inode 0 is dan wordt de file daadwerkelijk verwijderd, maar pas als er geen file descriptors meer zijn die naar die inode wijzen. Met andere woorden, als je een file delete die nog door een applicatie in gebruik is dan wordt de file niet verwijderd. Het kan dus zijn dat de applicatie die die logfiles schrijft/verwijderd deze niet netjes afsluit. In dat geval zal de desbetreffende applicatie ook file descriptors lekken en op een gegeven moment crashen wanneer het ingestelde max. aantal FD's voor die user bereikt is. Je kan zien of er nog gedelete files in gebruik zijn met het volgende commando:
| ||||
Claude_Viole | donderdag 4 januari 2018 @ 21:23 | |||
Ik zal de maker eens vragen of hij dit kan aanpassen aan het script. Inmiddels is de logging nu getemd in de nieuwe update. |