D: Miguel de Icaza < miguel@luthien.nuclecu.unam.mx> ha scritto:Ho cambiato il codice di ext2fs per renderlo capace di trattare dispositivi multipli, modificando l'assunzione precedente che assegnava ad un filesystem un solo dispositivo.Così quando si vuole espandere un filesystem basta eseguire un'utilità che apporta le modifiche appropriate sul nuovo dispositivo (la partizione extra) e poi basta solo far sapere al sistema di estendere il fs usando il dispositivo specificato.
Il filesystem può essere esteso con dei nuovi dispositivi mentre il sistema sta funzionando, senza bisogno di doverlo arrestare (e quando avrò altro tempo potrete rimuovere dei dispositivi da un volume ext2, ancora senza nemmeno dover andare in modalità single-user o fare altre cose come questa).
Potete procurarvi la patch per il kernel 2.1.x sulla mia web page:
http://www.nuclecu.unam.mx/~miguel/ext2-volume
R: Attualmente, (Settembre 1997), no, non senza cancellare tutti i dati. Una utilità di conversione che lo permetta ancora non esiste. Il problema è che la struttura e l'effettiva disposizione in un sistema RAID-5 dipende dal numero dei dischi che ne fanno parte. Ovviamente si possono aggiungere dei dischi facendo un backup del sistema su nastro, cancellando tutti i dati, creando un nuovo sistema e recuperando i dati dal nastro.
/dev/hdb
a /dev/hdc
?
A causa dei problemi di grandezza/stupidità con i cablaggi/cabinet
devo mettere i miei set RAID sullo stesso controller IDE (/dev/hda
e /dev/hdb
). Adesso che ho messo a posto un po' di cose
vorrei muovere /dev/hdb
in /dev/hdc
.
Cosa potrebbe succedere se mi limito a cambiare i files
/etc/mdtab
e /etc/raid1.conf
in modo che riflettano
la nuova posizione?
R: Nel caso del RAID-0/linear, si deve stare attenti nello specificare i drive esattamente nello stesso ordine. Quindi nell'esempio di cui sopra il file di configurazione originale era:E il nuovo file di configurazione *deve* essere
mdadd /dev/md0 /dev/hda /dev/hdbPer quanto riguarda RAID-1/4/5, il ''numero RAID'' del drive viene memorizzato nel suo superblock RAID e quindi l'ordine nel quale vengono indicati i dischi non è importante. Il RAID-0/linear non ha un superblock a causa del suo vecchio design e del desiderio di mantenere la compatibilità con questo vecchio design.
mdadd /dev/md0 /dev/hda /dev/hdc
R: Si. Micheal della BizSystems ha trovato un modo per farlo abilmente e astutamente. Però, come virtualmente tutte le manipolazioni di sistemi RAID una volta che essi contengono dati, è pericoloso e soggetto ad errore umano. Fate un backup prima di cominciare.Ipotizzo la seguente configurazione: --------------------------------------------- dischi originale: hda - hdc partizioni raid1 hda3 - hdc3 nome dispositivo raid /dev/md0 nuovo hda - hdc - hdd partizioni raid5 hda3 - hdc3 - hdd3 nome dispositivo raid: /dev/md1 Si sostituiscano i nomi dei dischi e delle partizioni in modo da riflettere la propria configurazione di sistema. Questo vale anche per tutti gli esempi di file di configurazione. -------------------------------------------- FATE UN BACKUP PRIMA DI FARE QUALSIASI ALTRA COSA 1) ricompilare il kernel per includere sia il supporto raid1 che quello raid5 2) installare il nuovo kernel e accertarsi che siano presenti le personality raid 3) disabilitare la partizione ridondante sul sistema raid 1. Se questa è la partizione di root (la mia lo era) dovrete stare più attenti. Fare il reboot del sistema senza mettere in funzione i dispositivi raid o fate ripartire il sistema da uno di recupero (i tool raid dovranno essere disponibili) fate partire raid1 in modalità non ridondante mdadd -r -p1 /dev/md0 /dev/hda3 4) configurate raid5 con un 'buffo' file di configurazione, si noti che non viene nominato hda3 e che hdc3 è ripetuto. Questo serve poiché i tool raid non accettano una simile impostazione. ------------------------------- # configurazione raid-5 raiddev /dev/md1 raid-level 5 nr-raid-disks 3 chunk-size 32 # disposizione algoritmo di parità parity-algorithm left-symmetric # dischi spare per ricostruzione a caldo nr-spare-disks 0 device /dev/hdc3 raid-disk 0 device /dev/hdc3 raid-disk 1 device /dev/hdd3 raid-disk 2 --------------------------------------- mkraid /etc/raid5.conf 5) attivare il sistema raid5 in modalità non ridondante mdadd -r -p5 -c32k /dev/md1 /dev/hdc3 /dev/hdd3 6) create un filesystem sul dispositivo raid5 mke2fs -b {blocksize} /dev/md1 la dimensione del blocco raccomandata da alcuni è di 4096 al posto della predefinita 1024. Questo migliora l'utilizzazione della memoria da parte del kernel e delle routine raid facendo coincidere la grandezza del blocco con quella della pagina. Io ho trovato un compromesso su 2048 a causa del fatto che ho un numero relativamente alto di file piccoli nel mio sistema. 7) montate da qualche parte i due dispositivi raid mount -t ext2 /dev/md0 mnt0 mount -t ext2 /dev/md1 mnt1 8) spostate i dati cp -a mnt0 mnt1 9) verificate che i due set di dati siano identici 10) fermate ambedue i dispositivi raid 11) correggete le informazioni contenute nel file raid5.conf cambiate /dev/md1 in /dev/md0 cambiate il primo disco da leggere in /dev/hda3 12) portare il nuovo sistema in modalità ridondante (QUESTO DISTRUGGE LE RIMANENTI INFORMAZIONI raid1) ckraid --fix /etc/raid5.conf