Calendar Server et Messaging Server utilisent maintenant le même mécanisme d'arrêt et de démarrage. La commande start-cal lance le processus watcher, puis lance tous les autres processus. Le processus watcherconnaît les dépendances des autres services et les séquences dans lesquelles les services doivent être démarrés.
Chaque service (processus) enregistré ouvre une connexion vers le Watcher. Si un processus meurt sans s'être déconnecté correctement, le Watcher le redémarre automatiquement. Si le processus meurt une deuxième fois dans un intervalle défini, Watcher ne le redémarre pas. Cet intervalle d'attente est configurable.
Informations supplémentaires sur le Watcher :
Redémarrage automatique en déploiements haute disponibilité dans Calendar Server 6.3.
Démarrage et arrêt de Calendar Server 6.3 à l'aide des scripts Wrapper pour csservice
Watcher contrôle tous les services enregistrés disponibles. Pour Calendar Server, les processus enregistrés sont les suivants : cshttpd, csadmind , csdwpd, csnotifyd, et csstored.
Le démon csstored doit être activé. Assurez-vous de définir le paramètre de configuration local.store.enable sur "y" . L'activation de csstored était facultative dans la version précédente de Calendar Server, mais celle-ci est maintenant obligatoire. Le démon csstored doit être démarré avec succès avant que chaque service accédant au magasin ne soit démarré. S'il s'arrête, les processus dépendants doivent également être arrêtés et redémarrés.
Watcher est activé par défaut. Pour gérer le processus Watcher, de nouveaux paramètres ont été ajoutés au fichier ics.conf :
local.watcher.enable = "y" : le programme de démarrage (csservice) tente de démarrer le Watcher avant tout autre service. Si ce paramètre est défini sur "n", alors le programme Watcher est désactivé.
service.autorestart = "y" : Watcher redémarre automatiquement les services interrompus. S'il est défini sur "n", Watcher ne redémarre pas les services interrompus. Si ce paramètre est défini sur "n" , Watcher continue à contrôler les services et à envoyer des messages d'erreur de panne ou de défaut de réponse à la console et au fichier cal-svr-base/data/log .
local.autorestart.timeout = "600" : délai par défaut au cours duquel une seconde panne du serveur commande à Watcher d'arrêter toute tentative de redémarrage.
local.watcher.port : le port par défaut est "49994"; cependant, si vous avez installé Messaging Server, le programme écoutera également sur ce port et sera en conflit avec Calendar Server. Pour éviter ce genre de conflit, il est préférable de choisir un port différent d'écoute pour Watcher.
Watcher écrit dans un seul journal, cal-svr-base/data/log/watcher.log , qui contient les informations suivantes :
Messages d'erreur de panne et de défaut de réponse envoyés à la console d'administration.
Enregistrements de tous les arrêts et démarrages du serveur.
Si un serveur tombe en panne deux fois dans la période d'attente, le système arrête toute tentative de redémarrage du serveur. Dans un système HA, Calendar Server est fermé et un basculement vers un autre système s'opère.
Les interfaces publiques pour csservice sont start-cal et stop-cal. Cette section décrit l'utilisation de chaque script wrapper et présente des tableaux expliquant leurs options et une liste des composants à démarrer ou arrêter.
Utilisation de start-cal :
./start-cal [options...] [components...]
Liste des options :
Affiche cette fenêtre d'aide.
Active le mode de débogage.
Répertorie les services actifs.
Répertorie les services activés.
Répertorie tous les services.
Liste des composants :
watcher |
ens |
store |
notify |
admin |
http |
dwp |
Si aucun composant n'est répertorié, start-cal démarre tous les services activés.
Utilisation de stop-cal :
./stop-cal [options...] [components...]
Liste des options :
Affiche cette fenêtre d'aide.
Active le mode de débogage.
Force l'arrêt à l'aide de SIGKILL. (Fonctionne uniquement avec les plates-formes UNIX®.)
Liste des composants :
watcher |
mfagent |
ens |
store |
notify |
admin |
http |
dwp |
Si aucun composant n'est répertorié, stop-cal interrompt tous les services activés.