É sensato usar várias camadas LVM com mdraid

5

Eu estou construindo um servidor doméstico que será usado para um punhado de coisas diferentes. Eu realmente gostaria de experimentar uma matriz BTRFS raid 1 para um grande armazenamento de dados, mas estou usando o CentOS 7 (kernel antigo, embora seja considerado estável por 3.10), e tenho algumas preocupações gerais sobre sua estabilidade e minha capacidade de corrija os problemas se eles surgirem, então decidi continuar com o ext4 no MD RAID 1 (por enquanto). No entanto, eu gostaria de mantê-lo flexível o suficiente para talvez transição mais tarde. Parece-me que a maneira mais simples de fazer isso seria ter o MD executando em cima de um volume lógico por disco para que eu possa ajustar mais facilmente o tamanho geral da invasão ao longo do tempo e, em seguida, colocar volumes lógicos adicionais para gerenciar o uso do disco por várias coisas. (Eu suponho que eu poderia usar LVM raid, mas estou inclinado contra ele por razões listadas aqui: RAIDing com o LVM vs MDRAID )

Algo parecido com isto, por exemplo:

| /share | /userX | /userY | /media |
 -----------------------------------
|  LVM1  |      LVM2       |  LVM3  |
 -----------------------------------
|           RAID 1 Volume           |
 -----------------------------------
|    LVM volume   |    LVM volume   |
 -----------------------------------
|      Disk 1     |     Disk 2      |

Isso me permitiria gerenciar de maneira flexível o uso do disco no nível superior, bem como gerenciar o tamanho total do RAID, para que eu pudesse, teoricamente, começar a usar mais espaço em disco para outro sistema, não?

Tenho a sensação de que estou sentindo falta de alguma coisa. Penalidades por desempenho? Muito complexo? Além disso, esta pergunta me faz duvidar da minha abordagem, embora esse cartaz parece estar fazendo algo um pouco diferente. Não é como se eu fosse armazenar códigos nucleares aqui, e eu terei backups externos de coisas importantes, mas eu gostaria de evitar me atirar nos pés com uma solução que poderia levar a problemas.

    
por GP Hoit 05.07.2015 / 15:13

1 resposta

7

A maioria dos sistemas init provavelmente não espera essa situação, então eles não estarão preparados para montar primeiro o LVM, depois o MD, depois o LVM novamente.

Se você colocar o LVM abaixo do MD, você precisa ter muito cuidado. O MD deve ser usado com discos físicos, mas com os LVs como membros do RAID, você pode facilmente acabar com dois membros compartilhando os mesmos discos. Isto é, se estiver usando o MD como uma camada autônoma, não a funcionalidade raid do próprio LVM, no último caso, o próprio LVM se certifica disso.

Se os membros do MD acabarem compartilhando discos, uma única falha no disco acabará matando mais de um dos seus membros. Basicamente, você estaria executando um RAID inútil sem redundância real.

A questão é: qual é o objetivo de tal configuração? De seu gráfico sozinho, parece óbvio que a camada adicional de LVM é supérflua. Basta usar os discos diretamente.

A maioria das pessoas que deseja alterar a configuração do RAID1 para algo totalmente diferente apenas lança um disco e cria o novo sistema nele. Você perde temporariamente a redundância para este processo, mas deve sempre ter backups, certo?

A maioria das outras vantagens no LVM não se aplica ao RAID. Você não precisa do LVM abaixo do RAID para poder aumentar ou diminuir o RAID. MD pode fazer isso bem o suficiente por conta própria.

    
por 05.07.2015 / 16:04