# [DISCUSSIONE] RAID & espandibilità

## Kernel78

Ciao a tutti, ho letto molte discussioni riguardanti i raid su questo forum ma mi è rimasto un dubbio: se prendo 3 dischi e mi faccio un raid 5, in un secondo tempo posso prendere un quarto disco di dimensioni uguali posso aggiungerlo al raid in maniera non distruttiva ? a quanto ho capito io direi di no ma chiedo a voi per sicurezza ...

----------

## .:chrome:.

se non mi sbaglio direi di no, nel senso che il RAID è tarato anche sulla sua dimensione. potresti anche estenderlo, ma a questo punto non ricordo se lo spazio aggiunto risulta invisibile, o se viene corrotto tutto quanto.

avevo letto tempo fa una soluzione che ovviava a questo: in sostanza si trattava di creare il RAID software, e sopra di esso un volume LVM. così facendo una volta aggiunto spazio al RAID non hai altro da fare che estendere il volume con lvextend e poi notificare la cosa al file system.

più o meno funzionava così

----------

## Ic3M4n

da quello che ho capito io quando aggiungi un disco in raid puoi aggiungerlo esclusivamente come spare disk. anche perchè altrimenti tutta la gestione della parità andrebbe a farsi friggere, dato che devi rifare tutti i calcoli dopo aver aggiunto un'ulteriore hd. in ogni caso potresti "forse" ovviare al problema utilizzando il missing, ma non ne sono così sicuro.

----------

## Dr.Dran

Beh per quello che posso dire con i raid 3ware non puoi aggiungere assolutamente nulla senza distruggere il raid vecchio, quindi pazienza, anche perchè se ci pensi l'aggiunta di un disco potrebbe variare lo stripe size e la dimensione della porzione dei dati per la parità... insomma sarebbe un casino.

La soluzione di k.gothmog, se non ho capito male, è un ripiego... nel senso che estenderesti lo spazio con LVM su un disco che però è al di fuori del raid... quindi non è il massimo   :Wink: 

Cheers

Franco

----------

## IlGab

Ci avevo lavorato solo in ambiente di test, comunque Raidtools + LVM possono fare quello che desideri.

Dalla man page di raidreconf

 *Quote:*   

> raidreconf will read two raidtab files, an old one, and a new one.  It will then  re-build  your  old
> 
>        array to match the configuration for the new array, while retaining all data possible.
> 
>        It  can also be used to import a single block-device into a RAID array (using more block devices), or
> ...

 

Le ultime righe sono le più interessanti  :Wink:  e soprattutto without losing data.

----------

## Kernel78

IlGab quello che mi dici mi risolleva il morale, anche io come dran avevo inteso la soluzione di k come un ripiego ma alla luce di quanto hai postato (e se anche lui si riferiva alla stessa cosa) sembra che sia la soluzione al mio problema.

In questo modo potrei iniziare con tre semplici dischi e poterli aumentare in futuro ... fiko, vedrò di documentarmi e fare delle prove con device virtuali ...

----------

## .:chrome:.

 *Kernel78 wrote:*   

> IlGab quello che mi dici mi risolleva il morale, anche io come dran avevo inteso la soluzione di k come un ripiego ma alla luce di quanto hai postato (e se anche lui si riferiva alla stessa cosa) sembra che sia la soluzione al mio problema.
> 
> In questo modo potrei iniziare con tre semplici dischi e poterli aumentare in futuro ... fiko, vedrò di documentarmi e fare delle prove con device virtuali ...

 

io fossi in te farei prima qualche prova con i loop-devices, prima di rischiare i miei dati

----------

## Kernel78

 *k.gothmog wrote:*   

>  *Kernel78 wrote:*   IlGab quello che mi dici mi risolleva il morale, anche io come dran avevo inteso la soluzione di k come un ripiego ma alla luce di quanto hai postato (e se anche lui si riferiva alla stessa cosa) sembra che sia la soluzione al mio problema.
> 
> In questo modo potrei iniziare con tre semplici dischi e poterli aumentare in futuro ... fiko, vedrò di documentarmi e fare delle prove con device virtuali ... 
> 
> io fossi in te farei prima qualche prova con i loop-devices, prima di rischiare i miei dati

 

Vista la mia esperienza nulla con i raid ti chiederei di essere più esplicito nell'esposizione del tuo suggerimeno.

... o detto in altro modo: puoi dirmi come o dove trovare doc a riguardo ?

P.S. ti assicuro che non mi serve per guadagnarci ma per smanettare sul mio nuovo pc  :Wink: 

----------

## Ic3M4n

 *Kernel78 wrote:*   

> 
> 
> Vista la mia esperienza nulla con i raid ti chiederei di essere più esplicito nell'esposizione del tuo suggerimeno.
> 
> ... o detto in altro modo: puoi dirmi come o dove trovare doc a riguardo ?
> ...

 

 :Laughing:   ogni riferimento ad altri thread è puramente casuale.   :Laughing: 

----------

## Dr.Dran

 *Ic3M4n wrote:*   

> * *Kernel78 wrote:*   * 

 

Quoto pure io eh eh eh

P.S. Comunque se non ho capito male il raid che stai utilizzando è software vero? perchp con un raid hardware non credo tu possa fare molto.   :Wink: 

----------

## drakkan

Per aumentare la dimensione di un raid 5 software bisogna abilitare nel kernel l'opzione

```

CONFIG_MD_RAID5_RESHAPE=y

```

aggiungere il nuovo disco al raid, ad esempio supponendo di avere un array md0 e di voler aggiungere la partizione /dev/sdg1:

```

mdadm --add /dev/md0 /dev/sdg1

```

aumentare la dimensione con il comando:

```

mdadm --grow /dev/md0 --raid-devices=4

```

infine quando il processo di reshape è finito bisogna aumentare la dimensione del filesystem con uno dei seguenti comandi:

```

per ext2/ext3 (il filesystem non deve essere montato):

resize2fs /dev/md0

per reiserfs (online):

resize_reiserfs -f /dev/md0

per xfs(online):

xfs_growfs /mount/point

```

Se mdadm non dovesse consentire il grow dell'array perchè la stripe cache è troppo piccola allora:

```

echo 1024 > /sys/block/md0/md/stripe_cache_size

```

NOTA: bisogna usare kernel >=2.6.17 e mdadm>=2.4

----------

## power83

uhm interesante, ma nn ricordo il raid5 cm lavora e a che serve......mi illuminatoe x favore?

----------

## .:chrome:.

 *Kernel78 wrote:*   

> Vista la mia esperienza nulla con i raid ti chiederei di essere più esplicito nell'esposizione del tuo suggerimeno.
> 
> ... o detto in altro modo: puoi dirmi come o dove trovare doc a riguardo ?

 

ti crei un disco "finto":

```
dd if=/dev/zero of=file1, bs=1024, count=10240
```

questo crea un dump di 10 MB chiamato file1 tutto pieno di zero. ripeti per file2, file3, file4 (almeno 4 così puoi provare anche RAID-6)

adesso puoi farci quello che vuoi. puoi formattarli:

```
 mkfs.ext2 file1

mke2fs 1.39 (29-May-2006)

file1 is not a block special device.

Proceed anyway? (y,n) y
```

puoi anche montarli:

```
mount -o loop file1 /mnt
```

oppure puoi farci dentro un RAID, però mi risulta che con mdadm non si riesca per non ricordo quale motivo strano. con i vecchi raidtools funziona.

----------

## Kernel78

Infatti avevo provato così ma mi dava errore (appena posso lo posto) quindi volevo installare gnbd seguendo il tipo nella sezione sulla documentazione per avere dei device da poter mettere in raid, magari è laborioso ma dovrebbe funzionare ...

x power83

Guarda qui

----------

## .:chrome:.

 *Kernel78 wrote:*   

> Guarda qui

 

porca cacca (non posso scrivere di peggio o mi bannano), che bello!

dove le recuperi queste cose bellissime?

----------

## Kernel78

 *k.gothmog wrote:*   

>  *Kernel78 wrote:*   Guarda qui 
> 
> porca cacca (non posso scrivere di peggio o mi bannano), che bello!
> 
> dove le recuperi queste cose bellissime?

 

 :Laughing:   :Laughing:   :Laughing: 

Scusa ma l'ho preso da questa discussione a cui hai partecipato anche tu  :Wink: 

----------

## makoomba

 *Kernel78 wrote:*   

> Infatti avevo provato così ma mi dava errore

 

assumendo di usare /dev/loop/0, /dev/loop/1, /dev/loop/2 

usa

```
mdadm --zero-superblock /dev/loop[0-2]
```

prima di creare il raid

----------

## Kernel78

 *makoomba wrote:*   

>  *Kernel78 wrote:*   Infatti avevo provato così ma mi dava errore 
> 
> assumendo di usare /dev/loop/0, /dev/loop/1, /dev/loop/2 
> 
> 

 

Porca vacca non sapevo di essere così ignorante ...

come faccio ad usare /dev/loop/0 ... ?

----------

## IlGab

 *Dr.Dran wrote:*   

> 
> 
> P.S. Comunque se non ho capito male il raid che stai utilizzando è software vero? perchp con un raid hardware non credo tu possa fare molto.  

 

I RAID hardware sono assolutamente espandibili, certo devi avere una buona controller, non i paciughi SATA che escono sui PC.

----------

## makoomba

```
for i in 1 2 3; do dd if=/dev/zero of=disk$i.img count=8192 bs=1024; done

for i in 1 2 3; do losetup /dev/loop/$i disk$i.img; done 

modprobe raid5

mknod /dev/md0 b 9 0 

web temp # mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/loop/[1-3]

mdadm: layout defaults to left-symmetric

mdadm: chunk size defaults to 64K

mdadm: size set to 8128K

Sep  5 17:29:15 web kernel: raid5: raid level 5 set md0 active with 2 out of 3 devices, algorithm 2

mdadm: array /dev/md0 started.

```

----------

## Kernel78

 *makoomba wrote:*   

> *

 

Sapevo che facevo bene a tenermi il tuo santino nel portafoglio  :Wink: 

Grazie a tutti voi, siete stati una vera miniera di informazioni.

----------

## power83

grazie x il link sul raid 5............ma curiosita': a che scopo vi serve???

Altra cosa che dice negli svantaggi: "Individual block data transfer rate same as single disk" che vuol dire? che leggo uno strip alla volta invece che 3 simultaneamente da 3 dischi distinti?

In caso di guanto di un disco che succede ai dati? si riescono a recuperare al 100%???  :Rolling Eyes: 

/me con 3 dischi sata2 da 160GB sulla scrivania nuovi di pacca  :Rolling Eyes: 

----------

## .:chrome:.

 *power83 wrote:*   

> grazie x il link sul raid 5............ma curiosita': a che scopo vi serve???

 

come sarebbe?

metti che ti si rompa un disco. vai avanti a lavorare come se niente fosse senza nemmeno perdita di prestazioni. ti pare poco?

 *power83 wrote:*   

> Altra cosa che dice negli svantaggi: "Individual block data transfer rate same as single disk" che vuol dire? che leggo uno strip alla volta invece che 3 simultaneamente da 3 dischi distinti?

 

mah... non sono convinto. secondo me su un bus SCSI non dovrebbe essere così

 *power83 wrote:*   

> In caso di guanto di un disco che succede ai dati? si riescono a recuperare al 100%???

 

esattamente. se il controller te lo permette senza nemmeno spegnere la macchina (a dire il vero non so se si può usare l'hot swap con il RAID software)

----------

