Può capitare avvolte che versione di mdadm che viene fornita con la vostra ubuntu/debian è terribilmente antica. Se desideri usufruire di una versione più recente, la procedura di upgrade è molto semplice :-)

$ apt-get install mdadm build-essential

$ wget http://ftp.de.debian.org/debian/pool/main/m/mdadm/mdadm_3.2.3.orig.tar.bz2

$ tar -xjvf mdadm_3.2.3.orig.tar.bz2 && cd mdadm-3.2.3

$ make & make install

Questo è tutto, per verificare la versione appena installata basta eseguire il seguente comando.

$ mdadm -V

Raid Software Debian/Ubuntu

scritto da admin il 15 Marzo 2012

Visto che è una procedura che faccio spesso, volevo condividerla con voi ;)
eseguiamo il boot da cd, e proseguiamo con l’installazione fino a quando l’installer chiede di formattare i dischi, selezioniamo “manuale”
Decidiamo le dimensioni della partizione di root e dello swap, orientativamente 20GB in root sono sufficienti per un’installazione normale, mentre per lo swap come dimensione impostiamo il doppio della ram.

create quindi le partizioni, settiamo il tipo della partizioni a linux raid autodetect , per le partizioni di root, impostiamo anche il flag di boot (di entrambi i dischi).

avremo quindi una cosa di questo tipo…

$ fdisk -l

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0×000c67c1

Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         365     2931831   fd  Linux raid autodetect
/dev/sda2             366        2797    19535040   fd  Linux raid autodetect

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0×00053d83

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         365     2931831   fd  Linux raid autodetect
/dev/sdb2             366        2797    19535040   fd  Linux raid autodetect

la 1° partizione è usata come swap (3GB) in alcuni casi ho notato che è meglio non metterla sotto raid
la 2° partizione serve per il SO (20GB)

P.S Ricordiamo che se utilizziamo i volumi LVM dobbiamo creare un volume /boot standalone (500MB circa) perche grub non gestisce il boot su volumi LVM

proseguiamo con il programma di partizionamento guidato, creando due dischi RAID in modalita RAID1 seguendo lo schema..

md0 == sda1, sdb1
md1 == sda2, sdb2

a questo punto si completa l’installazione normalmente, ed abbiamo quasi finito, dobbiamo solo ricordarci che il programma che esegue l’installazione ha caricato il grub solo nel primo disco di boot, quindi dobbiamo installarlo anche sul secondo.

### Procedura con Grub v1 ###
# $ grub
grub> device (hd0) /dev/sda
grub> root (hd0,1)
grub> setup (hd0)
grub> device (hd0) /dev/sdb
grub> root (hd0,1)
grub> setup (hd0)
grub> quit

### Procedura con Grub v2 ###
$ grub-install /dev/sda
$ grub-install /dev/sdb

Stato RAID:
è sempre utile vedere come è fatto
$ mdadm –query –detail /dev/md1
/dev/md1:
Version : 0.90
Creation Time : Sat Jun  6 00:15:19 2009
Raid Level : raid1
Array Size : 2931712 (2.80 GiB 3.00 GB)
Used Dev Size : 2931712 (2.80 GiB 3.00 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Tue Mar 13 22:17:08 2012
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

UUID : ad249657:82bbcbcd:44c8d3cc:c7bddde2
Events : 0.130

Number   Major   Minor   RaidDevice State
0       8        1        0      active sync   /dev/sda2
1       8       17        1      active sync   /dev/sdb2

Controlliamo lo stato del Raid:
$ cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda4[0] sdb4[1]
878899968 blocks [2/2] [UU]

md2 : active raid1 sda3[0] sdb3[1]
75392960 blocks [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
19534976 blocks [2/2] [UU]

md0 : active raid1 sda1[0] sdb1[1]
2931712 blocks [2/2] [UU]

unused devices: <none>

Sostituzione disco guasto:
qualora un disco si rompa, questo deve essere sostituito il prima possibile, magari sfruttando l’hot-swap hardware (come sata). In ogni caso la prima operazione da fare è rimuovere logicamente il disco, togliendolo dal raid con i comadi:
Prima di tutto idetifichiamo quale Disco è rotto dai log o dalla query che abbiamo fatto prima:

$ dmesg
raid1: Disk failure on sda2, disabling device.
raid1: Operation continuing on 1 devices.

Rimuoviamo il disco dal Raid:
$ /sbin/mdadm –assemble –scan
$ mdadm /dev/md0 –fail /dev/sda2

$ mdadm –manage /dev/md0 –fail /dev/sda2
$ mdadm /dev/md0 –remove /dev/sda2

Identifichiamo il Disco dal Seriale:
$ apt-get install smartmontools
$ smartctl -i /dev/sda | grep Serial
$ smartctl -i /dev/sdb | grep Serial

Spegniamo la macchina e a questo punto si sostituisce fisicamente il disco e si ricreano le partizioni, facendo attenzione alle dimensioni.
è anche possibile copiare la tabella delle partizioni da un’ altro disco:
$ sfdisk -d /dev/sda | sfdisk –force /dev/sdb

se invece vogliamo farlo con DD:
$ dd if=/dev/sda of=/tmp/part.bak bs=512 count=1 (Backup)
$ #dd if=/tmp/part.bak of=/dev/sdb bs=1 count=64 skip=446 seek=446 (Restore)

Se la tabella delle partizioni non è la classica msdos ma GPT (GUID Partition Table)
possiamo copiarla cosi

$ parted /dev/sda

GNU Parted 1.9.0
Using /dev/sda
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) p
Error: /dev/sda: unrecognised disk label
(parted) mklabel gpt
(parted) mkpart primary ext2 0 10M
(parted) mkpart primary ext4 10M 100%
(parted) set 1 bios_grub on
(parted) p
Model: ATA QEMU HARDDISK (scsi)
Disk /dev/sda: 1074MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

$ sgdisk -R /dev/sdb /dev/sda (Questo comando fa la stessa cosa si sfdisk ma su pt gpt)

attenzione: è possibile che richieda un reboot per vedere correttamente le partizioni.
infine si aggiungono le partizioni nei volumi raid:
$ mdadm –add /dev/md1 /dev/sda2
$ mdadm –manage /dev/md1 –add /dev/sda2

Creazione nuovi volumi RAID:
con fdisk si aggiungono le nuove partizioni
poi si crea un nuovo raid:
$ mdadm –create –verbose /dev/md3 –level=1 –raid-devices=2 /dev/sda3 /dev/sdb3

Se abbiamo un disco che faceva parte di un raid e vogliamo rimuovere la configurazione rimasta sul disco,
basta eseguire i seguenti comandi:

$ mdadm –zero-superblock /dev/sdb1
$ mdadm –zero-superblock /dev/sdb2
$ mdadm –zero-superblock /dev/sdb3

un’altra simpatica utility che potrebbe tornare utile è hddtemp, questa software può tenere sotto controllo la temperatura dei dischi ed avvisarvi in caso
di valori molto alti, e utile in ambienti dove il RAID è funzione 24/7.

$ apt-get install hddtemp
$ hddtemp /dev/sda
dev/sda: SAMSUNG HD300LD: 38 °C
$ hddtemp /dev/sdb
dev/sdb: SAMSUNG HD300LD: 44 °C

Ho creato uno scipt bash che trova ogni disco nel computer, e controlla la sua temperatura, ed in caso di temperatura alta manda una mail e dopo spegne il server.

Prima di tutto installiamo le utility necessarie:

apt-get install smartmontools

Ed ora lo script:

vim /script/monitor_temperatura.sh

#! /bin/bash
DISKS=”`blkid | grep sd | cut -c 1-8 | uniq`”
SMART=/usr/sbin/smartctl
ARGS=”-a -d ata”
LOG=/usr/bin/logger
DOWN=/sbin/shutdown
ALERT_LEVEL=55
for disk in $DISKS
do
if [ -b $disk ]; then
HDTEMP=$($SMART $ARGS $disk | grep -m 1 Temperature | awk ‘{print $10}’)
if [ $HDTEMP -ge $ALERT_LEVEL ]; then
$LOG “System going down as hard disk : $disk temperature $HDTEMP°C crossed its limit”
/bin/echo “System going down as hard disk : $disk temperature $HDTEMP°C crossed its limit” | mail -s “ServerKVM FrankHome” francesco.gabriele@gmail.com
sync;sync
$DOWN -h 0
fi
fi
done

Ora lo scheduliamo tramite cron:

*/50 * * * * /script/monitor_temperatura.sh

Ovviamente anche in questo caso dovrete settare i vari smtp (postfix,exim,ssmtp ecc..) per l’invio della mail.

Spero possa essere utile a molti

Frank

Loggare le Sessioni SSH tramite Email

scritto da admin il 10 Febbraio 2012

Può essere utile tenere sotto controllo le connessioni al nostro server, di seguito vi spiego come farsi mandare una mail con l’ora e l’ip/hostname sorgente dell’utente che ha effettuato l’accesso.

Prima di tutto installiamo i pacchetti necessari:

apt-get install binutils mailx

Dopo creiamo il file che dovrà essere contattato dal demone ssh dopo l’accesso:

DATE=`date “+%d.%m.%Y–%Hh%Mm”`
IP=`echo $SSH_CONNECTION | awk ‘{print $1}’`
REVERSE=`dig -x $IP +short`

echo “Connessione SSH con l’utente $USER sul server $HOSTNAME

IP: $IP
ReverseDNS: $REVERSE
Data: $DATE

” | mail -s “Connessione SSH con l’utente $USER sul server $HOSTNAME” / francesco.gabriele@gmail.com

Ora effettuate il primo accesso e dopo un po vedrete arrivarvi una bella mail con tutte le info ;)

p.s Ricordati di configurare l’smtp sul vostro esempio utilizzando i vari postfix exim ecc..

Frank

Backup Incrementali con Rdiff-Backup

scritto da admin il 1 Febbraio 2012

è un software nato dall’accoppiata di diff ed rsync, il punto di forza di questo software e che si hanno backup incrementali
con l’utilizzo di spazio e di banda (nel caso di backup remoti) ridotto al minimo indispensabile. Avere dei Backup incrementali
vuol dire poter risalire ad una versione di un file ad una data specifica in qualsiasi momento potendo recuperare dati persi.

Installazione
apt-get install rdiff-backup

Il comando da eseguire è moltosemplice:
rdiff-backup /dir_sorgente /dir_destinazione

Per Verificare Basta fare:
rdiff­backup ­­verify /dir_sorgente /dir_destinazione
Every file verified successfully.

E se nel frattempo ho cambiato qualcosa?
rdiff­backup -compare­full /dir_sorgente /dir_destinazione
changed:
new: azienda1.doc
metadata changed, data changed: azienda2.xls
new: azienda3.pdf
new: azienda4.docx

Per Visualizzare le versioni incrementali:
rdiff­backup -l /dir_destinazione
Found 1 increments:
increments.2010­10­22T23:52:19+02:00.dir Fri Oct 22 23:52:19 2010
Current mirror: Sat Oct 23 00:36:24 2010

Per Visulizzare le versioni incrementali di un singolo file:
rdiff-backup -l /dir_destinazione/nomefile

Per recuperare un file dell’ultimo backup:
cp -ap /dir_destinazione/nomefile /home/dovelovogliomettere

Per recuperare una versione particolare, es. di 10 giorni fa…
rdiff-backup -r 10D /dir_destinazione/nomefile /home/dovelovogliomettere

Di Seguito un Esempio di Script che ho fatto per un mio amico:
#!/bin/bash
######################################################
#                                                    #
#           Script Backup Automatizzato              #
#            Utilizzando Rdiff e Postfix             #
# versione 1.1                                       #
# Francesco Gabriele - frank at gamil dot com        #
######################################################
# Variabili rdiff-backup
# File dove sono specificate le dir o i file da backuppare
RDIFFFILE=”/script/rdiff-include.txt”
# Direcrory di destinazione del Backup
DESTINAZIONE=”/mnt/backup/”
# File da escudere dal Backup
EXCLUDE=”/script/rdiff-exclude.txt”
# Messaggio da appendere nel file di Log
MESSAGGIOLOG=”Rdiff-Backup OK `date`”
# File di log
LOGFILE=”/var/log/rdiff-backup.log”
#testo della mail
BODYMAIL=”/script/rdiff-emailmessage.txt”
# Oggetto della Mail
OGGETTO=”BackupIncrementale”
# Destinatario Mail
TO=”frank at gamil dot com”
# Qui diciamo quanti Mesi Tenere OnLine
REMOVEOLD=”1M”
echo ” `date +\”%d/%m/%Y %H:%M:%S\”` — Eseguo Backup” >> $LOGFILE
/usr/bin/rdiff-backup –print-statistics –preserve-numerical-ids –terminal-verbosity 5 –exclude-globbing-filelist $EXCLUDE –include-globbing-filelist $RDIFFFILE –exclude / / $DESTINAZIONE && echo `date` $MESSAGGIOLOG >> $LOGFILE
/usr/bin/rdiff-backup-statistics $DESTINAZIONE > $BODYMAIL
/usr/bin/rdiff-backup –remove-older-than $REMOVEOLD $DESTINAZIONE
/bin/cat $BODYMAIL | /usr/bin/mail -s $OGGETTO $TO
echo ” `date +\”%d/%m/%Y %H:%M:%S\”` — Fine Backup” >> $LOGFILE

mrbonzo:/script# cat rdiff-include.txt
/dati
/home

mrbonzo:/script# cat rdiff-exclude.txt
**.iso
**.mp3
**.wav
**.avi

Sito ufficiale: http://www.nongnu.org/rdiff-backup/
Esempi di utilizzo: http://www.nongnu.org/rdiff-backup/examples.html
Link a progetti esterni: http://www.nongnu.org/rdiff-backup/related.html

Rdiff­backup è disponibile anche per Windows  e Mac OS X.
Spero possa essere di aiuto a Molti

Frank

Può capitare che per un qualsiasi motivo una macchina virtuale non porta più, e vi è la necessità di montare
il filesystem sul server fisico(proxmox).
Visto che in fase d’installazione della macchina virtuale il singolo Logical Volume viene partizionato per
ex. la swap e la root purtroppo non possiamo montare x come faremmo di solito:

root@nilox ~ # lvdisplay
— Logical volume —
LV Name                /dev/vg0-nilox/vm-102-disk-1
VG Name                vg0-nilox
LV UUID                C4bcBz-dx46-CxWj-5s9F-AIYO-aVYk-43veWf
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                50,00 GB
Current LE             12800
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:0

root@nilox ~ # mount /dev/vg0-nilox/vm-102-disk-1 /mnt/prova/
mount: you must specify the filesystem type
root@nilox ~ # mount -t xfs /dev/vg0-nilox/vm-102-disk-1 /mnt/prova/
mount: wrong fs type, bad option, bad superblock on /dev/mapper/vg0–nilox-vm–102–disk–1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail  or so

Perche il sistema non riesce a capire quale filesystem vogliamo montare,
se facciamo i seguenti comandi capirete perchè.

root@nilox ~ # fdisk -l /dev/vg0-nilox/vm-102-disk-1

Disk /dev/vg0-nilox/vm-102-disk-1: 21.4 GB, 21479030784 bytes
255 heads, 63 sectors/track, 2611 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0×00040fdc

Device Boot      Start         End      Blocks   Id  System
/dev/vg0-nilox/vm-102-disk-1p1               1         122      975872   82  Linux swap / Solaris
Partition 1 does not end on cylinder boundary.
/dev/vg0-nilox/vm-102-disk-1p2             122        2611    19993600   83  Linux
root@nilox ~ # kpartx /dev/vg0-nilox/vm-102-disk-1
vg0–nilox-vm–102–disk–1p1 : 0 1951744 /dev/vg0-nilox/vm-102-disk-1 2048
vg0–nilox-vm–102–disk–1p2 : 0 39987200 /dev/vg0-nilox/vm-102-disk-1 1953792

Come potete vedere sono due partizioni, quindi per poter montare il filesystem di root bisogna specificare
quale byte del disco montare:

root@nilox ~ # parted /dev/vg0-nilox/vm-102-disk-1
GNU Parted 1.8.8
Using /dev/mapper/vg0–nilox-vm–102–disk–1
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) unit b
(parted) print

Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/vg0–nilox-vm–102–disk–1: 21479030784B
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start        End           Size          Type     File system  Flags
1      1048576B     1000341503B   999292928B    primary  linux-swap
2      1000341504B  21473787903B  20473446400B  primary  xfs

root@nilox ~ # mount -o offset=1000341504B /dev/vg0-nilox/vm-102-disk-1 /mnt/prova/
root@nilox ~ # df -h
Filesystem         Dimens. Usati Disp. Uso% Montato su
/dev/md0               19G  2,2G   16G  13% /
tmpfs                 3,9G     0  3,9G   0% /lib/init/rw
udev                   10M  708K  9,4M   7% /dev
tmpfs                 3,9G     0  3,9G   0% /dev/shm
/dev/mapper/vg0–nilox-vm–102–disk–1
20G  959M   19G   5% /mnt/prova

Come potete vedere siamo riusciti a montare la partizione specificato i byte della partizione interessata.

Spero possa essere utile a molti

Frank :-)

=== Introduzione ===
LVM (Logical Volume Manager) permette l’utilizzo di dispositivi logici virtuali per accedere ai disci, mascherano cosi’ la natura dei dispositivi fisici su cui risiedono i dati.

E’ quindi possibile utilizzare un device virtuale di cui possono fare parte diversi hard disk fisici, anche di natura, velocità e dimensioni diverse.

I vantaggi di un simile approccio alla gestione dei file system sono maggiore flessibilita’ e scalabilita’, alta disponibilita’ del servizio e ridondanza.

=== Schema ===

                        -------------------------------------------------
Logical Volumes  (LV)   |    lv_share   |    lv_backup   |   (unused)   |
                        -------------------------------------------------
Volume Groups    (VG)   |                 vg_fileserver                 |
                        -------------------------------------------------
Physical Volumes (PV)   | /dev/sdb1 | /dev/sdc1 | /dev/sdd1 | /dev/sde1 |
                        -------------------------------------------------

=== Ricerca nuovi dischi ===
Per vedere nuovi dischi aggiunti alla macchina:
echo 1 > /sys/class/fc_host/host/issue_lip
rescan-scsi-bus.sh -l -w -c
multipath

=== Physical Volumes (PV) ===
Per creare un Physical Volume (PV) su una partizione esistente, cioe’ rendere la partizione adatta ad ospitare dei Volume Group (VG):
pvcreate ”/dev/sdb1”

Per visualizzare tutti i Physical Volume (PV) presenti:
pvdisplay

Per spostare tutti i dati da un Physical Volume (PV) ad un altro:
pvmove -i 10 ”/dev/sdb1” ”/dev/sdc1”

=== Volume Groups (VG) ===
Per creare un Volume Group (VG) su un Physical Volume (PV) precedentemente creato:
vgcreate ”vg_name” ”/dev/sdb1” ”/dev/sdc1”

Per attivare un Volume Group (VG) non attivo:
vgchange -a y ”vg_name”

Per estendere un Volume Group (VG):
vgextend ”vg_name” ”/dev/sdd1”

Per visualizzare tutti i Volume Group (VG) presenti:
vgdisplay

Per rinominare un Volume Group (VG):
vgrename ”vg_name” ”vg_new_name”

=== Logical Volumes (LV) ===
Per creare un Logical Volume (LV) grande 2 GB su un Volume Group (VG) precedentemente creato:
lvcreate -L”2G” -n ”lv_name” ”vg_name”

Per formattare in xfs il Logical Volume (LV) appena creato:
mkfs.xfs /dev/”vg_name”/”lv_name”

Per estendere un Logical Volume (LV) di 1 GB:
lvextend -L”+1G” /dev/”vg_name”/”lv_name”

Per estendere il filesystem presente sul Logical Volume (LV) appena esteso:
xfs_growfs /mountpoint

Per visualizzare tutti i Logical Volume (LV) presenti:
lvdisplay

—-
Approfondimenti: http://tldp.org/HOWTO/LVM-HOWTO/

Sorgente: http://shadowmax.referata.com/wiki/SuSE_SLES_LVM

Sincronizzare due server IMAP

scritto da admin il 10 Agosto 2011

Oggi ho trovato un interessante tool per sincronizzare due server IMAP, si chiama imapsync.

L’installazione sulla mia fidata ubuntu è stata una passeggiata:

#apt-get install imapsync

Per utilizzarlo e’ sufficiente lanciare il comando con queste sintassi:
#imapsync –host1 {NomeServerUno} –user1 {NomeUtenteUno} –password1 {PasswordUno} –host2 {NomeServerDue} –user2 {NomeUtenteDue} –password {PasswordDue}
{NomeServerUno}: ip o dominio server di origine
{NomeUtenteUno}: Nome utente server di origine
{PasswordUno}: password server di origine
{NomeServerDue}: ip o dominio server di destinazione
{NomeUtenteDue}: Nome utente server di destinazione
{PasswordDue}: password server di destinazione

Di seguito due esempi, il primo verso Gmail, mentre il secondo verso due semplici server imap:
imapsync –host1 my_mail_server –port1 143 \
–user1 changeme@yourdomain –password1 mypassword \
–host2 imap.gmail.com –port2 993 \
–user2 changeme@gmail.com –password2 mypassword \
–syncinternaldates –ssl2 –noauthmd5 –split1 100 –split2 100

imapsync –host1 mailserver1 –port1 143 \
–user1 user@dominio –password1 pippo \
–host2 mailserver2 –port2 143 \
–user2 user@dominio –password2 pluto

Il parametro –ssl2 e’ necessario in quanto l’autenticazione PLAIN e’ solitamente permessa solo su canale criptato ssl.
imapsync ha il vantaggio di sincronizzare i server in maniera incrementale, i file gia’ sincronizzati non vengono piu’ spostati
consentendo un minor tempo in caso di sincronizzazioni successive.

Periferica USB QEMU-KVM

scritto da admin il 15 Luglio 2011

Oggi ho avuto la necessità di aggiungere su una macchina virtuale una stampante usb collegata al server fisico, non avendo trovato l’opzione in nessuna Gui grafica ho fatto la modifica a manina :)

Ecco gli step:

1) con il comando lsusb prendiamo l’indirzzo del device

Bus 001 Device 002: ID 03f0:2a12 Hewlett-Packard

2) entriamo da console in virsh ed editiamo l’xml della vm virtuale

Server:~# virsh

virsh # edit vm01

3) Una volta aperto l’xml aggiungiamo questa config sotto il gruppo devices:

<hostdev mode=’subsystem’ type=’usb’>
<source>
<vendor id=’0×03f0′/>
<product id=’0×2a12′/>
</source>
</hostdev>

Come potete notare vendo e product sono i pezzi ricavati dall’output del comando lsub che equivale all’indirizzo della periferica. Dopo aver inserito il pezzo purtroppo per farlo funzionare correttamente bisogna riavviare tutto il motore kvm.

Spero possa essere utile a molti ;)

Se anche a voi dopo un aggiornamento di sistema al reboot vi ritrovate questo errore,

non preoccupatevi dopo 5 minuti di paura ho trovato la soluzione :)

da quello che ho letto avvolte capita che non viene aggiornato il file init del kernel

con i moduli del demone mdadm e quindi mette i raid in offline :(

Di seguito i comandi da effettuare per il ripristino:

1) Dopo che compare l’errore il boot si ferma nella modalita initramfs e da qui lanciare+

questi comandi

initramfs> mdadm –examine –scan –config=/etc/mdadm/mdadm.conf >> /etc/mdadm/mdadm.conf (in questo modo rigeneriamo la config del demone mdadm)

initramfs> mdadm -A /dev/md0 /dev/md1 /dev/md2 (attiviamo i raid che il sistema ha messo in offline)

initramfs> return (facciamo il boot)

Dopo questi comandi magicamente riparte tutto :)

per salvare la configurazione ricregliamo a mano il file initramfs

frank~# update-initramfs -u

A presto

Frank