SMF sous OpenSolaris : un exemple d'application
Chaque *nix a ses astuces pour la gestion des services (Internet et autres). Voici un exemple sous OpenSolaris.
MySQL Server est configuré sous ma distribution pour être actif par défaut. Ainsi :
drzz@hanouka:~/Documents$ svcs -lp mysql fmri svc:/application/database/mysql:version_50 name MySQL RDBMS enabled true state online next_state none state_time 10 avril 2009 13:54:13 CEST logfile /var/svc/log/application-database-mysql:version_50.log restarter svc:/system/svc/restarter:default contract_id 106 dependency require_all/none svc:/milestone/network:default (online) dependency require_all/none svc:/system/filesystem/local:default (online) process 1418 /usr/mysql/5.0/bin/mysqld --user=mysql --datadir=/var/mysql/5.0/data --pid-fileme confirme que le serveur tourne bien avec un PID de 1418 (ce qui est confirmé par la sortie de prstat -a par exemple).
Si je veux supprimer le process (en gros arrêter le serveur), je peux utiliser la bonne vieille méthode peu recommandable, mais bon :
drzz@hanouka:~/Documents$ pfexec kill 1418et voilà que si je relance la commande précédente, je m'aperçois que MySQL Server a été relancé :
drzz@hanouka:~/Documents$ svcs -lp mysql fmri svc:/application/database/mysql:version_50 name MySQL RDBMS enabled true state online next_state none state_time 10 avril 2009 13:59:19 CEST logfile /var/svc/log/application-database-mysql:version_50.log restarter svc:/system/svc/restarter:default contract_id 108 dependency require_all/none svc:/milestone/network:default (online) dependency require_all/none svc:/system/filesystem/local:default (online) process 1444 /usr/mysql/5.0/bin/mysqld --user=mysql --datadir=/var/mysql/5.0/data --pid-fileoù l'on constate qu'un nouveau PID a été affecté suite au redémarrage (à vérifier plus bas) de MySQL Server.
Tout ça se confirme par un petit détour dans les logs :
drzz@hanouka:~/Documents$ tail /var/svc/log/application-database-mysql\:version_50.log
[ avr 10 13:54:11 Stopping because all processes in service exited. ]
[ avr 10 13:54:11 Executing stop method ("/lib/svc/method/mysql stop"). ]
[ avr 10 13:54:12 Method "stop" exited with status 0. ]
[ avr 10 13:54:12 Executing start method ("/lib/svc/method/mysql start"). ]
/usr/mysql/5.0/bin/mysqld --user=mysql --datadir=/var/mysql/5.0/data --pid-file=/var/mysql/5.0/data/hanouka.pid
[ avr 10 13:54:13 Method "start" exited with status 0. ]
090410 13:54:13 [Warning] option 'thread_stack': unsigned value 65536 adjusted to 131072
090410 13:54:14 InnoDB: Started; log sequence number 0 43675
090410 13:54:15 [Note] /usr/mysql/5.0/bin/mysqld: ready for connections.
Version: '5.0.67' socket: '/tmp/mysql.sock' port: 3306 Source distribution
Voilà donc qui devrait aider plus d'un administrateur système soucieux de la pérénité de ses services. Je pense notamment aux connexions en pppoe avec des providers un peu capricieux (eh eh...).
tags : OpenSolaris, SMF, MySQL
mis en ligne : Fri Apr 10 13:56:43 CEST 2009