Oracle Grid Infrastructure 12cR1 - Parte 2 - Configurando o Sistema Operacional

Por Victor Armbrust
Postado em Janeiro 2014

Indice

1. Oracle Grid Infrastructure 12cR1 - Parte 1 - Visão Geral e Novos Recursos
2. Oracle Grid Infrastructure 12cR1 - Parte 2 - Configurando o Sistema Operacional
3. Oracle Grid Infrastructure 12cR1 - Parte 3 - Pré-Requisitos do Sistema Operacional
4. Oracle Grid Infrastructure 12cR1 - Parte 4 - Configurando DNS
5. Oracle Grid Infrastructure 12cR1 - Parte 5 - Pré-Requisitos do Grid Infrastructure
6. Oracle Grid Infrastructure 12cR1 - Parte 6 - Instalando o Grid Infrastructure
7. Oracle Grid Infrastructure 12cR1 - Parte 7 - Instalando o Database Software
8. Oracle Grid Infrastructure 12cR1 - Parte 8 - Criando Diskgroups no ASM
9. Oracle Grid Infrastructure 12cR1 - Parte 9 - Criando o Database
10.Oracle Grid Infrastructure 12cR1 - Parte 10 - Validações Finais

Configurando o Sistema Operacional

Neste passo, basta instalar o Sistema Operacional com configurações padrão. Não existe nenhuma especificação neste momento, o mais importante é a versao. Mais adiante serão instalados os pacotes necessaries e configurações específicas.

No momento da instalação do SO, é importante lembrar os tamanhos para memória física, virtual (SWAP), e espaço em disco, que devem seguir a tabela abaixo: (Vide note: 880989.1)

- Mínimo de 4.0GB (4096MB) de memoria RAM – Física;
- Memória virtual (SWAP) segundo os requisites abaixo:

RAM De 4 GB á 8 GB De 8 GB á 32 GB Mais de 32 GB
Swap 2x o tamanho total da RAM 1.5x o tamanho total da RAM 32 GB
   

 

- 1.0 GB de espaço livre no /tmp;
- Aproximadamente 4.4 GB para instalação do Software de Database;
- Aproximadamente 2.4 GB para instalação do Software Grid Infrastructure;

Descrição de Servidores x Bancos de Dados

Neste ambiente, temos:

Servidor

IP

Instance

Database

Role

racnode1

192.168.1.11

oradb1

oradb

PRIMARY

racnode2

192.168.1.12

oradb2

oradb

PRIMARY

gridserver1

192.168.1.8

griddb

griddb

DNS/GRIDSERVER

Definindo Estruturas de Rede (bond / HAIP)

Antes de prosseguir, é importante definir todas as estruturas de rede que estarão configuradas em cada NODE. A Oracle recomenda a utilização de Redundância nos endereços IPs que ficarão disponíveis tanto para Rede Pública (Acesso a dados, SSH, etc) quanto para rede Privada (Interconnect).

Configurando interfaces públicas (bond0)

Para configurar o recurso de Bonding (NIC TEAM) no Linux, deve-se configurar inicialmente as placas de rede que farão parte deste Bond. Para maiores informações consultar o note: 434375.1.
Mesmo nas versões Enterprise do Linux o sistema não carregada automaticamente os Drivers da placa de rede a menos que a mesma possua um endereço IP. Deve-se configurar manualmente as placas envolvidas com o recurso de Bonding:

cd /etc/sysconfig/network-scripts

    

Editar os Devices que farão parte do Bonding, neste caso eth0 e eth1:

vi ifcfg-eth0

DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

vi ifcfg-eth1

DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

    

Agora que as interfaces eth0 e eth1 têm como MASTER o device virtual bond0, devemos configurar o device master:

DEVICE=bond0
IPADDR=192.168.1.11
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no

    

Editar o arquivo/etc/modprobe.conf e incluir as linhas abaixo:

alias bond0 bonding
options bond0 mode=balance-alb miimon=100

    

Neste momento as configurações estão definidas, e os drivers prontos para serem carregados. Basta agora efetuar um “restart” das placas de rede:

/etc/rc.d/init.d/network restart

    

** IMPORTANTE **
Esta configuração deve ser feita em cada node, cada um com seu respective endereço ip.

Verificando a configuração do Bonding

Cada bond device possui um arquivo “somente-leitura”localizado em: /proc/net/bonding Este arquivo contém informações sobre a configuração e opções de cada device compost pelo bond.

Examplo: /proc/net/bonding/bond0

cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: 2.6.1 (October 29, 2004)
Bonding Mode: load balancing (round-robin)
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 1000
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Link Failure Count: 1

Slave Interface: eth0
MII Status: up
Link Failure Count: 1

    

Neste momento, devem ser realizados testes de retirada de cabos de rede, a fim de verificar se a configuração ficou correta. O Downtime deve ser 0, este é o objetivo de utilizer este recurso.

Configurando interfaces privadas (HAIP)

Redundância na interface do interconnect sem nenhuma tecnologia terceira (a nivel de SO: BOND, IPMP,etc) é uma feature iniciada no Oracle 11gR2, a partir da versao 11.2.0.2 e se mantém para a versão 12cR1.
Múltiplas interfaces privadas de rede podem ser definidas tanto na instalação como no pós –instalação (usando o ifcfg). Os serviços CSS, OCR, CRS, CTSS e EVM na versao 11.2.0.2+ gerenciam isso automaticamente.

O Grid Infrastructure pode ativar no máximo 4 (quarto) adaptadores ao mesmo tempo para utilização do HAIP. O Recurso cluster_interconnect.haip iniciará 1 (um) IP virtual para cada interface dedicada para o interconnect.
O GI automaticamente utiliza endereços IPs locais reservados 169.254.*.* para subrede do service HAIP, e não irá utilizer nenhum outro endereço da subrede 169.254.*.* para nenhum outro propósito. Com o HAIP configurado, por default, o tráfigo de dados no interconnect sera Balanceado e também com opções de Fail-Over onde os IPs virtuais “navegam” pelas interfaces do interconnect de forma transparente. Isto acontece caso ocorra falha em uma interface ou a mesma permaneça não-comunicável.

O objetivo da utilização do HAIP, é obter Alta-Disponibilidade dos Nodes do Cluster, mesmo em caso de falhas ou perda de comunicação nas interfaces do interconnect.

Exemplo de utilização de HAIP:

$GRID_HOME/bin/oifcfg getif
eth1 10.1.0.128 global cluster_interconnect
eth3 10.1.0.0 global public
eth6 10.11.0.128 global cluster_interconnect
eth7 10.12.0.128 global cluster_interconnect

$ $GRID_HOME/bin/oifcfg iflist -p -n
eth1 10.1.0.128 PRIVATE 255.255.255.128
eth1 169.254.0.0 UNKNOWN 255.255.192.0
eth1 169.254.192.0 UNKNOWN 255.255.192.0
eth3 10.1.0.0 PRIVATE 255.255.255.128
eth6 10.11.0.128 PRIVATE 255.255.255.128
eth6 169.254.64.0 UNKNOWN 255.255.192.0
eth7 10.12.0.128 PRIVATE 255.255.255.128
eth7 169.254.128.0 UNKNOWN 255.255.192.0

    

Nota: O Haip neste cenário iniciou 4 (quarto) IPs virtuais, 2 na eth1, e 1 na eth6 e eth7.
Para acompanhar testes de conectividade, verificar os arquivos de log abaixo:

$GRID_HOME/log/<nodename>/ohasd/ohasd.log 
$GRID_HOME/log/<nodename>/agent/ohasd/orarootagent_root/orarootagent_root.log

    

Configurar as interaces eth2 e eth3 para suportar o HAIP para interconnect:

DEVICE=eth2
IPADDR=10.11.0.1
NETMASK=255.255.0.0
NETWORK=10.11.0.0
BROADCAST=10.11.255.255
ONBOOT=yes
BOOTPROTO=none

DEVICE=eth3
IPADDR=10.1.0.1
NETMASK=255.255.0.0
NETWORK=10.1.0.0
BROADCAST=10.1.255.255
ONBOOT=yes
BOOTPROTO=none

    

Executar um “restart” dos serviços de rede:service network restart

 


Victor Armbrust é DBA há 10 anos, especialista em Banco de Dados Oracle e Bacharel em Ciências da Computação. Com sólidos conhecimentos em Banco de Dados e Sistemas operacionais, possui certificações OCP 10g/11g. Eleito Oracle ACE Member em 2013.
 Consultor de Banco de Dados na Oracle ACS Brasil.