View my profile on LinkedIn

Creare un raid con linux…

…è scandalosamente semplice.

Ho messo due dischi sata da 320 giga in un pc (quello della scheda di rete del post precedente) per metterci le macchine virtuali e volevo fare un RAID zero per avere prestazioni un poco più elevate del sata semplice.

Poniamo, come nel mio caso, che i due dischi siano visti dal sistema come /dev/sdc e /dev/sdd.

Per prima cosa si deve fare un:

apt-get install mdadm

per installare il gestore dei raid. Poi si crea lo strip in un device con

mdadm -C /dev/md0 –level=raid0 –raid-devices=2 /dev/sdc /dev/sdd

il comando deve rispondere con un

mdadm: array /dev/md0 started.

Gli switch del comando indicano:

-C dice che è (ovviamente) una creazione

/dev/md0 è il device che andremo a creare, quello che indicherà il discoONE di destinazione

–level indica il tipo di raid da fare raid0 crea uno strip raid1 indica un mirror

–raid-devices=X indica con X il numero di dischi “coinvolti” nel raid

segue la lista dei dischi coinvolti. Il comando

mdadm –detail /dev/md0

ci racconta dello stato del raid:

/dev/md0:
Version : 00.90.03
Creation Time : Wed Feb 13 11:58:29 2008
Raid Level : raid0
Array Size : 625142272 (596.18 GiB 640.15 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Wed Feb 13 11:58:29 2008
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Chunk Size : 64K

UUID : 521bcada:7bb89d1e:fac3ac8d:331b45f3 (local to host alsv-vm04)
Events : 0.1

Number Major Minor RaidDevice State
0 8 32 0 active sync /dev/sdc
1 8 48 1 active sync /dev/sdd

A questo prepariamo il file system come se si trattasse di un semplice disco:

mkfs.xfs /dev/md0

se otteniamo un errore del tipo

mkfs.xfs: command not found

dobbiamo installare i programmi di gestione di xfs con un banale

apt-get install xfsprogs

e montiamolo

mkdir /vmmachines

mount /dev/md0 /vmmachines

aggiustiamo l’fstab per montare i volumi al boot e abbiamo finito.

Mettiamo gli UUID dei dischi nel file fstab, la lista degli uuid la trovare qui:

ls /dev/disk/by-uuid -al

nel mio caso è:

lrwxrwxrwx 1 root root 10 2008-02-13 12:26 0f6662f2-c257-4b5c-8a20-cb0983ce7c81 -> ../../sda2
lrwxrwxrwx 1 root root 9 2008-02-13 12:26 5c420c19-3469-4e42-a070-92dd72909f50 -> ../../md0
lrwxrwxrwx 1 root root 10 2008-02-13 12:26 d6eb2670-b24d-4e84-80eb-c44eb2e8baf1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 2008-02-13 12:26 da8129b0-7fef-4b61-9210-03d5fdd97870 -> ../../sda1

Quindi l’fstab di conseguenza sarà

# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# /dev/sda1
UUID=da8129b0-7fef-4b61-9210-03d5fdd97870 / xfs defaults noatime 0 1
# /dev/sda2
UUID=0f6662f2-c257-4b5c-8a20-cb0983ce7c81 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec 0 0

#
# 400GB di backup
UUID=d6eb2670-b24d-4e84-80eb-c44eb2e8baf1 /vmmachines.backup xfs defaults,noatime 0 1

# 320+320 Raid0
UUID=5c420c19-3469-4e42-a070-92dd72909f50 /vmmachines xfs defaults,noatime 0 1

Riprova:

mount /vmmachines
mount /vmmachines.backup

mount

/dev/sda1 on / type xfs (rw)
proc on /proc type proc (rw,noexec,nosuid,nodev)
/sys on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
lrm on /lib/modules/2.6.22-14-generic/volatile type tmpfs (rw)
securityfs on /sys/kernel/security type securityfs (rw)
/dev/md0 on /vmmachines type xfs (rw)
/dev/sdb1 on /vmmachines.backup type xfs (rw)

Tempo totale: 5 minuti.

10 Comments

  1. pastoreerrante says:

    ottima guida, ma come si può creare un device raid prima dell’installazione del sistema operativo? esiste forse qualche opzione nascosta nell’installer di Ubuntu che consente di mettere due dischi in raid e poi di continuare l’installazione normalmente?

    grazie

  2. Lo puoi fare tranquillamente usando l’installer a caratteri che trovi o nella versione server o in quella alternate.

    Io di solito lo faccio con quello, questa volta l’ho fatto DOPO l’installazione del s.o. e quindi ho razzamagliato con mdadm

    Nelle due versioni che dicevo trovi l’installer di debian che ti fa’ fare queste cose tranquillamente, anzi ti dirò di piu, ti permette di fare un raid ed installarci il sistema operativo (cioe’ la root, ma lascia fuori la /boot per sicurezza) cosa che con windows non puoi fare, in nessuna versione.

    Con windows ci vuole obbligatoriamente il raid hardware configurato PRIMA di montare il sistema.

  3. Daniele says:

    Ottima guida! Se l’hai fatta tu posso chiederti il permesso di pubblicarla sul mio blog, chiaramente citando la fonte? Mi sembra molto ben fatta..
    Daniele

  4. @daniele certamente, fai pure.

    @ragebeing grazie, per agginungere un commento :-P quello che hai postato tu è la risposta alla domanda di pastoreerrante che chiede come fare un raid all’installazione.

  5. Giulio says:

    Tutto e’ semplice quando si sa! Non mi piacciono questi incipit spavaldi che fanno sentire l’utente medio un ritardato mentale! Tempo totale 5 minuti? 5 anni vorrai dire, il tempo di costruirsi tutto il know-how su gnu/linux… poi si’ che risolvi in 5 minuti :-P

  6. Io SPERO che chi debba fare una cosa come questa abbia un MINIMO di background

  7. [...] completo da [...]

Leave a Reply

hitstatus