giovedì, marzo 04, 2010

Riassemblaggio raid5

Me lo scrivo qui, giusto come promemoria visto che mi ci è voluto un po' per trovare la strada giusta per rimettere in piedi un raid5 dopo la reinstallazione di CentOS


Recupero l'uuid del disco



mdadm -E /deb/sdb

Lo riassemblo nell'array ed infine risalvo mdadm.conf



mdadm --assemble --uuid= /dev/md0
cd /etc/
echo "DEVICE partitions" > mdadm.conf
mdadm --detail --scan >> mdadm.conf
mount /dev/md0 /dati

Et voilà in dati ritrovate tutto quel che c'era (ovviamente poi basta rimettere tutto in fstab in modo che al riavvio si rmonti da solo)

mercoledì, marzo 03, 2010

Metodo per comporre query sql


Ho trovato un sistema eccellente per scrivere le query di insert ed update che a volte possono dare origine a codice molto disordinato e difficile da rileggere
Per esempio per formattare questa query come questa con vb script (ASP)



INSERT INTO TABELLA (campo1,campo2) VALUES ('campo1','campo1')

nel metodo tradizionale avrei fatto più o meno così: (magari spezzando la query in più variabili)



sSQL = "INSERT INTO TABELLA (campo1,campo2) VALUES ("'& CheckString(Request("campo2")) &'","'"& CheckString(Request("campo1")) &"'")"

questa sintassi spesso causa vari problemi di rilettura del codice, soprattuto con query molto lunghe.


Con il nuovo sistema suddivido il tutto in due variabili che poi vado concatenare



sSQl = "INSERT INTO tabella (" : sValues = " ) VALUES ("
sSQl = sSQL & " campo1 " : sValues = sValues & "'" & CheckString(Request("campo1")) & "'"
sSQl = sSQL & ",campo2 " : sValues = sValues & ",'" & CheckString(Request("campo2")) & "'"
sSQL = sSQL & sValues & ")"

Così il codice risulta molto più leggibile e grazie al divisorio ":" in vbscript ho la possibilità di mantenere sulla stessa linea di codice sia il nome della colonna che il valore che ci andrà salvato

lunedì, marzo 01, 2010

Inviare un report di stato del raid 5 via e-mail

Ho creato questo script che serve per generare un report ed inviarlo per e-mail
in modo da poter verificare automaticamente lo stato dei dischi del mio fake array
spero possa essere utile a qualcuno di seuguito lo script:



#!/bin/bash

cd /dati
echo 'mdadm --detail /dev/md0' > 'raid.txt'
echo '' >> raid.txt

mdadm --detail /dev/md0 >> raid.txt

echo '#################################################################' >> raid.txt
echo '' >> raid.txt
echo 'cat /proc/mdstat' >> raid.txt
echo '' >> raid.txt
echo '#################################################################' >> raid.txt

cat /proc/mdstat >> raid.txt

echo '#################################################################' >> raid.txt
echo '' >> raid.txt
echo 'smartctl -H /dev/sda' >> raid.txt
echo '' >> raid.txt
echo '#################################################################' >> raid.txt
echo '' >> raid.txt

smartctl -H /dev/sda >> raid.txt

echo '' >> raid.txt
echo '#################################################################' >> raid.txt
echo '' >> raid.txt
echo 'smartctl -H /dev/sdb' >> raid.txt
echo '' >> raid.txt
echo '#################################################################' >> raid.txt
echo '' >> raid.txt

smartctl -H /dev/sdb >> raid.txt

echo '' >> raid.txt
echo '#################################################################' >> raid.txt
echo '' >> raid.txt
echo 'smartctl -H /dev/sdc' >> raid.txt
echo '' >> raid.txt
echo '#################################################################' >> raid.txt
echo '' >> raid.txt

smartctl -H /dev/sdc >> raid.txt

echo '' >> raid.txt
echo '#################################################################' >> raid.txt
echo '' >> raid.txt
echo 'smartctl -H /dev/sdd' >> raid.txt
echo '' >> raid.txt
echo '#################################################################' >> raid.txt
echo '' >> raid.txt

smartctl -H /dev/sdd >> raid.txt

echo '#################################################################' >> raid.txt

hddtemp /dev/sda >> raid.txt
hddtemp /dev/sdb >> raid.txt
hddtemp /dev/sdc >> raid.txt
hddtemp /dev/sdd >> raid.txt

echo '#################################################################' >> raid.txt

OGGETTO="Controllo Disco"
EMAIL="il tuo indirizzo @ email"
MESSAGGIO="/dati/raid.txt"
# send an email using /bin/mail
/bin/mail -s "$OGGETTO" "$EMAIL" < $MESSAGGIO


Ovviamente se qualcuno ha consigli sono ben accetti..

Non mi ricordavo di avere un blog..

Erano anni che non scrivevo in questo blog... Non che qualcuno lo legga.. e così dal nulla ho deciso di metterci un tema nuovo.. Comunque...