Newsgroup: it.comp.software.database
Titolo: EOPNOTSUPP (Operation not supported) mysql

Sono titolare di un Virtual Private Server di Tiscali con le seguenti caratteristiche: 
-SO: Redhat Linux Fedora 9.0;
-RAM: 2 GB, con circa 1.5 GB liberi;
-Hard Disk: 20 GB, con circa 7 GB di spazio su disco occupato;
-MySql: versione 5.0.51;
 
Da circa un mese mi capita che MySql crasha in continuazione, in pratica riesce a stare in piedi per qualche secondo dal restart, e questo anche se i miei siti sono in manutenzione(quindi non c'è alcun accesso al db), e se non effettuo alcuna comunicazione al db tramite client mysql. Crashando ho notato che tutti i processi mysql scompaiono anche tra i processi del SO, che seguo tramite l'htop lanciato nella shell unix.
 
Alla fine, per capire meglio come intervenire, ho provato a tenere in manutanzione i siti non effettuando alcuna richiesta al database, a riavviare il servizio(tenendo attivati tutti i log) ottenendo puntualmente il crash del database dopo circa 5 secondi.
 
Riporto di seguito il risultato dell'strace sul processo mysql, risultato identico ad ogni riavvio:
 
------------------------------------------------------------------------------------------
getsockname(19, {sa_family=AF_FILE, path="/var/lib/mysql"}, [28]) = 0
fcntl64(19, F_SETFL, O_RDONLY) = 0
fcntl64(19, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(19, F_SETFL, O_RDWR|O_NONBLOCK) = 0
setsockopt(19, SOL_IP, IP_TOS, , 4) = -1 EOPNOTSUPP (Operation not supported)
futex(0x86e7024, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x86e7020, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_EQ, 0}) = 1
select(6, [4 5], NULL, NULL, NULL) = 1 (in [5])
fcntl64(5, F_SETFL, O_RDWR|O_NONBLOCK) = 0
Occept(5, {sa_family=AF_FILE, path="ñ
"}, [2]) = 58
fcntl64(5, F_SETFL, O_RDWR) = 0
getsockname(58, {sa_family=AF_FILE, path="/var/lib/mysql"}, [28]) = 0
fcntl64(58, F_SETFL, O_RDONLY) = 0
fcntl64(58, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(58, F_SETFL, O_RDWR|O_NONBLOCK) = 0
setsockopt(58, SOL_IP, IP_TOS, , 4) = -1 EOPNOTSUPP (Operation not supported)
futex(0x86e7024, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x86e7020, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_EQ, 0}) = 1
select(6, [4 5], NULL, NULL, NULL <unfinished ...>
+++ killed by SIGKILL +++
------------------------------------------------------------------------------------------
 
Da quanto ho capito il problema da trattare è l'errore &#8220;EOPNOTSUPP&#8221; appartenente al mysql. 
 
In rete ho trovato i seguenti link in cui ne parlano, anche se i log non sono proprio uguali:
-
http://bugs.mysql.com/bug.php?id=28690
 
-
http://forums.serverbeach.com/showthread.php?6133-To-Ticket-Or-Not..-MySql-EOPNOTSUPP
 
-
http://bugs.mysql.com/bug.php?id=16988
 
 
Mi era sembrato di capire che poteva dipendere da un problema di privilegi, quindi ho fatto ripartire il mysql con l'utente root(prima partiva con l'utente mysql) pensando di risolvere però purtroppo il problema persiste.
Sembra sia un problema frequente, quindi potrebbe accadere la stessa cosa se si cambia gestore del VPS. 
Il problema è che non mi è assolutamente chiaro come e dove intervenire per risolverla una volta per tutte.
 
Qualche consiglio?

 Qualche consiglio?
 
Io proverei con una configurazione da zero, cioè premesso un backup 
multiplo, creerei un nuovo database con il file di configurazione di 
default e vedrei se quello riesce a stare su. Se funziona procedi 
rimettendo le opzioni un po' alla volta oppure il database. Se a un 
certo punto non funziona più probabilmente hai trovato il colpevole.
 
Non ho idea di come monitorare chi manda il SIGKILL.

Cioè se la funzione setsockopt(58, SOL_IP, IP_TOS, , 4) restituisce -1 allora il problema è altrove?
 
Per capire qual'è la query che non restituisce alcun valore mi conviene attivare il log mysql che mi stampa tutte le query eseguite sul db, e quindi prendo come riferimento l'ultima query tracciata?
 
Per "configurazione da zero" intendi ripristinare l'intero Server Virtuale al momento dell'acquisto oppure vedere come resettare in qualche modo il Mysql? Per la seconda, come si fa?
Premetto che ho provato a cancellare i miei db lasciando solo quelli di default ma il risultato non cambia: dopo qualche secondo dal restart, nonostante non viene eseguita alcuna query(i siti sono tutti messi in manutenzione), mysql crash rapidamente!
 
Come si fa a capire chi manda il Sigkill?

 Come si fa a capire chi manda il Sigkill?
 
Non saprei.
 
 
[1] 
http://goo.gl/H4eB0
 

 lanciato nella shell unix.
 
Rinomina /var/lib/mysql in mysql2, ricrea mysql con i permessi
giusti e avvia mysql.
*dovrebbe* (non conosco fedora) ricreare il db mysql e null'altro.
 
Se non ti crasha così il problema è su uno dei db.
Se crasha lo stesso poi vediamo.
 
(ah, prima di lamentarti di tiscali, assicurati che nel tuo contratto
sia compresa l'assistenza sistemistica, che per 400 euro l'anno
mi sembra strano).
-- 
ValeRyo
 
 
 

Quindi, seguendo il tuo consiglio, rinominando la cartella mysql in mysql2, 
ricreando la cartella mysql con gli stessi permessi di mysql2 e riavviando 
il servizio di Mysql si dovrebbero ricreare i database di default?
 
Fammi sapere.
 
Grazie e buona giornata.
 
PS: mi lamento di tiscali perchè sono cosciente che il prodotto 
acquistato(VPS Special) prevede anche l'assistenza telefonica e via e-mail. 
Peccato che al n° verde per gli hosting dicono che bisogna far riferimento 
al sito, e via email non risponde nessuno. 
 

 far riferimento al sito, e via email non risponde nessuno.
 
Bisogna vedere che tipo di assistenza � prevista.
Un conto � 'ti riavviamo la VPS in caso di crash' un altro � 'ti diamo
assistenza sistemistica'.
 
Puoi anche contattare il tiscali support staff via twitter, in genere
rispondono subito.
 
-- 
ValeRyo
 
 
 

Dopo averle provate di tutti i colori, non mi è rimasto altro che ripristinare il server tiscali al momento dell'acquisto.
 
Ho quindi potuto selezionare il ripristino del server scegliendo tra le seguenti distribuzioni:
-Fedora 9
-Fedora 13
-Centos 5.3
-Centos 6.2
-Ubuntu 10.4
 
Una vera delusione aver scoperto che le prime 4 distribuzioni sono bacate. In pratica il mysql installato in quelle distribuzioni crasha dopo qualche secondo dall'avvio rendendo quindi impraticabile un sito web. Il problema non si risolve nemmeno aggiornando i package della singola distribuzione.
Insomma una vera delusione nei confronti di Tiscali, per la presenza del software bacato oltre alla mancata assistenza nonostante le numerose e-mail e nonostante sul loro sito per il servizio Virtual Server Special si ostinano ad assicurare un servizio di assistenza professionale ANCHE TELEFONICO(e telefonando c'è la vocina registrata che informa che per i d servizi web si deve far riferimento alla sezione "assistenza" del loro sito web, e quindi ci si deve arrangiare a ciò che si trova nella pseudo-faq).
 
L'unica fortuna è che il tutto funziona sulla Ubuntu 10.4...ma questo lo si deve scoprire da soli, dopo aver perso circa 1 mese e mezzo di prove e studio su possibili cause sul webserver attivo, e dopo aver perso posizioni in termini di indicizzazione con il sito down per circa 2 mesi.
 
Mah...

 secondo dall'avvio rendendo quindi impraticabile un sito web. 
 
E sui rispettivi bugtracker trovi questo bug? Mi sembra strano che nomi 
grossi abbiano un problema così importante su un programma tanto diffuso 
come MySQL.

quando parli di bugtracker a cosa fai riferimento? perdonami ma non ti seguo...