Práticas recomendadas para Oracle na Solução Bare Metal
Ao implementar bancos de dados Oracle na Solução Bare Metal, sabemos que sua meta é criar seu ambiente facilmente e com o mínimo de problemas possível. Para ajudar você a alcançar essa meta, coletamos feedback de clientes, nossos arquitetos de solução e equipe de suporte que implementaram bancos de dados Oracle na Solução Bare Metal. As informações a seguir oferecem recomendações aprendidas com esses especialistas para que você tenha o melhor desempenho possível ao criar seu próprio ambiente de banco de dados Oracle na Solução Bare Metal.
Implantação de software
Para a implantação mais bem-sucedida de softwares da Oracle, recomendamos o uso do Kit de ferramentas da Solução Bare Metal. O kit de ferramentas fornece vários scripts Ansible e JSON para ajudar a executar a instalação do software Oracle na Solução Bare Metal. Para mais informações sobre o Kit de ferramentas da Solução Bare Metal e como instalar bancos de dados Oracle em um ambiente da Solução Bare Metal, consulte o Guia do usuário do kit de ferramentas.
Sistema operacional
Ao configurar seu sistema operacional em um servidor da Solução Bare Metal, recomendamos que você execute as ações a seguir.
Validar seus servidores NTP
Todos os servidores da Solução Bare Metal precisam ser sincronizados com uma fonte de tempo. Selecione a opção de servidor NTP, física ou virtual, que melhor atenda às suas necessidades.
Quando seus servidores usarem NTP para sincronização de tempo, use o comando timedatectl
ou
ntpstat
para ver se o servidor está sincronizado com uma fonte de tempo. Os
exemplos a seguir mostram a saída desses comandos para um servidor
sincronizado:
timedatectl show -p NTPSynchronized
NTPSynchronized=yes
synchronised to NTP server (216.239.35.8) at stratum 3
time correct to within 49 ms
polling server every 1024 s
Conferir detalhes da contagem e da memória da CPU da VM do Oracle
Para visualizar informações sobre um host de VM do Oracle (OVM), incluindo detalhes de CPU e memória, use o comando xm info
. Exemplo:
/usr/sbin/xm info
Para mais informações, consulte a documentação da Oracle sobre como visualizar informações do host.
Verifique as configurações do /etc/fstab
para ver as opções de montagem corretas
Para evitar que o processo de inicialização seja travado, sempre configure os pontos de montagem não raiz criados (como /u01
e /u02
) com a opção de montagem nofail
em vez das configurações padrão. Em casos raros, os dispositivos de armazenamento subjacentes
podem não estar disponíveis quando um host for reiniciado. Definir a opção de ativação nofail
permite que o processo de inicialização continue quando o servidor não puder visualizar os dispositivos de armazenamento.
O exemplo a seguir mostra as configurações recomendadas para os pontos de montagem /u01
e /u02
no arquivo /etc/fstab
:
/dev/mapper/3600a098038314352513f4f765339624c1 /u01 xfs nofail 0 0
/dev/mapper/3600a374927591837194d4j371563816c1 /u02 xfs nofail 0 0
É possível modificar a opção de ativação de defaults
para nofail
sem afetar
um sistema operacional. No entanto, para aplicar as novas configurações, é necessário reinicializar o servidor.
Confirmar as configurações de limite do shell
O kit de ferramentas da Solução Bare Metal configura limites de shell necessários para configurar o Oracle RAC. Será possível pular essa validação se você tiver usado o kit de ferramentas da Solução Bare Metal e não tiver alterado os limites do shell. Os limites do shell precisam ser definidos para todas as contas do sistema operacional que têm o software Oracle, incluindo a infraestrutura de grade. A Oracle recomenda as seguintes configurações para Linux:
Limite | Valor flexível | Valor rígido |
---|---|---|
Abrir arquivos | 1024 | 65.536 |
Máximo de processos do usuário | 16384 | 16384 |
Tamanho da pilha | 10.240 | 32.768 |
Memória máxima bloqueada | Pelo menos 90% da memória | Pelo menos 90% da memória |
Use o comando ulimit
para verificar os limites de shell flexível e rígido. Por exemplo,
insira este comando para verificar o limite flexível do shell:
ulimit -S -n -u -s -l
A saída a seguir mostra as configurações corretas do limite flexível do shell para um sistema com 384 GB de memória:
open files (-n) 1024
max user processes (-u) 16384
stack size (kbytes, -s) 10240
max locked memory (kbytes, -l) 355263678
Para verificar os limites rígidos do shell, use o seguinte comando:
ulimit -H -n -u -s -l
A saída a seguir mostra os limites rígidos corretos de shell para um sistema com 384 GB de memória:
open files (-n) 65536
max user processes (-u) 16384
stack size (kbytes, -s) 32768
max locked memory (kbytes, -l) 355263678
Se algum dos limites do shell não estiver definido corretamente, modifique as entradas no
arquivo /etc/security/limits.conf
, como mostrado no exemplo a seguir:
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 355263678
oracle hard memlock 355263678
grid soft nofile 1024
grid hard nofile 65536
grid soft nproc 2047
grid hard nproc 16384
grid soft stack 10240
grid hard stack 32768
grid soft memlock 355263678
grid hard memlock 355263678
grep MemTotal /proc/meminfo
MemTotal: 16092952 kB
Evitar mudanças nas configurações de vários caminhos
Se você decidir mudar as configurações de vários caminhos, não defina o
atributo path_grouping_policy
se usar multipath.conf
para criar nomes de alias
para dispositivos. Essa alteração substitui a política padrão definida na seção de definição de
devices
.
Em operação normal, o comando multipath -ll
deve mostrar um status semelhante
ao exemplo a seguir. Cada dispositivo inclui dois caminhos ativos que estão no
estado pronto.
3600a0980383143524f2b50476d59554e dm-7 NETAPP ,LUN C-Mode
size=xxxG features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| |- 14:0:3:2 sdf 8:80 active ready running
| `- 16:0:5:2 sdv 65:80 active ready running
`-+- policy='service-time 0' prio=10 status=enabled
|- 14:0:2:2 sdc 8:32 active ready running
`- 16:0:3:2 sdq 65:0 active ready running
Usar frames Jumbo
Para evitar a fragmentação de pacotes à medida que eles transitam de um servidor para outro em um ambiente RAC, a Oracle recomenda configurar as interfaces do servidor com frames Jumbo. Os frames Jumbo têm um tamanho de MTU de 9.000 bytes e são grandes o suficiente para oferecer suporte a tamanhos de bloco de banco de dados Oracle de 8.192 bytes.
Para configurar frames Jumbo em servidores da Solução Bare Metal para Oracle RAC:
Veja as configurações da rede privada da Solução Bare Metal para confirmar se os frames Jumbo foram configurados:
gcloud bms networks describe NETWORK_NAME --project=PROJECT_ID --region=REGION | grep jumboFramesEnabled
Exemplo de resposta:
jumboFramesEnabled: true
Identifique as interfaces de rede e o tamanho de
mtu
delas:ip link show | grep mtu
Exemplo de resposta:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 2: enp55s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000 3: enp55s0f2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000 4: enp55s0f3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000 5: enp17s0f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000 6: enp17s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP mode DEFAULT group default qlen 1000 7: enp173s0f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000 8: enp173s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP mode DEFAULT group default qlen 1000 9: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 10: bond1.117@bond1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 11: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 12: bond0.118@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 13: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000 14: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT group default qlen 1000
Usando privilégios de nível raiz, adicione
MTU=9000
ao arquivo de configuração da interface de todos os servidores no ambiente da Solução Bare Metal que usam frames Jumbo. O arquivo pode ser encontrado em/etc/sysconfig/network-scripts/ifcfg-interface_name
.Exemplo de resposta:
BONDING_OPTS="lacp_rate=1 miimon=100 mode=802.3ad xmit_hash_policy=1" TYPE=Bond BONDING_MASTER=yes PROXY_METHOD=none BROWSER_ONLY=no DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=bond1 UUID=0e7da685-64bf-44f3-812f-9846d747a801 DEVICE=bond1 ONBOOT=yes AUTOCONNECT_SLAVES=yes MTU=9000
Reinicie os serviços de rede para que as alterações entrem em vigor:
service network restart
Emita um comando
ping
para testar a nova configuração de MTU:ping -c 2 -M do -s 8972 svr001 PING svr001 (172.16.1.10) 8972(9000) bytes of data. 8980 bytes from svr001 (172.16.1.10): icmp_seq=1 ttl=64 time=0.153 ms 8980 bytes from svr001 (172.16.1.10): icmp_seq=2 ttl=64 time=0.151 ms --- svr001 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 0.151/0.152/0.153/0.001 ms
Gerenciamento automático de armazenamento da Oracle
Nossa equipe do Cloud Customer Care e vários clientes da Solução Bare Metal adicionaram o Gerenciamento automático de armazenamento (ASM) da Oracle aos ambientes da Solução Bare Metal. Com a experiência e sabedoria coletiva deles, reunimos a lista de práticas recomendadas a seguir para ajudar você a fazer a instalação do seu próprio grupo de discos de ASM. Nosso objetivo é ajudar você a alcançar o melhor desempenho de armazenamento para seu ambiente da Solução Bare Metal.
- Usar um tamanho de LUN uniforme
- Criar no máximo dois grupos de discos do ASM
- Dividir grupos de discos do ASM nos LUNs em todos os volumes
- Usar LUNs e volumes com as mesmas características de desempenho no mesmo grupo de discos
- Não compartilhar volumes de armazenamento em vários clusters do RAC
- Conhecer as IOPS e a capacidade necessárias antes de criar grupos de discos do ASM
- Manter a configuração de vários caminhos
- Definir configurações importantes para o ASM
- Criar seu grupo de discos do ASM com redundância externa
- Reiniciar os servidores da Solução Bare Metal após a criação do disco do ASM
Usar um tamanho de LUN uniforme
O tamanho do LUN selecionado precisa representar a unidade de crescimento. O ASM funciona melhor com LUNs que têm um tamanho igual e características de desempenho semelhantes. Para bancos de dados muito grandes, recomendamos um tamanho LUN de 2 TB para otimizar o desempenho.
Criar no máximo dois grupos de discos do ASM
Envie arquivos de dados e uma cópia dos registros REDO
para um único grupo de discos
DATA
. Se quiser, crie um segundo grupo de discos FRA
para armazenar backups
no disco e arquivar registros. Ao armazenar registros REDO
em armazenamento altamente resiliente,
não é necessário ter duas cópias.
As gravações de registro REDO
são sensíveis à latência. Como resultado, considere
multiplexar registros REDO
apenas se o perfil de desempenho do grupo de discos FRA
corresponder
ao perfil de desempenho do grupo de discos DATA
.
Dividir grupos de discos do ASM nos LUNs em todos os volumes
Ao criar grupos de discos do ASM, divida o grupo de discos nos
LUNs de todos os volumes. Se os LUNs pertencerem a um único volume, inclua
todos os LUNs no volume ao criar um grupo de discos. Por exemplo, se um
volume tiver um número X
de LUNs, use todos os X
LUNs ao criar o
grupo de discos.
Essa orientação também se aplica ao uso de vários volumes, porque fornecemos limites de QoS nos volumes. Se você usar vários volumes para aumentar a capacidade (mais de 900 Mbps), precisará incluir todos os LUNs de cada volume ao criar o grupo de discos para alcançar o desempenho necessário.
Usar LUNs e volumes com as mesmas características de desempenho no mesmo grupo de discos
Se você usar vários volumes para melhorar a capacidade, use as mesmas características de tamanho e desempenho ao criar grupos de discos do ASM.
Não misture LUNs de volumes com características de desempenho diferentes. Se você incluir LUNs e volumes com diferentes perfis de desempenho no mesmo grupo de discos, os discos que executam operações de E/S poderão ter um limite de desempenho muito menor e causar picos de latência.
Por exemplo, se você criar um grupo de discos do ASM com dois volumes desiguais (1 X 16 TiB e 1 X 5 TiB), as operações de E/S realizadas pelos discos no volume de 5 TB podem causar latência elevada. O volume de 5 TiB tem uma capacidade de processamento muito menor e teto de IOPS. Portanto, ele atingiria o nível de limitação muito antes do nível de limitação para o volume de 16 TiB.
Não compartilhar volumes de armazenamento em vários clusters do RAC
Provisione um volume exclusivo de armazenamento para cada cluster do RAC. Não compartilhe o mesmo volume de armazenamento em vários clusters do RAC. Como os dispositivos de armazenamento aplicam QoS no nível do volume, essa prática minimiza a chance de vizinhos barulhentos competindo por um único pool de IOPS e capacidade.
Por exemplo, se um único volume tiver oito LUNs, não atribua alguns deles a um cluster de banco de dados do RAC e os outros a um cluster diferente. Provisione dois volumes de armazenamento separados e atribua cada um a um cluster do RAC dedicado e separado por volume.
Conhecer as IOPS e a capacidade necessárias antes de criar grupos de discos do ASM
Esteja ciente dos números de pico de desempenho do seu ambiente local. Para encontrar essas informações, gere relatórios AWR durante as horas de pico de cargas de trabalho para registrar os valores máximos de IOPS e capacidade do sistema. Você também pode usar nossa ferramenta de avaliação de banco de dados da Oracle para coletar seus números de pico de desempenho.
Com os números de desempenho local em mãos, consulte nossa tabela de desempenho de armazenamento da Solução Bare Metal para calcular a quantidade de armazenamento que você precisa alocar para os grupos de discos do ASM e alcançar o desempenho necessário. Quando você tem requisitos de capacidade aprimorados (> 768 Mbps), é possível criar vários volumes e dividir o grupo de discos do ASM em todos os LUNs e todos os volumes.
Manter a configuração de vários caminhos
Não altere o group_pathing_policy
padrão no
arquivo /etc/multipath.conf
. Sempre use o valor padrão de
group_pathing_policy=group_by_prio
para evitar a remoção de nós RAC em caso de
falhas no caminho de armazenamento.
Para mais detalhes sobre como manter a configuração de vários caminhos, consulte Evitar alterar as configurações de vários caminhos.
Definir configurações importantes para o ASM
Se você estiver usando a infraestrutura de grade da Oracle 12.1.0.2 ou mais recente no Linux, configure o ASM com o ASMFD ou o UDEV.
Para versões anteriores da infraestrutura de grade da Oracle, use o ASMLib.
Para impedir que o ASM da Oracle selecione o dispositivo ASM de caminho único primeiro, defina a ordem de verificação da seguinte maneira:
ORACLEASM_SCANORDER="dm" ORACLEASM_SCANEXCLUDE="sd"
Essa configuração é necessária porque o ambiente de armazenamento da Solução Bare Metal usa dispositivos DM que podem ser visualizados em
/proc/partitions
.Para verificar se o ASMLib está configurado para gerenciar os discos do ASM, execute o seguinte comando como usuário raiz:
/usr/sbin/oracleasm configure | grep SCAN
Se você estiver usando o ASMLib, a saída será semelhante a esta:
ORACLEASM_SCANBOOT=true ORACLEASM_SCANORDER="dm" ORACLEASM_SCANEXCLUDE="sd" ORACLEASM_SCAN_DIRECTORIES=""
Criar seu grupo de discos do ASM com redundância externa
O armazenamento fornecido pela Solução Bare Metal usa o NETAPP RAID-DP, que é uma forma de RAID 6 que protege os dados mesmo que dois discos falhem. Como resultado, recomendamos que você use redundância externa para o ASM.
Reiniciar os servidores da Solução Bare Metal após a criação do disco do ASM
Depois de criar seus grupos de discos do ASM, reinicie todos os servidores da Solução Bare Metal no cluster para garantir que a instância do ASM e os grupos de discos fiquem on-line após a reinicialização. Siga esta etapa proativa para evitar problemas que podem acontecer depois que o cluster do banco de dados for criado no grupo de discos do ASM.
Oracle é uma marca registrada da Oracle e/ou afiliadas.