Général:InstallationSocle
Sommaire
Généralités
Limites de cette section
Cette section n’a pas la prétention de traiter tous les cas possibles d’installation et de paramétrage de dbSQWare.
Il ne faut pas perdre de vue qu’il s’agit d’un outil très souple qui est capable de s’adapter à bon nombre d’architectures.
Cette section est réservée à des DBA qui maîtrisent bien la partie Linux/Unix et le ksh. Il s’agit d’un guide à l’installation pour une personne déjà à l’aise avec ces parties.
Avant de dire « ça ne fonctionne pas », lisez bien le message d’erreur et réfléchissez à ce dont vous avez besoin au niveau du socle pour que les scripts fonctionnent. Par exemple, si vous n’arrivez pas à faire un sqlplus en ligne de commande pour vous connecter à votre instance Oracle, il n’y a pas de raison pour que les scripts arrivent à le faire (il n’y a rien de magique) !
Si un des chapitre ne fonctionne pas, n'allez pas plus loin, il faut d'abord corriger avant de continuer !
Nous vous conseillons de faire appel à un spécialiste de l’outil afin de définir avec vous quelle est la meilleure architecture d’installation adaptée à votre parc et à votre organisation du travail http://www.dbsqware.com. Des formations sont également disponibles chez des partenaires pour approfondir les différentes parties et les différentes configurations possibles.
Cette section se base sur une installation du point central sous Rocky Linux 9.3 64bits sur une VM (2 vCPU et 4 Go de RAM) avec 100 Go de disque (Permet de tenir 2 ans d'historique pour une centaine d'instances). Vous pouvez évidemment l’installer sur un autre type de Linux/Unix, il vous faudra alors adapter les commandes système proposées si nécessaire.
Il ne traite que de l’installation du socle central, pour les autres paramétrages, reportez-vous aux sections adéquates.
Anciennes versions :
Lien vers le socle CentOS 7 Lien vers le socle Rocky 8
Rappel de la structure de l’outil
dbSQWare est composé de quatre modules complémentaires :
SQWareProduction => scripts shell d’exploitation (souvent en local sur la machine hébergeant le SGBD à gérer) SQWareRepository => référentiel et stockage des indicateurs (database MySQL>=5.6 ou MariaDB>=10.1, MariaDB 10.11 conseillé) SQWareCentral => centralisation des sources et lancement des commandes SQWareWeb => interface graphique de restitution
Installation de l’infrastructure centrale
Pour rappel, ce document ne présente qu’une façon d’installer l’outil. Il existe de multiples configurations possibles.
Cette section présente une installation « compacte », c’est-à-dire l’installation des modules SQWareCentral, SQWareRepository et SQWareWeb sur la même machine que nous appellerons vmsqwarebox.
Cette machine hébergera également les sources de SQWareProduction.
Pour l’exploitation de MsSql, nous installerons également SQWareProduction MsSql (et FreeTds) sur cette même machine.
Vous pouvez évidemment l’installer sur un autre type de Linux/Unix, il vous faudra alors adapter les commandes système proposées.
L’installation peut également être réalisée en mode « distribué », c’est-à-dire chaque module sur sa propre machine ; il faudra alors adapter les configurations.
Nous allons voir l’installation pour Oracle (oracle), Sybase (sybase), Sql-Server (mssql), MySQL (mysql) et PostgreSQL (postgres).
N’utilisez que les commandes pour le(s) SGBD qui vous intéresse et/ou adaptez les commandes pour les autres SGBD.
Caractéristiques de la VM
Rocky Linux release 9.3 (Green Obsidian) 64 bits.
Dimensionnement VM:
2 vCPU 4 Go de RAM 2 Go de swap 100 Go de disque
Vérification / mise en place des pré-requis
La majorité des commandes de ce chapitre sont passées avec le user unix root, soit parce que c’est nécessaire pour des installations « système », soit parce que l’on utilise des bouts de scripts qui passent les commandes en boucle sur tous les utilisateurs.
Adaptez les commandes si vous souhaitez faire l’installation pas à pas en vous connectant à chaque fois avec le bon utilisateur.
Il est primordial de suivre les commandes dans l’ordre et de vérifier à chaque fois que le résultat attendu est bien présent avant de passer à l’étape suivante, sinon, cela risque de bloquer et vous allez avoir du mal à trouver où.
En principe, toutes les commandes ont été testées et vous pouvez donc utiliser la bonne vieille méthode du copier/coller dans la majorité des cas.
Vérifications système
Vérification de la version de l’OS :
[root@vmsqwarebox ~]# cat /etc/redhat-release Rocky Linux release 9.3 (Blue Onyx)
Configuration disque :
[root@vmsqwarebox ~]# vgs VG #PV #LV #SN Attr VSize VFree data_vg 1 5 0 wz--n- <60.91g 20.83g root_vg 1 4 0 wz--n- 37.50g <20.48g [root@vmsqwarebox ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.7M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/root_vg-root 10G 1.7G 8.4G 17% / /dev/sda2 1014M 245M 770M 25% /boot /dev/sda1 599M 5.8M 594M 1% /boot/efi /dev/mapper/root_vg-var 5.0G 379M 4.7G 8% /var /dev/mapper/data_vg-applis 5.0G 69M 5.0G 2% /applis /dev/mapper/data_vg-data 15G 140M 15G 1% /data /dev/mapper/data_vg-home 10G 105M 9.9G 2% /home /dev/mapper/data_vg-backups 10G 105M 9.9G 2% /backups tmpfs 374M 0 374M 0% /run/user/0 [root@vmsqwarebox ~]# free total used free shared buff/cache available Mem: 3825740 314080 1493080 8868 2018580 3237608 Swap: 2097148 0 2097148
Mettre l’OS à la dernière version de patch :
[root@vmsqwarebox ~]# dnf update
Desactivation FW et SELinux :
# Desactivation du FW ! systemctl disable firewalld systemctl stop firewalld # Desactivation SELINUX #Verif /usr/sbin/getenforce Enforcing vi /etc/sysconfig/selinux SELINUX=enforcing => SELINUX=disabled (reboot) shutdown -r now #Sans reboot /usr/sbin/setenforce 0 #Verif /usr/sbin/getenforce Disabled
Préférez un serveur paramétré en anglais, c’est plus facile pour les messages d’erreur (au lieu du classique fr_FR.UTF-8) :
#Si besoin installation des locales dnf install langpacks-en glibc-all-langpacks -y #Passage en anglais (plus facile pour les messages !) localectl localectl set-locale LANG=en_US.UTF-8 localectl System Locale: LANG=fr_FR.UTF-8 VC Keymap: fr-oss X11 Layout: fr X11 Variant: oss localectl set-locale LANG=en_US.UTF-8 localectl System Locale: LANG=en_US.UTF-8 VC Keymap: fr-oss X11 Layout: fr X11 Variant: oss #Clavier fr (temp) loadkeys fr #Une petite astuce, si votre clavier est en QWERTY, tapez les touches suivantes de votre clavier loqdeys fr localectl status localectl list-keymaps | grep fr localectl set-keymap fr localectl set-x11-keymap fr localectl status System Locale: LANG=en_US.UTF-8 VC Keymap: fr X11 Layout: fr
Install et activation du NTP (on utilise Chrony):
#Install et activation de Chrony dnf install -y chrony #Check config of chronyd (old ntpd) cat /etc/chrony.conf #Utilisez un pool de serveurs proche, ex: pool 0.europe.pool.ntp.org iburst #Start et activation du démarrage auto systemctl enable --now chronyd #If Firewalld is running, allow NTP service. NTP uses [123/UDP]. firewall-cmd --add-service=ntp success firewall-cmd --runtime-to-permanent success #On relance le service systemctl restart chronyd #Vérifier le status du service systemctl is-enabled chronyd enabled systemctl status chronyd chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled) ...
Installation de RPM qui vont servir par la suite !
dnf install -y open-vm-tools dnf install -y nmap bind-utils ksh rsync openssh-server openssl-devel openssl dnf install -y epel-release binutils net-tools telnet control-center gcc gcc-c++ glibc glibc-common libstdc++ libstdc++-devel make sysstat sendmail postfix cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain ##Conf et activation du mail (modif relayhost) vi /etc/postfix/main.cf systemctl start postfix.service systemctl enable postfix.service systemctl status postfix.service ## Pour client Oracle 19c (mais pas que !) dnf install -y zip unzip git wget mlocate nano binutils.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64
Un certain nombre de RPM sont nécessaires pour l’installation d’Oracle, il convient donc de vérifier leur présence et de les installer si nécessaire.
Exemple de commande de vérification :
$ rpm -q gcc gcc-11.4.1-2.1.el9.x86_64
Il peut être utile de connaitre l'architecture des RPM installés (x86_64 et i386 par exemple). Pour ce faire, il suffit de modifier le format d'affichage par défaut en éditant le fichier ~/.rpmmacros .
$ echo '%_query_all_fmt %%{name}-%%{version}-%%{release} (%%{arch})' >>~/.rpmmacros $ rpm -q gcc gcc-11.4.1-2.1.el9 (x86_64)
Ou directement dans la ligne de commande :
$ rpm -q gcc --queryformat '%{name}-%{release} %{version} (%{arch})\n' gcc-2.1.el9 11.4.1 (x86_64)
Exemple de sortie lorsqu’un RPM manque :
[root@vmsqwarebox /]# rpm -q libXpm-devel package libXpm-devel is not installed
Exemple d’installation d’un RPM manquant :
[root@vmsqwarebox /]# rpm -ivh libXpm-devel-3.5.5-3.x86_64.rpm warning: libXpm-devel-3.5.5-3.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] 1:libXpm-devel ########################################### [100%]
Le plus simple, installation directe avec yum (nécessite un repo) :
[root@vmsqwarebox /]# dnf install libXpm-devel ksh binutils gcc gcc-c++ glibc glibc-common libstdc++ libstdc++-devel make sysstat