1 |
scen 08/02/25 22:15:56 |
2 |
|
3 |
Added: software-raid-p2.xml |
4 |
Log: |
5 |
Initial commit: version 1.1, revision 1.2 of EN CVS |
6 |
|
7 |
Revision Changes Path |
8 |
1.1 xml/htdocs/doc/it/articles/software-raid-p2.xml |
9 |
|
10 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/it/articles/software-raid-p2.xml?rev=1.1&view=markup |
11 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/it/articles/software-raid-p2.xml?rev=1.1&content-type=text/plain |
12 |
|
13 |
Index: software-raid-p2.xml |
14 |
=================================================================== |
15 |
<?xml version="1.0" encoding="UTF-8"?> |
16 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
17 |
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/it/articles/software-raid-p2.xml,v 1.1 2008/02/25 22:15:55 scen Exp $ --> |
18 |
|
19 |
<guide link="/doc/it/articles/software-raid-p2.xml" disclaimer="articles" |
20 |
lang="it"> |
21 |
<title>Software RAID nel nuovo kernel Linux 2.4, Parte 2</title> |
22 |
|
23 |
<author title="Autore"> |
24 |
Daniel Robbins |
25 |
</author> |
26 |
<author title="Traduzione"> |
27 |
<mail link="scen"/> |
28 |
</author> |
29 |
<!-- xmlified by: Joshua Saddler (jackdark@×××××.com) --> |
30 |
|
31 |
<abstract> |
32 |
In questa serie di due articoli, Daniel Robbins introduce al RAID Software di |
33 |
Linux 2.4, una tecnologia usata per incrementare le prestazioni e |
34 |
l'affidabilità dei dischi fissi mediante la distribuzione dei dati su più |
35 |
dischi. In questo articolo, Daniel spiega cosa possono e non possono fare |
36 |
RAID-1, 4 e 5 e come trattare l'implementazione di questi livelli RAID in un |
37 |
ambiente di produzione. Nella seconda metà dell'articolo, Daniel accompagnerà i |
38 |
lettori attraverso una simulazione di sostituzione di un disco in RAID-1 guasto. |
39 |
</abstract> |
40 |
|
41 |
<!-- The original version of this article was first published on IBM |
42 |
developerWorks, and is property of Westtech Information Services. This |
43 |
document is an updated version of the original article, and contains |
44 |
various improvements made by the Gentoo Linux Documentation team --> |
45 |
|
46 |
<version>1.1</version> |
47 |
<date>2005-10-09</date> |
48 |
|
49 |
<chapter> |
50 |
<title>Impostare RAID-1 in un ambiente di produzione</title> |
51 |
<section> |
52 |
<title>RAID nel mondo reale</title> |
53 |
<body> |
54 |
|
55 |
<p> |
56 |
Nell'<uri link="/doc/it/articles/software-raid-p1.xml">articolo |
57 |
precedente</uri>, sono state introdotte ai lettori alle funzionalità del RAID |
58 |
software di Linux 2.4, mostrando come impostare volumi lineari, RAID-0 e RAID-1. |
59 |
In questo articolo, verrà analizzato cosa serve sapere per poter usare RAID-1 in |
60 |
modo da incrementare la disponibilità dei dati in ambiente di produzione. Ciò |
61 |
richiede maggiore comprensione e conoscenza rispetto alla semplice creazione di |
62 |
un RAID-1 su un server di test o nel proprio pc casalingo; più precisamente, |
63 |
bisogna sapere esattamente da quali cause esterne il RAID-1 dovrà proteggere |
64 |
i dati, e come mantenere attivo e funzionante il proprio volume RAID nel caso si |
65 |
guasti un disco. In questo articolo verranno coperti questi aspetti, iniziando |
66 |
con una panoramica su cosa possono fare o non fare RAID-1, 4 e 5, e terminando |
67 |
con una completa simulazione di test della sostituzione di un disco in RAID-1 |
68 |
guasto (qualcosa che si dovrebbe effettivamente fare, seguendo questo articolo |
69 |
come guida, in base alle proprie possibilità). Dopo aver effettuato la |
70 |
simulazione, si avrà acquisito tutta l'esperienza necessaria per gestire i |
71 |
guasti di un RAID-1 in un ambiente reale. |
72 |
</p> |
73 |
|
74 |
</body> |
75 |
</section> |
76 |
<section> |
77 |
<title>Cosa non può fare RAID</title> |
78 |
<body> |
79 |
|
80 |
<p> |
81 |
Le caratteristiche di tolleranza ai guasti di RAID sono progettate per |
82 |
proteggere i dati dell'utente dagli effetti negativi di uno spontaneo guasto |
83 |
completo del disco, e questa è una buona cosa. Ma RAID non è una soluzione |
84 |
perfetta per ogni tipo di problema riguardante l'affidabilità. Prima di |
85 |
implementare una forma di RAID (1,4,5) tollerante ai guasti in un ambiente di |
86 |
produzione, è estremamente importante conoscere esattamente cosa <b>NON</b> |
87 |
potrà fare RAID per i dati dell'utente. Quando si è in una situazione nella |
88 |
quale l'operatività dipende da RAID, non si vuole fare nessuna falsa |
89 |
affermazione riguardo alle sue funzionalità. Cominciamo sfatando alcuni miti |
90 |
comuni riguardo a RAID 1, 4 e 5. |
91 |
</p> |
92 |
|
93 |
<p> |
94 |
Molte persone pensano che posizionare tutti i propri dati importanti su un |
95 |
volume RAID 1/4/5 li esimi dall'eseguire backup regolari. Questa cosa è |
96 |
completamente falsa, ed il perchè è presto detto. RAID 1/4/5 aiutano a |
97 |
proteggere i dati da <e>interruzioni</e> non pianificate causate da guasti |
98 |
casuali dei dischi. Tuttavia, non offrono protezioni contro <e>corruzioni dei |
99 |
dati</e> casuali o intenzionali. Se viene digitato <c>cd /; rm -rf *</c> come |
100 |
root su un volume RAID, si perderanno un sacco di dati molto importanti nel giro |
101 |
di qualche secondo, ed il fatto di avere una configurazione RAID-5 su 10 dischi |
102 |
sarà ininfluente. Inoltre, RAID non sarà d'aiuto se il server viene fisicamente |
103 |
rubato o se c'è un incendio nell'edificio. E ovviamente, se non viene |
104 |
implementata una strategia di backup, non si avrà un archivio dei dati passati: |
105 |
se qualcuno nel proprio ufficio cancella alcuni dati importanti, non si |
106 |
riuscirà a recuperarli. Solamente questo dovrebbe essere sufficiente a |
107 |
convincere che, nella maggior parte dei casi, bisogna pianificare ed |
108 |
implementare una strategia di backup <e>prima</e> di pensare di affrontare |
109 |
l'implementazione di un potenziale RAID-1, 4 o 5. |
110 |
</p> |
111 |
|
112 |
<p> |
113 |
Un altro errore è l'implementazione di un RAID software su un sistema composto |
114 |
da hardware di bassa qualità. Se si sta assemblando un server che dovrà svolgere |
115 |
qualcosa di importante, ha senso acquistare l'hardware migliore nel limite |
116 |
delle proprie disponibilità economiche. Se il proprio sistema è instabile o non |
117 |
adeguatamente raffreddato, si incorrerà in problemi che RAID non potrà |
118 |
risolvere. Un'altro esempio simile è l'impossibilità di RAID nel fornire |
119 |
continuità aggiuntiva al servizio in caso di mancanza di alimentazione. Se il |
120 |
proprio server è adibito a svolgere un qualsiasi compito relativamente |
121 |
importante, assicurarsi che sia equipaggiato con un gruppo di continuità (UPS). |
122 |
</p> |
123 |
|
124 |
<p> |
125 |
Inoltre è importante focalizzarsi sulle problematiche inerenti ai filesystem. |
126 |
Il filesystem esiste "al di sopra" del proprio volume RAID software. Ciò |
127 |
significa che usare un RAID software non permette di evitare i problemi dovuti |
128 |
al filesystem, per esempio a lunghi e potenzialmente problematici <c>fsck</c> se |
129 |
capita di non utilizzare un filesystem non journaled o con la tendenza a |
130 |
rovinarsi. Pertanto, il RAID software non rende il filesystem ext2 più |
131 |
affidabile; ecco perché è così importante che la comunità Linux abbia a |
132 |
disposizione ReiserFS, come anche JFS e XFS. RAID software e filesystem |
133 |
journaled affidabili sono una combinazione efficace. |
134 |
</p> |
135 |
|
136 |
</body> |
137 |
</section> |
138 |
<section> |
139 |
<title>RAID - implementazione intelligente</title> |
140 |
<body> |
141 |
|
142 |
<p> |
143 |
Speriamo che la sezione precedente abbia sfatato qualunque mito riguardo a RAID |
144 |
eventualmente a conoscenza del lettore. Quando si implementa RAID-1, 4 o 5, è |
145 |
molto importante vedere la tecnologia come qualcosa che migliora |
146 |
l'<e>uptime</e> (periodo di tempo nel quale la macchina è attiva e funzionante, |
147 |
N.d.T.). Quando viene implementato uno di questi livelli RAID, si verrà |
148 |
protetti da una situazione molto specifica, ovvero un completo guasto spontaneo |
149 |
(singolo o multiplo) dei dischi. Se si sperimenta questa situazione, il RAID |
150 |
software permetterà al sistema di continuare a funzionare, così come dare |
151 |
l'opportunità all'utente di eseguire le operazioni necessarie per sostituire il |
152 |
disco guasto con uno nuovo. In altre parole, se si implementa RAID 1,4, o 5, |
153 |
verrà ridotto il rischio di avere una lunga interruzione di servizio non |
154 |
pianificata, solamente il tempo necessario alla sostituzione del disco fuori |
155 |
uso. Ovviamente, questo significa che se non è una priorità avere un sistema |
156 |
altamente disponibile non sarà necessario implementare un RAID software, a meno |
157 |
che non si stia progettando di usarlo principalmente come un modo per |
158 |
incrementare le prestazioni di I/O su file. |
159 |
</p> |
160 |
|
161 |
<p> |
162 |
Un amministratore di sistema intelligente usa il RAID software per uno scopo |
163 |
preciso, ovvero migliorare l'affidabilità di un server già molto affidabile. Se |
164 |
si è dei bravi amministratori di sistema, si avranno già affrontati gli aspetti |
165 |
basilari. La propria organizzazione sarà protetta dalle catastrofi grazie |
166 |
all'implementazione di un piano regolare di backup. Il proprio server sarà |
167 |
alimentato da un UPS, e ci sarà in funzione un software di monitoraggio |
168 |
dell'UPS in modo che il proprio server venga spento in caso di un prolungamento |
169 |
di mancanza di corrente. Forse si starà utilizzando un filesystem journaled |
170 |
come ReiserFS in modo da ridurre i tempi di esecuzione di <c>fsck</c> e |
171 |
incrementare le prestazioni e l'affidabilità dello stesso. E si spera che il |
172 |
proprio server sia adeguatamente raffreddato e sia composto da hardware di alta |
173 |
qualità, e si abbia fatto grande attenzione ai problemi di sicurezza. Ora, e |
174 |
solo ora, si dovrebbe considerare l'implementazione di un RAID-1, 4 o 5 |
175 |
software; facendolo, si aggiungerà potenzialmente qualche punto percentuale di |
176 |
uptime al proprio server difendendolo da un guasto completo dei dischi. Il RAID |
177 |
software aggiunge uno strato di protezione che rende ancora migliore un server |
178 |
già robusto di per sé. |
179 |
</p> |
180 |
|
181 |
</body> |
182 |
</section> |
183 |
</chapter> |
184 |
|
185 |
<chapter> |
186 |
<title>Spiegazione dettagliata per RAID-1</title> |
187 |
<section> |
188 |
<body> |
189 |
|
190 |
<p> |
191 |
Ora che si è a conoscenza di cosa RAID può fare e non fare, chi scrive spera che |
192 |
il lettore abbia aspirazioni ragionevoli ed un giusto atteggiamento nei |
193 |
confronti dell'argomento. In questa sezione, si verrà accompagnati attraverso il |
194 |
processo di simulazione di guasto di un disco, ed il riavvio del proprio volume |
195 |
RAID in modalità degradata. Se si possiede l'abilità di impostare un volume |
196 |
RAID-1 su una macchina di test e seguire i vari passaggi, è caldamente |
197 |
consigliato farlo. Questo tipo di simulazione può risultare divertente. E |
198 |
divertirsi un pò proprio adesso può aiutare ad assicurare che quando un disco si |
199 |
guasterà veramente, si sarà calmi e padroni di sé, sapendo esattamente cosa |
200 |
fare. |
201 |
</p> |
202 |
|
203 |
<impo> |
204 |
Per eseguire questo test, è essenziale l'aver impostato un volume RAID-1 in |
205 |
modo da poter avviare comunque il proprio sistema Linux con un disco fisso |
206 |
scollegato, perché sarà il modo con il quale si andrà a simulare il guasto di un |
207 |
disco. |
208 |
</impo> |
209 |
|
210 |
<p> |
211 |
Il primo passo è impostare un volume RAID-1: fare riferimento all'<uri |
212 |
link="/doc/it/articles/software-raid-p1.xml">articolo precedente</uri> se si ha |
213 |
bisogno di rinfrescarsi la memoria a riguardo. Una volta impostato il volume, il |
214 |
comando <c>cat /proc/mdstat</c> visualizzerà qualcosa di simile a questo: |
215 |
</p> |
216 |
|
217 |
<pre caption="Esaminare il volume RAID"> |
218 |
# <i>cat /proc/mdstat</i> |
219 |
Personalities : [linear] [raid0] [raid1] [raid5] |
220 |
read_ahead 1024 sectors |
221 |
md0 : active raid1 ide/host2/bus0/target0/lun0/part1[1] ide/host0/bus0/target0/lun0/part5[0] |
222 |
4610496 blocks [2/2] [UU] |
223 |
[======>..............] resync = 34.8% (1606276/4610496) finish=3.2min speed=15382K/sec |
224 |
|
225 |
unused devices: <none> |
226 |
</pre> |
227 |
|
228 |
<p> |
229 |
Notare che chi scrive sta utilizzando devfs, che è anche il motivo per cui si |
230 |
vedono dei nomi di dispositivo estremamente lunghi nel codice appena esposto. |
231 |
L'autore in verità sta utilizzando <path>/dev/hda5</path> e |
232 |
<path>/dev/hde1</path> come dischi RAID-1. In questo momento, il codice del |
233 |
software RAID nel kernel sta sincronizzando i dischi in modo che ciascuno sia |
234 |
l'esatta copia dell'altro. Se il proprio volume RAID-1 è arrivato a questo |
235 |
punto, si può proseguire e creare un filesystem sul volume, e montarlo da |
236 |
qualche parte. Copiarci dentro qualche file ed impostare il proprio |
237 |
<path>/etc/fstab</path> in modo che il volume (<path>/dev/md0</path>) venga |
238 |
montato all'avvio del sistema. Questa è la linea che l'autore del documento ha |
239 |
aggiunto al proprio fstab; quella dell'utente potrebbe differire leggermente: |
240 |
</p> |
241 |
|
242 |
<pre caption="informazioni in fstab"> |
243 |
/dev/md0 /mnt/raid1 reiserfs defaults 0 0 |
244 |
</pre> |
245 |
|
246 |
<p> |
247 |
Si è quasi pronti per simulare un guasto del disco, ma manca ancora una cosa. |
248 |
Primo, eseguire nuovamente <c>cat /proc/mdstat</c>, ed attendere fino a che |
249 |
tutti i volumi dei dischi saranno sincronizzati. Dopodiché, il proprio |
250 |
<path>/proc/mdstat</path> dovrebbe apparire così: |
251 |
</p> |
252 |
|
253 |
<pre caption="Riesaminare il volume RAID"> |
254 |
# cat /proc/mdstat |
255 |
Personalities : [linear] [raid0] [raid1] [raid5] |
256 |
read_ahead 1024 sectors |
257 |
md0 : active raid1 ide/host2/bus0/target0/lun0/part1[1] ide/host0/bus0/target0/lun0/part5[0] |
258 |
4610496 blocks [2/2] [UU] |
259 |
|
260 |
unused devices: <none> |
261 |
</pre> |
262 |
|
263 |
</body> |
264 |
</section> |
265 |
<section> |
266 |
<title>Inizia la simulazione</title> |
267 |
<body> |
268 |
|
269 |
<p> |
270 |
Ora che la risincronizzazione è completata, si è pronti per la simulazione. |
271 |
Proseguire spegnendo completamente la propria macchina. Successivamente aprirla |
272 |
e scollegare uno dei dischi fissi che compongono l'array RAID-1. Ovviamente, non |
273 |
bisognerà scollegare il disco che contiene la propria partizione root di Linux, |
274 |
in quanto si avrà bisogno di avviare nuovamente Linux! Ora che il disco fisso è |
275 |
scollegato, riaccendere la macchina. Una volta effettuato il login, si potrà |
276 |
constatare che <path>/dev/md0</path> è montato e che si potrà ancora usare il |
277 |
volume. Eseguendo <c>cat /proc/mdstat</c> si potrà vedere il cambiamento |
278 |
importante: |
279 |
</p> |
280 |
|
281 |
<pre caption="Mancanza di un disco"> |
282 |
# <i>cat /proc/mdstat</i> |
283 |
Personalities : [linear] [raid0] [raid1] [raid5] |
284 |
read_ahead 1024 sectors |
285 |
md0 : active raid1 ide/host0/bus0/target0/lun0/part5[0] |
286 |
4610496 blocks [2/1] [U_] |
287 |
|
288 |
unused devices: <none> |
289 |
</pre> |
290 |
|
291 |
<p> |
292 |
È possibile vedere che il volume <path>/dev/md0</path> è in esecuzione in |
293 |
modalità degradata. Il disco <path>/dev/hde</path> è scollegato, in tal modo |
294 |
<path>/dev/hde1</path> non viene trovato durante la fase di boot del kernel e |
295 |
l'avvio automatico dell'array. Fortunatamente, il kernel ha trovato |
296 |
<path>/dev/hda5</path>, e <path>/dev/md0</path> è riuscito comunque ad avviarsi |
297 |
in modalità degradata. Com'è possibile vedere, la partizione |
298 |
<path>/dev/hde1</path> non viene elencata in <path>/proc/mdstat</path>, e uno |
299 |
dei dischi RAID è marcato come "fuori uso" (<c>[U_]</c> invece di <c>[UU]</c>). |
300 |
Ma siccome <path>/dev/md0</path> sta comunque funzionando, il RAID-1 software |
301 |
sta facendo quello che per cui è progettato: mantenere i propri dati |
302 |
disponibili. |
303 |
</p> |
304 |
|
305 |
</body> |
306 |
</section> |
307 |
<section> |
308 |
<title>Recupero</title> |
309 |
<body> |
310 |
|
311 |
<p> |
312 |
In questo momento si sta sperimentando un guasto simulato di un disco. Se il |
313 |
disco che attualmente non è alimentato si guasta realmente mentre il sistema è |
314 |
in esecuzione, è il tipo di situazione che si sta vivendo. Il proprio volume |
315 |
RAID-1 verrà eseguito in modalità degradata, in altre parole esso sarà ancora |
316 |
disponibile ma senza alcuna ridondanza. Al momento opportuno si dovrà spegnere |
317 |
il sistema, sostituire il disco guasto, e riavviare nuovamente il sistema. A |
318 |
questo punto il proprio volume RAID-1 partirà ancora in modalità degradata. |
319 |
</p> |
320 |
|
321 |
<p> |
322 |
Una volta che il nuovo disco è nella macchina, creare una partizione RAID |
323 |
autodetect (<c>FD</c>) di dimensioni adeguate sul nuovo disco. Un riavvio |
324 |
addizionale potrebbe essere necessario in modo che Linux possa rileggere la |
325 |
tabella delle partizioni del disco. Una volta che la nuova partizione è |
326 |
visibile al sistema, si è pronti per ripristinare il proprio array RAID-1, |
327 |
ottenendo nuovamente un pò di ridondanza. |
328 |
</p> |
329 |
|
330 |
<p> |
331 |
Ovviamente, quella che si sta eseguendo è solamente una simulazione. Per fare |
332 |
pratica nel riaggiungere una partizione nel proprio array RAID, è possibile |
333 |
fare due cose, in base al tipo di scenario che si preferisce affrontare. Si può |
334 |
o spegnere la macchina, collegare il disco, avviare il sistema, e aggiungere |
335 |
nuovamente la vecchia partizione nell'array, o spegnere la macchina, collegare |
336 |
il disco, avviare, cancellare il disco, creare una <e>nuova</e> partizione RAID |
337 |
autodetect (<c>FD</c>) da aggiungere all'array (della dimensione corretta, |
338 |
ovviamente, grande almeno quanto la partizione che si sta ripristinando), |
339 |
dopodiché aggiungere questa partizione nuova di zecca all'array. La seconda |
340 |
scelta probabilmente si avvicina di più a quello che potrebbe avvenire nel caso |
341 |
un guasto reale del disco, mentre la prima simula qualcosa come situazione di |
342 |
guasto al controller dei dischi o di un cavo danneggiato, dove uno dei dischi |
343 |
del mirror è temporaneamente non disponibile, causando l'esecuzione in modalità |
344 |
degradata di <path>/dev/md0</path>, e richiedendo la successiva aggiunta di una |
345 |
delle partizioni dopo aver rimediato al problema. Qualsiasi simulazione si |
346 |
scelga, la "correzione" è la medesima: dopo che la partizione è pronta, bisogna |
347 |
reinserirla nel volume <path>/dev/md0</path>. |
348 |
</p> |
349 |
|
350 |
</body> |
351 |
</section> |
352 |
<section> |
353 |
<title>Controllare dmesg</title> |
354 |
<body> |
355 |
|
356 |
<p> |
357 |
Prima di reinserire la partizione nel proprio array, è buona cosa dare |
358 |
un'occhiata ai messaggi di boot del proprio kernel. Digitando <c>dmesg | |
359 |
more</c> sarà possibile visualizzarli. Si dovrebbe vedere una porzione di testo |
360 |
simile al seguente: |
361 |
</p> |
362 |
|
363 |
<pre caption="Messaggi di boot del kernel"> |
364 |
linear personality registered |
365 |
raid0 personality registered |
366 |
raid1 personality registered |
367 |
raid5 personality registered |
368 |
raid5: measuring checksumming speed |
369 |
8regs : 1291.209 MB/sec |
370 |
32regs : 1195.197 MB/sec |
371 |
pII_mmx : 2110.740 MB/sec |
372 |
p5_mmx : 2652.522 MB/sec |
373 |
raid5: using function: p5_mmx (2652.522 MB/sec) |
374 |
md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27 |
375 |
md.c: sizeof(mdp_super_t) = 4096 |
376 |
autodetecting RAID arrays |
377 |
(read) ide/host0/bus0/target0/lun0/part5's sb offset: 4610560 [events: 00000004] |
378 |
(read) ide/host2/bus0/target0/lun0/part1's sb offset: 4610496 [events: 00000002] |
379 |
autorun ... |
380 |
considering ide/host2/bus0/target0/lun0/part1 ... |
381 |
adding ide/host2/bus0/target0/lun0/part1 ... |
382 |
adding ide/host0/bus0/target0/lun0/part5 ... |
383 |
created md0 |
384 |
bind<ide/host0/bus0/target0/lun0/part5,1> |
385 |
bind<ide/host2/bus0/target0/lun0/part1,2> |
386 |
running: <ide/host2/bus0/target0/lun0/part1><ide/host0/bus0/target0/lun0/part5> |
387 |
now! |
388 |
ide/host2/bus0/target0/lun0/part1's event counter: 00000002 |
389 |
ide/host0/bus0/target0/lun0/part5's event counter: 00000004 |
390 |
md: superblock update time inconsistency -- using the most recent one |
391 |
freshest: ide/host0/bus0/target0/lun0/part5 |
392 |
md: kicking non-fresh ide/host2/bus0/target0/lun0/part1 from array! |
393 |
unbind<ide/host2/bus0/target0/lun0/part1,1> |
394 |
export_rdev(ide/host2/bus0/target0/lun0/part1) |
395 |
md0: max total readahead window set to 124k |
396 |
md0: 1 data-disks, max readahead per data-disk: 124k |
397 |
raid1: device ide/host0/bus0/target0/lun0/part5 operational as mirror 0 |
398 |
raid1: md0, not all disks are operational -- trying to recover array |
399 |
raid1: raid set md0 active with 1 out of 2 mirrors |
400 |
md: updating md0 RAID superblock on device |
401 |
ide/host0/bus0/target0/lun0/part5 [events: 00000005](write) ide/host0/bus0/target0/lun0/part5's sb offset: 4610560 |
402 |
md: recovery thread got woken up ... |
403 |
md0: no spare disk to reconstruct array! -- continuing in degraded mode |
404 |
md: recovery thread finished ... |
405 |
.. |
406 |
.... autorun DONE. |
407 |
</pre> |
408 |
|
409 |
<p> |
410 |
Ora è consigliabile prendere un pò di tempo e leggere attentamente questi |
411 |
messaggi, perché aiuteranno a capire il processo usato dal kernel per avviare |
412 |
automaticamente <path>/dev/md0</path>, fornendo un altro visione preziosa dei |
413 |
funzionamenti interni del software RAID di Linux. Se l'output del kernel |
414 |
elencato sopra è stato letto, si vedrà che il kernel ha individuato |
415 |
<path>/dev/hda5</path> e <path>/dev/hde1</path>, ma <path>hde1</path> non è |
416 |
aggiornato rispetto a <path>hda5</path>. Pertanto il kernel avvia |
417 |
<path>/dev/md0</path> in modalità degradata, usando <path>/dev/hda5</path> e non |
418 |
toccando assolutamente <path>/dev/hde1</path>. A questo punto è il momento di |
419 |
aggiungere la propria partizione originale (o creata ex-novo) al volume. Ecco |
420 |
come. |
421 |
</p> |
422 |
|
423 |
</body> |
424 |
</section> |
425 |
<section> |
426 |
<title>Il ripristino continua</title> |
427 |
<body> |
428 |
|
429 |
<p> |
430 |
Per prima cosa, se la partizione sostitutiva ha un nuovo nome di dispositivo, |
431 |
aggiornare <path>/etc/raidtab</path> in modo che rispecchi le nuove |
432 |
informazioni. Successivamente aggiungere la nuova partizione al volume usando |
433 |
il seguente comando, sostituendo <path>/dev/hde1</path> con il nome del |
434 |
dispositivo della partizione che si andrà ad aggiungere: |
435 |
</p> |
436 |
|
437 |
<pre caption="Aggiungere il nuovo dispositivo"> |
438 |
# <i>raidhotadd /dev/md0 /dev/hde1</i> |
439 |
</pre> |
440 |
|
441 |
<p> |
442 |
Le luci del proprio disco fisso dovrebbero cominciare a lampeggiare in quanto |
443 |
comincerà la ricostruzione. Proseguire ed eseguire <c>cat /proc/mdstat</c> per |
444 |
verificare lo stato di ricostruzione del RAID-1 che ora sarà in corso: |
445 |
</p> |
446 |
|
447 |
<pre caption="Verificare lo stato di ricostruzione del RAID-1"> |
448 |
# <i>cat /proc/mdstat</i> |
449 |
Personalities : [linear] [raid0] [raid1] [raid5] |
450 |
read_ahead 1024 sectors |
451 |
md0 : active raid1 ide/host2/bus0/target0/lun0/part1[2] ide/host0/bus0/target0/lun0/part5[0] |
452 |
4610496 blocks [2/1] [U_] |
453 |
[>....................] recovery = 1.8% (84480/4610496) finish=3.5min speed=21120K/sec |
454 |
unused devices: <none> |
455 |
</pre> |
456 |
|
457 |
<p> |
458 |
Nel giro di qualche minuto, il proprio volume RAID-1 tornerà ad uno stato |
459 |
normale: |
460 |
</p> |
461 |
|
462 |
<pre caption="Il volume RAID normale"> |
463 |
# <i>cat /proc/mdstat</i> |
464 |
Personalities : [linear] [raid0] [raid1] [raid5] |
465 |
read_ahead 1024 sectors |
466 |
md0 : active raid1 ide/host2/bus0/target0/lun0/part1[1] ide/host0/bus0/target0/lun0/part5[0] |
467 |
4610496 blocks [2/2] [UU] |
468 |
|
469 |
unused devices: <none> |
470 |
</pre> |
471 |
|
472 |
<p> |
473 |
Voila! È stata appena effettuato un ripristino da un guasto di un disco |
474 |
simulato, e si è pronti per usare RAID-1 in un ambiente di produzione. Ora sarà |
475 |
possibile attaccare l'adesivo fatto in casa "certificato RAID-1" sulla propria |
476 |
fronte ed iniziare a sbattere le braccia correndo in giro per l'ufficio per il |
477 |
diletto dei propri colleghi. Ovviamente, forse non è una grande idea. Ci si |
478 |
vede nel prossimo articolo. |
479 |
</p> |
480 |
|
481 |
</body> |
482 |
</section> |
483 |
<section> |
484 |
<title>Risorse</title> |
485 |
<body> |
486 |
|
487 |
<ul> |
488 |
<li> |
489 |
Leggere la <uri |
490 |
link="/doc/it/articles/software-raid-p1.xml">Parte 1</uri> nella serie di |
491 |
Daniel sul RAID, dove introduce la funzionalità di RAID software di Linux |
492 |
2.4 e mostra come impostare volumi lineari, RAID-0 e RAID-1. |
493 |
</li> |
494 |
<li> |
495 |
Il <uri |
496 |
link="http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html"> |
497 |
Software-RAID HOWTO</uri> è un'altra risorsa eccellente per informazioni |
498 |
riguardo al Software RAID di Linux. |
499 |
</li> |
500 |
<li> |
501 |
Se si vuole saperne di più su come creare un filesystem di root su RAID è |
502 |
consigliabile dare un'occhiata al <uri |
503 |
link="http://www.tldp.org/HOWTO/Boot+Root+Raid+LILO.html"> |
504 |
Boot+Root+RAID+Lilo Software RAID HOWTO</uri> |
505 |
</li> |
506 |
<li> |
507 |
Per versioni aggiornare di raidtools-0.90, tenere sotto controllo <uri |
508 |
link="http://people.redhat.com/mingo/raid-patches/"> |
509 |
people.redhat.com</uri>. |
510 |
</li> |
511 |
<li> |
512 |
Trovare un <uri link="http://www.kernel.org">kernel recente</uri> negli |
513 |
Archivi del Kernel Linux. |
514 |
</li> |
515 |
<li> |
516 |
Leggere il <uri |
517 |
link="/doc/it/articles/linux-kernel-compiling.xml">tutorial</uri> di Daniel |
518 |
su come compilare ed installare un nuovo kernel a partire dai sorgenti. |
519 |
</li> |
520 |
<li> |
521 |
Trovare il <uri link="http://people.redhat.com/mingo/raidtools/">programma |
522 |
raidtools</uri>. |
523 |
</li> |
524 |
<li> |
525 |
Recuperare le <uri link="http://people.redhat.com/mingo/raid-patches"> |
526 |
ultime versioni di raidtools</uri>. |
527 |
</li> |
528 |
<li> |
529 |
Dare uno sguardo a <uri link="http://linas.org/linux/raid.html">ulteriori |
530 |
consigli sulle soluzione Raid Software per Linux</uri>. |
531 |
</li> |
532 |
</ul> |
533 |
|
534 |
</body> |
535 |
</section> |
536 |
</chapter> |
537 |
</guide> |
538 |
|
539 |
|
540 |
|
541 |
-- |
542 |
gentoo-commits@l.g.o mailing list |