Table des matières

Table des matières

Vue générale . 3

Table des matières . 5

1. ... Aperçu technique . 15

1.1 ..... Généralités, solutions, architectures 15

1.1.1 Introduction à SafeKit 15

1.1.2 Solutions SafeKit 16

1.1.3 Architectures SafeKit 16

1.1.4 Définition du cluster SafeKit 17

1.1.5 Définition du module SafeKit 17

1.1.6 Limites de SafeKit 18

1.2 ..... Le cluster miroir de SafeKit 18

1.2.1 Réplication de fichiers en temps réel et basculement d'application . 18

1.2.2 Étape 1. Fonctionnement normal 19

1.2.3 Étape 2. Basculement 19

1.2.4 Étape 3. Réintégration et resynchronisation . 20

1.2.5 Étape 4. Retour au fonctionnement normal 20

1.2.6 Réplication synchrone et réplication asynchrone . 20

1.2.7 Comportement en cas d'isolation réseau . 21

1.2.8 Réplication à 3 nœuds 21

1.2.9 SafeKit sur un seul nœud pour résister aux pannes logicielles . 22

1.3 ..... Le cluster ferme de SafeKit 22

1.3.1 Équilibrage de charge réseau et basculement d’application . 22

1.3.2 Principe d'une adresse IP virtuelle avec équilibrage de charge réseau . 22

1.3.3 Équilibrage de charge pour les services Web avec ou sans état 23

1.3.4 Solution de haute disponibilité en chaîne dans une ferme . 23

1.4 ..... Clusters exécutant plusieurs modules 24

1.4.1 Le cluster ferme+miroir de SafeKit 24

1.4.2 Le cluster actif/actif avec réplication de SafeKit 24

1.4.3 Le cluster N-1 de SafeKit 25

1.5 ..... Le cluster Hyper-V ou KVM de SafeKit 25

1.5.1 Équilibrage de charge, réplication, basculement de machines virtuelles complètes . 25

1.6 ..... Clusters SafeKit dans le cloud . 26

1.6.1 Cluster miroir dans Azure, AWS et GCP . 26

1.6.2 Cluster ferme dans Azure, AWS et GCP . 28

2. ... Installation . 29

2.1 ..... Installation de SafeKit 29

2.1.1 Télécharger le package . 29

2.1.2 Répertoires d'installation et espace disque . 30

2.1.3 Procédure d’installation de SafeKit 30

2.1.4 Utilisation de la console web et de la ligne de commande SafeKit 34

2.1.5 Clés de licence SafeKit 35

2.1.6 Caractéristiques spécifiques à chaque OS . 35

2.2 ..... Recommandation pour une installation d'un module miroir 36

2.2.1 Prérequis matériel et système . 36

2.2.2 Prérequis réseau . 36

2.2.3 Prérequis application . 36

2.2.4 Prérequis réplication de fichiers 37

2.3 ..... Recommandation pour une installation d'un module ferme . 37

2.3.1 Prérequis matériel et système . 37

2.3.2 Prérequis réseau . 37

2.3.3 Prérequis application . 37

2.4 ..... Upgrade de SafeKit 37

2.4.1 Préparer l'upgrade . 38

2.4.2 Procédure de désinstallation . 38

2.4.3 Procédure de réinstallation et post-installation pour l’upgrade . 38

2.5 ..... Désinstallation complète de SafeKit 40

2.5.1 Désinstallation sur Windows 40

2.5.2 Désinstallation sur Linux . 42

2.6 ..... Documentations SafeKit 42

3. ... La console web de SafeKit 45

3.1 ..... Démarrer la console web . 45

3.1.1 Lancer un navigateur web . 45

3.1.2 Connecter la console à un nœud SafeKit 45

3.1.3 Liste des nœuds de connexion . 47

3.1.4 Utiliser l’application web (SafeKit Web App) 47

3.1.5 Mettre à jour la console web . 49

3.2 ..... Configurer un cluster SafeKit 49

3.2.1 L’assistant de configuration du cluster 50

3.2.2 Page d’accueil de la configuration du cluster 53

3.3 ..... Configurer un module . 54

3.3.1 Sélectionner le nouveau module à configurer 55

3.3.2 L’assistant de configuration du module . 56

3.3.3 Page d’accueil de la configuration des modules 61

3.3.4 Éditer localement la configuration du module puis l’appliquer 63

3.4 ..... Superviser un module . 64

3.4.1 Page d’accueil de la supervision . 64

3.4.2 État du module . 65

3.4.3 Menus de contrôle d’un module . 67

3.4.4 Détails du module . 70

3.4.5 Chronologie des états du module . 76

3.5 ..... Snapshots et journaux du module pour le débogage et support 76

3.6 ..... Sécuriser la console web . 77

4. ... Tests . 79

4.1 ..... Installation et tests après boot 79

4.1.1 Test installation package . 79

4.1.2 Test licence et version . 80

4.1.3 Test des services et modules SafeKit après boot 80

4.1.4 Test démarrage de la console web . 83

4.2 ..... Tests d'un module miroir 83

4.2.1 Test du premier start d'un module miroir sur 2 serveurs STOP (NotReady) . 83

4.2.2 Test start d'un module miroir sur 2 serveurs STOP (NotReady) . 83

4.2.3 Test stop d'un module miroir sur le serveur PRIM (Ready) . 83

4.2.4 Test start du module miroir dans l'état STOP (NotReady) 84

4.2.5 Test restart du module miroir dans l'état PRIM (Ready) . 84

4.2.6 Test adresse IP virtuelle d'un module miroir 84

4.2.7 Test réplication de fichiers d'un module miroir 85

4.2.8 Test shutdown du serveur PRIM (Ready) . 86

4.2.9 Test power-off du serveur PRIM (Ready) . 87

4.2.10 Test split-brain avec un module miroir 88

4.2.11 Continuer les tests de votre module miroir avec les checkers . 89

4.3 ..... Tests d'un module ferme . 89

4.3.1 Test start d'un module ferme sur les serveurs STOP (NotReady) . 89

4.3.2 Test stop d'un module ferme sur un serveur UP (Ready) . 89

4.3.3 Test restart d'un module ferme sur un serveur UP (Ready) . 89

4.3.4 Test adresse IP virtuelle d'un module ferme . 90

4.3.5 Test load balancing TCP sur une adresse virtuelle . 91

4.3.6 Test split-brain avec un module ferme . 92

4.3.7 Test de la compatibilité du réseau avec l'adresse MAC invisible (vmac_invisible) 93

4.3.8 Test shutdown d’ un serveur UP (Ready) . 94

4.3.9 Test power-off d'un serveur UP (Ready) . 95

4.3.10 Continuer les tests du module ferme avec les checkers 95

4.4 ..... Tests des checkers communs à un miroir et une ferme . 95

4.4.1 Test < errd > checker avec action restart ou stopstart 95

4.4.2 Test <tcp> checker avec action restart ou stopstart 96

4.4.3 Test <tcp> checker avec action wait 97

4.4.4 Test <interface check="on"> avec action wait 98

4.4.5 Test <ping> checker avec action wait 99

4.4.6 Test <module> checker avec action wait 100

4.4.7 Test <custom> checker avec action wait 101

4.4.8 Test <custom> checker avec action restart ou stopstart 102

5. ... Administration d'un module miroir . 105

5.1 ..... Mode de fonctionnement d'un module miroir 105

5.2 ..... Automate d'état d'un module miroir ( STOP, WAIT, ALONE, PRIM, SECOND - NotReady, Transient, Ready ) 107

5.3 ..... Premier démarrage d'un module miroir (commande prim ) 107

5.4 ..... Différents cas de réintégration (utilisation des bitmaps) 108

5.5 ..... Démarrage d'un module miroir avec les données à jour STOP (NotReady) - WAIT (NotReady) . 110

5.6 ..... Mode de réplication dégradé ( ALONE (Ready) dégradé) 111

5.7 ..... Reprise automatique ou manuelle . 112

5.8 ..... Serveur primaire par défaut (swap automatique après réintégration) 113

5.9 ..... La commande prim échoue : pourquoi ? (commande primforce ) 114

6. ... Administration d'un module ferme . 117

6.1 ..... Mode de fonctionnement d'un module ferme . 117

6.2 ..... Automate d'état d'un module ferme ( STOP, WAIT, UP - NotReady, Transient, Ready ) 118

6.3 ..... Démarrage d'un module ferme . 118

7. ... Résolution de problèmes . 121

7.1 ..... Problème de connexion avec la console web . 121

7.1.1 Contrôler le navigateur 121

7.1.2 Supprimer l’état du navigateur 122

7.1.3 Contrôler les serveurs . 122

7.2 ..... Problème de connexion HTTPS avec la console web . 123

7.2.1 Contrôler les certificats serveurs 123

7.2.2 Contrôler les certificats installés dans SafeKit 124

7.2.3 Revenir à la configuration HTTP . 125

7.3 ..... Comment lire les journaux et les ressources du module ? 125

7.4 ..... Comment lire le journal de commandes du serveur ? 126

7.5 ..... Module stable (Ready) et (Ready) . 126

7.6 ..... Module dégradé (Ready) et / (NotReady) . 126

7.7 ..... Module hors service / (NotReady) et / (NotReady) . 127

7.8 ..... Module STOP (NotReady) : redémarrer le module . 127

7.9 ..... Module WAIT (NotReady) : réparer la ressource="down" . 127

7.10 ... Module oscillant de (Ready) à (Transient) . 128

7.11 ... Message sur stop après maxloop . 129

7.12 ... Module (Ready) mais application non opérationnelle . 130

7.13 ... Module mirror ALONE (Ready) / WAIT ou STOP (NotReady) . 130

7.14 ... Module ferme UP (Ready) mais problème de load balancing . 131

7.14.1 Non cohérence des parts de la charge réseau . 131

7.14.2 L'adresse IP virtuelle ne répond pas correctement 131

7.15 ... Problème avec l’adresse IP virtuelle après le basculement 132

7.16 ... Problème après boot 133

7.17 ... Analyse à partir des snapshots du module . 133

7.17.1 Fichiers de configuration du module . 134

7.17.2 Fichiers de dump du module . 134

7.18 ... Problème avec la taille des bases de données de SafeKit 137

7.19 ... Problème pour récupérer le certificat de l'autorité de certification depuis une PKI externe 138

7.19.1 Exporter les certificats CA depuis des certificats publics . 138

7.20 ... Problème d’envoi de courriel par l'agent de notification SafeKit 141

7.20.1 Failed to read or parse the configuration file . 141

7.20.2 Blocage lors du test d’envoi de courriel 142

7.20.3 Erreurs curl 142

7.21 ... Problème avec les antivirus 143

7.22 ... Problème persistant 144

8. ... Support Evidian . 145

9. ... Interface ligne de commande . 147

9.1 ..... Commandes de contrôle et setup de SafeKit 147

9.1.1 Service safeadmin . 147

9.1.2 Service safewebserver 148

9.1.3 Agent de notification par courriel 149

9.1.4 SNMP service . 150

9.2 ..... Commandes de configuration et surveillance du cluster 150

9.3 ..... Commandes de contrôle des modules 152

9.4 ..... Commandes de surveillance des modules 154

9.5 ..... Commandes de configuration des modules 155

9.6 ..... Commandes de support 157

9.7 ..... Commandes lors de la maintenance de l’application du module . 158

9.7.1 Contrôle du module lors de la maintenance . 158

9.7.2 Exécution de l'application sans le module . 159

9.8 ..... Commandes distribuées sur plusieurs serveurs SafeKit 159

9.9 ..... Exemples 161

9.9.1 Commande locale et distribuée . 161

9.9.2 Configuration globale du cluster 162

9.9.3 Configuration globale d’un module . 162

9.9.4 Snapshot d’un module . 162

10. Administration et configuration avancées . 165

10.1 ... Variables d'environnement et répertoires SafeKit 165

10.1.1 Global 165

10.1.2 Module . 165

10.2 ... Services et démons SafeKit 168

10.2.1 Services SafeKit 168

10.2.2 Démons SafeKit par module . 168

10.3 ... Paramétrage du pare-feu . 169

10.3.1 Paramétrage du pare-feu en Linux . 169

10.3.2 Paramétrage du pare-feu en Windows 170

10.3.3 Autres pare-feux . 170

10.4 ... Configuration au boot et au shutdown en Windows 174

10.4.1 Procédure automatique . 174

10.4.2 Procédure manuelle . 174

10.5 ... Paramétrage de Secure Boot en Linux pour les modules kernel SafeKit 175

10.6 ... Paramétrage des antivirus 176

10.7 ... Cryptage des communications du module . 176

10.7.1 Configuration avec la console web de SafeKit 177

10.7.2 Configuration en ligne de commandes 177

10.7.3 Configuration avancée . 177

10.8 ... Cryptage des fichiers sensibles dans SafeKit 179

10.9 ... Configuration du service web de SafeKit 180

10.9.1 Fichiers de configuration . 180

10.9.2 Configuration des ports de connexion . 182

10.9.3 Configuration de HTTP/HTTPS et de l’authentification utilisateur 182

10.9.4 API SafeKit 182

10.10 . Agent SafeKit de notification par courriel 183

10.10.1 Configuration de l’agent de notification SafeKit 184

10.10.2 Configuration des identifiants du client SMTP pour l’authentification . 185

10.10.3 Test d'envoi de courriel 185

10.10.4 Activation de l’agent de notification SafeKit 186

10.11 . Surveillance SNMP . 186

10.11.1 Surveillance SNMP en Windows . 186

10.11.2 Surveillance SNMP en Linux . 187

10.11.3 La MIB SafeKit 187

10.12 . Journal des commandes du serveur SafeKit 188

10.13 . Messages SafeKit dans le journal système . 189

11. Sécurisation du service web de SafeKit 191

11.1 ... Vue générale . 191

11.1.1 Configuration par défaut 192

11.1.2 Configurations prédéfinies . 192

11.2 ... Configuration HTTP . 193

11.2.1 Configuration par défaut 193

11.2.2 Configuration non sécurisée basée sur un rôle identique pour tous . 195

11.3 ... Configuration HTTPS . 196

11.3.1 Configuration HTTPS avec la PKI SafeKit 197

11.3.2 Configuration HTTPS avec une PKI externe . 206

11.4 ... Configuration de l’authentification utilisateur 210

11.4.1 Configuration l’authentification à base de fichier 210

11.4.2 Configuration de l’authentification à base de serveur LDAP/AD . 212

11.4.3 Configuration de l’authentification à base de serveur OpenID Connect 215

12. Cluster.xml pour la configuration du cluster SafeKit 219

12.1 ... Le fichier cluster.xml . 219

12.1.1 Cluster.xml exemple . 219

12.1.2 Cluster.xml syntaxe . 220

12.1.3 <lans>, <lan>, <node> attributs . 220

12.2 ... Configuration du cluster SafeKit 222

12.2.1 Configuration avec la console web de SafeKit 222

12.2.2 Configuration en ligne de commande . 223

12.2.3 Changements de configuration . 223

13. Userconfig.xml pour la configuration du module . 225

13.1 ... Attributs temporels 226

13.1.1 Exemple d’attributs temporels . 226

13.1.2 Syntaxe des attributs temporels 226

13.2 ... Macros - <macro> . 227

13.2.1 <macro> Exemple . 227

13.2.2 <macro> Syntaxe . 227

13.2.3 <macro> Attributs . 227

13.3 ... Module ferme ou miroir - <service> . 228

13.3.1 <service> Exemple . 228

13.3.2 <service> Syntaxe . 228

13.3.3 <service> Attributs . 228

13.4 ... Heartbeats - < heart >, < heartbeat > . 231

13.4.1 < heart > Exemple . 231

13.4.2 < heart > Syntaxe . 232

13.4.3 < heart >, < heartbeat> Attributs . 232

13.5 ... Topologie d'une ferme - <farm>, <lan> . 234

13.5.1 <farm> Exemple . 234

13.5.2 <farm> Syntaxe . 234

13.5.3 <farm>, <lan> Attributs . 234

13.6 ... Adresse IP virtuelle - <vip> . 235

13.6.1 <vip> Exemple dans un module miroir 235

13.6.2 <vip> Exemple dans un module ferme . 236

13.6.3 Alternative à <vip> pour des serveurs dans des réseaux IP différents . 236

13.6.4 <vip> Syntaxe . 237

13.6.5 <interface_list>, <interface>, <virtual_interface>, <real_interface>, <virtual_addr> Attributs . 238

13.6.6 <loadbalancing_list>, <group>, <cluster>, <host> Attributs 241

13.6.7 <vip> Description . 243

13.7 ... Réplication de fichiers - <rfs>, <replicated> . 244

13.7.1 <rfs> Exemple . 244

13.7.2 <rfs> Syntaxe . 245

13.7.3 <rfs>, <replicated> Attributs . 245

13.7.4 <rfs>Description . 254

13.8 ... Scripts du module - <user>, <var> . 263

13.8.1 <user> Exemple . 263

13.8.2 <user> Syntaxe . 263

13.8.3 <user>, <var> Attributs . 264

13.9 ... Hostname virtuel - <vhost>, <virtualhostname> . 264

13.9.1 <vhost> Exemple . 264

13.9.2 <vhost> Syntaxe . 265

13.9.3 <vhost>, <virtualhostname> Attributs . 265

13.9.4 <vhost> Description . 265

13.10 . Surveillance de processus ou services - <errd>, <proc> . 266

13.10.1 < errd > Exemple . 266

13.10.2 < errd > Syntaxe . 266

13.10.3 < errd >, <proc> Attributs 267

13.10.4 < errd > Commandes 271

13.11 . Checkers - <check> . 272

13.11.1 <check> Exemple . 273

13.11.2 <check> Syntaxe . 273

13.11.3 <checker> Description . 273

13.12 . TCP checker - <tcp> . 276

13.12.1 <tcp> Exemple . 277

13.12.2 <tcp> Syntaxe . 277

13.12.3 <tcp> Attributs . 277

13.13 . Ping checker - <ping> . 279

13.13.1 <ping> Exemple . 279

13.13.2 <ping> Syntaxe . 280

13.13.3 <ping> Attributs . 280

13.14 . Interface checker - <intf> . 281

13.14.1 <intf> Exemple . 282

13.14.2 <intf> Syntaxe . 282

13.14.3 <intf> Attributs . 282

13.15 . IP checker - <ip> . 283

13.15.1 <ip> Exemple . 283

13.15.2 <ip> Syntaxe . 283

13.15.3 <ip> Attributs . 283

13.16 . Custom checker - <custom> . 284

13.16.1 <custom> Exemple . 284

13.16.2 <custom> Syntaxe . 285

13.16.3 <custom> Attributs 285

13.17 . Module checker - <module> . 287

13.17.1 <module> Exemple . 287

13.17.2 <module> Syntaxe . 288

13.17.3 <module> Attributs . 288

13.18 . Splitbrain checker - <splitbrain> . 289

13.18.1 <splitbrain> Exemple . 289

13.18.2 <splitbrain> Syntaxe . 290

13.18.3 <splitbrain> Attributs . 290

13.19 . Failover machine - <failover> . 291

13.19.1 <failover> Exemple . 291

13.19.2 <failover> Syntaxe . 292

13.19.3 <failover> Attributs . 292

13.19.4 <failover> Description . 293

14. Scripts du module pour la configuration du module . 297

14.1 ... Liste des scripts 297

14.1.1 Scripts de démarrage/arrêt 297

14.1.2 Autres scripts 299

14.2 ... Variables d’environnement et arguments passés aux scripts 299

14.3 ... Sortie des scripts 300

14.3.1 Sortie dans le journal du script 300

14.3.2 Sortie dans le journal du module . 300

14.4 ... Automate d’exécution des scripts 301

14.5 ... Commandes spéciales SafeKit pour les scripts 302

14.5.1 Commandes pour Windows . 303

14.5.2 Commandes pour Linux . 303

14.5.3 Commandes pour Windows et Linux . 304

15. Exemples de configurations de module . 307

15.1 ... Exemple de module miroir avec mirror.safe . 308

15.1.1 Configuration du cluster avec deux réseaux . 308

15.1.2 Configurations du module miroir 309

15.1.3 Scripts du module miroir 311

15.2 ... Exemple de module ferme avec farm.safe . 313

15.2.1 Configuration du cluster avec trois nœuds 313

15.2.2 Configurations du module ferme . 314

15.2.3 Scripts du module ferme . 322

15.3 ... Exemple d’utilisation de macros et variables de script avec hyperv.safe . 325

15.3.1 Configuration du module avec macro et var 325

15.3.2 Accès des variables par les scripts du module . 326

15.4 ... Exemple de surveillance de processus avec softerrd.safe . 327

15.4.1 Configuration du module avec surveillance de processus 327

15.4.2 Configuration avancée des scripts du module . 328

15.5 ... Exemple de TCP checker 330

15.6 ... Exemple de ping checker 331

15.7 ... Exemple de custom checker avec customchecker.safe . 333

15.7.1 Configuration du module avec un custom checker 333

15.7.2 Configuration avancée du script du module checker 335

15.8 ... Exemple de splitbrain checker 336

15.9 ... Exemples de module checker 337

15.9.1 Exemple d’un module ferme dépendant d'un module miroir 337

15.9.2 Exemple avec leader.safe et follower.safe . 339

15.10 . Exemple de checker d'interface réseau . 339

15.11 . Exemple d’IP checker 340

15.12 . Exemple d'hostname virtuel avec vhost.safe . 341

15.12.1 Configuration du module avec un hostname virtuel 341

15.12.2 Scripts du module avec un hostname virtuel 342

16. Cluster SafeKit dans le cloud . 345

16.1 ... Cluster SafeKit dans Amazon AWS . 345

16.1.1 Cluster miroir dans AWS . 346

16.1.2 Cluster ferme dans AWS . 347

16.2 ... Cluster SafeKit dans Microsoft Azure . 349

16.2.1 Cluster miroir dans Azure . 350

16.2.2 Cluster ferme dans Azure . 351

16.3 ... Cluster SafeKit dans Google GCP . 352

16.3.1 Cluster miroir dans GCP . 353

16.3.2 Cluster ferme dans GCP . 355

17. Logiciels tiers . 357

Index des messages du journal du module . 361

Index . 365

PDF