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.