AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1782437
Accepted
Nykau
Nykau
Asked: 2023-05-05 02:50:16 +0800 CST2023-05-05 02:50:16 +0800 CST 2023-05-05 02:50:16 +0800 CST

Gerenciando dispositivo raid6 com marcapasso

  • 772

Estou configurando 4 hosts, cada um exportando um dispositivo de armazenamento local iscsicom target. Todos os outros hosts o importam de forma que cada host tenha acesso simultâneo a todos os 4 dispositivos de armazenamento. Criei um LVMgrupo de volume compartilhado que inclui todos esses 4 iscsidispositivos. Neste grupo de volumes, criei 4 volumes lógicos, cada um com um dos iscsidispositivos importados. Por fim, uso o mecanismo de sincronização LVMcompartilhada VG, usando lvmlockdedlm para garantir que apenas um host possa usar esses volumes lógicos por vez. Por fim, construí um raid6array em cima desses 4 volumes lógicos, para que a princípio eu possa ter até 2 hosts inativos sem interromper o serviço de armazenamento.

Eu gerencio tudo usando pacemaker, desde a exportação iscside volumes targetaté a construção da raid6matriz. Até agora, tudo funciona perfeitamente, exceto gerenciar cenários em que 1 ou 2 nós estão inativos; os dados estão seguros, mas como defino restrições para iniciar a raid6matriz depois que os recursos de 4 volumes lógicos são iniciados, pacemakerdesativa a matriz assim que pelo menos 1 host fica offline. Eu gostaria pacemakerde continuar o serviço até a perda de 2 hosts.

Para isso, eu precisaria de restrições de ordem (e colocation) que habilitassem o raid6array se e somente se pelo menos 2 desses volumes lógicos estivessem online. Melhor ainda: habilite o raid6array se e somente se no máximo 2 volumes lógicos não puderem ser colocados online, por qualquer motivo. Infelizmente, pacemakerpermite apenas que conjuntos de recursos predecessores em ordem e restrições de colocação (ou seja, o recurso ou conjunto de recursos que deve iniciar primeiro) sejam considerados como iniciados se todos os recursos do conjunto forem iniciados ( require-all=true) ou se pelo menos um for iniciado ( require-all=false) , mas não se pelo menos dois forem iniciados ou no máximo dois estiverem ausentes.

Como solução alternativa, considero criar 11 raid6recursos, um para cada cenário utilizável possível, ou seja, um para cada cenário possível em que faltam no máximo 2 dispositivos lógicos:

  • LVs1 e 2 estão disponíveis
  • LVs1 e 3 estão disponíveis
  • LVs1 e 4 estão disponíveis
  • LVs2 e 3 estão disponíveis
  • LVs2 e 4 estão disponíveis
  • LVs3 e 4 estão disponíveis
  • LVs1, 2 e 3 estão disponíveis
  • LVs1, 2 e 4 estão disponíveis
  • LVs1, 3 e 4 estão disponíveis
  • LVs2, 3 e 4 estão disponíveis
  • LVs1, 2, 3 e 4 estão disponíveis

Eu criaria raid6recursos com restrições de ordem e colocação, cada uma correspondendo a uma linha na enumeração acima. Em seguida, preciso de uma restrição adicional que exclua cada um desses raid6recursos mutuamente, de modo que, a qualquer momento, o array real seja montado apenas uma vez.

Então aqui vão minhas 3 perguntas:

  1. Existe alguma maneira de expressar "no máximo 2 ausentes" no predecessor definido na ordem e na restrição de colocação ou, se não, existe alguma construção de restrição semelhante "pelo menos 2 ativos"?
  2. Se a resposta da questão 1 for não, existe alguma maneira de expressar a exclusão mútua entre um par ou recursos, ou dentro de um conjunto de recursos, preferencialmente com configurações de prioridade que favoreçam as variantes de recursos que usam o maior número de dispositivos?
  3. Existe alguma outra solução alternativa que qualquer assistente de marca-passo possa sugerir?
software-raid
  • 1 1 respostas
  • 21 Views

1 respostas

  • Voted
  1. Best Answer
    Nykau
    2023-05-05T22:42:14+08:002023-05-05T22:42:14+08:00

    Acontece que o agente ocf:heartbeat:mdraidque uso é perfeitamente capaz de montar um dispositivo com volumes ausentes. Portanto criei 11 recursos fictícios seguindo o esquema descrito na minha pergunta, ou seja:

    • Aquele que começa após LVs1 e 2 recursos.
    • Aquele que começa após LVs1 e 3 recursos.
    • Aquele que começa após LVs1 e 4 recursos.
    • etc.

    E fiz o recurso raid para começar depois de todos esses recursos fictícios, com require-all=falseo conjunto de recursos fictício definido na restrição.

    O próximo problema é o colocation para LVs1, 2, 3 e 4 adicionar implicitamente uma restrição de ordem de LV 1para LV 2, para LV 2para LV 3, etc., o que significa que se por qualquer motivo LV 3for interrompido, LV 4também será interrompido; mesmo que nada mais o bloqueie. Resolvi removendo a restrição de colocation entre todos os LVrecursos, adicionando outro recurso fictício e criando 4 restrições de colocation entre esse recurso fictício e cada arquivo LV.

    Este problema parece estar resolvido. Ainda há mais para resolver, mas estão fora do escopo desta questão.

    • 1

relate perguntas

  • Meu Software RAID 5 tem 4 HDDs de 3TB, agora dois deles têm setores defeituosos. Qual é uma boa maneira de substituí-los?

  • O que exatamente é a consistência de paridade Verifique se o Synology NAS é executado quando um novo disco é adicionado e por que normalmente leva muito tempo para ser concluído?

  • Recuperação do pool de armazenamento do Windows 10 (Software RAID 5)

  • Desvantagens de pequenos pools ZFS versus grandes

  • Uma unidade RAID 1 de software mdadm pode ser acessada independentemente da outra unidade na matriz?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve