Newsgroup: it.comp.os.linux.sys
Titolo: mdadm rimuovere da un raid un disco che non c'è più

Mi scuso, non ho capacità sysadmin. Ho postato qua la domanda perchè 
temo che su iniziare non sapessero rispondermi.
 
Ho un raid1 software con funzioni di storage (Su c'è un unica partizione 
ext4 con dei dati).
 
Per i dati non c'è problema, era un raid di backup, e comunque risulta 
tranquillamente leggibile, quindi ne ho fatto un ulteriore copia e poi 
mi sono messo a provare a ricostruirlo.
 
Il mio problema è che volevo imparare come sostituirgli il disco e 
ricostruirlo (a rifarlo nuovo dopo un zero-superblok e un dd ).
 
mdadm -D /dev/md127
 
mi riporta che è fatto di 2 dischi di cui uno è su /dev/sdb e l'altro 
non è ripostato, ma non esiste più. Ho letto su varie guide che bisogna
togliere con un mdadm --fault /dev/sd e poi mdadm --remove /dev/sd[x]
il disco/partizione guasta.
 
Si, ma se il PC non ha più il disco come faccio a riferirmi al device 
per toglierlo? un nuovo /dev/sdc c'è, ma è il disco nuovo appena montato 
e non è ancora menbro dell'array. Quello vecchio non risulta visibile.
 
Ho provato ad aggiungerlo senza prima togliere l'altro.
Prima mi sono ricopiato la tabella delle partizioni
 
sfdisk -d /dev/sdb | sfdisk /dev/sdc
 
e poi ho dato un mdadm --manage /dev/sd127 --add /dev/sdc
(ho provato anche re-add ma mi ha risposto che non poteva farlo)
 
ORA STA LAVORANDO, però vedo che non sta facendo quello che pensavo. Lo 
lascio finire, ma mdadm -D /dev/md127 mi dice che lo ha aggiunto in 
SPARE e ora lo sta sincronizzando.
 
Lo lascio finire sperando che quando finisce lo promuova Membro del raid 
ATTIVO, ma non credo stia facendo quello che vorrei.
 
 
 
 
 
 

 e non è ancora menbro dell'array. Quello vecchio non risulta visibile.
 
cat /proc/mdstat
 
ti dovrebbe dare lo stato del raid, e anche che dev sono in raid.
 
per tutto il resto c'e' google :)
 
Ciao Jack
-- 
Yoda of Borg am I! Assimilated shall you be! Futile resistance is, hmm?

 SPARE e ora lo sta sincronizzando.
 
No, lo spare non mi risulta che venga sincronizzato, altrimenti non 
sarebbe "spare". Rimane lì fermo, viene sincronizzato in caso di 
problemi mentre il disco difettoso viene messo in fault
 
Ale

 problemi mentre il disco difettoso viene messo in fault
 
Si ma se l'array è degraded (e lo è visto che l'amico qui ha rancato via
uno dei dischi) avendo aggiunto uno spare questo andrebbe
automaticamente a rimpiazzare il disco mancante, L'array dovrebbe essere
in rebuilding...
 
 
-- 
In God we trust. All others must bring data
W. E. Deming

 problemi mentre il disco difettoso viene messo in fault
 
Sincronizzazione in corso .... Al momento ï¿œ nominato come SPARE. Che io 
sappia, lo spare dovrebbe venire sincronizzato in caso di fault di uno 
dei dischi e forse alla fine promosso a disco dell'array normale (ma 
l'ultima ï¿œ la mia speranza)
 
Comunque sono al 97%... Fra poco lo scopro
 
 

Andrea B. ha scritto:

Stiamo dicendo la stessa cosa: infatti, e credo sia una definizione, 
l'array è "degraded" quando almeno un disco è in fault
 
 

 Comunque sono al 97%... Fra poco lo scopro
 
Ok, doveva smettere di essere "spare".
 
Su /proc/mdstat il vecchio disco (quello rimosso) compare ancora? Questa 
potrebbe essere una noia. Sarebbe comunque strano; per rimuovere il 
disco difettato avete rebootato, giusto? (per dire che non si accende..)
 
Fammi sapere come va, sono interessato, anche se non ho capito la 
dinamica della rimozione del vecchio disco
 
Ale

 Si ma se l'array ï¿œ degraded (e lo ï¿œ visto che l'amico qui ha rancato via


 disco difettato avete rebootato, giusto? (per dire che non si accende..)
su /proc/mdstat (non so) mi sembra di no, ma non sono sicuro. (ora non 
ho piï¿œ la condizione in cui posso riprovare)
 
Sicuramente il riferimento al disco collegato compariva digitando
mdadm -D /dev/md127
Dove mostrava il disco presente e il secondo disco come degrade
pero indicato come
device, major , minor
    0      0       0     degraded
 
Poi quando ho fatto mdadm --manage /dev/md127 --add /dev/sdc
finchï¿œ non ha finito la sincronizzazione il mio array (che 
periodicamente ricontrollavo con mdadm -D /dev/md127)  era composto di 3
dischi di cui 2 indicati come collegati collegati
  uno  rotto degraded
  uno  buono
  uno  in fase di sincronizzazione indicato come SPARE
 
Comunque penso sia una questione interessante  che merita un ulteriore 
indagine. (in sostanza penso basti fare la parte di --add dopo aver 
copiato le partizioni ma non mi sento sicuro, voglio riprovare)
 
Quando ho iniziato ad usare il raid ho fatto solo la prova di 
dividendere i dischi, e ho verificato che su entrambe fossero presenti e 
leggibili i dati, il tutto anche su hardware differente. NON PERDERE I 
DATI ERA QUELLO CHE MI INTERESSAVA. Ricostruire il raid ï¿œ una comoditï¿œ 
in piï¿œ, ma per l'uso che ne faccio non mi ï¿œ indispensabile. Comunque 
anche se non avevo provato, pensavo che avrei dovuto googleggiare di 
meno per risolvere.
 
Ora devo finire una lavoro. Appena ho un pï¿œ di tempo MACCHINA da perdere 
faccio una prova di sostituzione di un disco simulando il guasto che ho 
avuto. E posto su questo thread la sequenza corretta per risolvere.
 
Al primo tentativo ho commesso degli errori, sono convinto solo al 90% 
della sequenza che mi ha portato a risolvere.
 
 
 
 

 raid ATTIVO, ma non credo stia facendo quello che vorrei.
 
E' cosě che funziona, la ricostruzione avviene sullo spare.
Fai cat /proc/mdstat .
 
-- 
ValeRyo 
 
 

 della sequenza che mi ha portato a risolvere.
 
Non è che ci sia molto su cui discutere, mdadm è abbastanza stabile
e fortunatamente banale.
 
Se hai un array in funzione e vuoi togliere un disco,
 
mdadm --fail /dev/mdX /dev/sdX (se il disco è in funzione, altrimenti
il fail va da sé)
 
e poi per toglierlo dall'array
mdadm --remove /dev/mdX /dev/sdX
 
Se riavvii senza il disco rotto quanto sopra è inutile.
 
Per aggiungere un nuovo disco:
mdadm --add /dev/mdX /dev/sdX
 
il disco viene aggiunto come spare e poi dopo la sincronia diventa
parte dell'array.
 
In realtà 'disco' è errato, probabilmente userai partizioni.
 
-- 
ValeRyo 
 
 

 parte dell'array.
 
Ieri lo speravo e alla fine l'ho verificato... ma nelle ricerche che ho 
fatto su google questa parte non l'ho mai letta (ammetto che potrei 
essere io, scemo a non averla vista). Per me tu sei la prima fonte che 
lo ha detto.
 
Durante la sincronizzazione ho avuto più volte la tentazione di 
interromperlo pensando che stesse facendo la cosa errata. Mi ha 
trattenuto il fatto che comunque lo vedessi avanzare e che lo SPARE non 
dovrebbe essere sincronizzato se non in caso di fallimento di uno dei 
dischi... Tra una ricerca e l'altra la procedura ha raggiunto il 20% e 
allora ho mi sono detto "FAN'$#@^, LASCIALO FINIRE"
 
Ad ogni modo ho liberato 3 hitachi da 320GB (più piccoli non ne ho) per 
simulare la condizione in cui mi sono trovato e riprovare. Dopo averlo 
fatto una prima volta, in effetti dovrebbe essere banale. Sono stati i 
dubbi sul risultato a rendere la procedura difficile!