Project

General

Profile

Actions

Wiki » History » Revision 2

« Previous | Revision 2/4 (diff) | Next »
Evolix Evolix, 11/16/2023 05:43 PM


Wiki

Infos organisation

Décompte de temps oui
Géré par Ansible partiellement
Stratégie déploiement préprod dispo sur certains aspects

Viaxoft est un éditeur spécialisé dans le tourisme qui édite un CRM multicanal à destination des agences de voyages et tour opérateur (logiciel Viaxeo ).
Viaxoft a racheté Sapeig et Taranis ces dernières années, puis Anaxys . Viaxoft pratique le developpement agile.

Contacts

Serveurs actuels

  • Pour la liste a jour des serveurs monitorés, voir le lien Evogestion ci dessus.
  • Pour les détails sur l'utilisation des machines, voir les pages par types de serveurs :
    • Serveurs SQLs (SQL / NFS / FTP)
    • Serveurs Backups (Evobackup / Backup FTP AS400)
    • Serveurs KVMs (KVM / Haproxy)
    • Serveurs FW (Firewall / VPN IPSEC / OpenVPN)
    • VmWare (VMWare)
    • Cluster Ceph (Ceph)
    • Serveur NFS (NFS)
    • TODO :
    • Divers :
      • viaxoft-mrs2-adm01 (Munin / Cacti / Smokeping / PKI / Elasticsearch (vote uniquement))
      • viaxoft-mrs2-redmine00 (Redmine)
      • viaxoft-mrs-oracle00 : VM sur mrs-kvm00
      • viaxoft-dedibox : machine chez Dédibox avec application spécifique (Java/Tomcat et Oracle), uniquement pour de la préprod
      • openbsd-test (VM sur viaxoft-vmware) : serveur OpenBSD 5.2 pour tester les VPN IPSEC (pas de compte perso, root + 7*) ip sur la page 'adressageip'
      • viaxoft-mrs-testipsec (VM sur mrs-kvm00) qui remplace ^ et qui partage la même adresse IP publique

Serveurs obsolètes

à venir (d'ici début 2018) :
- viaxoft-mrs-sql00
- viaxoft-mrs-tomcat00

arrêt infogérance oct. 2017
- viaxoft-mrs-tomcat01 : serveurs Java/Tomcat avec plusieurs instances (remplacé par adm01)
- viaxoft-mrs-adm00 : serveur d'admin (stats, sauvegardes, etc.) qui est une VM sur une machine VMware que nous ne maîtrisons pas

précédemment :
- viaxoft-mrs-fw00
- viaxoft-mrs-fw01
- viaxoft-mrs-fw02
- viaxoft-mrs-fw03
- viaxoft-mrs-fw04
- viaxoft-mrs-fw05
- viaxoft : serveur "historique", le plus ancien, avec des instances Java/Tomcat et MySQL.
- viaxoft-oracle (VM sur viaxoft-vmware) : machine de production pour une application spécifique en Java/Tomcat et Oracle
- viaxoft-mrs-sql01

Réunions

Infos infrastructure réseau

Schema Réseau Infra
Pfstat :
- http://viaxoft-mrs-fw06.evolix.net/pfstat/
- http://viaxoft-mrs-fw07.evolix.net/pfstat/

Adresses IP externe

Voir page du wiki : Pare-feu

Marseille

Viaxoft MRS - DataCenter Interxion MRS2 - Dénomination Jaguar MAR03

Gestion de l'hébergement dans 2 baies au datacenter de Marseille Interxion MRS2 - 6 bassin Léon Gourret - Porte 4 - 13005 Marseille
Bande passante : Contrat avec Jaguar de 50 Mb/s dédié (avec un burst possible à 100 Mb/s). Les firewalls d'entrée sont gérés par Evolix.

Viaxoft MRS2 - Datacenter Jaguar - Dénomination Jaguar MAR02

Gestion de l'hébergement dans 2 baies au datacenter de JAGUAR

Lausanne

QLS2 - SafeHost

Gestion de l'hébergement d'1/4 de baie chez SafeHost.

Les firewalls d'entrée sont gérés par Evolix et ont un /29 propre pour le routage.

Infos techniques

VPN IPSEC
VPN Suisse
WiFi
Adressage IP
Routage
Firewall
Backup
URLs
CUPS
Numérotation instances Tomcat
Howto Instance Tomcat
Administration Tomcat (Systemd)
vmWare
Configuration des pare-feu
qls-tomcat-td
qls-sql00-backup
Appli de gestion de sinistres
Sessions Tomcat dans Redis (beta)
Authentification SSL/TLS par domaine
Gestions des utilisateurs Viaxoft
Redmine
Proxy
Load-balancing avec HAProxy
CheckListsInstallation
Mise en place instance SQL

Procédures

Bien penser

Maintenance

SSH sur les serveurs d'administration

La connexion SSH peut se faire vers les routeurs/fws/adm01 depuis n'importe quelle machine Viaxoft ainsi que depuis les IP privilégiées Evolix avec MDP, sur ces IPs :

viaxoft-mrs2-routeur00  185.74.98.29
viaxoft-mrs2-routeur02  185.74.98.28
viaxoft-mrs2-fw00       185.74.98.2
viaxoft-mrs2-fw01       185.74.98.3
viaxoft-mrs-fw06        185.74.98.12
viaxoft-mrs-fw07        185.74.98.11
viaxoft-mrs2-adm02      10.11.24.211

dedibox

viaxoft-mrs2-redmine00!mem

- Si l'alerte est présent l'après midi, alors on veille à ce que le service fonctionne toujours et sera relancé automatiquement après 21h grâce à une tâche cron.
- Si l'alerte est présente le matin, alors entre midi et deux :

sudo -iu redmine
systemctl --user restart puma
sudo -iu easyredmine2
systemctl --user restart puma

Oracle - a.k.a. demon1 (mrs-oracle00)

Le service est lancer via une unité systemd, à priori OracleDB est installé dans /opt/oracle

Les commandes pour le démarré / redémarré / arrêter sont :

# systemctl status oracle
# systemctl restart oracle
# systemctl stop oracle
# systemctl start oracle

Pour se connecter au shell SQL on peut le faire comme ceci :

root@mrs-oracle00:~# sqlplus /nolog
CONNECT username/password

A priori nous n'avons pas les accès à un utilisateur SQL, nous faisons seulement du support niveau 1 sur ce service.

kvm / drbd

Attention a la migration a chaud des tomcats entre hyperviseur, la VM migre, répond au ping mais rien d'autre ne fonctionne (cf. http://bugs.evolix.org/25163) !

Le liens DRBD entre 2 KVM pairs utilise le réseau 192.168.42.0/24.

sql00

Lors d'une demande de viaxoft du style "Dépose export XXXXX sur ftp XXXXX", ils faut rajouter une ligne dans le script /usr/share/scripts/zip-xml.sh.

sqlxx mount

Pour mount(1) viaxoft-sqlxx sur viaxoft-yyxx

1. Ajouter entrée pour viaxoft-sqlxx:/srv/data/yy dans exports(5)

viaxoft-sqlxx:# vi /etc/exports
+ /srv/data/yy xx.xx.xx.xx(rw,sync,insecure,no_subtree_check)

viaxoft-sqlxx:# exportfs -a

2. Ajouter entrée a fstab(5)

viaxoft-yyxx:# vi /etc/fstab
+ xx.xx.xx.xx:/srv/data/yy /srv/data/yy nfs rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,proto=tcp 0 0

viaxoft-yyxx:# mount xx.xx.xx.xx:/srv/data/yy /srv/data/yy

tomcat*

Tous les -tomcat* ont un script qui vérifie l'espace disque de "/srv", envoie une alerte si occupation >= 95% avec récapitulatif 'du' sur /srv/tomcat/* à l'adresse email :

tomcat00

En cas d'alertes mail [CUPS] "AuthInfoRequired username,password" trouve sur tomcat00

Il faut éditer /etc/cups/printers.conf et rechercher la ligne "AuthInfoRequired username,password"
que l'on remplacera par "AuthInfoRequired none"

Puis on redémarre CUPS : sudo /etc/init.d/cups restart

Alerte tomcat-ajp13-instance sur mrs-oracle00

Rejouer le check nagios /usr/lib/nagios/plugins/check_tomcat_ajp_instance.sh et repérer les instances ne répondant plus grâce aux ports manquants (se référer au tableau des instances Tomcat)

Si la ou les instances concernées sont encore en train de tourner ( ps auwx|grep <nominstance> ), tenter un shutdown propre via l'utilisateur de l'instance

Ceci peut être dû au fait que le script dans init.d démarre les tomcats en tant que root, il devrait les partir avec leurs usagers respectifs.

sudo -iu $NOMINSTANCE -- /srv/tomcat/$NOMINSTANCE/bin/shutdown.sh

Si cela ne suffit pas, killer le processus java.

Redémarrer les instances

sudo -iu $NOMINSTANCE -- /srv/tomcat/$NOMINSTANCE/bin/startup.sh

Attendre un peu que l'instance s'initialise et rejouer le check nagios

L'alerte tomcat-ajp13-instance est suivi d'une alerte tomcat-http-instance, après la maintenance rejouer aussi /usr/lib/nagios/plugins/check_tomcat_http_instance.sh.

tomcat04

Tous les dimanches, un OPTIMIZE est lancé sur MySQL (car oui, il y a un MySQL sur ce serveur), qui fait prendre ~ +15% de disque à /srv pendant 30 minutes.
Un ménage doit donc être fait par Viaxoft pour ne jamais atteindre 80%... si alerte, relancer Viaxoft sur l'email check_free_disk

tomcat07

Ce serveur a 2 route supplémentaires, demandé dans le ticket #67701
- ip route add 82.150.240.201 via 10.11.24.251
- ip route add 194.156.171.137 via 10.11.24.251

Alerte VPN sur qls-fw0x

On peut forcer la renegotiation sur les qls-fw0x avec la commande suivante (par exemple pour le vpn Delta) :

echo "c peer-deltavoyages" >/var/run/isakmpd.fifo

mrs-oracle00 / tomcat06

Si Soffice ne se lance pas au démarrage ou plante, examiner l'état du screen ...ou lancer dans un screen :

while sleep 10; do /usr/lib/libreoffice/program/soffice.bin --headless --accept="socket,host=localhost,port=8100;urp;"; done

Switchs

Procédure de secours pour les switchs

Problème VPN IPSEC

Diagnostic souci VPN IPsec

Réseau Windows

Le réseau Windows est 10.11.20.0/24 (local) et l'on a réservé la plage d'IPs publiques 85.31.204.176/28 (interface "bge1" sur fw06/fw07).
Si demande de Viaxoft pour avoir une IP dédiée pour un serveur Windows, on réalise un mapping "binat" dans les pf.conf des firewalls :

match on {$ext_if $ext2_if $viaxoft_if} from 10.11.20.XXX binat-to 85.31.204.1YY

Redémarrage tous les soirs

Entre 21h00 et 21h15, plusieurs instances Tomcat sont redémarrées sur les serveurs oracle00 et tomcat06,
les alertes sont donc à ignorer (détails sur <CA+vXRVhqBVbVCDJ+Xj=>)

Générer un nouveau certificat Let's Encrypt

# certbot certonly --webroot --webroot-path /var/lib/letsencrypt/ -d test-lb.viaxoft.net --post-hook /usr/share/scripts/ssl-haproxy-hook.sh

Le script est exécuté chaque semaine en plus de l'exécution par Let's Encrypt.

ocspd

Un démon ocspd tourne sur viaxoft-mrs2-adm01, il permet au serveurs Tomcat de vérifier la validité des certificats SSL clients, il est donc très critique.

Pour le redémarrer :

systemctl restart ocspd

pf_states

Voir [[evolix-intra:HowtoMonitoring#pf_states|HowtoMonitoring#pf_states]]

Bascule SQL sur viaxoft-qls

Si un incident se produit sur viaxoft-qls-sql00, on peut basculer sur viaxoft-qls-sql00-backup via un Haproxy local sur viaxoft-qls-tomcat00.

1) Mettre sql00 en status MAINT (Set State to MAINT)

http://viaxoft-qls-tomcat00.evolix.net:8080/

2) Activer sql00-backup via mysqlcheck sur sql00-backup

sed -i 's/^return="404 Not Found"/#\0/' /root/mysqlchk
Le trafic Mysql ira vers sql00-backup tant que :
  • sql00 restera en status MAINT (attention status perdu au reload de Haproxy)
  • Mysql sur sql00 ne sera pas OK

Si l'on veut etre sur que sql00 ne repasse pas en status actif dans Haproxy, on peut changer son mysqlcheck :

sed -i 's/^#return="404 Not Found"/\0/' /root/mysqlchk

jvm

Le client peut demander d'ajouter un certificat dans la JVM #43136 Il faudra alors suivre cette documentation : https://wiki.evolix.org/HowtoJava#importer-un-certificat-racine

Mail : [alert] Interface carp4 HS

Si on reçoit ce mail (script exécuté toutes les minutes sur le firewall), c'est qu'il y a un problème avec le réseau Windows 10.11.20.0/24 sur le firewall. Ça peut arriver suite à ajout de nouveaux réseaux VPN, avec un le client qui annonce 0.0.0.0/0 au lieu d'un réseau spécifique, et cassant le réseau.

Visible avec :

# ipsecctl -sa | grep -F 0.0.0.0
flow esp in from 0.0.0.0/0 to 10.11.20.0/24 peer 193.58.247.50 srcid 85.31.195.22/32 dstid 193.58.247.50/32 type require
flow esp out from 10.11.20.0/24 to 0.0.0.0/0 peer 193.58.247.50 srcid 85.31.195.22/32 dstid 193.58.247.50/32 type require

Il faut dans ce cas désactiver les derniers réseaux rajoutés concernant le VPN en question dans /etc/isakmpd/isakmpd.conf et rapidement en informer Viaxoft

VM qls2-fw02 de secours sur qls-kvm00

Voir la page QLS2-fw02

Warning Ceph mon is allowing insecure global_id reclaim

La commande suivante a été jouée sur viaxoft-mrs2-ceph00 pour ignorer le warning le temps que les clients comme viaxoft-mrs2-kvm09 soient mis à jour :

ceph config set mon mon_warn_on_insecure_global_id_reclaim false
ceph config set mon mon_warn_on_insecure_global_id_reclaim_allowed false

La fonctionnalité a été désactivée à la mi-juillet 2021. Ça a provoqué un incident le 11 août 2021. Le warning est donc ignoré le temps que tous les clients Ceph monte de version.

Puis dans le fichier /etc/ceph/ceph.conf :

[mon]
mon_warn_on_insecure_global_id_reclaim = false
mon_warn_on_insecure_global_id_reclaim_allowed = false

Alerte mémoire sur serveurs Tomcat

Étant donne qu'il a beaucoup d'alerte mémoire sur ces serveurs, le client a programmé un reboot entre 8 h et 8 h 20, voir ticket #64495

Les serveurs concernés sont :

viaxoft-mrs2-tomcat08
viaxoft-mrs-tomcat09
viaxoft-mrs-tomcat10
viaxoft-qls-tomcat00

OpenVPN

Suite au ticket #64149, il y a 2 instances OpenVPN sur les firewalls mrs-fw0* et mrs2-fw0*.
La seconde instance utilise une configuration différente de la première (qui ne fonctionne plus sous macOS), et a pour but de la remplacer à terme, le temps que les utilisateurs migrent petit à petit sur la nouvelle instance.

La première instance se trouve dans /etc/openvpn/, et la seconde dans /etc/openvpn2/. Chacune a sa propre configuration pour les logs, NRPE, et l'autorisation de connexion.
Par contre, les 2 instances utilisent la même configuration pour les certificats : tout est géré dans /etc/openvpn/ssl/ à la fois pour la première et la seconde instance OpenVPN. Ainsi, les clients peuvent se connecter sur n'importe quelle instance en changeant simplement le port et le dev (1194 et dev tap pour la première, 1196 et dev tun pour la seconde) et en gardant les mêmes certificats.

Si on veut gérer une instance en particulier :

# rcctl (check|start|stop|restart) openvpn    # => Première instance
# rcctl (check|start|stop|restart) openvpn2   # => Seconde instance

Archivage et backup des données clients Viaxeo

Backup

SSL/TLS

Les certificats viaxeo.com et *.viaxeo.com (wildcard) sont déployés sur les HAProxy (depuis viaxoft-mrs2-adm01) et sur les Tomcat (avec Ansible).
Pour les mettre à jour il faut suivre la procédure pour HAProxy et la procédure pour Tomcat.

Des certificats Let's Encrypt sont gérés depuis viaxoft-mrs2-adm01 et également déployés sur les HAProxy.
Pour en ajouter/modifier/supprimer, il faut suivre la procédure pour HAProxy.

PRA

  • En cas de soucis sur un des KVM qui font aussi Load Balancing (kvm01 a kvm04).

Serveur de PRA pour les serveurs SQL

Un serveur de PRA est dédié pour les serveurs SQL, viaxoft-mrs2-sql-pra.
Il sert a remonté une ou des instances MySQL ainsi que le serveur FTP du serveur SQL que l'on souhaite remonter.

Remonter une ou des instances MySQL

Un procédure détailler, par serveur SQL que l'on souhaite remonter, est détaillé dans /etc/mysql-sql0*/README.md

Il suffit de jouer une par une les étapes pour remonter l'instance ou les instances MySQL, pour la configuration, on fait un lien symbolique de la configuration du serveur SQL souhaité dans /etc/mysql.

Remonter le serveur Proftpd

Pour remonter le serveur Proftpd du serveur SQL souhaité, il suffit de jouer le script /usr/share/scripts/ftp.sh comme ceci :

/usr/share/scripts/ftp.sh sql0*

Il va copier la configuration du serveur Proftpd que l'on souhaite remonter, créer les différents dossiers des comptes FTP dans /srv/data, et redémarrer Proftpd.

Sauvegarde

cf. Backup2

Updated by Evolix Evolix about 2 years ago · 4 revisions