-
Notifications
You must be signed in to change notification settings - Fork 9
Create servers
- Préambule
-
Création de nouveaux serveurs
- Ajustement de la mémoire et du nombre de CPUs des VMs :
- Création serveur
- Arrêt et démarrage des VM
- Comment supprimer les serveurs
- Comment tester si les jumbo frames sont réellement activées
- Installer soit même les logiciels Oracle
- Toutes les actions sont effectuées depuis le virtual-host.
- virtual-host poste exécutant VirtualBox.
- Mon virtual-host est mon desktop sous LEAP.
- Pour mémoire création de dépôts supplémentaires à partir d'un DVD
Temps de référence pour la création de serveurs RAC
Pour mémoire synchronisation du dépôt Oracle
Dès valeurs par défaut sont définies, elles conviennent pour des VMs sur desktop avec un i5 et 8Gb de mémoire. Ces valeurs peuvent être modifiées.
-
La valeur des variables peuvent être affichées :
./update_local_cfg.sh -h
Variables pour ajuster la mémoire (Unité Mb) :
- VM_MEMORY_MB_FOR_SINGLE_DB_121
- VM_MEMORY_MB_FOR_RAC_DB_121
- VM_MEMORY_MB_FOR_SINGLE_DB_122
- VM_MEMORY_MB_FOR_RAC_DB_122
Variables pour ajuster le nombre de CPU :
- VM_NR_CPUS_FOR_SINGLE_DB_121
- VM_NR_CPUS_FOR_RAC_DB_121
- VM_NR_CPUS_FOR_SINGLE_DB_122
- VM_NR_CPUS_FOR_RAC_DB_122
Pour un RAC 12cR1 ou 12cR2 la mémoire attribuée aux VMS est vraiment juste (2 512Mb), si possible augmenter la mémoire à 4 096Mb :
$ cd ~/plescripts $ ./update_local_cfg.sh VM_MEMORY_MB_FOR_RAC_DB_122=4096
Les VMs n'ont par défaut que 2 CPU.
-
Pour supprimer une variable, passer
remove
comme valeur :$ ./update_local_cfg.sh VM_MEMORY_MB_FOR_SINGLE_DB_121=remove
-
Ne jamais supprimer le fichier
~/plescripts/local.cfg
Attention aucun contrôle sur la validité des paramètres n'est effectué, si un paramètre est invalide les scripts échoueront.
Le script define_new_server.sh
va définir la configuration des serveurs à
partir d'un identifiant. Le nom des serveurs, des disques et des bases de
données seront définies à partir de cet identifiant.
Tous les scripts écrivent leurs logs dans ~/plescripts/log
.
Exécuter depuis le virtual-host :
$ cd ~/plescripts/database_servers
$ ./define_new_server.sh -db=foo -rel=12.2
# ======================================================================
08h26> mkdir $HOME/plescripts/database_servers/foo
# Configuration for foo exist : [ok]
# Oracle Release : 12.2.0.1
# LUNs hosted by : K2 protocol iSCSI
# ORACLE_HOME FS : xfs
# Node #1 standalone :
# Server name srvfoo01 : 192.250.240.106
# Interco iSCSI srvfoo01-iscsi : 66.60.60.106
# DG DATA :
# S1DISKFOO01 4Gb
# S1DISKFOO02 4Gb
# S1DISKFOO03 4Gb
# S1DISKFOO04 4Gb
# 4 disks 16Gb
# DG FRA :
# S1DISKFOO05 4Gb
# S1DISKFOO06 4Gb
# S1DISKFOO07 4Gb
# S1DISKFOO08 4Gb
# 4 disks 16Gb
08h26> $HOME/plescripts/virtualbox/validate_vm_parameter.sh -type=single -nodes=1 -cpus=2 -memory=2512
# Hypervisor : kangs
# Memory : 7 936 Mb, available for VMs 6 032 Mb (76%).
# cpu : #4
# VM type SINGLE #1 VMs
# VM memory 2 512 Mb, for #1 VMs 2 512 Mb, 41% of 6 032 Mb : [ok]
< Warning Oracle prereq : 8 192Mb/VMs
# cpu #2 : [ok]
# Execute : ./clone_master.sh -db=foo
La dernière ligne indique le prochain script à exécuter, tous les scripts indiqueront le prochain script à exécuter.
À la place de clone_master.sh
vous pouvez exécuter le script ./install_all.sh -db=foo
qui exécute tous les scripts nécessaires, il donnera les instructions pour créer
une base une fois terminé.
Options :
- -db=id : id ne doit pas faire plus de 8 caractères.
- -storage=FS : n'installe pas le Grid Infra, la base est stockée sur un FS.
- -rel=12.1|12.2 : Version d'Oracle à installer.
Exécuter depuis le virtual-host :
$ cd ~/plescripts/database_servers
$ ./define_new_server.sh -db=bar -rel=12.2 -dataguard
# ======================================================================
08h31> mkdir $HOME/plescripts/database_servers/bar
# Configuration for bar exist : [ok]
# Oracle Release : 12.2.0.1
# LUNs hosted by : K2 protocol iSCSI
# ORACLE_HOME FS : xfs
# Dataguard 2 members.
# Node #1 standalone :
# Server name srvbar01 : 192.250.240.105
# Interco iSCSI srvbar01-iscsi : 66.60.60.105
# Node #2 standalone :
# Server name srvbar02 : 192.250.240.106
# Interco iSCSI srvbar02-iscsi : 66.60.60.106
# DG DATA :
# S1DISKBAR01 4Gb
# S1DISKBAR02 4Gb
# S1DISKBAR03 4Gb
# S1DISKBAR04 4Gb
# 4 disks 16Gb
# DG FRA :
# S1DISKBAR05 4Gb
# S1DISKBAR06 4Gb
# S1DISKBAR07 4Gb
# S1DISKBAR08 4Gb
# 4 disks 16Gb
08h31> $HOME/plescripts/virtualbox/validate_vm_parameter.sh -type=dataguard -nodes=2 -cpus=2 -memory=2512
# Hypervisor : kangs
# Memory : 7 936 Mb, available for VMs 6 032 Mb (76%).
# cpu : #4
# VM type DATAGUARD #2 VMs
# VM memory 2 512 Mb, for #2 VMs 5 024 Mb, 83% of 6 032 Mb : [ok]
< Warning Oracle prereq : 8 192Mb/VMs
# cpu #2 : [ok]
# Execute : ./create_database_servers.sh -db=bar
La dernière ligne indique le prochain script à exécuter, tous les scripts indiqueront le prochain script à exécuter.
Remarque : Il est maintenant possible de créer un Dataguard passif, au moment
d'exécuter le script create_dataguard.sh
il faut ajouter le flag -no_adg
. Si
le Grid Infra est utilisé il n'y a pas de problème sinon au reboot des serveurs
la base 'Physical' sera ouverte en RO, le script de démarrage n'étant pas
adapté et ne le sera pas.
À la place de create_database_servers.sh
vous pouvez exécuter le script ./install_all.sh -db=bar
qui exécute tous les scripts nécessaires, il donnera les instructions pour créer
une base une fois terminé.
Options :
- -db=id : id ne doit pas faire plus de 6 caractères.
- -storage=FS : n'installe pas le Grid Infra, la base est stockée sur un FS.
- -rel=12.1|12.2 : Version d'Oracle à installer.
Exécuter depuis le virtual-host :
$ cd ~/plescripts/database_servers
$ ./define_new_server.sh -db=orion -rel=12.2 -max_nodes=2
# ======================================================================
08h34> mkdir $HOME/plescripts/database_servers/orion
# Configuration for orion exist : [ok]
# Oracle Release : 12.2.0.1
# Master : orclmaster
# LUNs hosted by : K2 protocol iSCSI
# ORACLE_HOME FS : ocfs2 : heartbeat on eth1/66.60.60.126
# Node #1 RAC :
# Server name srvorion01 : 192.250.240.126
# VIP srvorion01-vip : 192.250.240.127
# Interco RAC srvorion01-rac : 66.60.20.126
# Interco iSCSI srvorion01-iscsi : 66.60.60.126
# Node #2 RAC :
# Server name srvorion02 : 192.250.240.128
# VIP srvorion02-vip : 192.250.240.129
# Interco RAC srvorion02-rac : 66.60.20.128
# Interco iSCSI srvorion02-iscsi : 66.60.60.128
# scan : orion-scan
# 192.250.240.130
# 192.250.240.131
# 192.250.240.132
# DG CRS :
# S1DISKORION01 4Gb
# S1DISKORION02 4Gb
# S1DISKORION03 4Gb
# S1DISKORION04 4Gb
# S1DISKORION05 4Gb
# S1DISKORION06 4Gb
# S1DISKORION07 4Gb
# S1DISKORION08 4Gb
# S1DISKORION09 4Gb
# S1DISKORION10 4Gb
# 10 disks 40Gb
# DG DATA :
# S1DISKORION11 4Gb
# S1DISKORION12 4Gb
# S1DISKORION13 4Gb
# S1DISKORION14 4Gb
# 4 disks 16Gb
# DG FRA :
# S1DISKORION15 4Gb
# S1DISKORION16 4Gb
# S1DISKORION17 4Gb
# S1DISKORION18 4Gb
# S1DISKORION19 4Gb
# S1DISKORION20 4Gb
# S1DISKORION21 4Gb
# S1DISKORION22 4Gb
# S1DISKORION23 4Gb
# S1DISKORION24 4Gb
# S1DISKORION25 4Gb
# S1DISKORION26 4Gb
# 12 disks 48Gb
08h34> $HOME/plescripts/virtualbox/validate_vm_parameter.sh -type=RAC -nodes=2 -cpus=2 -memory=2512
# Hypervisor : kangs
# Memory : 7 936 Mb, available for VMs 6 032 Mb (76%).
# cpu : #4
# VM type RAC #2 VMs
# VM memory 2 512 Mb, for #2 VMs 5 024 Mb, 83% of 6 032 Mb : [ok]
< Warning Oracle prereq : 8 192Mb/VMs
# cpu #2 : [ok]
# Execute : ./create_database_servers.sh -db=orion
La dernière ligne indique le prochain script à exécuter, tous les scripts indiqueront le prochain script à exécuter.
À la place de create_database_servers.sh
vous pouvez exécuter le script ./install_all.sh -db=orion
qui exécute tous les scripts nécessaires, il donnera les instructions pour créer
une base une fois terminé. Attention la durée d'exécution du script est de 3h à 4h.
Options :
- -db=id : id ne doit pas faire plus de 8 caractères.
- -max_nodes=2 : nombre de nœuds, les scripts ne fonctionnent pas avec plus de 2 nœuds.
- -rel=12.1|12.2 : version d'Oracle à installer.
Si l'OS est Oracle Linux 7.2 préciser le paramètre -OH_FS=xfs
, ocfs2
ne fonctionne
pas sur cette version.
-
Le script
start_vm
permet de démarrer les VM, pour un RAC ou un Dataguard les 2 VM seront démarrées, si la VM K2 n'est pas démarrée elle est démarrée. Par exemple pour démarrer le RAC orion :start_vm orion
-
Le script
stop_vm
lui permet d'arrêter les VM, par exemplestop_vm orion
Ne pas supprimer les VMs via l'IHM ou autre.
Depuis virtual-host, exécuter :
cd ~/plescripts/database_servers
./cleanup_infra.sh -db=orion
Le DNS, le SAN, les fichiers de configurations locaux sont mis à jours et les VMs sont supprimées.
orion
correspond à l'identifiant de la base, pour connaître les identifiants
exécuter la commande lsvms
:
$ lsvms
# Infra :
# Database master :
# - orclmaster (2048MB) Actif
# - r2master (1024MB) Inactif
# Server infrastructure K2 (384MB)
# ===============================================================================
# Databases :
# asmdb : Oracle 12.2.0.1, srvasmdb01 (2512MB), storage san/ASM
# asmdg : Dataguard Oracle 12.2.0.1, srvasmdg01 (2512MB), srvasmdg02 (2512MB), storage san/ASM
# orion : RAC Oracle 12.2.0.1, srvorion01 (2512MB), srvorion02 (2512MB), storage san/ASM
# daisy : RAC Oracle 12.1.0.2, srvdaisy01 (2512MB), srvdaisy02 (2512MB), storage san/ASM
# fsdb : Oracle 12.2.0.1, srvfsdb01 (2512MB), storage san/FS
# ===============================================================================
# Others VM :
# leap (2048MB)
-
Vérifier la configuration des interfaces.
$ ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 08:00:27:be:41:26 brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 08:00:27:58:7b:b8 brd ff:ff:ff:ff:ff:ff 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 08:00:27:09:a9:14 brd ff:ff:ff:ff:ff:ff
L'interface
eth0
a une MTU de 1500, les 2 autreseth1
eteth2
ont une MTU de 9000.Donc niveau configuration le Jumbo Frame est activé sur
eth1
eteth2
. -
Tester la taille réelle des paquets.
-
Envoie de paquets de 8972 sur
eth0
(réseau public des VMs) :$ ping -c 4 -M do -s 8972 K2 PING K2.orcl (192.250.240.3) 8972(9000) bytes of data. ping: local error: Message too long, mtu=1500 ping: local error: Message too long, mtu=1500 ping: local error: Message too long, mtu=1500 ping: local error: Message too long, mtu=1500 --- K2.orcl ping statistics --- 4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 2999ms
Les paquets ne passent pas.
-
Envoie de paquets de 8972 sur
eth1
(réseau privé iSCSI (san)) :L'IP
66.60.60.3
correspond à l'IP iSCSI du serveurK2
.$ ping -c 4 -M do -s 8972 66.60.60.3 PING 66.60.60.3 (66.60.60.3) 8972(9000) bytes of data. 8980 bytes from 66.60.60.3: icmp_seq=1 ttl=64 time=1.33 ms 8980 bytes from 66.60.60.3: icmp_seq=2 ttl=64 time=1.13 ms 8980 bytes from 66.60.60.3: icmp_seq=3 ttl=64 time=1.37 ms 8980 bytes from 66.60.60.3: icmp_seq=4 ttl=64 time=0.645 ms --- 66.60.60.3 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3002ms rtt min/avg/max/mdev = 0.645/1.122/1.374/0.291 ms
Les paquets passent.
-
Interco RAC
eth2
Dans le cas d'un RAC
eth2
est le réseau privé de l'interco RAC, le même test peut être effectué en pingant l'IP de l'autre nœud.
-
Si vous souhaitez uniquement des serveurs prêts à l'emploi n'exécuter pas les
scripts install_grid12c[R1|R2].sh
et install_oracle.sh
.
Exécuter seulement les scripts clone_master.sh
ou create_database_servers.sh
.
Une fois ces scripts exécutés l'ensemble des prérequis pour installer les logiciels
sont appliqués.
-
Monter le répertoire d'installation Oracle :
$ ssh root@nom_du_server mount /mnt/oracle_install
- Le répertoire contient les sous-répertoires
grid
etdatabase
permettant d'installer les logiciels.
-
Se connecter sur un serveur en utilisant l'option
-Y
dessh
pour pouvoir lancer l'installeur en mode graphique.ssh -Y grid@nom_du_server
ssh -Y oracle@nom_du_server
Pour obtenir des informations sur l'infra (disques, réseau, etc).
Note : pour l'installation du Grid Infra utiliser le réseau 66.60.20.x et pas le réseau 66.60.60.x.