Você está na página 1de 19

ESFCEX - Linux

RAID - mdadm
INTRODUO INTRODUO
No vamos reinventar a roda, segundo a Wikipdia, Redundant Arra o!
Independent Drives, tam"m denominado Redundant Arra o! Ine#pensive
Drives, mais $on%e$ido $omo simp&esmente RAID ou ainda em portugu's(
)on*unto Redundante de Dis$os Independentes ou tam"m )on*unto
Redundante de Dis$os +$on,mi$os ou ainda Arran*o Redundante de Dis$os
Independentes, um meio de se $riar um su"-sistema de arma-enamento
$omposto por v.rios dis$os individuais, $om a !ina&idade de gan%ar seguran/a
e desempen%o0
O RAID pode ter sua ar1uitetura imp&ementada em %ard2are ou so!t2are,
sa"endo 1ue a imp&ementa/o em %ard2are a&m de ser mais $ara mais
per!orm.ti$o e $on!i.ve&, *. a imp&ementa/o em so!t2are e#ige muito re$urso
da )3U e mais !&e#iv&0
ESFCEX - Linux
RAID - mdadm
N45+I6 D+ RAID N45+I6 D+ RAID
+#istem varias !ormas de $om"inar dis$os $om um determinado o"*etivo0
RAID 0 (striping)
No RAID 7 todos os 8Ds passam a ser a$essados $omo se !ossem um 9ni$o
drive0 Ao serem gravados, os ar1uivos so !ragmentados nos v.rios dis$os,
permitindo 1ue os !ragmentos possam ser &idos e gravados simu&taneamente,
$om $ada 8D rea&i-ando parte do tra"a&%o0 Isso permite me&%orar "ruta&mente
a ta#a de &eitura e de grava/o e $ontinuar usando :77; do espa/o dispon<ve&
nos 8Ds0 O pro"&ema 1ue no RAID 7 no e#iste redund=n$ia0 Os 8Ds
arma-enam !ragmentos de ar1uivos, e no ar1uivos $omp&etos0 6em um dos
8Ds, a $ontro&adora no tem $omo re$onstruir os ar1uivos e tudo perdido0
Isso !a- $om 1ue o modo RAID 7 se*a raramente usado em servidores0
ESFCEX - Linux
RAID - mdadm
RAID 1 (mirror)
No RAID : so usados dois 8Ds >ou 1ua&1uer outro n9mero par?0 O primeiro
8D arma-ena dados e o segundo arma-ena um $@pia e#ata do primeiro,
atua&i-ada em tempo rea&0 6e o primeiro 8D !a&%a, a $ontro&adora
automati$amente $%aveia para o segundo 8D, permitindo 1ue o sistema
$ontinue !un$ionando0 +m servidores $omum o uso de 8Ds $om suporte a
%ot-s2ap, o 1ue permite 1ue o 8D de!eituoso se*a su"stitu<do a 1uente, $om o
servidor &igado0 A desvantagem em usar RAID : 1ue metade do espa/o de
arma-enamento sa$ri!i$ado0
RAID 10 (Mirror/Strip)
+ste modo $om"ina os modos 7 e : e pode ser usado a partir de A 8Ds >ou
outro n9mero par?0 Betade dos 8Ds so usados em modo striping >RAID 7?,
en1uanto a segunda metade arma-ena uma $@pia dos dados dos primeiros,
o!ere$endo redund=n$ia0
ESFCEX - Linux
RAID - mdadm
RAID 5
+ste o modo mais uti&i-ado em servidores $om um grande n9mero de 8Ds0 O
RAID C usa um sistema de paridade para manter a integridade dos dados0 Os
ar1uivos so divididos em !ragmentos e, para $ada grupo de !ragmentos,
gerado um !ragmento adi$iona&, $ontendo $@digos de paridade0 Os $@digos de
$orre/o so espa&%ados entre os dis$os0 Dessa !orma, poss<ve& gravar
dados simu&taneamente em todos os 8Ds, me&%orando o desempen%o0
O RAID C pode ser usado a partir de D dis$os0 Independentemente da
1uantidade de dis$os usados, sempre temos sa$ri!i$ado o espa/o e1uiva&ente
a um de&es0 +m um NA6 $om A 8Ds de : TE, por e#emp&o, vo$' !i$aria $om D
TE de espa/o dispon<ve&, em um servidor $om :7 8Ds de : TE, vo$' !i$aria
$om F TE dispon<veis e assim por diante0 Os dados $ontinuam seguros $aso
1ua&1uer um dos 8Ds usados !a&%e, mas se um segundo 8D !a&%ar antes 1ue o
primeiro se*a su"stitu<do >ou antes 1ue a $ontro&adora ten%a tempo de regravar
os dados?, todos os dados so perdidos0 5o$' pode pensar no RAID C $omo
um RAID 7 $om uma $amada de redund=n$ia0
ESFCEX - Linux
RAID - mdadm
RAID 6
O RAID 6 dobra o nmero de bits de paridade, eliminando o ponto ra!o do
RAID 5, "#e $ a perda de todos os dados !aso #m seg#ndo %D al&e' (o RAID
6, a integridade dos dados $ mantida !aso dois %Ds al&em sim#ltaneamente,
o "#e red#) br#talmente as possibilidades matem*ti!as de perda de dados'
A per!entagem de espa+o sa!rii!ado de!ai !onorme s,o a!res!entados mais
dis!os, de orma "#e o #so do RAID 6 -ai tornado.se progressi-amente mais
atrati-o' (o !aso de #m grande ser-idor, !om /0 %Ds, por e0emplo, seria
sa!rii!ado o espa+o e"#i-alente a apenas dois dis!os, o# se1a, apenas 102
do espa+o total' O maior problema $ "#e o RAID 6 e0ige o #so de algoritmos
m#ito mais !omple0os por parte da !ontroladora, de orma "#e ele n,o $
s#portado por todos os dispositi-os'
ESFCEX - Linux
RAID - mdadm
+ntendendo o Dispositivo de RAID
Guando um dos dis$os do arran*o !a&%a o sistema de RAID do kerne& >1ue um
m@du&o?, !a- o pro$esso de re"ui&ding 1ue 1uando o mdadm >neste $aso?,
$%ama o dis$o 1ue esta em spare>reserva?, para entrar no &ugar de&e e ento
$ome/a o pro$edimento de re$onstru$tion para tra-er ao novo dis$o as
mesmas $oisas 1ue o dis$o anterior tin%a para 1ue a sua estrutura de raid no
se*a !erida0
6@ 1ue muitos administradores de sistema re$&amam 1ue o pro$edimento de
re"ui&d muito &ento0 Isso devido a um padro 1ue se en$ontra no kerne&
&inu# pois e#iste uma di!eren/a de &at'n$ias de um raid por %ard2are e um por
so!t2are0
ESFCEX - Linux
RAID - mdadm
+ntendendo o Dispositivo de RAID
O RAID por so!t2are depende muito da $apa$idade da m.1uina e pro$essos
1ue esto sendo e#e$utados0 Isso tudo vai depender de pro$essamento,
mem@ria e in!orma/Hes &@gi$as de pro$essos 1ue esto em !un$ionamento0 O
va&or $a&$u&ado $omo padro se "aseando nesse padro0 A ve&o$idade
m<nima padro de um sistema Iinu# 1ue o pro$edimento de re"ui&d gere em
torno de :BE de ve&o$idade s<n$rona para gerar os dis$os do arran*o do
dispositivo e de no m.#imo J77BE de ve&o$idade s<n$rona0 K &@gi$o 1ue em
um sistema e#terno ou por %ard2are a ve&o$idade muito maior0 Desde 1ue
vo$' ten%a uma "oa ma1uina 1ue no $onsuma tanto $om ap&i$a/Hes mas 1ue
se*a dedi$ada para ar1uivos, ento podemos a&terar os padrHes de va&ores nos
ar1uivos speedL&imitLmin e speedL&imitLma# do kerne&0 A ta#a re$omendada
de C7BE de ta#a de trans!er'n$ia para o pro$esso m<nimo de re"ui&d 1ue pode
ser tro$ado assim(
Me$%o C7777 N Opro$OssOdevOraidOspeedL&imitLmin
ESFCEX - Linux
RAID - mdadm
+ntendendo 3arti/Hes
3arti$ionamento pode ser de!inido, te$ni$amente, dentro da in!orm.ti$a, $omo
o ato de se asso$iar v.rias unidades &@gi$as a uma unidade !<si$a0 K a a/o de
se dividir &ogi$amente um dispositivo de arma-enamento de dados
>norma&mente um dis$o r<gido?, de !orma $om 1ue se tra"a&%e $om $ada
diviso >parti/o? $omo se esta !osse um dis$o r<gido independente0
+#istem "asi$amente, tr's tipos de parti/Hes( parti/Hes prim.rias, parti/Hes
estendidas e parti/Hes &@gi$as0 O es1uema origina& de parti$ionamento de
dis$os r<gidos para 3)s, permitia apenas a $ria/o de 1uatro parti/Hes
prim.rias, mas &ogo surgiu a ne$essidade de se uti&i-ar mais parti/Hes0
3ara so&u$ionar este pro"&ema, as parti/Hes estendidas !oram $on$e"idas0
+ste tipo de parti/o !un$iona 1uase $omo uma parti/o prim.ria0 A primeira
grande di!eren/a entre e&as, o !ato de 1ue parti/Hes estendidas no podem
ser uti&i-adas para se ini$ia&i-ar o $omputador, portanto no podem $onter os
ar1uivos de ini$ia&i-a/o de um sistema opera$iona&0
ESFCEX - Linux
RAID - mdadm
+ntendendo 3arti/Hes
Dessa !orma, estes ar1uivos devem estar dentro de uma parti/o prim.ria0
3e&o !ato de somente um sistema opera$iona& poder ser usado por ve- no
$omputador, somente uma parti/o prim.ria pode estar apta a ini$ia&i-ar o
sistema e esta parti/o re$e"e o nome de parti/o ativa0
A segunda grande di!eren/a entre parti/Hes prim.rias e estendidas, 1ue,
di!erentemente de parti/Hes prim.rias, parti/Hes estendidas no podem ser
uti&i-adas, diretamente, para a&o$a/o de dados0
3ara 1ue as parti/Hes estendidas possam ser uti&i-adas, ne$ess.rio 1ue
se*am divididas em parti/Hes &@gi$as, sendo 1ue estas 9&timas sero uti&i-adas
de !ato0 Assim, parti/Hes estendidas devem ser en$aradas $omo $ont'ineres
de parti/Hes &@gi$as e so estas parti/Hes 1ue sero uti&i-adas para a&o$a/o
de dados0
ESFCEX - Linux
RAID - mdadm
+ntendendo 3arti/Hes Iinu#
Tudo no PNUOIinu# um ar1uivo e dispositivos no !ogem Q regra0 3or
padro, ar1uivos de dispositivos se &o$a&i-am no diret@rio Odev >dev provm de
devi$es, em ing&'s - dispositivos, em portugu's? em sistemas PNUOIinu#0 A
nomen$&atura de dispositivos ID+ e 6)6I >inter!a$es $omuns de dis$os r<gidos,
)D-Roms e et$0? segue o seguinte padro0 As duas primeiras &etras
representam o tipo de dispositivo >%d, para ID+ e sd, para 6)6I?0 Na
se1R'n$ia, e#iste um &etra para indi$ar a maneira $om 1ue o dispositivo est.
$one$tado ao $omputador( primar master >a?S se$ondar master >"?S primar
s&ave >$? e se$ondar s&ave >d?0 Tina&mente, para $ada parti/o do dis$o em
1uesto, asso$iado um n9mero, 1ue se ini$ia de um e vai at o n9mero
m.#imo de parti/Hes do dis$o, o 1ua& indi$a, o"viamente, $ada parti/o do
dis$o0
ESFCEX - Linux
RAID - mdadm
+ntendendo 3arti/Hes Iinu#
Assim, para um dis$o r<gido ID+, $one$tado $omo primar master ao
$omputador e $om tr's parti/Hes, os seguintes ar1uivos de dispositivo de Odev,
seriam v.&idos( %da >o dis$o $omo um todo?S %da: >a primeira parti/o do
dis$o?, %daJ >a segunda parti/o do dis$o? e %daD >a ter$eira parti/o do
dis$o?0
3ara se uti&i-ar 1ua&1uer dispositivo de arma-enamento no PNUOIinu#,
ne$ess.rio asso$iar o ar1uivo re!erente ao dispositivo, a um diret@rio do
sistema0 +ste pro$esso $%amado de montagem de dispositivos e mais
in!orma/Hes so"re este pro$esso podem ser en$ontradas nos manuais do
ar1uivo 1ue possui a ta"e&a de montagem do sistema >!sta" - man !sta", na
&in%a de $omando? e do programa 1ue e#e$uta a montagem dos dispositivos
>mount - man mount, na &in%a de $omando?0
ESFCEX - Linux
RAID - mdadm
IN6TAIANDO O RAID NO IINUU
3ara $ome/ar, insta&e o pa$ote mdadm, 1ue respons.ve& pe&a administra/o
do sistema de RAID e o pa$ote parted e tam"m do rsn$ para a&gumas
opera/Hes0
M apt-get insta&& mdadm parted rsn$ dmraid
O uti&it.rio !disk, respons.ve& pe&a manipu&a/o nas parti/oes0
3ara ver parti/Hes internas e#e$ute(
M!disk -&
Os metadevi$es>BD? so a"stra/Hes so"re os devi$es !<si$os, os 1uais *. so
mapeados para o sistema $omo um metadevi$e, a"straindo deta&%es de !ormas
de a$esso, se so ID+, 6ATA, 6A6, 6)6I, $arto de mem@ria, ou )DROB0
ESFCEX - Linux
RAID - mdadm
Os metadevi$es>BD? so a"stra/Hes so"re os devi$es !<si$os, os 1uais *. so
mapeados para o sistema $omo um metadevi$e, a"straindo deta&%es de !ormas
de a$esso, se so ID+, 6ATA, 6A6, 6)6I, $arto de mem@ria, ou )DROB0
Ao $riarmos um metadevi$e in!ormaremos os dis$os 1ue e&e ir. a"strair, "em
$omo a !orma, ou se*a, o n<ve& de raid a ser imp&ementado e se %aver. a
uti&i-a/o de spare ou no0
6pare o dis$o de reserva0
)onsiderando 1ue vo$' ten%a um mirror>RAID:? $om dois dis$os na !a&%a de
um dos dis$os o outro assume0 3or seguran/a pode ser a$res$entado um outro
dis$o de spare para 1ue no momento da !a&%a de um dos dis$os o spare entre
no arran*o aumentando a seguran/a en1uanto aguardamos a tro $a do dis$o
de!eituoso0
ESFCEX - Linux
RAID - mdadm
)RIANDO UB BIRROR RAID :
A$res$ente a m.1uina virtua& tr's dis$os de :Pigas0
Iigue a m.1uina e veri!i1ue, no &inu#, se os tr's dis$os tem e#atamente o
mesmo taman%o, uti&i-e os $omandos $omo no e#emp&o a seguir(
M$at OssO"&o$kOsd"Osi-e
J7FV:CJ
M$at OssO"&o$kOsd$Osi-e
J7FV:CJ
M$at OssO"&o$kOsddOsi-e
J7FV:CJ
ESFCEX - Linux
RAID - mdadm
IN6TAIANDO O6 NO5O6 DI6)O6 NO IINUU
!disk OdevOsd"
Te$&a WmW - mostra o menu de a*uda
Te$&a WpW - mostra as parti/Hes ativas no 8D
Te$&a WnW - para adi$ionar uma nova parti/o ao 8D
Tipo de parti/o WpW e op/o : por ser o ponto de montagem
Op/o W2W para gravar as modi!i$a/Hes
Agora !ormate o dis$oJ $om o sistema de ar1uivo e#tD
Mmk!s0e#tD OdevOsd":
)riei um diret@rio no diret@rio Omnt 1ue se. o ponto de montagem do dis$oJ
Mmkdir OmntOdis$oJ
Bonte o devi$e re!erente ao dis$oJ no diret@rio OmntOdis$oJ
Mmount -t e#tD OdevOsd": OmntOdis$oJ
Repita os passos para o ter$eiro e 1uarto dis$os, sd$ e sdd e visua&i-e as parti/Hes
d! -%
ESFCEX - Linux
RAID - mdadm
3ara $riar um arran*o de RAID : $om o mdadm $om dois dis$o e um ter$eiro dis$o de
spare0
Mmdadm -) OdevOmd7 -a es -v -& : -n J OdevOsd": OdevOsd$: -# : OdevOsdd:
5amos entender o $omando mdadm e suas op/Hes(
-) $ria um novo arran*o no dispositivo OdevOmd7 1ue o seu primeiro dispositivo de RAID no
Iinu#0
X-a esY muito importante por1ue em ve- de vo$' perder o seu tempo em $riar o
dispositivo $om o mknod $aso e&e no e#ista muito me&%or vo$' $o&o$ar esta op/o
por1ue $aso no e#ista o dispositivo e&e $ria0
As op/Hes -v para ver"ose
-& de$&ara o n<ve& de RAID uti&i-ado,
-n seria o n9mero de dis$os uti&i-ados na sua estrutura de raid
-# seria para de!inir o n9mero de dis$os de spare 1ue seria os reservas0
+#istem outros !&ags tam"m $omo -a ou Zad 1ue adi$iona novos dis$os ao arran*o,
-r ou Zremove 1ue remove dis$os do arran*o,
Zre-add 1ue adi$iona novamente o dis$o $om pro"&emas 1ue !oi removido indevidamente
ou $om pro"&emas reso&vidos,
Zdetai& 1ue da no mesmo 1ue
-D para monitorar o raid em deta&%es somente &o$a& e a op/o
Zmonitor 1ue deta&%a o raid por emai& "aseado no seu ar1uivo de $on!igura/o0 +#iste
tam"m o !&ag Z!ai& ou -! para !a&%ar um dispositivo ou simu&ar uma !a&%a0
ESFCEX - Linux
RAID - mdadm
)omando para visua&i-ar o arra $riadoS
Mmdadm --detai& OdevOmd7
Mmdadm -D OdevOmd7
M$at Opro$Omdstat
Mmdadm -+ OdevOsd"
M2at$% -n : mdadm -D OdevOmd7
Mmdadm --1uer OdevOmd7
Mmdadm -As OdevOmd7 >reini$iar o raid?
Mmdadm -6 OdevOmd7 >parar o raid?
3r@#imo passo ser. !ormatar >$onstruir metadevi$e? o OdevOmd7S
Mmk!s0e#tD OdevOmd7
A seguir, deveremos montar o OdevOmd7 em OmntOraid:S
Mmount OdevOmd7 OmntOraid
ESFCEX - Linux
RAID - mdadm
3ronto o nosso mirror *. esta !un$ionando e montado para uso0
5amos agora !a&%ar um dis$o do arran*o, simu&ar um de!eito em um dis$o0
Mmdadm -! OdevOmd7 OdevOsd":
5isua&i-e a !a&%a $om o $omando
Mmdadm -D OdevOmd7
Note 1ue o dis$o de spare entrou no arran*o su"stituindo o dis$o de!eituoso0
Agora !aremos a remo/o do dis$o de!eituoso
Mmdadm -r OdevOmd7 OdevOsd":
Mmdadm -D OdevOmd7
+ a$res$entaremos o 1ue seria o novo dis$o, note 1ue e&e entrar. $omo spare
Mmdadm OdevOmd7 -add OdevOsd":
Mmdadm -D OdevOmd7
Raid : mirror !un$ionando :77;
ESFCEX - Linux
RAID - mdadm
Antes de remover o dis$o espere de J7 a D7 segundos at 1ue apresente a
!a&%a no geren$iamento0
+m $aso de perda do metadevi$e, por $onta de um upgrade, re$on!igura$ao,
perda do ar1uivo Oet$OmdadmOmdadm0$on!, anote o seguinte $omando(
Mmdadm --e#amine --s$an Z$on!ig[mdadm0$on! NN Oet$OmdadmOmdadm0$on!
3ara remover um arra, vo$' dever. desmont.-&o >a partir do seu dispositivo
ou do ponto de montagem?, parar o mesmo e, depois, des!a-er a &iga/o $om o
RAID em $ada parti/o0 5amos a um e#emp&o $om o arra OdevOmd:0 3rimeiro,
desmonte o arra(
M umount OdevOmd:
A seguir, pare-o >stop?(
M mdadm -6 OdevOmd:
Des!a/a a &iga/o de OdevOsdaJ e de OdevOsd"J $om o RAID0 3ara isso, destrua
a .rea de $ontro&e e#istente em $ada um de&es(
M mdadm ---ero-super"&o$k OdevOsdaJ
M mdadm ---ero-super"&o$k OdevOsd"J