A palavra RAID é um acronimo para Redundant Array of Inexpensive Disks que surgiu em 1988 e oferece basicamente:
- Ganho de desempenho no acesso para leitura ou gravação
- Redundancia em caso de falha em um dos discos
- Uso múltiplo de várias unidades de discos
- Escalabilidade em recuperação de conteúdo
Existem hoje duas maneiras de criar um RAID – via Software ou via Hardware
O RAID feito via Software é feito através de softwares e módulos do kernel do Linux e só começa a funcionar após o kernel ser carregado (boot da máquina). Por este motivo não é possível utilizar o RAID via software na partição de boot.
Já o RAID criado via hardware permite incluir todas as partições do disco, inclusive a /boot. Neste caso, toda a configuração de RAID é feito através de uma placa controladora externa, onde se conectam os discos. Esta controladora é a responsável pelas funções de escrita e gravação, informando à máquina o(s) disco(s) disponível(is) para a instalação do(s) Sistema(s) Operacional(is), seja ele Linux, Windows ou outro. O grande problema é que se a controladora falhar, nada mais é acessado. Os discos SCSI e SATA oferecem este tipo de RAID.
Existem diversas configurações de RAID. As mais comuns são 0, 1 e 5.
O RAID 0 é o único nível que não implementa redundancia. A sua finalidade é aumentar o desempenho na leitura e gravação dos dados. Pense assim, se voce fizer RAID 0 com 3 discos de 72 GB, voce terá cerca de 210 GB de espaço total em disco. Se um destes 3 discos apresentar algum problema, voce perde todos os seus 210 GB de dados. Voce também pode usar quantos discos quiser e discos de tamanhos diferentes para criar este único discão.
O RAID 1 trabalha com dois discos, e cria um espelho de um disco no ooutro. Neste caso, se houver um problema em um dos discos, voce tem o outro para garantir os seus dados. Neste modo, a grande vantagem é o tempo de leitura, pois os dados são lidos dos dois discos ao mesmo tempo, duplicando o volume de dados lidos pelos discos. A desvantagem é que, se voce tem dois discos de 140 GB em RAID1, o seu disco total é de 140 GB.
O RAID 5 traz as vantagens do RAID 0 e 1, mas também alguma desvantagem. Em uma configuracao com 3 discos de 72 GB, voce fica com um discão de 140GB. 1/3 do espaço total dos discos é usado para a geração dos dados de redundancia. A vantagem é que este RAID fornece um bom ganho de desempenho na leitura. Quanto mais discos voce tiver neste RAID, mais rápida será a leitura, pois os dados são gravados espalhados.
Para configurar um RAID e administrá-lo, voce precisa da ferramenta mdadm, que é fornecida para todas as distribuições linux que suportam RAID.
Após a instalação da ferramenta, vamos considerar um único disco com 3 partições disponíveis e ainda não montadas ou em uso, e vamos criar 1 x RAID 1 utilizando estas 3 partições, sendo que uma delas será usada como disco spare.
Modifique as partições que serão usadas no RAID para o label “Linux raid auto”, código fd no fdisk.
# fdisk /dev/hda
Para acompanhar o estado de seus discos durante a criação do RAID, use o seguinte comando em um terminal separado
# watch cat /proc/mdstat
Para criar o RAID, utilize este comando
# mdadm –create /dev/md0 –level=1 –raid-devices=2 –spare-devices=1 /dev/hda5 /dev/hda6 /dev/hda7
Onde:
–create /dev/md0 ==> é o device que será criado.
–level=1 ==> indoca que usaremos RAID 1.
–raid-devices=2 ==> indica que teremos 2 partições ativas.
–spare-devices=1 ==> indica que 1 das 3 partições informadas será usada para spare.
As partições mencionadas no final do comando indicam quais serão as partições usadas. A última partição, neste caso, será usada para spare.
Caso o comando fosse este abaixo, então teríamos 2 discos de spare, respectivamente hda7 e hda8
# mdadm –create /dev/md0 –level=1 –raid-devices=4 –spare-devices=2 /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8
A partir de agora, com o RAID criado, basta criar o filesystem e usar a nova partição. Vou criar usando ext3
# mkfs.ext3 /dev/md0
Crie um ponto de montagem e monte a partição.
# mkdir /mnt/raid
# mount -t ext3 /dev/md0 /mnt/raid
Caso voce queira montar esta partição automoaticamente, altere o arquivo /etc/mdadm/mdadm.conf adicionando as linhas
DEVICE /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8
ARRAY /dev/md0 devices=/dev/hda5,/dev/hda6,/dev/hda7,/dev/hda8
E altere também o /etc/fstab
/dev/md0 /mnt/raid ext3 defaults 0 2
Para verificar o estado do RAID como um todo, use o comando
# mdadm –detail /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Fri Oct 17 18:03:09 2008
Raid Level : raid1
Array Size : 240832 (235.23 MiB 246.61 MB)
Device Size : 240832 (235.23 MiB 246.61 MB)
Raid Devices : 2
Total Devices : 3
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Fri Jan 03 18:05:12 2008
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
UUID : a78bd919:2301b5b2:da567592:1bd866f6
Events : 0.8
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/hda5
1 8 18 1 active sync /dev/hda6
2 8 19 – spare /dev/hda7