Diferencia entre revisiones de «RAID»
(No se muestran 11 ediciones intermedias del mismo usuario) | |||
Línea 9: | Línea 9: | ||
Si el RAID està en la partició d'arranc. El Grub arranca con si no fora un RAID en el primer disc. Quant el Kernel està funcionan, ja afegeix els altres discs. | Si el RAID està en la partició d'arranc. El Grub arranca con si no fora un RAID en el primer disc. Quant el Kernel està funcionan, ja afegeix els altres discs. | ||
=== Fer un RAID en la instal·lació de Debian === | === Fer un RAID en un Debian en funcionament === | ||
Tal vegada s'ha d'instal·lar el paquet '''mdadm'''. | |||
Previament a crear el RAID, cal crear particions en els discs implicats. Al fer les particions és recomanable que tinguen la mateixa mida. | |||
Poden crear un RAID1: | |||
# mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sda1 /dev/sdb1 | |||
O un RAID5, per exemple: | |||
mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2 | |||
Després es pot formatejar: | |||
# mkfs.ext4 /dev/md1 | |||
=== Fer un RAID durant la instal·lació de Debian === | |||
* Seleccionar el mode d'instal·lació no gràfica. | * Seleccionar el mode d'instal·lació no gràfica. | ||
Línea 39: | Línea 55: | ||
Podem provocar una fallada de disc: | Podem provocar una fallada de disc: | ||
#mdadm --manage /dev/md2 --fail /dev/sdb3 | # mdadm --manage /dev/md0 --fail /dev/sdb1 | ||
# mdadm --manage /dev/md1 --fail /dev/sdb2 | |||
# mdadm --manage /dev/md2 --fail /dev/sdb3 | |||
# mdadm --manage /dev/md0 --remove /dev/sdb1 | |||
# mdadm --manage /dev/md1 --remove /dev/sdb2 | |||
# mdadm --manage /dev/md2 --remove /dev/sdb3 | |||
# mdadm -D /dev/md2 | # mdadm -D /dev/md2 | ||
/dev/md2: | /dev/md2: | ||
Version : 1.2 | |||
Creation Time : Thu Oct 17 16:45:26 2013 | |||
Raid Level : raid1 | |||
Array Size : 2310080 (2.20 GiB 2.37 GB) | |||
Used Dev Size : 2310080 (2.20 GiB 2.37 GB) | |||
Raid Devices : 2 | |||
Total Devices : 1 | |||
Persistence : Superblock is persistent | |||
Update Time : Fri Oct 18 10:38:30 2013 | Update Time : Fri Oct 18 10:38:30 2013 | ||
State : clean, <span style="color:#d00">'''degraded '''</span> | |||
Active Devices : 1 | Active Devices : 1 | ||
Working Devices : 1 | Working Devices : 1 | ||
Failed Devices : 0 | Failed Devices : 0 | ||
Spare Devices : 0 | Spare Devices : 0 | ||
Name : debian:2 (local to host debian) | |||
UUID : 33d7cbab:746f2ac9:8bcc506e:2d449e30 | UUID : 33d7cbab:746f2ac9:8bcc506e:2d449e30 | ||
Events : 25 | |||
Number Major Minor RaidDevice State | Number Major Minor RaidDevice State | ||
0 8 3 0 active sync /dev/sda3 | 0 8 3 0 active sync /dev/sda3 | ||
<span style="color:#d00"> ''' 1 0 0 1 removed'''</span> | |||
Com hem eliminat el disc del RAID amb comandes de mdadm, el disc encara està físicament connectat a la màquina. Per tant, és com si fora un disc nou que hem instal·lat. | |||
Ara fem una comanda per a copiar la taula de particions dd'un disc a un altre. D'aquesta manera queden exàctament iguals: | |||
# sfdisk -d /dev/sda | sfdisk --force /dev/sdb | |||
A continuació, fem --zero-superblock per a eliminar qualsevol estructura de RAID anterior. | |||
# mdadm --zero-superblock /dev/sdb1 | |||
# mdadm --zero-superblock /dev/sdb2 | |||
# mdadm --zero-superblock /dev/sdb3 | |||
Per finalitzar, tornem a afegir les particions als raids corresponents: | |||
# mdadm -a /dev/md0 /dev/sdb1 | |||
# mdadm -a /dev/md1 /dev/sdb2 | |||
# mdadm -a /dev/md2 /dev/sdb3 | |||
Després de afegir de nou les particions, durant un temps està resincronitzant els RAIDS: | |||
# cat /proc/mdstat | |||
Personalities : [raid1] | |||
md2 : active raid1 sdb3[2] sda3[0] | |||
2310080 blocks super 1.2 [2/1] [U_] | |||
resync=DELAYED | |||
md1 : active raid1 sdb2[2] sda2[0] | |||
976320 blocks super 1.2 [2/1] [U_] | |||
resync=DELAYED | |||
md0 : active raid1 sdb1[2] sda1[0] | |||
1950656 blocks super 1.2 [2/1] [U_] | |||
[==========>..........] recovery = 52.9% (1033600/1950656) finish=0.5min speed=27966K/sec | |||
==== Fallades a l'arranc ==== | |||
Si el RAID és per a la /, cal instal·lar el grub en tots els discs. Si s'ha fet i eliminem el primer disc, el sistema arranca. Però si observem el resultat de dmesg, vorem que informa de que el RAID està degradat: | |||
# dmesg | grep raid | |||
[ 3.198015] md: raid1 personality registered for level 1 | |||
[ 3.198426] md/raid1:md0: active with 1 out of 2 mirrors | |||
[ 3.429885] md/raid1:md1: active with 1 out of 2 mirrors | |||
[ 3.678704] md/raid1:md2: active with 1 out of 2 mirrors | |||
Les següents comandes són per a afegir 2 discs nous al RAID, de manera que, primer, es recupere i després que tinga 3 discs. | |||
# ls /dev/sd* | |||
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sdb /dev/sdc | |||
# sfdisk -d /dev/sda | sfdisk --force /dev/sdb | |||
# sfdisk -d /dev/sda | sfdisk --force /dev/sdc | |||
# mdadm -a /dev/md0 /dev/sdb1 | |||
# mdadm -a /dev/md1 /dev/sdb2 | |||
# mdadm -a /dev/md2 /dev/sdb3 | |||
# watch cat /proc/mdstat | |||
# mdadm -a /dev/md0 /dev/sdc1 | |||
# mdadm -a /dev/md1 /dev/sdc2 | |||
# mdadm -a /dev/md2 /dev/sdc3 | |||
# mdadm --grow /dev/md0 --raid-devices=3 | |||
# mdadm --grow /dev/md1 --raid-devices=3 | |||
# mdadm --grow /dev/md2 --raid-devices=3 | |||
== Vore també == | == Vore també == | ||
Línea 74: | Línea 164: | ||
* http://en.wikipedia.org/wiki/Mdadm | * http://en.wikipedia.org/wiki/Mdadm | ||
* http://kb.haeringer.org/configuring-a-raid1-with-mdadm-on-debian-squeeze/ | * http://kb.haeringer.org/configuring-a-raid1-with-mdadm-on-debian-squeeze/ | ||
* http://elpuig.xeill.net/Members/vcarceler/articulos/software-raid |
Revisión actual - 21:31 11 oct 2016
RAID per programari en Linux
Per a fer un RAID per programari en Linux, podem fer ús del sistema mdadm. És l'opció que ens dona Debian en el seu instal·lador i permet una configuració molt flexible.
Al ser un RAID per software, per a la placa base i per al sistema operatiu, encara existeixen sda, sdb... Però tenen una partició preparada per a estar duplicada formatejada per a RAID. Aquest RAID després serà formatejat en ext4, per exemple.
Les particions MD tenen el nom /dev/md<0-99> i poden ser particionades.
Si el RAID està en la partició d'arranc. El Grub arranca con si no fora un RAID en el primer disc. Quant el Kernel està funcionan, ja afegeix els altres discs.
Fer un RAID en un Debian en funcionament
Tal vegada s'ha d'instal·lar el paquet mdadm.
Previament a crear el RAID, cal crear particions en els discs implicats. Al fer les particions és recomanable que tinguen la mateixa mida.
Poden crear un RAID1:
# mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sda1 /dev/sdb1
O un RAID5, per exemple: mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2
Després es pot formatejar:
# mkfs.ext4 /dev/md1
Fer un RAID durant la instal·lació de Debian
- Seleccionar el mode d'instal·lació no gràfica.
- En la part de les particions i els discos, seleccionar l'opció manual.
- Crear una taula de particions per a cada disc.
- Crear tres particions tipus raid en cada disc. En un futur, serà per a /, /home i swap
- Crear un RAID 1 per a cada grup de particions de la mateixa mida en cada disc.
Figura 1.1 Exemple amb 2 discs durs de 5GB
Ara es poden formatejar i asignar la ruta de muntatge de cada partició RAID.
- Una vegada instal·lat es pot veure l'estat del RAID amb /proc/mdstat
grub-install /dev/sdb
Comprobar el funcionament del RAID
# mdadm -D /dev/md0 # cat /proc/mdstat
Solucionant fallades de disc
Podem provocar una fallada de disc:
# mdadm --manage /dev/md0 --fail /dev/sdb1 # mdadm --manage /dev/md1 --fail /dev/sdb2 # mdadm --manage /dev/md2 --fail /dev/sdb3 # mdadm --manage /dev/md0 --remove /dev/sdb1 # mdadm --manage /dev/md1 --remove /dev/sdb2 # mdadm --manage /dev/md2 --remove /dev/sdb3
# mdadm -D /dev/md2 /dev/md2: Version : 1.2 Creation Time : Thu Oct 17 16:45:26 2013 Raid Level : raid1 Array Size : 2310080 (2.20 GiB 2.37 GB) Used Dev Size : 2310080 (2.20 GiB 2.37 GB) Raid Devices : 2 Total Devices : 1 Persistence : Superblock is persistent Update Time : Fri Oct 18 10:38:30 2013 State : clean, degraded Active Devices : 1 Working Devices : 1 Failed Devices : 0 Spare Devices : 0 Name : debian:2 (local to host debian) UUID : 33d7cbab:746f2ac9:8bcc506e:2d449e30 Events : 25 Number Major Minor RaidDevice State 0 8 3 0 active sync /dev/sda3 1 0 0 1 removed
Com hem eliminat el disc del RAID amb comandes de mdadm, el disc encara està físicament connectat a la màquina. Per tant, és com si fora un disc nou que hem instal·lat.
Ara fem una comanda per a copiar la taula de particions dd'un disc a un altre. D'aquesta manera queden exàctament iguals:
# sfdisk -d /dev/sda | sfdisk --force /dev/sdb
A continuació, fem --zero-superblock per a eliminar qualsevol estructura de RAID anterior.
# mdadm --zero-superblock /dev/sdb1 # mdadm --zero-superblock /dev/sdb2 # mdadm --zero-superblock /dev/sdb3
Per finalitzar, tornem a afegir les particions als raids corresponents:
# mdadm -a /dev/md0 /dev/sdb1 # mdadm -a /dev/md1 /dev/sdb2 # mdadm -a /dev/md2 /dev/sdb3
Després de afegir de nou les particions, durant un temps està resincronitzant els RAIDS:
# cat /proc/mdstat Personalities : [raid1] md2 : active raid1 sdb3[2] sda3[0] 2310080 blocks super 1.2 [2/1] [U_] resync=DELAYED md1 : active raid1 sdb2[2] sda2[0] 976320 blocks super 1.2 [2/1] [U_] resync=DELAYED md0 : active raid1 sdb1[2] sda1[0] 1950656 blocks super 1.2 [2/1] [U_] [==========>..........] recovery = 52.9% (1033600/1950656) finish=0.5min speed=27966K/sec
Fallades a l'arranc
Si el RAID és per a la /, cal instal·lar el grub en tots els discs. Si s'ha fet i eliminem el primer disc, el sistema arranca. Però si observem el resultat de dmesg, vorem que informa de que el RAID està degradat:
# dmesg | grep raid [ 3.198015] md: raid1 personality registered for level 1 [ 3.198426] md/raid1:md0: active with 1 out of 2 mirrors [ 3.429885] md/raid1:md1: active with 1 out of 2 mirrors [ 3.678704] md/raid1:md2: active with 1 out of 2 mirrors
Les següents comandes són per a afegir 2 discs nous al RAID, de manera que, primer, es recupere i després que tinga 3 discs.
# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sdb /dev/sdc # sfdisk -d /dev/sda | sfdisk --force /dev/sdb # sfdisk -d /dev/sda | sfdisk --force /dev/sdc # mdadm -a /dev/md0 /dev/sdb1 # mdadm -a /dev/md1 /dev/sdb2 # mdadm -a /dev/md2 /dev/sdb3 # watch cat /proc/mdstat # mdadm -a /dev/md0 /dev/sdc1 # mdadm -a /dev/md1 /dev/sdc2 # mdadm -a /dev/md2 /dev/sdc3 # mdadm --grow /dev/md0 --raid-devices=3 # mdadm --grow /dev/md1 --raid-devices=3 # mdadm --grow /dev/md2 --raid-devices=3