Suite de cluster de Red Hat: Configuration et gestion d'un cluster | ||
---|---|---|
Précédent | Chapitre 4. Services de base de données | Suivant |
Un service de base de données peut servir des données haute disponibilité à une application de base de données MySQL. L'application peut alors fournir l'accès réseau aux systèmes clients de la base de données, tels que des serveurs Web. Si le service bascule suite à une opération de failover, les applications accèdent aux informations de la base de données partagée grâce au nouveau membre du cluster. Un service de base de données accessible par un réseau est généralement doté d'une adresse IP, qui en cas de failover, est basculée en même temps que le service, afin de maintenir un accès ininterrompu pour les clients.
Ci-dessous se trouve un exemple de configuration d'un service de base de données MySQL :
Les paquetages du serveur MySQL sont installés sur chaque membre du cluster qui exécuteront le service. Le répertoire de la base de données MySQL se trouve sur un système de fichiers situé sur une partition du disque dur en stockage partagé. Ceci permet aux membres du cluster d'accéder aux informations de la base de données. Dans l'exemple, le système de fichiers est monté comme /var/lib/mysql, en utilisant la partition du disque partagée /dev/sda1.
Une adresse IP est associée au service MySQL pour permettre l'accès au réseau par les clients du service de la base de données. Cette adresse IP sera automatiquement transmise aux membres du cluster dans le cas d'une opération de failover. Dans l'exemple ci-dessous, l'adresse IP est 10.1.16.12.
Le script utilisé pour démarrer et arrêter la base de données MySQL est le script init standard, mysqld. Si l'enregistrement général de connexions et de requêtes est nécessaire, éditez le fichier mysqld pour ajouter l'option --log=/var/log/mysqld.log comme dernière option de la commande safe_mysqld. La ligne qui en résulte devrait ressembler à l'exemple suivant (Note : l'oblique (\) signifie la continuation d'une ligne) :
/usr/bin/safe_mysqld --defaults-file=/etc/my.cnf --log=/var/log/mysqld.log \ >/dev/null 2>&1 & |
Si l'option --log est ajoutée au script mysqld, le nouveau script mysqld devrait être copié sur les autres membres du cluster qui peuvent exécuter le service MySQL. De ce fait, ils peuvent enregistrer les connexions et les requêtes si le service MySQL échoue sur ces membres.
Par défaut, une connexion client au serveur MySQL sera interrompue après une période d'inactivité de 8 heures. Cette limite de connexion peut être modifiée en paramétrant la variable wait_timeout dans le fichier /etc/my.cnf. Par exemple, pour fixer l'interruption de la connexion à 4 heures, ajoutez la ligne suivante dans la section [mysqld] de /etc/my.cnf :
set-variable = wait_timeout=14400 |
Redémarrez le service MySQL. Notez que, une fois ce changement apporté, le nouveau fichier /etc/my.cnf devrait être copié sur tous les autres membres du cluster qui peuvent exécuter le service MySQL.
Pour vérifier si un serveur MySQL a dépassé le temps imparti, invoquez la commande mysqladmin et examinez le temps écoulé depuis la dernière opération. Si il est dépassé, invoquez à nouveau la requête pour reconnecter le serveur automatiquement.
Selon la distribution de Linux utilisée, l'un des messages suivants peut indiquer que le serveur MySQL a dépassé le temps imparti :
CR_SERVER_GONE_ERROR CR_SERVER_LOST |
Pour ajouter un service MySQL à l'aide de l'Outil de configuration du cluster, effectuez les opérations suivantes :
Lancez l'Outil de configuration du cluster en choisissant Menu principal => Paramètres de système => Paramètres de serveur => Cluster ou en tapant redhat-config-cluster à l'invite d'un shell. L'Outil de statut du cluster apparaît par défaut.
Lancez l'Outil de configuration du cluster en sélectionnant Cluster => Configurer des menus de l'Outil de statut du cluster.
Cliquez sur l'onglet Services.
Ajout du service MySQL.
Cliquez sur Nouveau. La boîte de dialogue Service apparaîtra.
Saisissez un nom de service dans le champ Service Name pour le service MySQL.
Sélectionnez un domaine de failover dans le champ Failover Domain ou gardez la valeur None (aucun).
Saisissez une quantité (en secondes) dans le champ Check Interval (intervalle de contrôle) si vous souhaitez vérifier l'état du service MySQL grâce à la directive status du script d'initialisation de mysqld.
Saisissez un script utilisateur dans le champ User Script, tel que /etc/init.d/mysqld.
Cliquez sur Valider.
Ajout d'une adresse IP pour le service MySQL.
Sélectionnez le service MySQL et cliquez sur Add Child (ajouter un enfant).
Sélectionnez Add Service IP Address (ajouter l'adresse IP du service), puis cliquez sur Valider. La boîte de dialogue Service IP Address (adresse IP du service) apparaîtra.
Saisissez une adresse IP dans le champ IP Address.
Saisissez un masque réseau dans le champ Netmask ou gardez la valeur None (aucun).
Saisissez une adresse de diffusion dans le champ Broadcast Address ou gardez la valeur None (aucune).
Cliquez sur Valider.
Ajout d'un périphérique pour le service MySQL.
Sélectionnez le service MySQL et cliquez sur Add Child (ajouter un enfant).
Sélectionnez Add Device (ajouter un périphérique), puis cliquez sur Valider. La boîte de dialogue Device (périphérique) apparaîtra.
Saisissez le fichier spécial de périphérique dans le champ Device Special File (par exemple, /dev/sdc3).
Dans le champ Mount Point (point de montage), saisissez /var/lib/mysql.
Sélectionnez le type de système de fichiers dans FS Type (type FS) ou laissez le vierge.
Saisissez les Options de points de montage, y compris rw (lecture-écriture).
Sélectionnez ou désélectionnez l'option Force Unmount (démontage forcé).
Cliquez sur Valider.
Choisissez Fichier => Enregistrer pour enregistrer le service MySQL.
Précédent | Sommaire | Suivant |
Réglage du service Oracle | Niveau supérieur | Services de partage de fichiers réseau |