Avanti Indietro Indice

1. Introduzione

Si assume che il lettore abbia familiarità con i vari tipi di implementazione raid, i loro vantaggi ed effetti collaterali. Questo non è un tutorial, solo un insieme di istruzioni su come implementare un filesystem raid su un sistema linux. Tutte le informazioni necessarie per familiarizzare con raid su linux sono elencate qui direttamente o per riferimento: per favore leggetele prima di inviare domande per e-mail.

1.1 Dove ottenere copie aggiornate di questo documento.

Root-RAID-HOWTO

Disponibile in formato LaTeX (per DVI e PostScript), testo e HTML.

sunsite.unc.edu/mdw/HOWTO/
Disponibile in formato SGML e HTML.
ftp.bizsystems.com/pub/raid/

1.2 Bug

Al momento della stesura di questo documento il problema di fermare un dispositivo RAID montato come root non è ancora stato risolto in modo soddisfacente. Un metodo per eliminare il bisogno di eseguire ckraid (che richiede un sacco di tempo) ad ogni boot, proposto da Ed Welbon e implementato da Bohumil Chalupa si trova in questo documento. Senza tale metodo è necessario eseguire ckraid sul dispositivo md ogni volta che viene fatto un reboot del sistema. Su un array troppo grande questo può causare un grande scadimento delle prestazioni. Sul mio dispositivo RAID1 da 6 giga, installato su una macchina con processore Pentium 166 con 128 mega di ram ci vuole ben più di mezz'ora per eseguire ckraid :-( dopo ogni reboot. Sul mio array RAID5 da 13 giga con adattatore scsi da 20mb/sec ci vuole più di un'ora.

Il metodo consiste nel memorizzare, ad ogni shutdown, lo stato dell'array sul dispositivo di boot vero e proprio e confrontarlo con uno ``stato di riferimento'' là memorizzato quando il sistema è stato costruito la prima volta. Se al reboot i due stati coincidono il superblock dell'array viene ricostruito al boot successivo, altrimenti l'operatore viene avvisato dell'errore di stato e viene lasciato in esecuzione il sistema di recupero con tutti gli strumenti raid.

La ricostruzione del superblock fa sì che il sistema ignori che l'array è stato spento senza eseguire mdstop marcando tutti i drive come OK, come se nulla fosse accaduto. Questo funziona solo se tutti i drive sono OK al momento dello shutdown. Se uno dei drive dell'array ha dei problemi è necessario rimuovere tale drive prima di far ripartire il dispositivo md, o si potrebbe avere perdita di dati.

Niente di tutto questo si applica a raid0, su cui non deve essere eseguito mdstop prima dello shutdown.

Le soluzioni definitive proposte per questo problema includono l'introduzione di un file finalrd simile ad initrd, e un comando mdrootstop che, durante lo shutdown, scrive sull'array i flag clean quando è montato in sola lettura. Sono sicuro che ce ne sono altre.

Nel frattempo il problema è stato solo aggirato. Per favore, fatemi sapere quando verrà risolto in modo più pulito!!!

1.3 Riconoscimenti

Ciò che le persone seguenti hanno scritto o hanno inviato per e-mail mi ha aiutato a realizzare questo documento. Molte idee sono state rubate dal lavoro di altri, io ho solo provato a mettere tutto insieme nella forma di un libro di ricette in modo che fosse facile da usare. I miei ringraziamenti vanno a:

1.4 Informazioni di copyright (in lingua originale)

This document is GNU copyleft by Michael Robinton michael@bzs.org.

Permission to use, copy, distribute this document for any purpose is hereby granted, provided that the author's / editor's name and this notice appear in all copies and/or supporting documents; and that an unmodified version of this document is made freely available. This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, either expressed or implied. While every effort has been taken to ensure the accuracy of the information documented herein, the author / editor / maintainer assumes NO RESPONSIBILITY for any errors, or for any damages, direct or consequential, as a result of the use of the information documented herein.


Avanti Indietro Indice