====== Ridimensionare un volume RAID ======
**Scenario**: due dischi da 2Tb partizionati con **''parted''** in modalità **[[..:tux:grub#partizione_bios_grub_e_dischi_2_tb|GPT]]**, per ogni disco una sola partizione che occupa l'intero spazio disponibile. Le due partizioni sono assemblate come volume raid5 (due dischi su tre, quindi lavora in modalità degradata).
**Obiettivo**: si vuole allocare spazio per creare altre partizioni.
Anzitutto si rimpicciolisce il filesystem ext4. Lo facciamo **un po' più piccolo di quello che dovrà essere il risultato finale**:
umount /dev/md1
e2fsck -f /dev/md1
resize2fs /dev/md1 3.5T
Si verifica la dimensione in kilobyte del volume **''md1''**:
mdadm --detail /dev/md1
Array size: 3907023872
...
Si rimpicciolisce il volume **''md1''**; bisogna **indicare la dimensione da occupare per ogni disco**, il numero di kilobyte deve essere **multiplo di 64**. La dimensione risultante deve essere **un po' superiore** alla dimensione del filesystem in esso contenuto:
mdadm --grow /dev/md1 --size=1905891000
Si verifica che la dimensione sia diminuita:
mdadm --detail /dev/md1
Array size: 3811781632
...
Si cambia la dimensione della partizione, creandola **un po' più grande del volume** md1 che contiene. L'operazione deve essere fatta sui due dischi **''/dev/sdb''** e **''/dev/sdc''**.
parted /dev/sdb
print
rm 1
mkpart primary 1049kB 1958GB
quit
Dopo un **''reboot''** si tenta di assemblare il device md1, ma fallisce:
mdadm --assemble --scan -f /dev/md1
...
mdadm: failed to add /dev/sdb1 to /dev/md1: Invalid argument
mdadm: failed to add /dev/sdc1 to /dev/md1: Invalid argument
In effetti ricostruiamo il volume md1, ma con il parametro **''%%--assume-clean%%''** non verrà inizializzato e manterrà il suo contenuto precedente:
mdadm --create /dev/md1 -l5 -n3 --assume-clean /dev/sdb1 /dev/sdc1 missing
e2fsck -f /dev/md1
A questo punto possiamo **espandere il volume ''md1''** per occupare tutto lo spazio delle partizioni:
mdadm --grow /dev/md1 --size=max
Infine **espandiamo il filesystem** in modo che occupi tutto il volume ''md1'':
resize2fs /dev/md1
e2fsck -f /dev/md1