Best practice per Oracle on Bare Metal Solution
Quando implementi i database Oracle su Bare Metal Solution, sappiamo che il tuo obiettivo è avviare l'ambiente facilmente e con il minor numero di problemi possibile. Per aiutarti a raggiungere questo obiettivo, abbiamo raccolto i feedback dei clienti, dei nostri Solution Architect e del personale di assistenza che hanno implementato i database Oracle su Bare Metal Solution. Le seguenti informazioni forniscono consigli acquisiti da questi esperti per aiutarti a ottenere il massimo risultato possibile quando avvii il tuo ambiente di database Oracle su Bare Metal Solution.
Deployment del software
Per un deployment ottimale del software Oracle, ti consigliamo di utilizzare il toolkit per le soluzioni Bare Metal. Il toolkit fornisce diversi script Ansible e JSON per aiutarti a eseguire l'installazione del software Oracle sulla soluzione Bare Metal. Per ulteriori informazioni sul toolkit Bare Metal Solution e su come installare i database Oracle in un ambiente Bare Metal Solution, consulta la guida utente del toolkit.
Sistema operativo
Durante la configurazione del tuo sistema operativo su un server Bare Metal Solution, ti consigliamo di eseguire le azioni indicate di seguito.
Convalida i server NTP
Tutti i server Bare Metal Solution devono essere sincronizzati con un'origine di tempo. Seleziona un'opzione di server NTP, fisico o virtuale, che soddisfi al meglio le tue esigenze.
Quando i tuoi server utilizzano la tecnologia NTP per la sincronizzazione dell'ora, usa timedatectl
oppure
ntpstat
per verificare se il server è sincronizzato con un'origine temporale. I
seguenti esempi mostrano l'output di questi comandi per un server che si sincronizza correttamente:
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
Visualizza il conteggio delle CPU e i dettagli della memoria delle VM Oracle
Per visualizzare le informazioni su un host Oracle VM (OVM), inclusi dettagli su CPU e memoria, utilizza il comando xm info
. Ad esempio:
/usr/sbin/xm info
Per ulteriori informazioni, consulta la documentazione di Oracle sulla visualizzazione delle informazioni sull'host
Controlla le impostazioni di /etc/fstab
per verificare le opzioni di montaggio corrette
Per evitare che il processo di avvio si blocchi, configura sempre il montaggio non root
punti di accesso creati (come /u01
e /u02
) con l'opzione di montaggio nofail
in
delle impostazioni predefinite. In rari casi, i dispositivi di archiviazione sottostanti
potrebbero non essere disponibili al riavvio di un host. L'impostazione dell'opzione di montaggio nofail
consente di continuare la procedura di avvio quando il server non riesce a visualizzare i dispositivi di archiviazione.
L'esempio seguente mostra le impostazioni consigliate per i punti di montaggio /u01
e /u02
nel file /etc/fstab
:
/dev/mapper/3600a098038314352513f4f765339624c1 /u01 xfs nofail 0 0
/dev/mapper/3600a374927591837194d4j371563816c1 /u02 xfs nofail 0 0
Puoi modificare l'opzione di montaggio da defaults
a nofail
senza alcun impatto
a un sistema operativo. Tuttavia, per applicare le nuove impostazioni, devi riavviare il server.
Conferma le impostazioni dei limiti di shell
Il toolkit di Bare Metal Solution configura i limiti della shell necessari Oracle RAC. Se hai usato Bare Metal Solution, puoi saltare questa convalida toolkit e non ha modificato i limiti della shell. I limiti della shell devono essere impostati per tutti gli account del sistema operativo che possiedono il software Oracle, inclusa l'Infrastruttura Grid. Oracle consiglia le seguenti impostazioni per Linux:
Limite | Valore flessibile | Convenienza |
---|---|---|
Apri file | 1024 | 65536 |
Numero massimo di processi utente | 16384 | 16384 |
Dimensione stack | 10240 | 32768 |
Memoria bloccata massima | Almeno il 90% della memoria | Almeno il 90% della memoria |
Utilizza il comando ulimit
per verificare i limiti soft e hard della shell. Ad esempio,
inserisci questo comando per verificare il limite di soft shell:
ulimit -S -n -u -s -l
L'output seguente mostra le impostazioni del limite del soft shell corrette per un sistema con 384 GB di memoria:
open files (-n) 1024
max user processes (-u) 16384
stack size (kbytes, -s) 10240
max locked memory (kbytes, -l) 355263678
Per verificare i limiti della shell dura, utilizza il seguente comando:
ulimit -H -n -u -s -l
L'output seguente mostra i limiti corretti per l'involucro rigido per un sistema con 384 GB di memoria:
open files (-n) 65536
max user processes (-u) 16384
stack size (kbytes, -s) 32768
max locked memory (kbytes, -l) 355263678
Se uno dei limiti della shell non è impostato correttamente, modifica le voci nel
/etc/security/limits.conf
file, come mostrato nell'esempio seguente:
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
Evita di modificare le impostazioni di più percorsi
Se scegli di modificare le impostazioni multipath, non configurare l'attributo path_grouping_policy
se utilizzi multipath.conf
per creare nomi con alias per i dispositivi. Questa modifica sostituisce il criterio predefinito impostato nella sezione di definizione devices
.
In condizioni normali, il comando multipath -ll
dovrebbe mostrare uno stato simile
all'esempio riportato di seguito. Ogni dispositivo include due percorsi attivi nello stato di preparazione.
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
Utilizzare frame jumbo
Per evitare la frammentazione dei pacchetti durante il trasferimento da un server all'altro in un ambiente RAC, Oracle consiglia di configurare le interfacce del server con frame jumbo. I frame jumbo hanno una dimensione MTU di 9000 byte e sono abbastanza grandi da supportare le dimensioni dei blocchi del database Oracle di 8192 byte.
Per configurare i frame jumbo sui server Bare Metal Solution per Oracle RAC:
Visualizza le impostazioni della rete privata Bare Metal Solution per verificare che i frame jumbo siano stati configurati:
gcloud bms networks describe NETWORK_NAME --project=PROJECT_ID --region=REGION | grep jumboFramesEnabled
Esempio di output:
jumboFramesEnabled: true
Identifica le interfacce di rete e le relative dimensioni
mtu
:ip link show | grep mtu
Esempio di output:
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
Utilizzando i privilegi di livello principale, aggiungi
MTU=9000
alla configurazione dell'interfaccia per tutti i server nell'ambiente Bare Metal Solution che utilizzano jumbo i frame. Puoi trovare il file all'indirizzo/etc/sysconfig/network-scripts/ifcfg-interface_name
.Esempio di output:
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
Riavvia i servizi di rete per applicare le modifiche:
service network restart
Esegui un comando
ping
per testare la nuova configurazione 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
Backup Oracle RMAN e impatto sulla latenza
Se il processo di backup Oracle RMAN non è limitato dal parametro RATE
, può
eseguire il push della velocità effettiva o del numero di IOPS di archiviazione al limite delle prestazioni per un volume di archiviazione. Questo
causa la limitazione dell'IO di archiviazione, aumentando così la latenza
sul volume di archiviazione.
Ti consigliamo di implementare il parametro del canale RATE
per limitare la quantità di larghezza di banda o throughput che Oracle RMAN può utilizzare.
Per ulteriori informazioni, consulta la documentazione Oracle: 23.2.1.4 Parametro canale RATE
Gestione automatica dello spazio di archiviazione Oracle
Il nostro team di assistenza clienti Google Cloud e diversi clienti Bare Metal Solution hanno aggiunto Oracle Automatic Storage Management (ASM) ai propri ambienti Bare Metal Solution. Grazie alla loro esperienza e conoscenza collettiva, abbiamo raccolto consulta il seguente elenco di best practice per utilizzare al meglio le tue campagne ASM l'installazione di un gruppo di dischi. Il nostro obiettivo è aiutarti a ottenere le migliori prestazioni di archiviazione per il tuo ambiente Bare Metal Solution.
- Utilizza una dimensione LUN uniforme
- Non creare più di due gruppi di dischi ASM
- Esegui la suddivisione in strisce dei gruppi di dischi ASM su tutte le LUN in tutti i volumi
- Usa LUN e volumi con le stesse caratteristiche prestazionali nello stesso gruppo di dischi
- Non condividere volumi di archiviazione su più cluster RAC
- Conoscere la capacità di velocità effettiva e IOPS richieste prima di creare gruppi di dischi ASM
- Lascia invariata la configurazione multipercorso
- Configurare le impostazioni importanti per ASM
- Creare il gruppo di dischi ASM con ridondanza esterna
- Riavvia i server Bare Metal Solution dopo la creazione del disco ASM
Utilizza una dimensione LUN uniforme
La dimensione del LUN selezionata deve essere rappresentativa dell'unità di crescita. ASM funziona al meglio con LUN che hanno le stesse dimensioni e prestazioni simili caratteristiche. Per i database di grandi dimensioni, consigliamo una dimensione LUN di 2 TB per ottimizzare le prestazioni.
Crea non più di due gruppi di dischi ASM
Devi inviare i file di dati e una copia dei log REDO
a un singolo gruppo di dischi DATA
. Se vuoi, puoi creare un secondo gruppo di dischi FRA
per archiviare i backup on-disk e i log. Quando archivi i log REDO
in uno spazio di archiviazione altamente resiliente, non è necessario disporre di due copie.
REDO
operazioni di scrittura di log sono sensibili alla latenza. Di conseguenza, valuta la possibilità di eseguire il multiplexing dei log REDO
solo se il profilo di rendimento del gruppo di dischi FRA
corrisponde al profilo di rendimento del gruppo di dischi DATA
.
Esegui la suddivisione in strisce dei gruppi di dischi ASM su tutte le LUN in tutti i volumi
Quando crei gruppi di dischi ASM, esegui la suddivisione in strisce del gruppo di dischi su tutte le LUN di tutti i volumi. Se le LUN appartengono a un singolo volume, devi includere tutte le LUN nel volume quando crei un gruppo di dischi. Ad esempio, se un
ha X
numero di LUN, devi usare tutti e X
i LUN quando crei
gruppo di dischi standard.
Queste indicazioni si applicano anche all'utilizzo di più volumi, in quanto forniamo QoS limiti dei volumi. Se utilizzi più volumi per aumentare il throughput (>900 Mbps), devi includere tutte le LUN di ogni volume quando crei il gruppo di dischi per ottenere le prestazioni richieste.
Utilizza LUN e volumi con le stesse caratteristiche di prestazioni nello stesso gruppo di dischi
Se utilizzi più volumi per migliorare la velocità effettiva, utilizza lo stesso dimensioni e prestazioni del volume durante la creazione di gruppi di dischi ASM.
Non combinare LUN di volumi con caratteristiche di prestazioni diverse. Se includi LUN e volumi con profili di rendimento diversi nella stesso gruppo di dischi, i dischi che eseguono operazioni di I/O potrebbero avere massimo delle prestazioni e potrebbero causare picchi di latenza.
Ad esempio, se crei un gruppo di dischi ASM con due volumi non uniformi (1 x 16 TiB e 1 x 5 TiB), le operazioni di I/O eseguite dai dischi nel volume da 5 TB potrebbero causare una latenza elevata. Il volume da 5 TiB ha una velocità effettiva molto inferiore e massimo di IOPS, quindi si arrivava al livello di limitazione molto prima della limitazione per il volume di 16 TiB.
Non condividere i volumi di archiviazione tra più cluster RAC
Per ogni cluster RAC, esegui il provisioning di un volume di archiviazione univoco. Non condividere lo stesso volume di archiviazione su più cluster RAC. Poiché ai dispositivi di archiviazione viene applicata la QoS, a livello di volume, questo esercizio riduce al minimo la possibilità che i vicini siano rumorosi per un singolo pool di IOPS e velocità effettiva.
Ad esempio, se un singolo volume ha 8 LUN, non assegnarne alcuni a in un cluster di database RAC e i LUN rimanenti a un database RAC diverso in un cluster Kubernetes. Esegui invece il provisioning di due volumi di archiviazione separati e assegna ogni volume in un cluster RAC dedicato separato per volume.
Scopri le IOPS e la capacità di throughput richieste prima di creare gruppi di dischi ASM
Fai attenzione ai valori di picco delle prestazioni per il tuo ambiente on-premise. Per trovare queste informazioni, genera report AWR durante le ore di picco dei carichi di lavoro per registrare i valori di IOPS e throughput di picco del sistema. Puoi anche utilizzare il nostro strumento di valutazione del database Oracle per raccogliere i dati sul rendimento di picco.
Tenendo a portata di mano i dati sulle prestazioni on-premise, scopri la nostra soluzione Bare Metal Solution tabella delle prestazioni di archiviazione per calcolare la quantità di spazio di archiviazione da allocare al disco ASM gruppi di annunci e raggiungere le prestazioni richieste. Con velocità effettiva avanzata (> 768 Mbps), puoi creare più volumi ed eseguire lo striping di ASM gruppo di dischi in tutti i LUN e in tutti i volumi.
Lascia invariata la configurazione multipath
Non modificare il valore predefinito group_pathing_policy
nel
/etc/multipath.conf
file. Devi sempre utilizzare il valore predefinito group_pathing_policy=group_by_prio
per evitare l'espulsione del nodo RAC in caso di errori del percorso di archiviazione.
Per ulteriori dettagli su come lasciare intatta la configurazione multipercorso, consulta Evita di modificare le impostazioni di percorsi multipli.
Configurare le impostazioni importanti per ASM
Se utilizzi Oracle Grid Infrastructure 12.1.0.2 o versioni successive su Linux, configura ASM con ASMFD o UDEV.
Per le versioni precedenti di Oracle Grid Infrastructure, utilizza ASMLib.
Per impedire a Oracle ASM di selezionare prima il dispositivo ASM a percorso singolo, imposta ordine di scansione nel seguente modo:
ORACLEASM_SCANORDER="dm" ORACLEASM_SCANEXCLUDE="sd"
Richiediamo questa impostazione perché l'ambiente di archiviazione di Bare Metal Solution utilizza i dispositivi DM che puoi visualizzare in
/proc/partitions
.Per verificare se ASMLib è configurato per gestire i tuoi dischi ASM, esegui questo comando come utente root:
/usr/sbin/oracleasm configure | grep SCAN
Se utilizzi ASMLib, l'output sarà simile al seguente:
ORACLEASM_SCANBOOT=true ORACLEASM_SCANORDER="dm" ORACLEASM_SCANEXCLUDE="sd" ORACLEASM_SCAN_DIRECTORIES=""
Crea il gruppo di dischi ASM con ridondanza esterna
Lo spazio di archiviazione fornito da Bare Metal Solution utilizza NETAPP RAID-DP, che è una forma di RAID 6 che protegge i dati anche in caso di guasto di due dischi. Di conseguenza, consigliamo di utilizzare la ridondanza esterna per ASM.
Riavviare i server Bare Metal Solution dopo la creazione del disco ASM
Dopo aver creato i gruppi di dischi ASM, devi riavviare tutti i server Bare Metal Solution nel cluster per assicurarti che sia l'istanza ASM sia i gruppi di dischi vengano attivati dopo il riavvio. Segui questo passaggio proattivo per evitare i problemi che potrebbero verificarsi dopo la creazione del cluster di database nel gruppo di dischi ASM.
Oracle RAC
Questa sezione illustra le best practice per l'installazione di Oracle Real Application Cluster (RAC) su Bare Metal Solution.
Lunghezza del nome del cluster Oracle Grid Infrastructure
Utilizza un nome del cluster che non contenga più di 15 caratteri.
Un nome del cluster più lungo di 15 caratteri impedisce lo script root.sh
.
Visualizzatore VNC tunnel tramite SSH
I server arbitrari, come VNC Viewer, vengono bloccati dal firewall del sistema operativo predefinito del server Bare Metal Solution. Pertanto, crea un tunnel per X Window o VNC Viewer tramite SSH:
ssh -L 5901:localhost:5901 bms-host
vncviewer localhost:1
Spazio sufficiente per il file system radice
Assicurati che il file system principale (/) abbia spazio libero sufficiente. Bare Metal Solution viene fornito con un file system radice da 20 GB che potrebbe non essere sufficiente.
Sul server Bare Metal Solution, controlla la dimensione della radice "/" file system in-app. La dimensione predefinita è 20 GB, che potrebbe non essere sufficiente. Se la dimensione è 20 GB, aumentarlo.
Utilizzare un server dei nomi come sostituto di Cloud DNS
Se non vuoi utilizzare Cloud DNS, installa il tuo server dei nomi per risolvere gli indirizzi IP dell'host sul server Bare Metal Solution. Oracolo
L'infrastruttura griglia utilizza il comando nslookup
per recuperare il nome del server DNS.
Il comando nslookup
non utilizza il file /etc/hosts
.
Segui questi passaggi:
Installa
dnsmasq
.yum makecache yum install dnsmasq
Apri il file
/etc/dnsmasq.conf
in modalità di modifica.vi /etc/dnsmasq.conf
Nel file
/etc/dnsmasq.conf
, aggiungi le seguenti righe:port=53 domain-needed bogus-priv strict-order expand-hosts domain=localdomain address=/.localdomain/127.0.0.1 address=//127.0.0.1 listen-address=127.0.0.1 resolv-file=/etc/dnsmasq-resolv.conf
Modifica i file
/etc/dnsmasq-resolv.conf
e/etc/resolv.conf
in modo che contengano solo la seguente riga:nameserver 127.0.0.1
Avvia il servizio
dnsmasq
:systemctl restart dnsmasq systemctl status dnsmasq
Su entrambi i nodi, esegui il comando
nslookup
.nslookup at-2811641-svr001 Server: 127.0.0.1 Address: 127.0.0.1#53 Name: at-2811641-svr001 Address: 192.168.1.10 nslookup at-2811641-svr002 Server: 127.0.0.1 Address: 127.0.0.1#53 Name: at-2811641-svr002 Address: 192.168.1.11
Installa NTP
Quando installi NTP, assicurati che tutti i nodi RAC si sincronizzino con l'ora jump host o il tuo server NTP interno. Segui questi passaggi:
Installa NTP.
yum install ntp
Avvia il servizio
ntpd
.systemctl start ntpd
Nel file
/etc/ntp.conf
, aggiungi la riga seguente per la sincronizzazione con il bastion che in questo caso è10.x.x.x
. Puoi anche utilizzare il tuo server NTP interno. In questo caso,192.x.x.x
è il server Bare Metal Solution.restrict 192.x.x.x mask 255.255.255.0 nomodify notrap server 10.x.x.x prefer
Per avviare la sincronizzazione, aggiorna il server dell'ora per avviare la sincronizzazione.
ntpdate -qu SERVER_NAME
Esegui script root su un nodo alla volta
Esegui lo script principale root.sh
su un nodo alla volta. Se l'esecuzione non va a buon fine sul primo nodo, non passare al nodo successivo.
Risolvi il problema Localhost
Poiché il server Bare Metal Solution non aggiunge Localhost
a
/etc/hosts
, risolvi manualmente Localhost
in 127.0.0.1
.
Assicurati limiti di risorse sufficienti
Prima di installare Oracle RAC sul server Bare Metal Solution, assicurati che i limiti di risorse per l'utente root
e l'utente oracle
siano sufficienti.
Puoi utilizzare il comando ulimit
per controllare i limiti.
Imposta la variabile ORACLEASM_SCANORDER
Se utilizzi Oracle ASMLib, per impedire a Oracle ASM di selezionare il tuo dispositivo ASM a percorso singolo, imposta l'ordine di scansione come segue:
ORACLEASM_SCANORDER="dm"
ORACLEASM_SCANEXCLUDE="sd"
Richiediamo questa impostazione perché l'ambiente di archiviazione di Bare Metal Solution utilizza dispositivi DM che puoi visualizzare nel file /proc/partitions
.
Oracle è un marchio registrato di Oracle e/o delle sue società consociate.