Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Diskspace reserveren voor database  (gelezen 743 keer)

Offline Brononi

  • Lid
Diskspace reserveren voor database
« Gepost op: 2013/01/02, 09:23:38 »
Hey,

Ik gebruik een SSD kaartje van 60GB voor mijn besturingsysteem (met daarnaast enkele SATA disken voor data).

Nu heb ik al enkele malen (4x) tegengekomen dat door omstandigheden de SSD kaart vol liep. Dit door backups die verkeerd werden geplaatst, logfiles die iets te enthousiast groeiden... De reden is hier minder belangrijk, daar het altijd wel iets is waar je niet aan denkt dat dit kan veroorzaken (Murphy?).

En als de SSD (OS-disk) vol komt, crasht vervolgens de computer. Bij herstarten gebeurt het dat de database corrupt zijn, waardoor er een pak problemen ontstaan (niet meer kunnen inloggen ed). Deze server (linuxmce) wordt gebruikt als centraal toestel voor alles (data, ipt, home automation...). Dus downtime is niet zo leuk...

Is er een manier om dit te beschermen?
  • Diskspace limiteren tot bv 80%
    En dan shutdown van de machine, shutdown van bestandvretende scripts...
  • mysql een fix diskspace te geven van bv 10GB
  • ...

Re: Diskspace reserveren voor database
« Reactie #1 Gepost op: 2013/01/02, 13:15:11 »
Ik gebruik voor de server de waakhond Monit

Deze laat ik mij mailen als er iets gebeurd:
http://www.debianhelp.co.uk/monit.htm

Maar, dat is een ducktape oplossing imho. Je kan ook een partitie aanmaken voor je backups en je logsfiles laten checken op grote met syslog en dan wisselen.

Logwatch kan je elke dag een mailtje sturen voor allerlei statistieken van je bak.

Verder heb je natuurlijk Nagios.

Nagios kan je ook mailen, hier een voorbeeld over een mysql service die plat ging op 1 van mijn servers:

***** Nagios *****

Notification Type: PROBLEM

Service: SQL Connection Check
Host: ....
Address: 8.8.8.8
State: CRITICAL

Date/Time: Wed Jan 2 09:12:05 CET 2013

Additional Info:

Cant connect to MySQL server on 8.8.8.8 (111)

Offline Brononi

  • Lid
Re: Diskspace reserveren voor database
« Reactie #2 Gepost op: 2013/01/02, 13:43:11 »
Als monitoring gebruik ik zelf cacti die deze zaken wat in de gaten houdt.

Doch ben eigenlijk op zoek achter een meer 'actieve' oplossing.
Monitoring en alerting is fijn voor troubleshooting, doch is meestal iets te laat als ware oplossingen.

Dus ik probeer te zien of er geen manier is om de diskspace onder controle te houden om zo ten alle tijde genoeg 'werkruimte' te hebben voor bepaalde zaken (databasen, werkbestanden/folders...).

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Diskspace reserveren voor database
« Reactie #3 Gepost op: 2013/01/02, 13:54:40 »
Ik zou met LVM meerdere partities maken voor de verschillende onderdelen van je bestandssysteem.
Denk aan 8 GB voor /, een paar GB voor /tmp, afhankelijk van de grootte de bulk voor /var waar je database zit en nog wat voor /home en de swap.
Eventueel kan je /var ook nog splitsen, zodat /var/log ook een eigen stukje krijgt. Als je MySQL gebruikt zitten de databasebestanden in /var/lib/mysql, die kan je ook aparte ruimte geven.

Het voordeel van LVM is dat je vrij eenvoudig kan schuiven met de grootte van partities. En omdat je alles "gecompartimenteerd" hebt kunnen bijv. logbestanden nooit de gereserveerde ruimte voor je werkbestanden in gaan nemen.

Offline Brononi

  • Lid
Re: Diskspace reserveren voor database
« Reactie #4 Gepost op: 2013/01/02, 14:04:41 »
Klinkt veelbelovend. Zal me es verdiepen in LVM.

Kan je dit op een "live systeem" toepassen? Of doe je dit best bij de initiƫle setup?

Re: Diskspace reserveren voor database
« Reactie #5 Gepost op: 2013/01/02, 14:17:11 »
Je kan ook quot'as per dir aanstellen, maar de vraag lijkt mij eerder: hoe kan het dat dingen zo snel vollopen?

Offline Brononi

  • Lid
Re: Diskspace reserveren voor database
« Reactie #6 Gepost op: 2013/01/03, 09:57:51 »
de vraag lijkt mij eerder: hoe kan het dat dingen zo snel vollopen?

Das niet zo moeilijk hoor.  :evil:
  • Eerste keer kwam door een logbestandje van 45gig groot (je leest het goed 45gig)
  • Tweede en vierde keer kwam doordat backup destination niet correct gemount werd
  • Derde keer door een cache file die 'dom' deed

Ondertussen zouden deze problemen opgelost moeten zijn.
Maar ik word het een beetje beu om achter de feiten aan te moeten hollen.
Dus hetgeen we kunnen verbeteren, doen we toch?

Re: Diskspace reserveren voor database
« Reactie #7 Gepost op: 2013/01/03, 17:27:05 »
Maar alsje monit of nagios je een mail laat sturen als er nog maar 20% beschikbaar is, is het toch opgelost (kan je voortijdig ingrijpen) en log files van 45 gig,.... Hoe kom je er aan?

Offline Brononi

  • Lid
Re: Diskspace reserveren voor database
« Reactie #8 Gepost op: 2013/01/04, 08:14:43 »
Maar alsje monit of nagios je een mail laat sturen als er nog maar 20% beschikbaar is, is het toch opgelost (kan je voortijdig ingrijpen) en log files van 45 gig,.... Hoe kom je er aan?

Soms gaat het allemaal vlugger dan je wil.  :P

Zo wordt mijn datadisk (800GB data) gebackupped naar een NAS gedurende de nacht.
Dus als je dan een verkeerde mount hebt, dat de 800GB op een 60GB diskje geduwd wordt, ben je iets te laat met de mail. Want die mail zie je maar om bv 8u, en de disk was al vol om 3u.

De log file werd niet geroteerd, en de server wordt gebruikt voor domotica zaken. Dus de volledige woning wordt gecheckt (schakelaars, lampen, sensoren...) om de x seconden. Als je dan wat teveel debugs opstaan hebt, dan kan je logfile vlug gaan.