Banco de Dados

18 abr, 2012

Utilizando ASM com Multipath nativo do Linux

Publicidade

Como já é de conhecimento de quem trabalha com ambientes clusterizados, geralmente dois ou mais servidores necessitam acessar dados em um storage compartilhado (shared storage).

Em ambientes de alta-disponibilildade, é comum a utilização de placas HBA (Host Bus Adapter, estas ligadas em 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. Essas 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, que pode ser 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 (está 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 Multipath.

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 1 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, nos quais ao término da criação da partição primária ou estendida o device virtual é criado, em discos/LUNs, gerenciados 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. Este procedimento também pode ser utilizado para a criação de Filesystems, sem a necessidade de configuração do ASMLIB e discos ASM.