Os discos podem ser acessados independentemente em um volume RAID-1?

0

Eu quero criar uma matriz RAID-1 com o Debian 6. Esta matriz conterá 6 discos, 3 para o SO e 3 espelhos.

Eu usei este RAID antes, mas no Windows, e talvez eu não tenha feito nada bom, porque eu podia ver três discos diferentes, mas apenas um para o sistema operacional. Existe uma maneira que o sistema operacional verá os 3 discos como um? ou eles serão como unidades diferentes?

    
por jpganz18 25.01.2013 / 17:24

2 respostas

2

Pelo que entendi você criou 3 raid arrays, cada um com um espelho anexado. Você pode montar cada "metade" dos pares como discos normais, mas não é aconselhável enquanto a matriz estiver em execução e ambas as "metades" estiverem ativas, pois isso desincronizará as cópias e quebrará a matriz. Mas no caso de uma falha eles estão lá separadamente, e também se você usá-lo para diretórios como /boot qualquer processo que não entenda raid nativamente irá apenas vê-los como cópias idênticas, eu uso uma pequena partição com raid-1 com muitas unidades para garantir que a máquina permaneça inicializável, independentemente da unidade do SO que falhe.

Embora isso além da redundância básica de hardware, isso não traz benefícios e requer manutenção extra (3 matrizes para cuidar) e as unidades são isoladas.

Se você estiver fazendo isso por motivos de desempenho e quiser a maioria das IOPS (por exemplo, para um servidor de banco de dados), será melhor usar raid 1+0 . Isso seria basicamente uma faixa de 3 unidades (aproximadamente 3 vezes a velocidade de leitura / gravação de um único disco) e um espelho dessa matriz com outras 3 unidades. Os drivers MD atuais suportam isso nativamente e você não precisa gerenciar os arrays raid-1 e raid-0 separadamente, mas crie um único dispositivo RAID:

mdadm --create /dev/md0 -v --raid-devices=6 --level=raid10 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1

Isso significa que você obtém um tamanho total de matriz da soma de 3 discos. O problema com esta configuração é que a falha de 2 unidades pode destruir todos os seus dados se for o mesmo espelho da unidade "metades" nas 2 cópias. As unidades são provavelmente da mesma idade, o que significa que elas começam a falhar ao mesmo tempo. E o estresse de uma reconstrução no outro "meio" aumenta significativamente a chance de falha:

Com a sua configuração, a probabilidade de sobrevivência da perda de dados é semelhante à do raid-1 + 0:

1 drive fail  = 100%
2 drives fail =  80%
3 drives fail =  40%
4 drives fail =   0%

Se você estiver satisfeito com IOPS / velocidade equilibrada e capacidade de armazenamento com 6 discos, terá uma melhor resiliência se criar um ataque 6 de todos os dispositivos:

Probability of data loss in a 3 year span:
RAID5  - 0.0125 % (1 in 80)
RAID6  - 0.0005 % (1 in 1982)

Mas como você precisa de uma partição de inicialização (o carregador de inicialização não pode ser distribuído entre os discos) você precisa de 2 matrizes, uma pequena permite 256 MB e o resto juntos, você deve criar este esquema com fdisk ou cfdisk e certificar-se de que os bootable sinalizadores são definidos para o pequeno array. Você pode copiar a tabela de partições de um disco para outro com sfdisk se as unidades forem exatamente do mesmo tamanho:

sfdisk -d /dev/sda | sfdisk /dev/sdb

Em seguida, crie os dois arrays:

mdadm --create /dev/md0 -v --raid-devices=6 --level=mirror /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
mdadm --create /dev/md1 -v --raid-devices=6 --level=raid6 /dev/sda2 /dev/sdb2 /dev/sdc3 /dev/sdd4 /dev/sde5 /dev/sdf6

Os instaladores do sistema operacional podem cuidar disso para você, mas certifique-se de marcar a primeira matriz a ser usada para /boot

Com isso, você ganha de volta 1 unidade de armazenamento (capacidade total = capacidade de unidade * 4) A matriz pode sobreviver à falha de duas unidades e, se elas não forem ao mesmo tempo, você terá tempo e chances matemáticas suficientes para reconstruir essa matriz.

Uma coisa a ter em mente é a qualidade do consumidor atual (taxas de erro de leitura de ~ 10 ^ 14 / erro) e tamanhos de unidade (> = 2Tb) você deve nunca usar raid-5 dados críticos, pois a chance de reconstruir esse array em caso de falha é menor que 50%.

    
por 25.01.2013 / 23:06
1

Algo aqui não faz sentido.

Uma matriz RAID1 consiste em 2 ou mais discos, todos com o mesmo conteúdo. Então, se você criar um array RAID1 de 6 discos, terá cinco espelhos, não três.

Você pode fazer arrays RAID1 três , cada um consistindo em dois discos. Então você terá três diferentes md dispositivos para acessar. Isso não ocultará os discos /dev/sd[a-f] , mas você geralmente não acessará os dados diretamente quando fizerem parte de uma matriz RAID. (Você ainda os acessa diretamente para coisas como smartctl .)

Você também pode criar um array RAID10 de 6 discos, que forneceria um único dispositivo md para todos os seis discos e teria efetivamente três espelhos. Também seria mais rápido.

O Instalador Debian pode configurar todos eles para você (tenho certeza que ele sabe sobre o RAID10, caso contrário, você terá que alternar para o alt-f2 e usar o mdadm diretamente para criar o RAID10).

Normalmente, você executa o RAID de software do Linux em partições, não em discos inteiros. Além disso, se você usar um nível RAID diferente de 1, recomendo fazer duas partições: uma pequena de 256MB em cada disco, RAID1, para /boot e uma segunda partição contendo o restante do disco, em qualquer nível de RAID gostaria. O GRUB2 tem um suporte muito bom para o RAID1, não tanto para qualquer outra coisa. Portanto, /boot geralmente é melhor como RAID1.

Note que se você tiver um RAID on-board no BIOS, provavelmente é um fakeraid, e você deve usar o software Linux RAID - pelo menos se esta for uma nova instalação e a máquina for Linux-only. Você deve configurar o BIOS para ser executado no modo AHCI, não no modo RAID.

(Se você gastou $ 400 + em um controlador RAID de hardware real, verifique sua documentação para saber como configurá-lo. Ele provavelmente ocultará os discos por trás dele e apenas exporá os volumes exportados.)

    
por 25.01.2013 / 18:10