Configurar o serviço de MultiPath para servidores Oracle

Olá pessoal,
no post de hoje vamos falar sobre MULTIPATH! O Multipath nada mais é do que um simples recurso para implementar múltiplos caminhos para a LUN. Essa LUN é apresentada ao servidor através das controladoras do storage. Alguns recursos interessantes são possíveis através do multipath, tais como:

  • balanceamento de carga: um dos caminhos somente envia dados e outro só recebe
  • round robin
  • alta disponibilidade: stand by ou ativo ativo

Uma explicação bem técnica é feita pela Red Hat: “O Mapeador de Dispositivo Multipath (DM-Multipath) permite que você configure diversos caminhos de E/S entre os nós do servidor e matrizes de armazenamento em um único dispositivo. Estes caminhos de E/S são conexões SAN físicas que podem incluir cabos separados, opções e controladores. O Multipath agrega os caminhos de E/S, criando um novo dispositivo que consiste de caminhos agregados.” Fonte: https://access.redhat.com/documentation/pt-br/red_hat_enterprise_linux/6/html/dm_multipath/mpio_overview

Para configurar o multipath no linux precisamos executar as seguintes etapas:

[code lang="sql"]

# yum search multipathd

Loaded plugins: ulninfo =============================== Matched: multipathd ================================== 
device-mapper-multipath.x86_64 : Tools to manage multipath devices using device-mapper

De posse do nome do pacote, faremos a instalação do utilitário com o comando yum install:

[code lang="sql"]
# yum install device-mapper-multipath -y

Loaded plugins: ulninfo
Resolving Dependencies
Running transaction check
Package device-mapper-multipath.x86_64 0:0.4.9-123.el7 will be installed
Processing Dependency: kpartx = 0.4.9-123.el7 for package: device-mapper-multipath-0.4.9-123.el7.x86_64
Processing Dependency: device-mapper-multipath-libs = 0.4.9-123.el7 for package: device-mapper-multipath-0.4.9-123.el7.x86_64
Processing Dependency: libmpathcmd.so.0()(64bit) for package: device-mapper-multipath-0.4.9-123.el7.x86_64
Processing Dependency: libmpathpersist.so.0()(64bit) for package: device-mapper-multipath-0.4.9-123.el7.x86_64
Processing Dependency: libmultipath.so.0()(64bit) for package: device-mapper-multipath-0.4.9-123.el7.x86_64
Running transaction check

Package device-mapper-multipath-libs.x86_64 0:0.4.9-123.el7 will be installed
Package kpartx.x86_64 0:0.4.9-111.el7 will be updated
Package kpartx.x86_64 0:0.4.9-123.el7 will be an update
Finished Dependency Resolution
Total                                                                                                                                                                        82 kB/s | 469 kB  00:00:05

Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : device-mapper-multipath-libs-0.4.9-123.el7.x86_64                                                                                                                                        1/4

  Updating   : kpartx-0.4.9-123.el7.x86_64                                                                                                                                                              2/4

  Installing : device-mapper-multipath-0.4.9-123.el7.x86_64                                                                                                                                             3/4

  Cleanup    : kpartx-0.4.9-111.el7.x86_64                                                                                                                                                              4/4

  Verifying  : kpartx-0.4.9-123.el7.x86_64                                                                                                                                                              1/4

  Verifying  : device-mapper-multipath-libs-0.4.9-123.el7.x86_64                                                                                                                                        2/4

  Verifying  : device-mapper-multipath-0.4.9-123.el7.x86_64                                                                                                                                             3/4

  Verifying  : kpartx-0.4.9-111.el7.x86_64                                                                                                                                                              4/4
Installed:

  device-mapper-multipath.x86_64 0:0.4.9-123.el7
Dependency Installed:
  device-mapper-multipath-libs.x86_64 0:0.4.9-123.el7
Dependency Updated:
  kpartx.x86_64 0:0.4.9-123.el7
Complete!

Após instalar o pacote, vamos executar a configuração básica de failover e iniciar o multipatd no S.O com apenas um comando:

[code lang="sql"]
# mpathconf --enable --with_multipathd y

Feito isso, sua configuração está setada com os itens básicos. Para checar os status do serviço, proceda com o comando mpatchconf:

[code lang="sql"]
# mpathconf
 
multipath is enabled
find_multipaths is enabled
user_friendly_names is enabled
dm_multipath module is loaded
multipathd is running

Se precisar editar alguma configuração diretamente no arquivo multipath.conf ou adicionar alguma LUN

[code lang="sql"]
# vim /etc/multipath.conf

Para subir e parar o serviço, use o comando systemctl:

[code lang="sql"]
# systemctl enable multipathd
# systemctl restart multipathd

Por hoje é só! O objetivo desse post foi passar uma idéia básica do que é o multipath e como configurá-lo!

Bom uso.

Leonardo Pedroso

Leonardo Pedroso

Profissional de TI experiência em administração de banco de dados: SQL Server 2000 a 2019, Oracle 11g a 19c, PostgreSQL, MySQL, MongoDB, Cassandra. Atua realizando análise de desempenho, DR e HA, implantação, administração de banco de dados em cluster e implementação de projetos de banco de dados NoSQL (MongoDB, Cassandra), bem como automação de processos utilizando Shell script, Powershell (dbatools), e players de Cloud: Azure e Aws.