View Full Version : Problemi con RAID software su ubuntu server
Ciao a tutti, ho un problemino con ubuntu server, in particolare con la configurazione raid mirroring.
In pratica, volendo metterla su in un server vero e proprio, oggi ho deciso di provarla prima su una macchina virtuale, per vedere se effettivamente fà il suo lavoro.
Ho creato quindi una VM con 2 HD e ci ho installato ubuntu server con raid mirroring.
Primo avvio tutto ok.
Spengo la VM e stacco il 2° HD per vedere se effettivamente il mirror funziona.
Ubuntu si avvia e mi dice che l'array è degradato, e se voglio avviare il SO.
OK, quindi funziona. Spengo.
Riattacco il 2° HD, avvio, e mi dice sempre che è degradato. dmstat dice che il 2° disco è stato rimosso.
Ho dovuto fare "mdadm /dev/md0 --add /dev/sdb1" per risincronizzare l'array e fargli capire che effettivamente il disco c'era. Una volta fatto, tutto è tornato normale.
- DOMANDA 1: Il fatto di forzare il disco manualmente, è normale o lo dovrebbe fare in automatico???
Poi faccio un'altra prova, visto che ora è tutto normale, quindi con entrambi i dischi sincronizzati, spengo la VM e stacco non il 2° HD, ma il 1°, per vedere se anche in questo caso funziona bene.
Accedo la VM --> risultato: schermo nero. Grub non si avvia.
- DOMANDA 2: come mai?? che cavolo di mirroring è????
Ho sbagliato qualcosa io, oppure funziona male??
Grazie 1000, scusate la verbosità :P
manolo_j
25-02-2012, 16:01
1) mi sembra sia un'operazione manuale...
2) bisogna installare grub nell'MBR dei due dischi fisici
ciao manolo,
ma da sistema funzionante, ho fatto
grub-install /dev/sda
e
grub-install /dev/sdb
però non funziona lo stesso...
c'è qualcosa che devo controllare o qualcosa di particolare da fare?
manolo_j
26-02-2012, 11:36
Mah, non ho tempo di fare prove sul mio sistema, ma controllerei la sequenza di boot nel bios, e al limite un update-grub...
Altro non mi viene in mente, e anche sulle guide non ho trovato molto di più...
Ciao
ciao manolo,
ma da sistema funzionante, ho fatto
grub-install /dev/sda
e
grub-install /dev/sdb
però non funziona lo stesso...
c'è qualcosa che devo controllare o qualcosa di particolare da fare?
Dovrebbe funzionare, non funziona che vuol dire? Non c'e' proprio il boot loader (magari non e' abilitato al boot) o non fa partire il sistema?
Tieni conto che in una installazione vera dovrai poi assicurarti, nel caso, che il bootloader venga scritto e aggiornato su entrambi i dischi, ad es. quando viene aggiornato il kernel.
Cosa da fare mediante gli hook di aggiornamento del kernel, oppure usando un sistema fisico:
- metti negli MBR un bootloader che non fa altro che richiamare la partizione di boot
- metti la partizione di boot in raid mirror
- fai scrivere il boot loader sulla partizione di boot
BTW: perche' install una ubuntu invece che debian su un server?
Dovrebbe funzionare, non funziona che vuol dire? Non c'e' proprio il boot loader (magari non e' abilitato al boot) o non fa partire il sistema?
Tieni conto che in una installazione vera dovrai poi assicurarti, nel caso, che il bootloader venga scritto e aggiornato su entrambi i dischi, ad es. quando viene aggiornato il kernel.
Cosa da fare mediante gli hook di aggiornamento del kernel, oppure usando un sistema fisico:
- metti negli MBR un bootloader che non fa altro che richiamare la partizione di boot
- metti la partizione di boot in raid mirror
- fai scrivere il boot loader sulla partizione di boot
BTW: perche' install una ubuntu invece che debian su un server?
allora, la sequenza di boot nel bios è ok, update-grub e reinstallazione grub su entrambi i dischi fatta, ma non risolve il problema.
In pratica se tolgo il 1° disco, accendo la macchina virtuale (dicendogli di bootare dal disco rimasto), mi rimane schermo nero e cursore in alto a sx. Non mi carica neanche il menù di grub, come se non trovasse la partizione di boot dove leggere il menù di configurazione.
la cosa non viene risolta se il disco rimasto lo attacco al primary master, primary slave, ecc...
P.S.: si si lo so che quando aggiorna kernel, devo riaggiornare grub in entrambi i dischi
P.S.2: ubuntu server invece che debian?? xchè avevo a portata di mano quella iso x fare le prove, e cmq sia ubuntu server mi sembra una distro matura x questo compito.
Cosi' ad occhio il secondo grub non e' stato messo bene.
Per altro se gli dai un dpkg-reconfigure grub-pc
o grb2 o quello che e'
dovresti avere la possibilita' di impostarlo per essere sparato contemporaneamente su piu' devices.
Il boot loader lo metterei nel RAID della partizione di boot, cosi' te lo sparge anche sullo spare disck quando serve, e all'occorrenza basta ri-sparare il primi 512 bytes su gli HD sostitutivi per prepararli per entrare nel raid.
Va poi detto che non e' una buona idea fare un reboot con il primo hd cioccato,
e si suppone che gli hd vengano sostituiti immediatamente
e i reboot programmati siano un paio all'anno.
Giusto per mettere in prospettiva.
nightborn
02-03-2012, 12:33
- DOMANDA 1: Il fatto di forzare il disco manualmente, è normale o lo dovrebbe fare in automatico???
Poi faccio un'altra prova, visto che ora è tutto normale, quindi con entrambi i dischi sincronizzati, spengo la VM e stacco non il 2° HD, ma il 1°, per vedere se anche in questo caso funziona bene.
Accedo la VM --> risultato: schermo nero. Grub non si avvia.
- DOMANDA 2: come mai?? che cavolo di mirroring è????
Ho sbagliato qualcosa io, oppure funziona male??
Grazie 1000, scusate la verbosità :P
Carissimo,
confermo la parte 1: il raid software pretende che tu "certifichi" il cambio disco e quindi esegua le operazioni di ripristino a mano.
Parte 2... i ragionamenti sono un po' complessi. Bene o male il sistema assume che uno dei dischi sia autoritativo sull'altro, nel senso che nelle prima fasi di boot (i.e. fino a che il kernel non prende coscienza del raid1) del sistema il concetto di raid non esiste. Se i dati di boot (mbr/grub e loro simili) sono sul disco autoritativo tutto ok, altrimenti son dolori.
"Ma io ho installato grub su entrambi i dischi". Vero, ma non sempre succede quello che vuoi tu. I.e. non mi stupirei che grub sia effettivamente installato su entrambi gli mbr ma che cerchi il kernel sempre sul primo disco. Se il primo disco è ko... saluti!
Soluzioni:
0) sicuro che il bios o il bios emulato se tolgi il primo disco, vada a vedere se ne esiste un altro e lo usi ? Sicuro anche che il bios emulato facendo questo non promuova anche il disco sostitutivo vedendolo come primary master e quindi cambi il nome della device mandando tutto in malora ?
1) vecchia maniera dei tempi che fu: il disco con i dati di boot non è raid, lo sono solo i dati e le parti dichiarate "fondamentali" del filesystem. Un backup della partizione di boot giace nei dischi raid pronto per essere usato da cd di boot in caso di rottura del disco di boot.
2) non sono un espertone di grub (sono un ferrovecchio che usa ancora lilo), ma credo che prima di fare l'install su sdb tu debba fare una modifica alla sua configurazione affinchè esso cerchi il kernel su sdb e non sda.
3) Se è un ambiente di test sacrificabile, una volta che il grub su sda è a posto, farei un dd dell'mbr di sda su sdb "fotocopiandolo" brutalmente sul secondo disco anzichè un nuovo grub install, voglio vedere, poi, se il bios non lo trova, al massimo il sistema non parte (così capisci se grub cerca il kernel nel disco corrente o in quello che manca), ma deve trovarlo.
sintassi:
dd if=/dev/sda of=/dev/sdb bs=512 count=1
4) Ci sono mbr bootmanagers che puoi installare in entrambi gli mbr che ti permettono di fare boot di linux alternativamente a grub non so se però devi anche installare grub (credo di no) nella partizione di boot (i.e. non nell'mbr).
Buon smanettamento!
Carissimo,
confermo la parte 1: il raid software pretende che tu "certifichi" il cambio disco e quindi esegua le operazioni di ripristino a mano.
Parte 2... i ragionamenti sono un po' complessi. Bene o male il sistema assume che uno dei dischi sia autoritativo sull'altro, nel senso che nelle prima fasi di boot (i.e. fino a che il kernel non prende coscienza del raid1) del sistema il concetto di raid non esiste. Se i dati di boot (mbr/grub e loro simili) sono sul disco autoritativo tutto ok, altrimenti son dolori.
"Ma io ho installato grub su entrambi i dischi". Vero, ma non sempre succede quello che vuoi tu. I.e. non mi stupirei che grub sia effettivamente installato su entrambi gli mbr ma che cerchi il kernel sempre sul primo disco. Se il primo disco è ko... saluti!
Soluzioni:
0) sicuro che il bios o il bios emulato se tolgi il primo disco, vada a vedere se ne esiste un altro e lo usi ? Sicuro anche che il bios emulato facendo questo non promuova anche il disco sostitutivo vedendolo come primary master e quindi cambi il nome della device mandando tutto in malora ?
1) vecchia maniera dei tempi che fu: il disco con i dati di boot non è raid, lo sono solo i dati e le parti dichiarate "fondamentali" del filesystem. Un backup della partizione di boot giace nei dischi raid pronto per essere usato da cd di boot in caso di rottura del disco di boot.
2) non sono un espertone di grub (sono un ferrovecchio che usa ancora lilo), ma credo che prima di fare l'install su sdb tu debba fare una modifica alla sua configurazione affinchè esso cerchi il kernel su sdb e non sda.
3) Se è un ambiente di test sacrificabile, una volta che il grub su sda è a posto, farei un dd dell'mbr di sda su sdb "fotocopiandolo" brutalmente sul secondo disco anzichè un nuovo grub install, voglio vedere, poi, se il bios non lo trova, al massimo il sistema non parte (così capisci se grub cerca il kernel nel disco corrente o in quello che manca), ma deve trovarlo.
sintassi:
dd if=/dev/sda of=/dev/sdb bs=512 count=1
4) Ci sono mbr bootmanagers che puoi installare in entrambi gli mbr che ti permettono di fare boot di linux alternativamente a grub non so se però devi anche installare grub (credo di no) nella partizione di boot (i.e. non nell'mbr).
Buon smanettamento!
grazie intanto per i suggerimenti! preziosissimi.
In effetti penso che grub installato sul 2° disco ci sia, ma cerchi i suoi file di boot sul disco sbagliato (e da qui schermo nero).
cmq ti rispondo:
0) il bios boota dal 2° disco xchè glie lo forzo io manualmente, e si, anche togliendo il disco1, il disco2 rimane primary slave xchè così è configurato manualmente sulla virtual machine.
1) in questo caso se mi si rompe il disco di boot, ed io non ho un disco nuovo sottomano, non posso boottare la macchina
2) in effetti è quello che temo, però su grub 2 non ho idea di come si faccia questa cosa, visto che hanno complicato notevolmente le cose (grub1 era tanto bello...)
3) appena ho tempo, provo di sicuro! thx
4) si, avevo guardato, però volevo provare con la configurazione normale di ubuntu
cmq quello che mi interessava capire era se potevo avere una macchina che in caso di fault era subito avviabile, senza perdere troppo downtime, visto che il raid mi serviva anche a questo.
cmq ora comprendo meglio a cosa servono i controller raid hardware, ed anche i fake raid. con quelli, la macchina riparte senza problemi.
cya! a presto con nuovi sviluppi.
nightborn
13-03-2012, 14:09
grazie intanto per i suggerimenti! preziosissimi.
In effetti penso che grub installato sul 2° disco ci sia, ma cerchi i suoi file di boot sul disco sbagliato (e da qui schermo nero).
cmq ti rispondo:
0) il bios boota dal 2° disco xchè glie lo forzo io manualmente, e si, anche togliendo il disco1, il disco2 rimane primary slave xchè così è configurato manualmente sulla virtual machine.
1) in questo caso se mi si rompe il disco di boot, ed io non ho un disco nuovo sottomano, non posso boottare la macchina
2) in effetti è quello che temo, però su grub 2 non ho idea di come si faccia questa cosa, visto che hanno complicato notevolmente le cose (grub1 era tanto bello...)
3) appena ho tempo, provo di sicuro! thx
4) si, avevo guardato, però volevo provare con la configurazione normale di ubuntu
cmq quello che mi interessava capire era se potevo avere una macchina che in caso di fault era subito avviabile, senza perdere troppo downtime, visto che il raid mi serviva anche a questo.
cmq ora comprendo meglio a cosa servono i controller raid hardware, ed anche i fake raid. con quelli, la macchina riparte senza problemi.
cya! a presto con nuovi sviluppi.
Prima di tutto grazie di nulla, figurati.
0) Molto bene, le device così non cambiano.
1) Vecchio modo di pensare. Sono sicuro di come funziona il boot e limito il tempo di fermo macchina a discapito dell'essere sempre online (i.e. ho un guasto, risolvo e sono operativo 100%, non resto attivo da rotto).
2) qui la mia competenza è limitata
3) fai la prova, dovesse fallire io agirei così:
- metto offline il primo disco
- faccio boot in single user mode così da limitare eventuali effetti indesiderati sul raid
- eseguo l'installazione di grub (e sono per forza coerente con mbr e kernel essendoci solo il secondo disco disponibile)
4) fai come vuoi, ma se otteni il funzionamento che desideri, perchè non considerarli ?
Buona giornata!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.