Mail di avviso raid degradato

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Pandorix
Linux 1.x
Linux 1.x
Messaggi: 148
Iscritto il: ven 25 mar 2005, 0:00

Mail di avviso raid degradato

Messaggio da Pandorix »

Ciao a tutti, avrei bisogno, per un server al lavoro, di un programmino o uno script che permetta al server in questione di mandare una mail ad un indirizzo extra-lan quando il raid dei dischi si rompe. Avete idea di come potrei fare o quali software potrei usare?
Grazie :)

Avatar utente
francogdn
Linux 2.x
Linux 2.x
Messaggi: 320
Iscritto il: ven 19 mag 2006, 10:52
Distribuzione: Fedora
Località: Torino

Messaggio da francogdn »

Se è un raid software:

Codice: Seleziona tutto

#!/bin/sh
if cat /proc/mdstat|grep ‘blocks’|grep -v ‘UU’ ; then
cat /proc/mdstat |mail -s “Problema RAID su ‘hostname‘” mail@example.org
fi
Non per farmi pubblicità, c'è un articoletto sul mio sito ;)

Implementare un software raid con Slackware

Ciao.

P.S. Dimenticavo di dire che va schedulato con crontab...

Pandorix
Linux 1.x
Linux 1.x
Messaggi: 148
Iscritto il: ven 25 mar 2005, 0:00

Messaggio da Pandorix »

francogdn ha scritto:Se è un raid software:
Purtroppo è un raid hardware fatto con il controller LSI della scheda madre. Però se mi spieghi che cosa significano questi passaggi, forse posso adattare lo script alle mie esigenze(c'è un log apposito del raid che si chiama spy.log):

Codice: Seleziona tutto

#!/bin/sh
if cat /proc/mdstat|grep ‘blocks’|grep -v ‘UU’ ; then
[/quote]

Avatar utente
francogdn
Linux 2.x
Linux 2.x
Messaggi: 320
Iscritto il: ven 19 mag 2006, 10:52
Distribuzione: Fedora
Località: Torino

Messaggio da francogdn »

Ok traduco.
Se dai un cat /proc/mdstat ricevi un output di questo tipo:

Personalities : [linear] [raid0] [raid1] [raid5]
read_ahead 1024 sectors
md0 : active raid1 sda1[1] sdb1[0]
1469824 blocks [2/2] [UU]

Mettiamo caso che questo array sia degradato. Avrei questo output:

md0 : active raid1 sda1[1] sdb1[0]
1469824 blocks [2/1] [U_]

Lo script che ti ho postato dice: "Vediamo se, dove compare blocks (grep 'blocks'), esiste una situazione che non sia [UU] (grep -v ‘UU’). Se è così, mando una mail con soggetto Problema RAID su `hostname` e come contenuto l'output di cat /proc/mdstat all'indirizzo mail@example.org".

Dimmi se qualcosa non è chiaro :)

Pandorix
Linux 1.x
Linux 1.x
Messaggi: 148
Iscritto il: ven 25 mar 2005, 0:00

Messaggio da Pandorix »

francogdn ha scritto:Ok traduco.
Se dai un cat /proc/mdstat ricevi un output di questo tipo:

Personalities : [linear] [raid0] [raid1] [raid5]
read_ahead 1024 sectors
md0 : active raid1 sda1[1] sdb1[0]
1469824 blocks [2/2] [UU]

Mettiamo caso che questo array sia degradato. Avrei questo output:

md0 : active raid1 sda1[1] sdb1[0]
1469824 blocks [2/1] [U_]

Lo script che ti ho postato dice: "Vediamo se, dove compare blocks (grep 'blocks'), esiste una situazione che non sia [UU] (grep -v ‘UU’). Se è così, mando una mail con soggetto Problema RAID su `hostname` e come contenuto l'output di cat /proc/mdstat all'indirizzo mail@example.org".

Dimmi se qualcosa non è chiaro :)
Ok adesso è chiaro, grazie :-)
Però ho ancora un dubbio, per mandare la mail è necessario che sia configurato un qualche server, programma o simile di mail?

Avatar utente
francogdn
Linux 2.x
Linux 2.x
Messaggi: 320
Iscritto il: ven 19 mag 2006, 10:52
Distribuzione: Fedora
Località: Torino

Messaggio da francogdn »

Sì. Purtroppo lo script che ti ho postato sottointende che ci sia configurato un sistema di relaying smtp.
In alternativa dall'interno della if potresti richiamare uno script (es. php, python...) che manda una mail utilizzando un smpt che risiede su un'altra macchina...

Boh, buon divertimento :badgrin:

Pandorix
Linux 1.x
Linux 1.x
Messaggi: 148
Iscritto il: ven 25 mar 2005, 0:00

Messaggio da Pandorix »

francogdn ha scritto:Sì. Purtroppo lo script che ti ho postato sottointende che ci sia configurato un sistema di relaying smtp.
In alternativa dall'interno della if potresti richiamare uno script (es. php, python...) che manda una mail utilizzando un smpt che risiede su un'altra macchina...

Boh, buon divertimento :badgrin:
Azz :?
E se volessi mandare un messaggio tipo net send di windows, ad un'altra macchina? C'è un comando simile in linux?
O un modo per fargli emettere un bip per un tot di tempo?
Miiii che compicata sta cosa ;)

Avatar utente
francogdn
Linux 2.x
Linux 2.x
Messaggi: 320
Iscritto il: ven 19 mag 2006, 10:52
Distribuzione: Fedora
Località: Torino

Messaggio da francogdn »

Ma come mai mi vengono in mente cose incasinate??? :shock:

Pensa un po' che adesso mi è venuto in mente LinPopUp

:badgrin:

Avatar utente
francogdn
Linux 2.x
Linux 2.x
Messaggi: 320
Iscritto il: ven 19 mag 2006, 10:52
Distribuzione: Fedora
Località: Torino

Messaggio da francogdn »

Va beh, ci sono anche i comandi wall e smbclient -m <nomehost> . Forse LinPopUp non è la soluzione più indicata per un server.

Non sono molto preparato sull'argomento... :P

Pandorix
Linux 1.x
Linux 1.x
Messaggi: 148
Iscritto il: ven 25 mar 2005, 0:00

Messaggio da Pandorix »

francogdn ha scritto:Va beh, ci sono anche i comandi wall e smbclient -m <nomehost> . Forse LinPopUp non è la soluzione più indicata per un server.

Non sono molto preparato sull'argomento... :P
smbclient potrebbe essere la soluzione vincente, solo che...se il pc windows a cui mando il messaggio è un 98, funziona?(non mi pare che il comando net send esista con quel s.o.)

Pandorix
Linux 1.x
Linux 1.x
Messaggi: 148
Iscritto il: ven 25 mar 2005, 0:00

Messaggio da Pandorix »

francogdn ha scritto:Va beh, ci sono anche i comandi wall e smbclient -m <nomehost> . Forse LinPopUp non è la soluzione più indicata per un server.

Non sono molto preparato sull'argomento... :P
smbclient potrebbe essere la soluzione vincente, solo che...se il pc windows a cui mando il messaggio è un 98, funziona?(non mi pare che il comando net send esista con quel s.o.)

Pandorix
Linux 1.x
Linux 1.x
Messaggi: 148
Iscritto il: ven 25 mar 2005, 0:00

Messaggio da Pandorix »

francogdn ha scritto:Va beh, ci sono anche i comandi wall e smbclient -m <nomehost> . Forse LinPopUp non è la soluzione più indicata per un server.

Non sono molto preparato sull'argomento... :P
smbclient potrebbe essere la soluzione vincente, solo che...se il pc windows a cui mando il messaggio è un 98, funziona?(non mi pare che il comando net send esista con quel s.o.)

Pandorix
Linux 1.x
Linux 1.x
Messaggi: 148
Iscritto il: ven 25 mar 2005, 0:00

Messaggio da Pandorix »

Scusate la ripetizione, mi dava un errore quando tentavo di postare.

Comunque, smbclient funziona(almeno con XP). Adesso però mi sorge un altro quesito....come posso modificare lo script per fare in maniera che controlli il file di log del raid(che è /var/log/Spy.log) e mandi il messaggio soo in caso di differenza rispetto al mesaggio che ha mandato prima? Mi spiego meglio: mettiamo che il raid salta, lo script manda il messaggio e chi di dovere risolverà il problema. Lo script è schedulato per partire ogni ora. Se dopo 3 ore il raid è rimesso in funzione e ancora funziona, lo script continua in ogni caso a mandare il messaggio perchè trova nel log le parole che gli o imposto di cercare. io vorrei evitare questo, cioè fare in modo che lo script controlli se è cambiato qualcosa oppure no, tipo con una espressione regolare che verifica l'ora corrente e quella sul log....
Spero di essere stato chiaro :?

Avatar utente
francogdn
Linux 2.x
Linux 2.x
Messaggi: 320
Iscritto il: ven 19 mag 2006, 10:52
Distribuzione: Fedora
Località: Torino

Messaggio da francogdn »

Non so se funziona con windows 98...

Comunque il file /proc/mdstat non è un file di log comune... Visualizza in tempo reale lo stato dei dischi, quindi una volta risolto il problema non avrai più traccia di [U_], ma solo di [UU].

Com'è strutturato Spy.log?

Pandorix
Linux 1.x
Linux 1.x
Messaggi: 148
Iscritto il: ven 25 mar 2005, 0:00

Messaggio da Pandorix »

francogdn ha scritto:Non so se funziona con windows 98...

Comunque il file /proc/mdstat non è un file di log comune... Visualizza in tempo reale lo stato dei dischi, quindi una volta risolto il problema non avrai più traccia di [U_], ma solo di [UU].

Com'è strutturato Spy.log?
E' un log comune, sembra. Tiene traccia delle operazioni di rottura e ricostruzione del raid.
Comunque credo di aver risolto, dopo aver mandato il messaggio con smbclient, cancello il contenuto del log e il gioco è fatto :-)
Grazie mille degli aiuti e della pazienza :)

Rispondi