| Red Hat Enterprise Linux 4: Guia de Instalação para as Arquiteturas IBM® S/390® e IBM® eServer™ zSeries® | ||
|---|---|---|
| Anterior | Apêndice F. Informações Adicionais para Usuários de Sistemas S/390 e zSeries | Próxima |
Similar a outras ferramentas contidas no pacote raidtools, o comando mdadm pode ser usado para executar todas as funções necessárias relacionadas à adminsitração de conjuntos multi-dispositivos. Nesta seção mostramos como o mdadm pode ser usado para:
Criar um dispositivo RAID
Criar um dispositivo multi-localidade
Para criar um dispositivo RAID, edite o arquivo /etc/mdadm.conf para definir valores DEVICE e ARRAY apropriados:
DEVICE /dev/sd[abcd]1 ARRAY /dev/md0 devices=/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1 |
Neste exemplo, a linha DEVICE está usando o tradicional globbing do nome de arquivo (consulte a página man glob(7) para mais informações) para definir os dispositivos SCSI seguintes:
/dev/sda1
/dev/sdb1
/dev/sdc1
/dev/sdd1
A linha ARRAY define um dispositivo RAID (/dev/md0) composto pelos dispositivos SCSI definidos na linha DEVICE.
Antes de criar ou usar qualquer dispositivo RAID, o arquivo /proc/mdstat não exibe nenhum dispositivo RAID ativo:
Personalities : read_ahead not set Event: 0 unused devices: <none> |
Em seguida, use a configuração acima e o comando mdadm para criar um conjunto RAID 0:
mdadm -C /dev/md0 --level=raid0 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 \ /dev/sdd1 Continue creating array? yes mdadm: array /dev/md0 started. |
Uma vez criado, o dispositivo RAID pode ser questionado a qualquer momento para prover informações de status. O exemplo seguinte exibe o output do comando mdadm --detail /dev/md0:
/dev/md0:
Version : 00.90.00
Creation Time : Mon Mar 1 13:49:10 2004
Raid Level : raid0
Array Size : 15621632 (14.90 GiB 15.100 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Mon Mar 1 13:49:10 2004
State : dirty, no-errors
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Chunk Size : 64K
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
2 8 33 2 active sync /dev/sdc1
3 8 49 3 active sync /dev/sdd1
UUID : 25c0f2a1:e882dfc0:c0fe135e:6940d932
Events : 0.1 |
Além de criar conjuntos RAID, o mdadm também pode ser usado para tirar proveito do hardware suportando mais de uma localidade I/O para LUNs (drives de disco) SCSI individuais. O objetivo do armazenamento multi-localidade é a disponibilidade contínua de dados no caso de falha de hardware ou saturação de uma localidade. Como essa configuração contém diversas localidades (cada uma atuando como um controlador virtual independente) acessando um LUN (drive de disco) SCSI comum, o kernel do Linux detecta cada drive compartilhado uma vez "através" de cada localidade. Em outras palavras, o LUN (drive de disco) SCSI conhecido como /dev/sda também pode estar acessível como /dev/sdb, /dev/sdc e assim por diante, dependendo da configuração específica.
Para oferecer um único dispositivo que possa permanecer acessível se uma localidade I/O falhar ou tornar-se saturada, o mdadm inclui um parâmetro adicional para sua opção ––level. Este parâmetro — multipath — direciona a camada md no kernel do Linux a re-rotear pedidos I/O de uma localidade para outra, no caso de falha de uma localidade I/O.
Para criar um dispositivo multi-localidade, edite o arquivo /etc/mdadm.conf para definir os valores das linhas DEVICE e ARRAY que refletem a configuração de seu hardware.
![]() | Nota |
|---|---|
Ao contrário do exemplo RAID anterior (no qual cada dispositivo especificado em /etc/mdadm.conf deve representar drives de disco físicos diferentes), cada dispositivo deste arquivo refere ao mesmo drive de disco compartilhado. |
O comando usado para a criação de um dispositivo multi-localidade é similar àquele usado para criar um dispositivo RAID; a diferença é a substituição do parâmetro de um nível do RAID pelo parâmetro multipath.
mdadm -C /dev/md0 --level=multipath --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 Continue creating array? yes mdadm: array /dev/md0 started. |
Devido à extensão da linha do comando mdadm, este foi dividido em duas linhas.
Neste exemplo, o hardware consiste de um LUN SCSI apresentado como quatro dispositivos SCSI separados, cada um acessando o mesmo armazenamento por uma localidade diferente. Uma vez criado o dispositivo multi-localidade /dev/md0, todas as operações I/O que referenciam /dev/md0 são direcionadas para /dev/sda1, /dev/sdb1, /dev/sdc1 ou /dev/sdd1 (dependendo de qual localidade estiver ativa e operacional no momento).
A configuração do /dev/md0 pode ser examinada em mais detalhes usando o comando mdadm --detail /dev/md0 para verificar se é , de fato, um dispositivo multi-localidade:
/dev/md0:
Version : 00.90.00
Creation Time : Tue Mar 2 10:56:37 2004
Raid Level : multipath
Array Size : 3905408 (3.72 GiB 3.100 GB)
Raid Devices : 1
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Mar 2 10:56:37 2004
State : dirty, no-errors
Active Devices : 1
Working Devices : 4
Failed Devices : 0
Spare Devices : 3
Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1
1 8 17 1 spare /dev/sdb1
2 8 33 2 spare /dev/sdc1
3 8 1 3 spare /dev/sda1
UUID : 4b564608:fa01c716:550bd8ff:735d92dc
Events : 0.1 |
Uma outra característica do mdadm é a habilidade em forçar um dispositivo (seja um membro de um conjunto RAID ou uma localidade numa configuração multi-localidade) a ser removido de uma configuração operante. No exemplo seguinte, o /dev/sda1 é marcado como falho, então é removido e finalmente adicionado de volta à configuração. Numa configuração multi-localidade, estas ações não impactariam nenhuma atividade I/O ocorrendo no momento:
# mdadm /dev/md0 -f /dev/sda1 mdadm: set /dev/sda1 faulty in /dev/md0 # mdadm /dev/md0 -r /dev/sda1 mdadm: hot removed /dev/sda1 # mdadm /dev/md0 -a /dev/sda1 mdadm: hot added /dev/sda1 # |