Escolha primeiro a pilha de multipathing correta.
No SUSE Linux Enterprise Server 15, o Device Mapper Multipath (DM-Multipath) é a opção padrão para armazenamento SCSI e DASD apresentado por meio de múltiplos caminhos. Ele combina caminhos correspondentes em um único dispositivo de bloco lógico, monitora a integridade dos caminhos e pode realizar failover entre grupos de caminhos. Ele protege a conexão com um volume de armazenamento; porém, não protege contra falhas no volume, perda de dados do controlador ou sistema de arquivos corrompido.
O NVMe usa um padrão diferente: o SLES 15 habilita o multipathing NVMe nativo no kernel. Para NVMe sobre Fabrics, confirme se o multipathing NVMe nativo é a pilha pretendida para o seu subsistema antes de seguir um procedimento DM-Multipath. A SUSE recomenda o multipathing NVMe nativo e afirma que o uso de DM-Multipath para NVMe não é recomendado. Consulte o guia de multipathing do SLES 15 SP7 e o guia de NVMe sobre Fabrics da SUSE .
Antes de alterar o host
- Confirme se o array de armazenamento, o HBA ou o transporte de rede e a versão do SLES são compatíveis entre si. Siga as configurações de multipathing do Linux do fornecedor do array, caso elas sejam diferentes dos padrões genéricos.
- Solicite ao administrador de armazenamento que apresente o LUN ao host através das estruturas de rede pretendidas e confirme o zoneamento e o mascaramento do LUN.
- Registre o layout atual de inicialização e armazenamento. Identifique se o sistema de arquivos raiz, a partição de swap ou um volume físico LVM está em um armazenamento SAN.
- Não monte, formate, adicione ao LVM ou grave em cada dispositivo de caminho individual. O mesmo LUN deve ser usado somente através de seu mapa de múltiplos caminhos; usar os caminhos brutos ao mesmo tempo pode corromper os dados.
- Configure o acesso via console ou fora de banda antes de alterar a configuração de inicialização de uma SAN. Uma incompatibilidade entre o sistema em execução e o initramfs pode deixar o host em modo de emergência.
1. Confirme se o Linux reconhece os caminhos de armazenamento.
Primeiro, confirme se o HBA ou o transporte iSCSI está conectado e se o SLES reconhece os dispositivos de bloco esperados. Para armazenamento SCSI, inspecione os dispositivos e seus identificadores:
sudo lsblk -o NAME,TYPE,SIZE,MODEL,SERIAL
Este inventário confirma se os dispositivos de bloco do tamanho de LUN esperados estão visíveis. Nesta etapa, não assuma que nomes de dispositivos separados comprovem volumes de armazenamento separados: as próximas etapas verificam seus WWIDs e agrupam caminhos correspondentes.
Se os caminhos esperados estiverem ausentes, pare aqui e resolva primeiro o problema de descoberta. Verifique a visibilidade do HBA, as sessões iSCSI ou o login do Fibre Channel, o zoneamento SAN, o mascaramento de LUN e o procedimento de reescaneamento do fornecedor do armazenamento. O multipath não pode criar caminhos que a camada de transporte não exponha.
2. Instale e inicie o serviço multipath.
Instale o pacote SUSE, caso ainda não esteja presente, e em seguida habilite o daemon para que os mapas sejam montados na inicialização:
sudo zypper install multipath-tools
sudo systemctl enable --now multipathd
sudo systemctl status multipathd
O multipath-toolspacote fornece as ferramentas de linha de comando multipath e o multipathdserviço. A SUSE recomenda manter o serviço habilitado e em execução em sistemas com hardware multipath; depender apenas da ativação de sockets do systemd pode deixar os mapeamentos não definidos durante a inicialização. Assim que o daemon estiver ativo, compare os WWIDs e as identidades de caminho:
sudo multipathd show paths format "%i %d %w %s"
sudo multipath -ll
Os caminhos para o mesmo LUN devem reportar o mesmo WWID. WWIDs diferentes representam dispositivos diferentes e não devem ser mesclados em um único mapa.
Para muitos arrays, as configurações padrão de hardware integradas são suficientes. Não crie um arquivo de configuração extenso apenas para ativar o multipathing.
3. Adicione apenas as configurações de sobreposição necessárias.
Utilize /etc/multipath.confapenas quando tiver um requisito concreto, como um alias amigável estável ou uma configuração definida pelo fornecedor. As ferramentas de múltiplos caminhos identificam os caminhos pelo WWID; um alias de mapa é um nome separado e configurável. Um alias por dispositivo pode ser configurado da seguinte forma:
multipaths {
multipath {
wwid 3600EXAMPLE_REPLACE_WITH_THE_REAL_WWID
alias appdata01
}
}
Substitua o WWID de exemplo pelo identificador exato relatado para o LUN. Não copie o marcador de posição nem crie uma regra específica para o fornecedor/produto. A SUSE recomenda manter a configuração mínima, e o fornecedor do armazenamento deve fornecer quaisquer ajustes específicos do array. As propriedades de dispositivo integradas podem ter precedência sobre os valores genéricos nesta defaultsseção; portanto, um valor padrão genérico pode não alterar o comportamento de um array específico.
Se você precisar de um modelo de referência completo, a SUSE documenta o multipath -Tgerador. Por exemplo, um shell root pode salvá-lo com o comando `sudo apt-get save` sudo sh -c 'multipath -T > /etc/multipath.conf'. Esse modelo contém muitas diretivas; revise-o e mantenha apenas as configurações que você pretende gerenciar.
4. Teste e aplique a configuração
Antes de alterar os mapas em tempo real, peça ao multipath para mostrar a topologia que seria criada com as configurações propostas:
sudo multipath -d -v2
Revise o WWID e o agrupamento de caminhos antes de prosseguir. Esta simulação mostra os mapas propostos, mas não exibe todos os mapas que podem ser removidos ou descartados. Se o daemon já estiver em execução, aplique a configuração por meio do daemon em vez de usar o comando multipath independente para aplicar novas configurações.
sudo multipathd reconfigure
Em seguida, inspecione o resultado em tempo real com sudo multipath -ll`ls -l` ou `ls -l` sudo multipathd show topology. O guia do SUSE observa que essas visualizações normalmente mostram a mesma topologia; uma lê o estado do kernel e a outra o estado do daemon.
5. Mantenha o initramfs sincronizado
Após alterar /etc/multipath.confos WWIDs ou arquivos de vinculação, a configuração relacionada ou as regras udev que afetam a identificação do dispositivo, reconstrua o initramfs:
sudo dracut -f
O SUSE exige que o sistema inicializado e o initramfs se comportem de maneira consistente em relação ao multipathing. Isso é especialmente importante quando o sistema de arquivos raiz está em um dispositivo SAN multipath. Antes de reiniciar um host inicializado a partir de um SAN, verifique se o mapa pretendido está visível e se a configuração inclui o suporte de armazenamento necessário. Se estiver reconstruindo o initramfs a partir de um ambiente de recuperação ou após inicializar com o multipath desativado, siga dracut --add multipatho --omit multipathprocedimento explícito do SUSE em vez de presumir que a detecção automática corresponderá à inicialização normal.
6. Verifique o mapa antes de usá-lo.
Um mapa íntegro deve exibir o WWID esperado, a identidade do fornecedor/produto, os grupos de caminhos e os caminhos individuais. Nas colunas de status do caminho, activeindica o estado do caminho do kernel, readyindica um caminho multipath íntegro e runningrepresenta o estado do dispositivo SCSI. Arrays com controladores ativos/passivos também podem exibir caminhos passivos como ghost; interprete esse estado usando a política de caminho do array em vez de tratá-lo automaticamente como uma falha.
Use o mapa de múltiplos caminhos ou uma referência persistente por ID na configuração de armazenamento posterior. Não coloque sistemas de arquivos, LVM ou dados de aplicativos em um /dev/sdXcaminho individual. Uma referência estável pode ser baseada no WWID do mapa /dev/mapperou no /dev/disk/by-id/dm-uuid-mpath-WWIDlink correspondente. Evite presumir que um alias, como `<nome_do_alias>`, mpathapermanecerá atribuído a menos que você o configure deliberadamente.
Referência rápida
| Meta | Comando ou arquivo | O que confirmar |
| Listar mapas e caminhos de múltiplos caminhos | sudo multipath -ll | WWID esperado e todos os caminhos pretendidos |
| Inspecionar identificadores de caminho | sudo multipathd show paths format "%i %d %w %s" | Os caminhos para um mesmo LUN compartilham um mesmo WWID. |
| Verificar estado do daemon | sudo systemctl status multipathd | O serviço está ativo e habilitado. |
| Pré-visualização dos mapas propostos | sudo multipath -d -v2 | Os dispositivos corretos são agrupados antes da aplicação das alterações. |
| Recarregar configuração do daemon | sudo multipathd reconfigure | A topologia em tempo real reflete a configuração pretendida. |
| Sincronizar configuração de inicialização | sudo dracut -f | Executar após alterações relevantes de multipath ou identificação de dispositivo |
Solução de problemas quando um mapa está ausente ou corrompido.
- Nenhum caminho é exibido: confirme o login de transporte, a descoberta de HBA, o zoneamento, a máscara de LUN e a descoberta de dispositivos do kernel antes de editar as regras de multipath.
- Um LUN aparece como discos separados: compare os WWIDs. Se forem diferentes, confirme se o armazenamento apresentou o mesmo LUN pretendido em cada caminho. Se coincidirem, mas nenhum mapeamento aparecer, verifique o status do daemon e a política de seleção de dispositivo.
- Um dos caminhos está com defeito ou offline: verifique o cabo ou a malha de rede, a porta HBA, a porta do switch, o controlador de destino e os logs de eventos do array. Não ajuste os temporizadores de polling ou de falha sem a orientação do fornecedor do armazenamento.
- O host entra em modo de emergência após uma alteração de inicialização: investigue a seleção inconsistente de multipath e as referências de dispositivo e, em seguida, use o procedimento de recuperação do SUSE para o dispositivo raiz e o initramfs.
- A E/S fica paralisada quando todos os caminhos falham: a E/S em fila pode manter os aplicativos em espera. Trate a política de enfileiramento como uma decisão operacional em conjunto com os responsáveis pelo armazenamento e pelos aplicativos; alterá-la pode transformar gravações em espera em erros de E/S relatados.
Não teste o failover desconectando um caminho de produção sem um plano de manutenção e um procedimento aprovado pelo fornecedor. Confirme a recuperação por meio de monitoramento compatível e uma janela de teste controlada. Para configurações padrão e etapas de recuperação específicas do array, utilize a documentação atual do fornecedor do hardware juntamente com a referência de configuração, verificação e solução de problemas de multipath da SUSE .