Skip to content

Configuration du virtual host

PhilippeLeroux edited this page Sep 30, 2018 · 15 revisions

Préambule

  • Toutes les actions sont effectuées depuis le virtual-host.
  • virtual-host poste exécutant VirtualBox.
  • Mon virtual-host est mon desktop sous LEAP.

Configuration du virtual-host

Timer HPET

Si le hardware le permet, il est vraiment souhaitable que le virtual-host utilise le timer HPET, les RAC fonctionneront mieux et les performances seront bien meilleurs.

  • Lister les timers disponibles :

     $ cat /sys/devices/system/clocksource/clocksource0/available_clocksource
     tsc hpet acpi_pm
    
  • Timer actif :

     $ cat /sys/devices/system/clocksource/clocksource0/current_clocksource
     hpet
    
  • Comment activer le timer HPET sous openSUSE LEAP 4.3

Logiciels utilisés et devant être dans PATH :

  • VirtualBox : la commande VBoxManage doit être dans le PATH.
  • nc (from the netcat-openbsd package)
  • ssh
  • git (optionnel)
  • tmux (optionnel)

Téléchargement du dépôt plescripts

  • Cloner le dépôt dans le répertoire ~/plescripts

     $ cd $HOME
     $ git clone https://github.com/PhilippeLeroux/plescripts.git
    
  • Pour savoir si le dépôt a été mis à jour, taper les commandes suivantes :

     $ cd ~/plescripts
     $ git fetch && git pull
    

    S'il n'est pas à jour votre dépôt sera mis à jour.

  • Si git n'est pas installé, télécharger l'archive zip depuis github et l'extraire dans le répertoire ~/plescripts

  • Ajouter le répertoire ~/plescripts/shell dans le PATH, ou bien effectuer la configuration décrite ici

Téléchargement et extraction des binaires Oracle.

  • Version d'Oracle

    Les versions 12.1.0.2, 12.2.0.1 et 18.0.0.0 sont supportées.

    Par défaut c'est la version 12.2.0.1 qui est activée, pour activer la version 12.1.0.2 exécuter les commandes suivantes :

     $ cd ~/plescripts
     $ ./update_local_cfg.sh ORACLE_RELEASE=12.1.0.2
    

    Si la 12.2.0.1 est activée, il n'est pas nécessaire de télécharger les zips 12.1.0.2 et inversement.

  • Oracle 12.1 copier dans le répertoire ~/oracle_install/12.1 les zips :

    • linuxamd64_12102_database_1of2.zip
    • linuxamd64_12102_database_2of2.zip
    • linuxamd64_12102_grid_1of2.zip
    • linuxamd64_12102_grid_2of2.zip

    Dézipper tous les fichiers zip.

    Contenu des répertoires après extraction :

     $ ls -1  ~/oracle_install/12.1/database
     install
     response
     rpm
     runInstaller
     sshsetup
     stage
     welcome.html
    
     $ ls -1  ~/oracle_install/12.1/grid/
     install
     response
     rpm
     runcluvfy.sh
     runInstaller
     sshsetup
     stage
     welcome.html
    
  • Oracle 12.2

    • Extraire linuxx64_12201_database.zip dans ~/oracle_install/12.2/

    • Pour le Grid copier linuxx64_12201_grid_home.zip dans ~/oracle_install/12.2/grid

    Contenu des répertoires après extraction :

     $ ls -1 ~/oracle_install/12.2/database
     install
     response
     rpm
     runInstaller
     sshsetup
     stage
     welcome.html
    
     $ ls -1 ~/oracle_install/12.2/grid
     linuxx64_12201_grid_home.zip
    
  • Oracle 18c

    • Oracle : copier LINUX.X64_180000_db_home.zip dans ~/oracle_install/18.0/database

    • Grid : copier LINUX.X64_180000_grid_home.zip dans ~/oracle_install/18.0/grid

    Contenu des répertoires après extraction :

     $ ls -1 ~/oracle_install/18.0/database
     LINUX.X64_180000_db_home.zip
    
      $ ls -1 ~/oracle_install/18.0/grid
     LINUX.X64_180000_grid_home.zip
    
  • Oracle Linux 7.5, 2 façons pour récupérer l'image ISO :

    • Télécharger V975367-01.iso ne sélectionner que la première ISO :

      screen

      Une fois le téléchargement terminé, déplacer l'ISO dans le répertoire ~/ISO/oracle_linux_7

    • Le script wget_ol74_iso.sh permet de télécharger l'ISO, les identifiants Oracle sont à saisir :

       $ cd ~/plescripts
       $ ./wget_ol75_iso.sh
       SSO User Name:xxxxxxxxxxxx@yyyy.zzz
       SSO Password:
       [...]
      

      Une fois le téléchargement terminé, déplacer l'ISO :

       $ mkdir -p ~/ISO/oracle_linux_7
       $ mv V975367-01.iso ~/ISO/oracle_linux_7/
      

Réseaux

  • Le réseau public des VMs est 192.250.240.0/24

  • Firewall : placer l'interface réseau vboxnet1 dans une zone interne.

    Si nécessaire créer l'interface réseaux vboxnet1 :

     $ cd ~/plescripts/virtualbox
     $ ./create_iface.sh -force_iface_name=vboxnet1
    

    Exemple de configuration que je n'ai pas testé moi même, qui fonctionnerait sous ubuntu :

     $ sudo nmcli connection modify vboxnet1 connection.zone trusted
     $ sudo firewall-cmd --get-active-zones
     public
       interfaces: enp0s3
     trusted
       interfaces: vboxnet1
    

    L'interface est vboxnet1 car si un logiciel comme genymotion est installé il détruit toute la configuration existante.

    L'interface réseau vboxnet1 est du type Host-only, elle autorise uniquement les VMs à communiquer entre elles et le virtual-host.

    Configuration pour LEAP

  • DNS ajouter un serveur de nom (nameserver) et son domaine :

    • Domain orcl
    • Adresse 192.250.240.3 qui correspondra à l'adresse du serveur DNS des VMs.

    Exemple de configuration avec Network Manager

  • Installer/Démarrer/configurer un serveur NFS

    Sous openSUSE la commande sudo zypper install yast2-nfs-server permet d'installer un serveur NFS.

    Pour activer le serveur NFS :

     $ sudo systemctl enable rpcbind
     $ sudo systemctl start rpcbind
     $ sudo systemctl enable nfs-server
     $ sudo systemctl start nfs-server
    
  • Exporter, via NFS, les répertoires :

    • ~/plescripts en lecture écriture.
    • ~/oracle_install/12.1 en lecture seule (si la 12.1 est téléchargée).
    • ~/oracle_install/12.2 en lecture seule (si la 12.2 est téléchargée).
    • ~/oracle_install/18.0 en lecture seule (si la 18.0 est téléchargée).

    L'option no_root_squash est nécessaire pour le répertoire ~/plescripts, le compte root des VMs exécute les scripts présents dans ce répertoire.

    Mise à jour du fichier /etc/exports :

     $ sudo sh -c "echo '$HOME/plescripts 192.250.240.0/24(rw,sync,subtree_check,no_root_squash)' >> /etc/exports"
     $ sudo sh -c "echo '$HOME/oracle_install/12.1 192.250.240.0/24(ro,subtree_check)' >> /etc/exports"
     $ sudo sh -c "echo '$HOME/oracle_install/12.2 192.250.240.0/24(ro,subtree_check)' >> /etc/exports"
     $ sudo sh -c "echo '$HOME/oracle_install/18.0 192.250.240.0/24(ro,subtree_check)' >> /etc/exports"
    

    Pour rendre l'export effectif :

     $ sudo exportfs -au && sudo exportfs -a && sudo exportfs
    

    Pour mémoire, visualiser les répertoires exportés depuis un serveur : showmount -e kangs

Mise à jour du fichier global.cfg

Exécuter le script configure_global.cfg.sh qui posera diverses questions, à chaque question une valeur par défaut est proposée, si elle convient appuyer sur enter sinon saisir une autre valeur.

Si vous ne savez pas quoi répondre, accepter la valeur par défaut.

Si les disques ne sont pas gérés par VirtualBox, il faut préciser si le disque utilisé pour le SAN est virtuel ou physique (le disque physique sera complètement effacé) :

  • Pour un disque virtuel : saisir vdi, par défaut la taille du disque vdi est de 128Gb, pour augmenter ou diminuer ça taille :
     $ cd ~/plescripts
     $ ./update_local_cfg.sh SAN_DISK_SIZE_G=512
    
  • Pour un disque physique : saisir le nom du disque ou de la partition, par exemple /dev/sdz ou dev/sdz1.

Note : sur un PC peut puissant choisir VirtualBox pour la gestion des disques, ou un disque physique.

Le Grid Infra 12cR1 ne peut être installé sur un dépôt créer depuis le DVD OL7.4 ou OL7.3 non mis à jour, le link du binaire oracle échoue. Il faut donc répondre yes à la question Update Oracle Linux 7.4 release ? yes no ou utiliser le DVD OL7 R2.

Exécution du script :

$ cd ~/plescripts
$ ./configure_global.cfg.sh
11h34> touch $HOME/plescripts/local.cfg

# VMs folder :
# Press <enter> to select : $HOME/VBoxVMs
# Or new value :
# Exists $HOME/VBoxVMs : [ok]

# Oracle Linux release : 7.2, 7.3, 7.4 :
# Press <enter> to select : 7.4
# Or new value :

# Update Oracle Linux 7.4 release ? yes no
# Press <enter> to select : yes
# Or new value :

# Exists $HOME/ISO/oracle_linux_7/V975367-01.iso : [ok]

# Gateway IP (Box address) :
# Press <enter> to select : 192.168.1.1
# Or new value :
# Ping 192.168.1.1 [ok]

# On a computer with low power choose vbox.
# Disks managed by san or vbox (vbox = VirtualBox) :
# Press <enter> to select : vbox
# Or new value :

# Use virtual disk (enter vdi) or physical disk (enter full device name) :
# Press <enter> to select : vdi
# Or new value :

# Network interfaces
11h34> ip link show | grep -vE "(lo|vboxnet)" | grep "state UP"
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000

# Network interface to used for internet access.
# Press <enter> to select : eth0
# Or new value :

# Sync time source for VMs.
# if kangs do not have a ntp server, choose internet.
# Default kangs, enter internet for internet.
# Press <enter> to select : kangs
# Or new value :

# ====================================================================================================
# Add new variable : VM_PATH="/home/kangs/VBoxVMs"
11h34> echo "VM_PATH="$HOME/VBoxVMs"" >> /home/kangs/plescripts/local.cfg

# Configure repository OL7

Ne pas continuer s'il y a des erreurs, les corriger et relancer le script.

Valider la configuration du virtual-host exécuter : ./validate_config.sh

$ ./validate_config.sh
# ====================================================================================================
# Directory exists $HOME/plescripts [ok]

# ====================================================================================================
# Oracle 12.1 extracted :
# Exist $HOME/oracle_install/12.1/database/runInstaller [ok]

# Grid 12.1 extracted :
# Exist $HOME/oracle_install/12.1/grid/runInstaller [ok]

# ====================================================================================================
# Validate NFS exports from kangs on network 192.250.240.0 :
#   - $HOME/plescripts [ok]
#   - $HOME/oracle_install/12.1 [ok]

# ====================================================================================================
# ISO Oracle Linux 7.5 exists $HOME/ISO/oracle_linux_7/V975367-01.iso [ok]

# ====================================================================================================
# Validate gateway 192.168.1.1 [ok]

# ====================================================================================================
# Validate resolv.conf
#  - Test : search orcl [ok]
#  - Test : nameserver 192.250.240.3 [ok]

# ====================================================================================================
# $PATH contains $HOME/plescripts/shell [ok]

# Installed :
#   VBoxManage [ok]
#   nc         [ok]
#   ssh        [ok]
#   git        [ok]
#   tmux       [ok]

# ====================================================================================================
# ~/plescripts/configure_global.cfg.sh executed [ok]

# ====================================================================================================
17h21> ~/plescripts/shell/set_plescripts_acl.sh
# Positionne les acls sur ~/plescripts
17h21> setfacl -R -d -m u:kangs:rwx,g:users:rwx,o::r-x $HOME/plescripts/

# ====================================================================================================
# Configuration [ok]

Ne pas continuer s'il y a des erreurs, effectuer les correstions et relancer le script : configure_global.cfg.sh.


Création de la VM de démarrage et installation d'Oracle Linux 7

Clone this wiki locally