A tecnologia de armazenamento conhecida como RAID (Redundant Array of Independent Disks) combina vários discos físicos em uma unidade lógica. As unidades geralmente podem ser combinadas para fornecer redundância de dados ou para estender o tamanho das unidades lógicas além da capacidade dos discos físicos ou de ambos. A tecnologia também permite fornecer manutenção de hardware sem desligar o sistema.
Os tipos de organização de RAID são descritos no RAID Wiki.
Observe que, embora o RAID forneça proteção contra falhas de disco, ele não é um substituto para as cópias de segurança. Um arquivo deletado ainda é deletado em todos os discos de uma matriz RAID. As cópias de segurança modernas geralmente são feitas via rsync-3.2.7.
Existem três tipos principais de implementação de RAID: RAID de hardware, RAID baseado em BIOS e RAID de software.
O RAID baseado em hardware fornece capacidade por meio de esquemas de dados e hardware proprietários. O controle e a configuração geralmente são feitos via firmware em conjunto com aplicativos executáveis disponibilizados pelo fabricante do dispositivo. Os recursos geralmente são fornecidos por meio de uma placa PCI, embora existam algumas instâncias de componentes RAID integrados à placa-mãe. O RAID de hardware também possivelmente esteja disponível em um gabinete independente.
Uma vantagem do RAID baseado em hardware é que as unidades são oferecidas ao sistema operacional como uma unidade lógica e nenhuma configuração dependente do sistema operacional é necessária.
As desvantagens incluem dificuldades em transferir unidades de um sistema para outro, atualização de firmware ou substituição de hardware RAID com falha.
Alguns computadores oferecem uma implementação RAID semelhante a hardware no BIOS do sistema. Às vezes, isso é chamado de RAID 'falso', pois os recursos geralmente estão incorporados no firmware sem qualquer aceleração de hardware.
As vantagens e desvantagens do RAID baseado em BIOS são geralmente as mesmas do RAID de hardware, com a desvantagem adicional de não existir aceleração de hardware.
Em alguns casos, o firmware RAID baseado em BIOS é habilitado por padrão (por exemplo, alguns sistemas DELL). Se o RAID por software for desejado, [então] essa opção precisa ser explicitamente desabilitada no BIOS.
O RAID baseado em software é a forma mais flexível de RAID. É fácil instalar e atualizar e fornece capacidade total em todas ou em parte de quaisquer unidades disponíveis para o sistema. No BLFS, o software RAID é encontrado em mdadm-4.2.
A configuração de um dispositivo RAID é direta usando mdadm. Geralmente os dispositivos são criados
no diretório /dev
como /dev/mdx
onde x é um número inteiro.
A primeira etapa na criação de uma matriz RAID é a de usar um
software de particionamento, como o fdisk
ou o parted-3.6, para definir as
partições necessárias para a matriz. Normalmente, existirá uma
partição em cada unidade participante da matriz RAID, mas isso não
é estritamente necessário. Para este exemplo, existirão quatro
unidades de disco: /dev/sda
,
/dev/sdb
, /dev/sdc
e /dev/sdd
. Eles serão particionados como segue:
Tamanho da partição Tipo Uso
sda1: 100 MB fd Linux raid auto /boot (RAID 1) /dev/md0
sda2: 10 GB fd Linux raid auto / (RAID 1) /dev/md1
sda3: 2 GB 83 Linux swap swap
sda4 300 GB fd Linux raid auto /home (RAID 5) /dev/md2
sdb1: 100 MB fd Linux raid auto /boot (RAID 1) /dev/md0
sdb2: 10 GB fd Linux raid auto / (RAID 1) /dev/md1
sdb3: 2 GB 83 Linux swap swap
sdb4 300 GB fd Linux raid auto /home (RAID 5) /dev/md2
sdc1: 12 GB fd Linux raid auto /usr/src (RAID 0) /dev/md3
sdc2: 300 GB fd Linux raid auto /home (RAID 5) /dev/md2
sdd1: 12 GB fd Linux raid auto /usr/src (RAID 0) /dev/md3
sdd2: 300 GB fd Linux raid auto /home (RAID 5) /dev/md2
Nesse arranjo, uma partição separada de inicialização é criada como
a primeira matriz RAID pequena e um sistema de arquivos raiz como a
segunda matriz RAID, ambas espelhadas. A terceira partição é uma
matriz grande (cerca de 1 TB) para o diretório /home
. Isso fornece uma capacidade de distribuir
dados entre vários dispositivos, melhorando a velocidade de leitura
e de gravação de arquivos grandes. Por fim, uma quarta matriz é
criada que concatena duas partições em um dispositivo maior.
Todos os comandos mdadm precisam
ser executados como o(a) usuário(a) root
.
Para criar essas matrizes RAID, os comandos são:
/sbin/mdadm -Cv /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1 /sbin/mdadm -Cv /dev/md1 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2 /sbin/mdadm -Cv /dev/md3 --level=0 --raid-devices=2 /dev/sdc1 /dev/sdd1 /sbin/mdadm -Cv /dev/md2 --level=5 --raid-devices=4 \ /dev/sda4 /dev/sdb4 /dev/sdc2 /dev/sdd2
Os dispositivos criados podem ser examinados por dispositivo. Por
exemplo, para ver os detalhes de /dev/md1
, use /sbin/mdadm --detail /dev/md1
:
Version : 1.2
Creation Time : Tue Feb 7 17:08:45 2012
Raid Level : raid1
Array Size : 10484664 (10.00 GiB 10.74 GB)
Used Dev Size : 10484664 (10.00 GiB 10.74 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Tue Feb 7 23:11:53 2012
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : core2-blfs:0 (local to host core2-blfs)
UUID : fcb944a4:9054aeb2:d987d8fe:a89121f8
Events : 17
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
A partir deste ponto, as partições podem ser formatadas com o
sistema de arquivos de sua escolha (por exemplo, ext3, ext4,
xfsprogs-6.4.0, reiserfsprogs-3.6.27, etc). As partições
formatadas podem então ser montadas. O arquivo /etc/fstab
pode usar os dispositivos criados para
montagem em tempo de inicialização e a linha de comando linux em
/boot/grub/grub.cfg
pode especificar
root =/dev/md1
.
Os dispositivos de troca deveriam ser especificados no arquivo
/etc/fstab
normalmente. O núcleo
normalmente distribui os dados de troca entre vários arquivos de
troca e não deveria fazer parte de uma matriz RAID.
Para mais opções e detalhes de gerenciamento de dispositivos RAID,
consulte man mdadm
.
Detalhes adicionais para monitorar matrizes RAID e para lidar com problemas podem ser encontrados no Linux RAID Wiki.