Loading
Home » Computer » Linux » Correggere superblock raid1 software che ha la ROOT sopra?
Correggere superblock raid1 software che ha la ROOT sopra? [messaggio #36500] |
gio, 10 marzo 2011 19:43 |
Lem Novantotto Messaggi: 166 Registrato: novembre 2010 |
Senior Member |
|
|
Ok, ho questo raid1 software fatto con mdadm, persistent superblock
versione 0.90: /dev/md0. Era stato creato con tre device, uno dei quali è
stato marcato come fallato, rimosso, superblock-zerizzato e quindi usato
per altro: nel raid restano due device: sda2 e sdd2. Ovviamente il raid1
si presenta "clean, degraded" poiché nei superblock dei due device
rimasti sta ancora scritto che il raid dovrebbe contare su 3 device.
Prima fondamentale domanda: ha senso che mi preoccupi di mettere le cose
a posto, o me ne posso fregare altamente (cosa che mi piacerebbe tanto)?
Se è meglio metter le cose a posto, una soluzione sarebbe sicuramente:
stoppare il raid; zerizzare i superblock dei due device rimasti; ricreare
il raid, manualmente, coi soli due device (il che ricostruirebbe i
superblock ma non danneggerebbe il filesystem che c'è sopra il raid);
correggere in /etc/mdadm/mdadm.conf l'UUID del raid, mettendo quello
nuovo, per futuri assemblaggi automatici.
Non posso fare direttamente così, però, perché sul raid1 c'è la /. :-/
Il che ci porta alla domanda numero due: c'è un modo semplice di editare
i superblock di un raid1 attivo on the fly? No, eh? ;)
In subordine, per evitare di agire da un sistema live, se è necessario
avrei pensato di far così.
1) Marco come failed e poi rimuovo dal raid uno dei due device, sdd2:
# mdadm /dev/md0 --fail /dev/sdd2 ; mdadm /dev/md0 --remove /dev/sdd2
(se metto insieme le due cose nello stesso comando, esegue solo la prima
e dà errore. Boh...).
2) Zerizzo il superblock di sdd2, e costruisco un nuovo raid1 così:
# mdadm --zero-superblock /dev/sdd2
# mdadm --create /dev/md5 -l1 -n2 /dev/sdd2 missing
3) Monto il nuovo raid1 su /mnt, e modifico /mnt/etc/mdadm/mdadm.conf,
rimuovendo ogni riferimento a /dev/md0 e inserendo il riferimento al
nuovo raid. Inoltre modifico /mnt/etc/fstab perché il nuovo /dev/md5 sia
montato su /.
4) Modifico /etc/fstab perché /dev/md5 sia montato su /. Modifico
/etc/mdadm/mdadm.conf, rimuovendo ogni riferimento a /dev/md0.
5) Riavvio. Non sono sicuro se il sistema ricostruirà solo /dev/md5 o
anche /dev/md0. Su /dev/md5 e su /dev/md0 ci saranno due filesystem
collo stesso UUID, UUID che in grub.cfg identifica la root. Niente di
che, col raid1 capita sempre... solo che qui appartengono a due raid1
*diversi*. BTW: da dove verrà letto /etc/fstab? Però i due /etc/fstab
sono uguali, per cui...
6) Se necessario stoppo /dev/md0; zerizzo il superblock di /dev/sda2;
aggiungo /dev/sda2 a /dev/md5 (il che ricostruisce il superblock di sda2,
e sincronizza rispetto a sdd2):
[ # mdadm -S /dev/md0 ]
# mdadm --zero-superblock /dev/sda2
# mdadm /dev/md5 --add /dev/sda2
Se qualcuno è arrivato sin qui, lo ringrazio comunque. :)
Allora, devo impelagarmi in questa roba, o vivo bene col clean degraded e
buona notte al secchio? E se sì, 'sta trafila pare corretta?
--
Bye, Lem
Ceterum censeo ISLAM esse delendum
____________________________________________________________ ________
Non sprecare i cicli idle della tua CPU, né quelli della tua GPU.
http://boinc.berkeley.edu
http://www.worldcommunitygrid.org/index.jsp
http://boincsimap.org/ http://www.gpugrid.net/
|
|
| |
Re: Correggere superblock raid1 software che ha la ROOT sopra? [messaggio #36558 è una risposta a message #36548] |
sab, 12 marzo 2011 19:56 |
Lem Novantotto Messaggi: 166 Registrato: novembre 2010 |
Senior Member |
|
|
Giuseppe Della Bianca ha scritto:
Grazie per il commento! :)
> Forse mi sfugge il significato di persistent super block ...
Coi persistent superblock i file di configurazione non sono più necessari.
Cito da http://shsc.info/LinuxSoftwareRAID
What if your root partition is a RAID array, and its configuration is
stored on itself? The solution to this chicken-and-egg problem is the
persistent superblock option. When you create an array with the
persistent superblock option, the RAID subsystem writes the array's
configuration to a special area on each of the devices in the array so
that the RAID subsystem can later -- such as after a reboot -- re-read
the configuration directly from the array's devices rather than having to
read it off the filesystem. There is, however, one more stipulation: the
RAID subsystem will only automatically scan partitions on hard disks of
type Linux RAID autodetect (fdisk type "fd") for persistent superblocks.
Even if you create an array of three raw disks with a persistent
superblock, the RAID subsystem will not automatically scan those devices
for persistent superblocks.
> ma non basta usare mdadm per rimuovere disco dal raid, e poi aggiornare
> i due file di configurazione in etc, quello che descrive il raid e
> quello di configurazione di mdadm?
Uhm... *Due* file?
Qui io ho solo /etc/mdadm/mdadm.conf, che contiene fra le altre cose un
riferimento al fatto che tale raid1 si basa su 3 device. Se lì cambio il
3, o il file viene ignorato (come capita di solito, e il raid appunto
vien su clean degraded in accordo a quanto scritto sui superblock), o, se
si forza il suo parsing, la costruzione del raid AFAIR può fallire o
meno, a seconda di quale numero sia il più alto, quello nei superblock o
quello in mdadm.conf.
--
Bye, Lem
Ceterum censeo ISLAM esse delendum
____________________________________________________________ ________
Non sprecare i cicli idle della tua CPU, né quelli della tua GPU.
http://boinc.berkeley.edu
http://www.worldcommunitygrid.org/index.jsp
http://boincsimap.org/ http://www.gpugrid.net/
|
|
| | | | | |
Re: Correggere superblock raid1 software che ha la ROOT sopra? [messaggio #36630 è una risposta a message #36629] |
lun, 14 marzo 2011 15:06 |
Lem Novantotto Messaggi: 166 Registrato: novembre 2010 |
Senior Member |
|
|
ValeRyo Saeba ha scritto:
> Hai gli avvisi automatici di mdadm in caso di array degraded? Se si: ti
> romperà le scatole ad ogni riavvio.
No, no, sono in modalità rischio: se è degradato, costruisci uguale. ;)
> E' che potresti fare direttamente
>
> - tolgo /dev/sdd2 da md0
> - create md5 /dev/sdd2 missing
> - in md5 aggiusti mdadm.conf e fstab
> - reboot, prima che grub avvii fai edit e metti root=/dev/md5 - --stop
> /dev/md0 --add /dev/md5 /dev/sda2
>
> Non è necessario azzerare i superblock. Però non lo farei mai senza
> avere davanti la macchina, o almeno poter raggiungere la console da
> remoto.
Ah, OK.
Grassie, ma siccome fra un due mesi ho idea di spostare su un SSD un po'
di cose su un SSD, fra cui la /, mi sa che per ora lascio stare. :)
Grazie ancora.
--
Bye, Lem
Ceterum censeo ISLAM esse delendum
____________________________________________________________ ________
Non sprecare i cicli idle della tua CPU, né quelli della tua GPU.
http://boinc.berkeley.edu
http://www.worldcommunitygrid.org/index.jsp
http://boincsimap.org/ http://www.gpugrid.net/
|
|
| | |
Vai al forum:
Ora corrente: lun mag 13 10:54:10 CEST 2024
Tempo totale richiesto per generare la pagina: 0.01274 secondi
|