Adicionando unidades a uma matriz RAID 10


11

Como eu aumentaria uma matriz RAID10 usando o mdadm?

Obviamente, eu precisaria adicionar 2 unidades por vez, ou teria que ser 4 unidades?

Eu sinto que é apenas uma má ideia.

Ou seria mais sensato optar apenas pelo RAID5?


Normalmente, se alguém está me perguntando se precisa de RAID 10, isso significa que não precisa. Por que não o Raid 5 ou o Raid 6?
surfasb

Eu estava esperando para um melhor desempenho de gravação do que RAID5 .. Mas eu acho que a falta de regras de flexibilidade que fora ..
stuartc

Em geral, o RAID 5/6 fornecerá melhor desempenho de gravação que o RAID 10/01. Porque você está distribuindo gravações em todas as unidades versus apenas metade das unidades.
Surfasb

6
@surfasb "RAID 5/6 irá proporcionar um melhor desempenho de gravação de RAID 10" não, não vai, porque distribuir as gravações durante mais unidades é mais que-pesado pela pena de gravação de RAID5 / 6

@ JackDouglas: Muito boa informação.
surfasb

Respostas:


5

A última vez que verifiquei, o mdadm não permite --grow raid10. Olhei para a página de manual do mdadm agora e ela ainda diz: Opções de crescimento atualmente suportadas, incluindo alteração do tamanho ativo dos dispositivos componentes e alteração do número de dispositivos ativos nos níveis RAID 1/4/5/6, alteração do nível RAID entre 1, 5, e 6, alterando o tamanho e o layout dos fragmentos para RAID5 e RAID5, além de adicionar ou remover um bitmap com intenção de gravação.


Obrigado! Apreciado, também outra boa dica isso não vai acontecer rapidamente tanto é que eu não posso encontrar um cartão de RAID hardware que faz isso quer .. RAID5 é ..
stuartc

2
O RAID5 pode ser extremamente lento em algumas cargas de trabalho. O que você pretende fazer?
Stingray

Principalmente apenas armazenando mídia, mas também montando um compartilhamento NFS para edição de fotos, assim esperávamos boas velocidades de gravação e leituras.
22411 stuartc

16

Para aumentar o RAID 10, você precisa do mdadm na versão min. 3.3 e versão do kernel min 3.5. Você também precisa de um número par de discos - os não emparelhados podem funcionar apenas como sobressalentes ou, eventualmente, para crescer no modo degradado (não testado).

Aqui está o exemplo do aumento do RAID 10 de 4 unidades para 6 usando o mdadm 3.3-2ubuntu2 @ Linux 4.2.0-10-generic. Testado com os dados ext4, o sistema de arquivos foi desmontado, o ext4 foi estendido após o crescimento do RAID sem nenhum problema.

~$ cat /proc/mdstat
md126 : active raid10 sdd1[1] sdc1[0] sdf1[3] sde1[2]
976428032 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
bitmap: 0/8 pages [0KB], 65536KB chunk

~$ sudo mdadm /dev/md126 --add /dev/sdi1 /dev/sdj1
mdadm: added /dev/sdi1
mdadm: added /dev/sdj1
~$ sudo mdadm --grow /dev/md126 --raid-devices=6

~$ cat /proc/mdstat
md126 : active raid10 sdj1[5] sdi1[4] sdd1[1] sdc1[0] sdf1[3] sde1[2]
1464642048 blocks super 1.2 512K chunks 2 near-copies [6/6] [UUUUUU]
bitmap: 0/6 pages [0KB], 131072KB chunk

1
Essa deve ser a resposta aceita hoje em dia. Eu já fiz isso sozinho.
Kyle

Como acabei de me descobrir da maneira mais difícil, isso só se aplica a layouts de raid 10, near2. raid10, far2 ainda não pode ser cultivado. veja ie aqui: wiki.archlinux.org/index.php/RAID#Nested_RAID_levels
gabtub

9

Sei que isso tem mais de um ano, mas alguém pode achar isso útil ...

Você pode expandir um array RAID 10, mas não como está esperando. Você teria que aninhar vários níveis de ataque. Isso pode ser feito com o mdadm em 2 unidades no RAID 10, com um desempenho bastante bom dependendo do layout, mas você teria que criar várias matrizes de 2 discos RAID 10 e anexá-las ao nó lógico. Em seguida, para expandir, adicione um pouco mais e divirta-se. Se esse for o seu caso de uso (precisando expandir muito), é aconselhável usar uma matriz de paridade, que pode ser aumentada.

Essas são as limitações que você obtém com o RAID 10, mantendo um melhor desempenho geral de leitura / gravação. E um esclarecimento, o raid 5/6 absolutamente não "Em geral, fornece melhor desempenho de gravação ...". O Raid 5/6 tem seus próprios prós / contras, assim como o 10, mas o desempenho de gravação não é um pro para o raid 5/6.

Além disso, você não especificou o tamanho de suas unidades, mas tenha cuidado com o ataque 5 em novas unidades grandes. Embora se você for cuidadoso, poderá se recuperar de um erro de leitura irrecuperável, o risco de inatividade e a possibilidade de não conseguir se recuperar.

--edit para adicionar informações - Use ferramentas como hdparm (hdparm -i) e lshw para obter os números de série junto com o nome do dispositivo (/ dev / sda) quando houver uma falha. Isso garantirá que você remova o dispositivo correto ao substituí-lo. Seta para cima no comentário de Travis, pois é muito correto e com um layout agradável, mas, como sempre, pesa os prós e contras de cada solução.


9

Algumas ótimas notícias do anúncio de lançamento do mdadm 3.3:

Esta é uma nova versão importante, portanto, não se surpreenda se houver alguns problemas ...

Alguns destaques são:

...

  • As matrizes RAID10 podem ser remodeladas para alterar o número de dispositivos , o tamanho do bloco ou o layout entre 'near' e 'offset'. Isso sempre mudará data_offset e falhará se não houver espaço para que o data_offset seja movido.

...

De acordo com esta resposta no U&L, você precisará pelo menos do linux 3.5 também.


3
Eu experimentei o crescimento do mdadm raid10 usando o mdadm v3.3.2 com resultados mistos. Descobri que não conseguia aumentar um raid10 que havia criado com uma versão anterior do mdadm. Um raid10 criado com a v3.3, consegui remodelar / crescer. Portanto, se você deseja aumentar um raid10 (mas não pode), pode ser uma boa ideia criar o novo raid10 usando o mdadm mais recente.
adalle

6

Sei que é mais trabalhoso e pode ficar confuso, mas você sempre pode distribuir vários espelhos.

Por exemplo, eu apenas configurei um array de 4 unidades RAID 10 e, posteriormente, quero adicionar outra matriz de 4 unidades RAID 10. Basta usar o mdadm para criar um novo array RAID 10 nas novas unidades. Você pode criar outra matriz de ataque 0 usando os dois dispositivos de ataque existentes. No entanto, eu usaria os recursos do lvm para criar a faixa, mantendo assim mdadm configs e / dev / md devices em um estado fácil de entender. Qualquer um dos métodos funcionaria, e provavelmente há mais, mas é o que eu poderia fazer em cima da minha cabeça.


Ótima maneira de gerenciar um conjunto de dados crescente, muito mais fácil do que a maioria. A parte complicada é acompanhar quais unidades falharam e qual conjunto de espelhos. Mas sim, ótima sugestão!
Stuartc 18/10/12

3

Você não pode aumentar uma matriz RAID10, isso é verdade. Mas você pode começar com duas unidades (ao custo de nenhuma redundância neste momento) e depois adicionar mais duas. Eu usei esse método para alternar de uma matriz RAID5 com quatro unidades de disco para RAID10 com quatro unidades de disco.

Degradei o RAID5 e removi um disco da matriz. Isso me deu dois discos que eram livres para usar. Então eu criei uma matriz RAID10 com algo parecido com 'mdadm --create --level 10 / dev / md0 / dev / sda1 ausente / dev / sdc1 ausente'. Isso foi suficiente para iniciar a matriz.

Quando transferi os dados da matriz RAID5 degradada para a matriz RAID10, adicionei dois discos RAID5 à matriz RAID10 e adicionei o extra como reserva.

Provavelmente, é uma boa idéia se alguém com mais conhecimento do que eu possa falar sobre qualquer impacto no desempenho que isso possa ter causado. Mas o principal motivo da minha postagem é mostrar que é possível começar com o RAID10 e duas unidades.

Nota: leia a seguinte postagem no fórum que pergunta e responde se a ordem do disco no mdadm é importante .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.