linux espelho LVM vs. espelho MD

11

Eu acho que lembro de ter feito alguns espelhos anos atrás com o LVM, e não me lembro dessa coisa de "log". Ou talvez eu fiz o espelho com o mdadm e coloquei o LVM no topo. Deve ser isso.

  1. Para que serve o log do LVM se é apenas um espelho? O que está armazenado lá? Qual é seu propósito? Está usando "--mirrorlog core" ruim? Qual é o lado negativo? Eu não quero ter outra partição para logs se eu não precisar.

  2. Alguma recomendação sobre o uso de qualquer tecnologia? Mesmo se eu fizer o espelho com o mdadm, vou usar o LVM em cima disso. Então, nesse caso, talvez seja melhor ter toda a configuração construída com o LVM ...? Isso levaria mais ou menos um impacto no desempenho?

Os discos são para armazenar "discos" Xen domU.

Desculpe pela complexa pergunta "não-a-ponto".

Idéias, sugestões e links são bem-vindos. Obrigado!

    
por d-_-b 27.03.2010 / 08:26

5 respostas

9

Pessoalmente, eu sempre vou para o MD + LVM. É mais rápido (MD pode fazer leituras paralelas em RAID1) e requer apenas 2 discos (se você não quiser reconstruir o espelho após cada reinicialização) e o MD é projetado apenas para fazer RAID, e faz isso muito bem. Também é mais flexível.

Também fui queimado pelo LVM. Em um dos casos, a distribuição do LVM no HP-UX (não deveria acontecer com o LVM2 no Linux), e eu não podia estender o LV porque a extensão tinha que ter exatamente o mesmo número de faixas. Parece razoável, mas às vezes ...

Outra vez foi com o espelhamento (LVM2 no Linux desta vez), mas agora não me lembro se o LVM se recusou a tirar um instantâneo de um LV espelhado ou estendê-lo, negando efetivamente o benefício de ter o LVM em primeiro lugar ( nós fizemos isso no final, mas envolvemos o uso do lvconvert para frente e para trás).

    
por 27.03.2010 / 09:06
4

Quando um par espelhado é fechado abruptamente, em qualquer sistema, pode haver alguns blocos que foram gravados em um dispositivo, mas ainda não no outro. Concebivelmente, com a reordenação de caminhos de IO, existem alguns blocos que foram escritos para A, mas não B, e alguns escritos para B, mas ainda não para A.

Quando a máquina reinicia, ela precisa tornar os dispositivos consistentes. Apenas ter os dois dispositivos sozinhos não é suficiente: ele não saberia quais blocos são inconsistentes e não saberia qual versão era mais recente.

O software espelho precisa armazenar um pouco de metadados para acompanhar isso. Isso é chamado de "log de intenção de gravação".

O md normalmente armazena em algum espaço reservado dentro do próprio dispositivo , embora você também possa optar por armazená-lo em um dispositivo separado. (Esta é uma razão pela qual os espelhos md são ligeiramente menores que os dispositivos básicos.

Os espelhos de LVM só podem armazenar o log de extensão de gravação externamente, o que, como você nota, é um pouco chato para o caso típico em que você tem exatamente dois discos físicos. Eu acredito que você ainda tem a opção de armazená-lo em uma partição diferente no mesmo dispositivo físico, mas isso ainda é inconveniente.

O propósito do log mirror do LVM, como eu o entendo, é manter o controle dos blocos que foram gravados em um dispositivo, mas ainda não no outro.

    
por 18.10.2011 / 00:51
2

estes são dois conceitos diferentes:

  • O LVM é como o nome diz para o gerenciamento de volume. Pense nisso como um mecanismo para combinar vários volumes em um (sim, você pode dizer que é como o raid0), redimensioná-los, redimensionar ao vivo, criar instantâneos.
  • MD é para gerenciamento de RAID. Adicione vários dispositivos em um metadevice, torne este metadevice altamente disponível usando raid1, 5, 10, etc ...

O LVM opera em dispositivos de armazenamento, sejam eles metadevices ou dispositivos apresentados pelo controlador RAID ou apenas discos simples.

O MD opera em discos (sim, você também pode usar discos apresentados pelo controlador RAID, mas qual é o objetivo? ..

O LVM não é para tornar seu armazenamento altamente disponível. E da mesma forma o MD não é para gerenciamento de volume ...

Espero que isso ajude:)

    
por 27.03.2010 / 13:19
1

O LVM veio de outros tipos de sistemas UNIX. Eu usei no HPUX que não tinha a camada MD do Linux quando trabalhei nisso há 10 anos, não tenho certeza agora. Nessas circunstâncias, o espelhamento do LVM se torna útil em uma situação em que o RAID de hardware não está disponível.

    
por 04.07.2011 / 16:24
1

com a opção -mirrorlog espelhada e a opção -alloc anywhere, com dois discos, você obtém dois logs espelhados de 4M, um em cada disco. Estou irritado por ter que substituir a política pelo que parece ser uma situação muito comum, mas tudo bem.

O LVM no Linux não está relacionado à coisa no HP-UX ou AIX, apenas possui os mesmos comandos do userspace. O LVM no Linux usa internamente o sistema DM e, portanto, usa o mesmo código que o MD. Neste ponto, não vejo vantagem do LVM sobre o MD. Para partições que você quer rápido e não se importa com backups (por exemplo, partições swap para VMs convidadas), o LVM oferece a opção de você querer aquelas espelhadas ou não, ou se a remoção é melhor.

E é mais fácil adicionar um disco ao LVM do que ao MD.

    
por 02.01.2012 / 21:36