DevSecOpsARTIGO

Utilizando ASM com multipath nativo do Linux

Como já é de conhecimento de quem trabalha com ambientes clusterizados, geralmente dois ou mais servidores necessitam acessar dados em um storage compartilhado. Em ambientes de alta-disponibilildade, é comum o uso de placas HBA (Host Bus Adapter, estas ligadas à conexões de fibra ótica) visando Failover e/ou Load Balance da conectividade Servidor x Storage. Também é comum a utilização de Arrays iSCSI (Via cabo Par-Trançado) entre Servidor x Storage.

Em ambos os casos, para que o acesso aos discos do storage seja feito através de todas as interfaces, é necessário utilizar ferramentas que gerenciem esse conexão.  Estas ferramentas são determinadas para cada S.O, e em alguns casos, com vários vendors. 

Alguns Exemplos:

Vendor Produto Versões
EMC PowerPath Free ou Licenciada
Linux  Multipath Nativo / Free
Windows MPIO Nativo / Free
Symantec DMP Free ou Licenciada

O que é o multipath?

É responsável pelo gerenciamento das interfaces de conexão entre Servidor x Storage.

Ambiente

No cenário a seguir foi utilizada a configuração abaixo, porém pode-se aplicar estas configurações para outros vendors de Storage:

  • Storage: HP P2000;
  • Servidor: HP DL380 G7;
  • SO: Oracle Enterprise Linux;
  • Kernel: 2.6.32-300.10.1.el5uek (Unbreakable Kernel);
  • Multipath: Nativo Linux (multipath-tools v0.4.9 – 04/04, 2009);
  • Produto: Oracle Grid Infrastructure 11.2.0.3;
  • Gerenciamento: ASMLIB (Nativo no kernel uek5.8 do OEL).

Configurando o multipath

O primeiro passo é a configuração do serviço do multipath em todos os nodes. Deve-se utilizar o arquivo correto de configuração. Este localizado em: /etc/multipath.conf.

Existem várias sessões neste arquivo, abaixo estão as duas sessões mais importantes, onde deve-se atentar para utilização do Load Balance + Failover (esta na sessão “defaults”) e para o Storage correto (este na sessão “For HP P2000 family”).

Para facilitar a configuração, a HP disponibiliza o DeviceMapper para produtos da própria HP, que pode ser encontrado neste link.

A linha abaixo em vermelho representa a configuração da utilização de TODAS as interfaces de conexão entre Servidor x Storage.

P.S: É importante lembrar que cada vendor possui suas particularidades na configuração do Maultipath.

O segundo passo é a ativação do serviço do multipath em todos os nodes:

Neste momento, o multipath já estará configurado no Linux. Pode-se verificar os discos/LUNs encontrados pelo multipath no storage através do comando:

Observe que na listagem acima, cada device do multipath está associado a dois devices locais, representando a utilização das duas HBAs do servidor.

É importante verificar em todos os nodes do Cluster se os devices do multipath apontam para os mesmos discos.

Preparando os devices 

Após a configuração do multipath, o próximo passo é particionar os discos que serão utilizados para o ASM. Para isso, deve-se utilizar os devices do multipath, pois são eles que utilizarão as interfaces de conectividade com o storage.

Utilizar o comando “fdisk” para criar a partição no disco:

Observe que a partição 01 foi criada com o ponteiro no device virtual: /dev/mapper/mpath2p1 (este device será utilizado para a crição do disco ASM). Após criada a partição, é necessário criar o device virtual no linux. Esta é uma parte muito importante. Diferentemente de discos locais, onde ao término da criação da partição primária, ou extendida, o device virtual é criado em discos / LUNs, gereciados por multipath. O device virtual NÃO é criado automaticamente pelo fdisk, logo o disco ASM não pode ser “marcado”.

Para resolver este ponto, basta utilizar o comando “kpartx” (deve ser executado em todos os nodes):

kpartx -a <caminho do disco/LUN>

Observe que o device virtual foi criado e agora os discos poderão ser marcados para o ASM.

P.S: Executar este procedimento para todos os Discos / LUNs que serão utilizados pelo ASM.

Configurando o ASMLIB

O próximo passo é configurar os drivers do ASMLIB e também a criação dos discos do ASM.

Executar a configuração do ASMLIB:

Criação e validação dos discos ASM

Após configurado o ASMLIB, basta marcar os discos com seus respectivos LABELS:

Executar o “SCAN” dos discos do ASM em todos os nodes:

Validar a criação dos discos em todos os nodes (todos devem retornar o mesmo mpathid):

Após estes passos, basta continuar a instalação do Oracle. Estes passos também podem ser utilizados para a criação de Filesystems, sem a necessidade de configuração do ASMLIB e discos ASM.

é DBA Oracle há 7 anos, especialista em Banco de Dados Oracle, com conhecimentos em MySQL, DB2 e SQL-Server. Bacharel em Ciências da Computação pela USCS (Universidade de São Caetano do Sul). Com sólidos conhecimentos em Banco de Dados e Sistemas operacionais, possui certificações OCP 10g/11g, OCE 11g Performance Tuning, OCE 10g RAC, OCS 11g Exadata, OCA Solaris 10, OCA Mysql 5, MCITP SQL Server 2008 R2, IBM DB2 Administrator, LPIC-3, OCA Solaris 10, entre outras. Apoiador de eventos do GUOB e participante ativo no grupo de Profissionais Oracle (GPO).

Ver perfil