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: 0, 1, 5, 10 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]