Creare RAID 0/1 (striping o mirroring): Ecco una piccola guida che spiega in modo intuitivo cosa è il RAID, quali sono le modalità disponibili e come crearne uno su linux Ubuntu o Debian.

Prima di tutto dobbiamo dire cos’è un RAID.

In informatica il RAID, acronimo di Redundant Array of Independent Disks, insieme ridondante di dischi indipendenti, è una tecnica di raggruppamento di diversi dischi rigidi collegati ad un computer che li rende utilizzabili, dalle applicazioni e dall’utente, come se fosse un unico volume di memorizzazione. Tale aggregazione sfrutta, con modalità differenti a seconda del tipo di implementazione, i principi di ridondanza dei dati e di parallelismo nel loro accesso per garantire, rispetto ad un disco singolo, incrementi di prestazioni, aumenti nella capacità di memorizzazione disponibile, miglioramenti nella tolleranza ai guasti. [continua a leggere su WikiPedia]

Esistono diversi tipi di RAID: 01510 e ognuno di questi viene creato con un determinato numero di dischi. Proverò brevemente a spiegare i principali: RAID 0 (detto anche striping) e il RAID 1 (o mirroring), mentre il RAID 5 ha le caratteristiche sia dello 0 che dell’1.

Come abbiamo già detto il RAID 0 è in modalità striping, cioè vengono sommate le performance e la capienza dei 2 drives (dove 2 sono il numero minimo di HD che devono essere presenti per creare il RAID).

Il RAID 1 o modalità mirroring invece, è un raid improntato alla sicurezza, infatti i drives coinvolti sono uno lo specchio dell’altro (anche in questa modalità, il numero minimo di HD è pari a 2).

Come creare RAID 1 su linux Ubuntu o Debian

Ipotizziamo di avere 2 dischi:
Disco 1: sda1
Disco 2: sdb1

Prima di tutto dobbiamo installare mdadm

sudo apt-get install mdadm

Partizioniamo i 2 HD in ext4

sudo mkfs.ext4 sda1
sudo mkfs.ext4 sdb1

Ora creiamo l’array

sudo mdadm --create --verbose /dev/md0 --level=1 /dev/sda1 /dev/sdb1
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: size set to 976629568K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
––verbose flag di debug, mostra tutti i messaggi a video.
––level=1 tipo di RAID che verrà creato.
/dev/sda1 /dev/sdb1 i dischi che vengono aggiunti al RAID. E' possibile scrivere anche /dev/sd[ab]1.

Ora dobbiamo assemblare l’array ed aggiungerlo al file /etc/mdadm/mdadm.conf (questo file viene usato dal sistema per riconoscere il RAID al boot)

sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf

Procediamo quindi con il comando

sudo mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1

Ora non ci resta che attendere. Possiamo vedere lo stato di creazione del RAID con il seguente comando

watch cat /proc/mdstat

Mentre per vedere lo stato dell’array

sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Mar 12 22:34:13 2015
Raid Level : raid1
Array Size : 961618752 (917.07 GiB 984.70 GB)
Used Dev Size : 961618752 (917.07 GiB 984.70 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Wed Oct 28 03:02:42 2015
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Name : nas:data (local to host nas)
UUID : b8b6e3a1:62d9d667:5c42b66c:915d620e
Events : 19760

Number Major Minor RaidDevice State
2 8 6 0 active sync /dev/sda1
1 8 22 1 active sync /dev/sdb1

Ora formattiamo il RAID e creiamo una cartella su cui impostare i permessi

$ sudo mke2fs /dev/md0
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
61046784 inodes, 244157392 blocks
12207869 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
7452 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848

Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done

Eliminare un Array RAID

Prima di tutto bisogna eliminare la riga riguardante l’array md0 aggiunta nel file /etc/fstab
Smontare eventualmente la partizione con il comando umount

sudo umount /media/MIO_RAID0

Ed infine

sudo mdadm --stop /dev/md0
sudo mdadm --remove /dev/md0
sudo mdadm --zero-superblock /dev/sd[ab]

Ubuntu linux: creare RAID 0/1 (striping o mirroring) con 2 dischi