Problema crash DB

Problema crash DB

di Carlo Matteini -
Numero di risposte: 5

Buonasera a tutti, volevo chiedere lumi su un problema. 

Ho alcune Moodle installate su un mio server virtuale ma ho notato che ultimamente se effettuo delle operazioni di configurazione su una qualsiasi di queste piattaforme può accadere che o per alcuni istanti mi venga segnalato impossibile connettersi al server o peggio l'errore mi costringa a riavviare il servizio mysql. Secondo voi su cosa devo investigare per capire il problema?

Grazie mille anticipatamente e buone feste!

Media dei voti:  -
In riposta a Carlo Matteini

Re: Problema crash DB

di Matteo Scaramuccia -

Ciao Carlo,
è probabile che il tuo server MySQL non sia in grado di rispondere a tutte le richieste o perché "è lento" (e quindi accoda) oppure perché sono "troppe" (e quindi alcune non le serve).

Se attivi il debug di Moodle a livello sviluppatore, quale è l'esatto errore che MySQL riporta in quei casi? Too many connections?

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: Problema crash DB

di Carlo Matteini -

Ciao Matteo, grazie. Negli ultimi log mysql, mi risultano questi errori. Li ho messi in un txt con log del successivo riavvio.



In riposta a Carlo Matteini

Re: Problema crash DB

di Matteo Scaramuccia -

Ciao Carlo,
dai tuoi log il problema sembra diverso da quanto ipotizzavo, intanto perché trattasi di "vero crash" del DB Server:

2018-12-21 16:02:59 21562 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.
2018-12-21 16:03:00 21562 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11
2018-12-21 16:03:00 21562 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.
2018-12-21 16:03:01 21562 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11
2018-12-21 16:03:01 21562 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.
2018-12-21 16:03:01 21562 [Note] InnoDB: Unable to open the first data file
2018-12-21 16:03:01 7fb83f4fe720  InnoDB: Operating system error number 11 in a file operation.
InnoDB: Error number 11 means 'Resource temporarily unavailable'.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/operating-system-error-codes.html
2018-12-21 16:03:01 21562 [ERROR] InnoDB: Can't open './ibdata1'
2018-12-21 16:03:01 21562 [ERROR] InnoDB: Could not open or create the system tablespace. If you tried to add new data files to the system tablespace, and it failed here, you should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created in this failed attempt. InnoDB only wrote those files full of zeros, but did not yet use them in any way. But be careful: do not remove old data files which contain your precious data!
2018-12-21 16:03:01 21562 [ERROR] Plugin 'InnoDB' init function returned error.
2018-12-21 16:03:01 21562 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2018-12-21 16:03:01 21562 [ERROR] Unknown/unsup
2018-12-21 16:03:01 21562 [ERROR] Aborting

Sembra infatti che qualcos'altro stesse bloccando l'accesso ai file e che MySQL non abbia potuto fare altro che spegnersi.

Servirebbe un po' di log precedenti a questo avvenimento per capire se il sistema ha provato a restartare MySQL cioè senza aspettare lo stop abbia istruito subito uno start da cui l'impossibilità della seconda istanza di accedere ai file ancora bloccati dallo spegnimento della prima o... altro avvenimento che forse solo i log possono aiutaci a capire (forse servirebbe poi relazionarli con altri log di sistema).

Potrebbe infatti anche essere che il kernel abbia deciso di "ammazzare" il processo "mysqld" perché stava consumando troppa RAM, perché magari hai fatto tuning del DB server "senza considerare" i vincoli fisici dell'HW che lo ospita.

Oltre ai log farebbe comodo sarebbe sapere qualcosa di più del server che ospita MySQL tipo OS, RAM e tipologia dei dischi.

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: Problema crash DB

di Carlo Matteini -

Scusami se ti rispondo ora. Dunque il server  è una Centos 6.5, RAM 4GB e su di esso è residente anche la parte Apache. Il sistema sta su ssd mentre i db su magnetico

In realtà non ho fatto grande tuning, se non impostare questi parametri leggendo un po' in giro.

Purtroppo non ho grandi competenze sistemistiche :

innodb_buffer_pool_size=1024M
query_cache_type=1
query_cache_size=128M

In riposta a Carlo Matteini

Re: Problema crash DB

di Matteo Scaramuccia -

Ciao Carlo,
innanzitutto sarebbe meglio spostare il DB su SSD perché per quanto il core di Moodle faccia query quasi tutte ben indicizzate capitano comunque dei gran table scan che su magnetico non sono il massimo.

Detto questo i 4GB potrebbero essere pochi - quante istanze hai e che cosa servono come attività? Quiz? Con che concorrenza di utenti? - : riesci a recuperare i log precedenti al taglio che ho postato?
Giusto per capire se effettivamente MySQL si è spento ma lentamente rispetto allo start successivo di cui nel log che hai postato e effettivamente i file erano lockati dallo shutdown ancora in corso.

HTH,
Matteo