
|
Aperçu rapide |
|
|
Catalogue |
System (Système) |
|
Catégorie |
Appliances de base de données |
|
Volumes d'utilisateur |
Oui |
|
Min. mémoire |
160 Mo |
|
SE |
Linux |
|
Questions/commentaires |
|
MYSQLR64 est une appliance de base de données basée sur le moteur de base de données MySQL (http://www.mysql.org). Elle permet d'ajouter facilement une base de données quelle que soit l'application. Vous pouvez également utiliser les appliances dans des scénarios de réplication MYSQL complexes. Les appliances sont basées sur MYSQL5 (CentOS 6.3/MySQL 5), mais gèrent également la réplication de base de données.
La réplication de base de données permet la réplication de données d'un serveur de base de données MySQL (maître) sur un ou plusieurs serveurs de base de données MySQL (esclaves). Les appliances MYSQLR64 peuvent aussi bien être configurées pour la réplication maître-esclave que pour la réplication maître-maître avec plusieurs maîtres.
La configuration de la réplication, de la gestion et de la surveillance s'effectue via une interface Web. L'interface Web fournit une méthode simple pour démarrer la réplication avec une durée d'indisponibilité sur le maître proche de zéro. Elle permet également de réparer une réplication en cas de problème. Par ailleurs, elle peut servir à copier des bases de données à partir d'appliances de base de données plus anciennes telles que MYSQL et MYSQL5. MYSQLR64 fournit également une méthode (basée sur phpMyAdmin) permettant de gérer et de parcourir facilement votre base de données.
La réplication est utile dans plusieurs cas :
Dans sa configuration par défaut, MYSQLR64 agit exactement comme l'appliance MYSQL5 avec une interface Web pour la gestion. Pour l'utiliser dans des scénarios de réplication, vous avez besoin d'au moins deux appliances de MYSQLR64 avec une configuration appropriée (voir Utilisation standard).
MYSQLR64 stocke la base de données sur un volume défini par l'application que vous pouvez configurer sur chaque instance MYSQLR64. MYSQLR64 crée automatiquement une base de données vide lorsqu'elle démarre sur un volume vide.
|
Nom |
Dernière version |
SE |
!MySQL |
|
MYSQLR |
3.0.7-1 |
CentOS 6.3 |
5.5.28 |
|
MYSQLR64 |
3.0.7-1 |
CentOS 6.3 (64 bits) |
5.5.28 |
Important : Il est déconseillé de mélanger les appliances MYSQLR 32 et 64 bits lors de l'utilisation de la réplication lorsque les fichiers de base de données sont copiés en l'état du maître vers l'esclave. De même, les volumes de données de la version 32 bits de l'appliance ne devraient pas être utilisés avec une version 64 bits de la même appliance (et inversement). Pour migrer une base de données entre les versions MYSQLR 32 bits et 64 bits, videz les bases de données d'un hôte et importez-les sur l'autre comme dans la procédure décrite dans la section Migration de MYSQLR vers MYSQLR64 (et inversement). Pour accéder à cette section, cliquez ici.
|
Ressource |
Minimum |
Maximum |
Valeur par défaut |
|
UC |
0.10 |
16 |
0.40 |
|
Mémoire |
160 Mo |
32 Go |
512 Mo |
|
Bande passante |
1 Mbit/s |
2 Gbits/s |
250 Mbits/s |
|
Nom |
Dir. |
Protocole |
Description |
|
in |
in |
MYSQL |
Reçoit les requêtes de base de données MySQL. |
|
rin |
in |
Indifférent |
Les appliances MYSQLR64 esclaves qui utilisent l'appliance en tant que maître se connectent à ce terminal. |
|
ui |
in |
HTTP |
Fournit un accès à l'interface Web de MYSQLR64. |
|
log |
sortie |
CIFS |
Connectez-vous à une appliance NAS pour le stockage des journaux d'erreurs. Si ce terminal n'est pas utilisé, il peut rester déconnecté. |
|
rout |
sortie |
Indifférent |
Se connecte à un serveur MYSQLR64 maître. Ce terminal peut rester déconnecté et ne devrait être utilisé que dans des scénarios de réplication. |
|
MON |
sortie |
CCE |
Envoie des statistiques de performances et d'utilisation des ressources. Ce terminal peut rester déconnecté. |
L'interface par défaut est activée. Elle est destinée au diagnostic et au dépannage (via SSH). Les versions futures de cette appliance peuvent désactiver l'accès SSH.
Important : Les terminaux rin et rout sont utilisés aussi bien pour les données SSH (tcp 22) que MYSQL (tcp 3306). Lorsque les passerelles / VPN sont utilisées pour connecter ces terminaux, les pare-feux doivent être configurés pour autoriser les deux ports.
|
Volume |
Description |
|
données |
Volume utilisé pour le stockage des données de la base de données. Ce volume est obligatoire. |
|
binlogs |
Volume utilisé pour les journaux binaires lors d'une exécution en mode réplication (maître ou esclave). Ce volume n'est pas obligatoire, mais si vous utilisez l'appliance en mode réplication (définissez rpl_mode sur une valeur différente de none) et si vous ne fournissez pas e volume binlogs, l'appliance ne démarre pas. |
Le volume de données peut éventuellement contenir un fichier my.cnf dans son répertoire supérieur, qui inclut des options de configuration de MYSQL. Pour plus d'informations, reportez-vous à la section Configuration personnalisée. Cette fonctionnalité est disponible dans MYSQLR64 1.6.1 ou version ultérieure.
Important :
|
Nom de propriété |
Type |
Description |
|
auto_create |
Nombre entier |
Indique si la base de données doit être créée lorsqu'elle n'existe pas. Valeurs possibles : 1 pour la créer et 0 pour empêcher sa création automatique (pour éviter tout écrasement accidentel en cas de volumes endommagés). Si cette propriété est définie sur 0 et qu'aucune base de données n'existe sur le volume de données, l'appliance démarre en mode maintenance. (L'appliance démarre correctement, mais le démon MySQL n'est pas démarré pour que l'utilisateur puisse identifier le problème). La valeur par défaut est 1. |
|
error_log_filename |
Chaîne |
Nom du fichier journal d'erreurs, associé au système de fichiers journaux (par exemple, /mysql_logs/my.log). Les répertoires sont automatiquement créés dans le chemin d'accès. Si aucun nom n'est spécifié, le journal d'erreurs est écrit sur le volume de données (/mnt/data/error.log). Valeur par défaut : (vide). |
|
error_log_level |
Chaîne |
Niveau de journalisation des erreurs. Valeurs possibles : error, pour ne consigner que les erreurs, et warn, pour consigner les avertissements et les erreurs. Cette propriété n'est pas sensible à la casse. Valeur par défaut : error |
|
timezone |
Chaîne |
Spécifie le fuseau horaire utilisé dans l'appliance. Si cette propriété est vide, le fuseau horaire reste inchangé. Une liste des fuseaux horaires pris en charge est disponible ici. |
Important :
|
Nom de propriété |
Type |
Description |
|
server_id |
Nombre entier |
ID du serveur. Les valeurs possibles sont comprises entre 1 et 10. Cela permet de spécifier l'ID du serveur lors de la réplication. Veillez à avoir configuré des ID uniques pour tous vos serveurs qui font partie de la réplication. Valeur par défaut : 1 |
|
rpl_mode |
Chaîne |
Mode de réplication. Les valeurs possibles sont none (pas de réplication), master, slave et master_and_slave (pour des scénarios de réplication multi-maîtres où un serveur est à la fois un maître et un esclave). Valeur par défaut : none |
|
web_pwd |
Chaîne |
Mot de passe pour l'authentification à l'interface Web. Ce paramètre est facultatif. S'il est défini, le serveur HTTP de l'appliance est démarré et l'interface Web est présente sur le terminal ui et l'interface par défaut à partir desquels elle est accessible via l'option Connexion (web) dans l'éditeur CA AppLogic®. Valeur par défaut : (vide). |
Cette fonctionnalité est disponible dans MYSQLR64 1.6.1 ou version ultérieure.
MYSQLR64 permet d'utiliser un fichier de configuration MySQL personnalisé qui peut fournir des options de configuration supplémentaires ou remplacer la configuration existante spécifiée dans /etc/my.cnf.
Pour utiliser une configuration personnalisée, créez un fichier nommé my.cnf et placez-le dans le répertoire supérieur du volume de données. Le format du fichier doit respecter la syntaxe du fichier d'options MySQL décrite dans la documentation de MySQL.
Par exemple, vous pouvez utiliser le paramétrage suivant pour optimiser les performances de MYSQLR64 en cas d'utilisation d'InnoDB (la configuration MYSQLR64 par défaut est optimisée pour MyISAM).. Cet exemple repose sur l'utilisation de 512 Mo de mémoire (valeur par défaut pour MYSQLR64).
[mysqld] # Réduisez les tampons MyISAM key_buffer = 512 Ko myisam_sort_buffer_size = 512 Ko # Définissez InnoDB comme le moteur de stockage par défaut (facultatif) default-storage-engine = INNODB # Définissez la taille de tampon d'InnoDB innodb_buffer_pool_size=350M innodb_log_file_size=128M innodb_log_buffer_size=4M innodb_thread_concurrency=8 # Si vous n'avez pas trop de tables, utilisez cette option. De cette manière, vous pouvez éviter que la taille de l'espace des tables augmente de manière incontrôlée, un processus que vous ne pouvez pas annuler. innodb_file_per_table=1
Important : Lorsqu'il est utilisé en mode réplication, MYSQLR64 synchronise également le fichier my.cnf sur le volume de données lorsque vous corrigez/initialisez la réplication. De cette manière, la configuration esclave et maître sont identiques.
MYSQLR64 fournit une interface Web accessible sur le terminal ui et l'interface par défaut via l'option Connexion (web) dans l'éditeur CA AppLogic®.. Une authentification HTTP est requise pour utiliser l'interface Web. Laissez le nom d'utilisateur vide et utilisez la valeur web_pwd comme mot de passe. L'interface fournit les fonctionnalités suivantes :
CA AppLogic® permet d'ajouter des réplications maître-esclave à des appliances MYSQLR64 existantes sans perdre la moindre donnée.
Pour ajouter des réplications maître-esclave à des appliances MYSQLR64 :
CA AppLogic® permet d'ajouter de nouvelles appliances MYSQLR64 à des réplications maîtres-esclave existantes sans perdre la moindre donnée.
Pour ajouter des appliances MYSQLR64 à des réplications maître-esclave :
CA AppLogic® permet de réparer une réplication dans une configuration maître-esclave sans perdre la moindre donnée.
Pour réparer une réplication dans des configurations maître-esclave :
CA AppLogic® permet de réparer une réplication dans une configuration maître-maître sans perdre la moindre donnée.
Pour réparer une réplication dans des configurations maître-maître :
Important : Toutes les données sur cette appliance sont initialisées à partir du maître. Si des mises à jour sont apportées à la base de données sur l'appliance actuelle pendant l'interruption de la réplication, elles sont perdues. Le cas échéant, résolvez les conflits manuellement.
Une tâche cron surveille la réplication entre les appliances MYSQLR64. Si la réplication est activée, la tâche cron s'exécute toutes les deux minutes et envoie des alertes au tableau de bord de grille dans les cas suivants :
Dans ces cas, l'utilisateur doit résoudre le problème manuellement.
Si la réplication échoue, vous pouvez utiliser l'interface Web pour la corriger comme le décrit la section ci-dessus.
L'appliance MYSQLR64 signale les compteurs personnalisés suivants via le terminal mon.
Les compteurs suivants appartiennent au groupe de compteurs MySql :
|
Nom du compteur |
Description |
|
Aborted Clients |
Nombre de clients interrompus par le serveur |
|
Aborted Connections |
Nombre de connexions interrompues par le serveur |
|
Bytes Received |
Nombre d'octets reçus |
|
Bytes Sent |
Nombre d'octets envoyés |
|
Total Connections |
Nombre de connexions |
|
Questions |
Nombre total de questions |
|
Slow Queries |
Nombre de requêtes lentes |
|
Threads Created |
Nombre de threads créés |
|
Threads Connected |
Nombre de threads connectés |
|
Threads Running |
Nombre de threads en cours d'exécution |
|
Max Used Connections |
Nombre maximum de connexions utilisées |
|
Open Files |
Nombre de fichiers ouverts |
|
Admin Commands |
Nombre de commandes d'administration |
|
Alter Table Commands |
Nombre de commandes de modification de table |
|
Analyze Commands |
Nombre de commandes d'analyse |
|
Change DB Commands |
Nombre de commandes de modification de base de données |
|
Change Master Commands |
Nombre de commandes de modification de maître |
|
Check Commands |
Nombre de commandes de contrôle |
|
Commit Commands |
Nombre de commandes de validation |
|
Create DB Commands |
Nombre de commandes de création de base de données |
|
Create Function Commands |
Nombre de commandes de création de fonction |
|
Create Index Commands |
Nombre de commandes de création d'index |
|
Create Table Commands |
Nombre de commandes de création de table |
|
Delete Commands |
Nombre de commandes de suppression |
|
Drop DB Commands |
Nombre de commandes de suppression de base de données |
|
Drop Function Commands |
Nombre de commandes de suppression de fonction |
|
Drop Index Commands |
Nombre de commandes de suppression d'index |
|
Drop Table Commands |
Nombre de commandes de suppression de table |
|
Flush Commands |
Nombre de commandes de vidage |
|
Grant Commands |
Nombre de commandes d'attribution |
|
Insert Commands |
Nombre de commandes d'insertion |
|
Insert Select Commands |
Nombre de commandes d'insertion de la sélection |
|
Kill Commands |
Nombre de commandes d'arrêt |
|
Load Commands |
Nombre de commandes de chargement |
|
Lock Tables Commands |
Nombre de commandes de verrouillage de table |
|
Optimize Commands |
Nombre de commandes d'optimisation |
|
Purge Commands |
Nombre de commandes de purge |
|
Rename Table Commands |
Nombre de commandes de renommage de table |
|
Repair Commands |
Nombre de commandes de réparation |
|
Replace Commands |
Nombre de commandes de remplacement |
|
Replace Select Commands |
Nombre de commandes de remplacement de la sélection |
|
Reset Commands |
Nombre de commandes de réinitialisation |
|
Revoke Commands |
Nombre de commandes de retrait |
|
Rollback Commands |
Nombre de commandes d'annulation |
|
Select Commands |
Nombre de commandes de sélection |
|
Set Option Commands |
Nombre de commandes de définition d'option |
|
Truncate Commands |
Nombre de commandes de troncation |
|
Unlock Tables Commands |
Nombre de commandes de déverrouillage de tables |
|
Update Commands |
Nombre de commandes de mise à jour |
Les messages suivants peuvent s'afficher dans le fichier journal de l'appliance ou dans le journal système du contrôleur de grille lorsque l'appliance ne parvient pas à démarrer :
|
Message d'erreur |
Description |
|
Echec de la définition du fuseau horaire. |
La définition du fuseau horaire de l'appliance, tel que configuré par la propriété Fuseau horaire, a échoué. |
|
L'appliance est en cours d'exécution en mode Réplication [$rpl_mode], mais le volume binlogs est manquant. |
L'appliance est configurée pour s'exécuter en tant que maître, esclave ou maître et esclave, mais aucun volume binlogs n'a été indiqué. |
|
L'appliance est exécutée en mode Réplication [$rpl_mode], mais le terminal rout n'est pas connecté. |
L'appliance est configurée pour s'exécuter en tant qu'esclave ou maître et esclave, mais le terminal rout n'est pas connecté. |
|
Le terminal rout est connecté, mais la propriété [rpl_mode] est définie sur none. Configurez la réplication via la propriété [rpl_mode] ou déconnectez le terminal rout |
Le terminal rout est connecté, mais la propriété [rpl_mode] est définie sur none. Configurez la réplication via la propriété [rpl_mode] ou déconnectez le terminal rout. |
|
Echec du démarrage de mysql car error_log_filename est défini et le terminal de journalisation n'est pas connecté. |
La propriété error_log_filename est configurée mais le terminal de journal n'est pas connecté. |
|
Echec du montage du partage via le terminal de journalisation. |
L'appliance a été configurée pour écrire des journaux dans le terminal de journal, le partage n'a pas pu être monté sur le terminal de journal. |
|
Le partage n'est pas accessible en écriture via le terminal de journalisation. |
Le partage sur le terminal de journalisation n'est pas accessible en écriture. |
|
Echec de la création du répertoire de journaux [$logdir] sur le terminal de journalisation |
Echec de la création du répertoire de journaux [$logdir] sur le terminal de journalisation |
|
Le répertoire de journaux [$logdir] n'est pas accessible en écriture. |
Le répertoire de journal [$logdir] n'est pas accessible en écriture sur le terminal de journal. |
|
Le fichier journal [$error_log] n'est pas accessible en écriture. |
Le fichier journal [$error_log] n'est pas accessible en écriture sur le terminal de journal. |
|
Echec de la création de la base de données |
L'appliance a été démarrée sans base de données et n'est pas parvenue à installer les bases de données MySQL. |
|
Echec de la configuration de la réplication |
L'appliance n'est pas parvenue à configurer la réplication. |
|
Echec du démarrage de MySQL |
Le démon MySQL n'a pas pu être démarré. |
|
Autorisations insuffisantes au niveau de la base de données MySQL |
Les autorisations pour 'root'@'%' sont insuffisantes ou si le mode de réplication est utilisé, 'replication_user'@'%' ne dispose pas des autorisations suffisantes pour exécuter la réplication de MySQL. |
|
Echec du démarrage de l'interface Web |
Echec du démarrage de l'interface Web |
|
La taille du volume de données doit être d'au moins 100 Mo. |
La taille du volume de données devrait être supérieure à 100 mégaoctets. Reportez-vous aux remarques relatives aux exigences de volume. |
Les messages d'erreur suivants peuvent également s'afficher dans le tableau de bord de la grille lorsque l'appliance est en cours d'exécution :
|
Message d'erreur |
Description |
|
L'espace libre sur le volume de données sera bientôt insuffisant. Veuillez vérifier. |
L'espace disponible sur le volume de données est inférieur à 20 %. |
|
La réplication du serveur maître n'est pas en cours d'exécution, veuillez vérifier. |
La réplication du serveur maître ne s'exécute pas.. |
|
La réplication du serveur esclave est en retard par rapport au serveur maître. Veuillez vérifier. |
La réplication de l'esclave est trop en retard par rapport au maître. Veuillez vérifier. |
|
L'espace libre sur le volume binlogs sera bientôt insuffisant. |
L'espace disponible sur le volume binlogs est inférieur à 20 %. |
Le diagramme suivant affiche une utilisation standard de l'appliance MYSQLR64 dans une petite application Web à deux niveaux :

Appliances en cours d'utilisation :
La requête client arrive sur la passerelle utilisateur. La passerelle envoie les requêtes au serveur Web, qui les traite. Lorsque des scripts (par exemple, Perl ou PHP) sur le Web doivent accéder à des données permanentes, ils utilisent l'appliance db via le terminal out du serveur Web. L'appliance db est configurée pour stocker ses fichiers journaux dans le répertoire racine du partage fourni par les journaux.
Les administrateurs se connectent à la passerelle admin à l'aide d'un navigateur pour afficher les fichiers journaux MySQL ou du serveur Web. La passerelle admin envoie les requêtes à l'appliance NAS de journaux.
Exemple de configuration de propriétés (les propriétés qui ne figurent pas dans les tableaux ci-dessous doivent être définies sur leurs valeurs par défaut) :
|
Nom de propriété |
Valeur |
Notes |
|
auto_create |
1 |
Crée la base de données si les volumes sont vides. |
|
error_log_filename |
db.error |
Nom de fichier journal d'erreurs qui doit être stocké sur le volume de données des journaux. |
|
error_log_level |
error |
Niveau de journalisation des erreurs |
Remarque : Le volume de données doit également être configuré sur l'appliance db ainsi que les journaux, le contenu et les appliances MON. Pour créer des volumes virtuels d'application pouvant être utilisés ici, reportez-vous au Manuel de l'utilisateur de la grille.
Le diagramme suivant affiche une utilisation standard de l'appliance MYSQLR64 dans une application Web à deux niveaux dans laquelle la base de données est utilisée pour partager l'état et les données entre plusieurs serveurs Web à charge équilibrée. Par ailleurs, dans cet exemple, il existe une entrée distincte pour la maintenance, via laquelle un administrateur peut se connecter et accéder à la base de données à des fins de maintenance, ainsi qu'une autre entrée via laquelle un administrateur peut se connecter et afficher le journal d'erreurs MySQL.

Appliances en cours d'utilisation :
La requête client arrive sur la passerelle utilisateur. Cette dernière envoie les requêtes à l'équilibreur de charge web_lb, qui les transmet à un des serveurs Web web1 et web2. Les serveurs Web accèdent à la base de données db.
La base de données db et les serveurs web1 et web2 écrivent leurs fichiers journaux dans l'appliance de journaux via les terminaux de journal. De plus, un administrateur peut se connecter à l'appliance de journaux via la passerelle maint et afficher les fichiers journaux.
En outre, un administrateur peut se connecter au serveur admin à l'aide de SSH via la passerelle maint (moyennant la configuration des clés publique-privée). A partir du serveur admin, l'administrateur peut accéder à la base de données db pour consulter des statistiques ou modifier le schéma de base de données. Le serveur admin peut accéder à Internet via la passerelle gway pour, par exemple, télécharger une version plus récente des bibliothèques ou le schéma de base de données.
Exemple de configuration de propriétés (les propriétés qui ne figurent pas dans les tableaux ci-dessous doivent être définies sur leurs valeurs par défaut) :
|
Nom de propriété |
Valeur |
Notes |
|
auto_create |
1 |
Crée la base de données si les volumes sont vides. |
|
error_log_filename |
db.error |
Nom de fichier journal d'erreurs qui doit être stocké sur le volume de données des journaux. |
|
error_log_level |
error |
Niveau de journalisation des erreurs |
Remarques :
Le diagramme suivant affiche une utilisation standard de l'appliance MySQL dans une application Web dans laquelle la base de données est répliquée sur un serveur esclave. Vous pouvez utiliser le serveur esclave pour effectuer des sauvegardes cohérentes des données sans arrêter le serveur maître, en introduisant zéro comme durée d'indisponibilité de l'application.

Appliances en cours d'utilisation :
La requête client arrive sur la passerelle utilisateur. Cette dernière envoie les requêtes à l'équilibreur de charge web_lb, qui les transmet à un des serveurs Web web1 et web2. Les serveurs Web accèdent à la base de données maître.
L'appliance esclave est reliée à l'appliance maître et réplique ses données. Vous pouvez arrêter l'esclave à tout moment pour effectuer des sauvegardes cohérentes des données SQL ou des analyses sans interférer avec les performances de l'appliance maître et du reste de l'application.
L'accès Web au maître et à l'esclave est disponible via la passerelle admin sur les ports 8080 et 8081.
Les appliances maître, esclave, web1 et web2 sont configurées pour stocker leurs fichiers journaux dans le répertoire racine du partage exposé par les journaux. De plus, un administrateur peut afficher des fichiers journaux via la passerelle admin.
Exemple de configuration de propriétés (les propriétés qui ne figurent pas dans les tableaux ci-dessous doivent être définies sur leurs valeurs par défaut) :
master (Maître)
|
Nom de propriété |
Valeur |
Notes |
|
auto_create |
1 |
Crée la base de données si les volumes sont vides. |
|
error_log_filename |
master-db.error |
Nom de fichier journal d'erreurs qui doit être stocké sur le volume de données des journaux. |
|
error_log_level |
error |
Niveau de journalisation des erreurs |
|
server_id |
1 |
Serveur maître (la valeur ne doit pas forcément être 1, elle doit cependant être différente de celle de server_id sur l'esclave). |
|
rpl_mode |
master (Maître) |
Ecrit des journaux binaires pour effectuer la réplication. |
Esclave
|
Nom de propriété |
Valeur |
Notes |
|
auto_create |
1 |
Crée la base de données si les volumes sont vides. |
|
error_log_filename |
slave-db.error |
Nom de fichier journal d'erreurs qui doit être stocké sur le volume de données des journaux. |
|
error_log_level |
error |
Niveau de journalisation des erreurs |
|
server_id |
2 |
Serveur esclave (la valeur ne doit pas forcément être 2, elle doit cependant être différente de celle de server_id sur le maître). |
|
rpl_mode |
Esclave |
Se connecte au maître. |
Remarques :
Le diagramme suivant affiche une utilisation standard de l'appliance MYSQLR64 dans une application Web dans laquelle la base de données est répliquée sur deux serveurs dans un scénario de réplication maître-maître. Dans ces cas, l'application utilise aussi bien les serveurs WEB que MYSQLR64 pendant l'opération d'équilibrage de charge. De même, en cas d'échec d'une des instances WEB/MYSQLR64, vous pouvez utiliser l'autre instance de WEB/MYSQLR64 pour éviter le problème d'indisponibilité de l'application.

Appliances en cours d'utilisation :
La requête client arrive sur la passerelle utilisateur. Cette dernière envoie les requêtes à l'équilibreur de charge web_lb, qui les transmet à un des serveurs Web web1 et web2. web1 utilise l'appliance de base de données db1, web2 utilise l'appliance de base de données db2. db1 et db2 sont connectés pour répliquer les mises à jour que les serveurs Web effectuent sur la base de données. Chaque appliance MYSQLR64 utilise un décalage (égal à son server_id) pour ses colonnes auto_increment afin d'éviter toute entrée en double.
L'accès Web à db1 et à db2 est disponible via la passerelle admin sur les ports 8080 et 8081.
Les appliances db1, db2, web1 et web2 sont configurées pour stocker leurs fichiers journaux dans le répertoire racine du partage exposé par les journaux. De plus, un administrateur peut afficher des fichiers journaux via la passerelle admin.
Exemple de configuration de propriétés (les propriétés qui ne figurent pas dans les tableaux ci-dessous doivent être définies sur leurs valeurs par défaut) :
db1
|
Nom de propriété |
Valeur |
Notes |
|
auto_create |
1 |
Crée la base de données si les volumes sont vides. |
|
error_log_filename |
db1.error |
Nom de fichier journal d'erreurs qui doit être stocké sur le volume de données des journaux. |
|
error_log_level |
error |
Niveau de journalisation des erreurs |
|
server_id |
1 |
Serveur maître (la valeur ne doit pas forcément être 1, elle doit cependant être différente de celle de server_id sur l'esclave). |
|
rpl_mode |
master_and_slave |
maître et esclave |
db2
|
Nom de propriété |
Valeur |
Notes |
|
auto_create |
1 |
Crée la base de données si les volumes sont vides. |
|
error_log_filename |
db2.error |
Nom de fichier journal d'erreurs qui doit être stocké sur le volume de données des journaux. |
|
error_log_level |
error |
Niveau de journalisation des erreurs |
|
server_id |
2 |
Serveur maître (la valeur ne doit pas forcément être 1, elle doit cependant être différente de celle de server_id sur l'esclave). |
|
rpl_mode |
master_and_slave |
maître et esclave |
Remarques :
Le diagramme suivant affiche une utilisation standard de l'appliance MYSQLR64 dans une application Web dans laquelle la base de données est répliquée sur quatre serveurs dans un scénario de réplication maître-maître. Dans ces cas, l'application utilise l'ensemble des serveurs WEB et MYSQLR64 pendant l'opération d'équilibrage de charge. De même, en cas d'échec d'une des instances WEB/MYSQLR64, vous pouvez utiliser les autres instances de WEB/MYSQLR64 pour éviter le problème d'indisponibilité de l'application. (MYSQLR64 ne se préoccupe pas des échecs).

Appliances en cours d'utilisation :
La requête client arrive sur la passerelle utilisateur. Cette dernière envoie les requêtes à l'équilibreur de charge web_lb, qui les transmet à un des serveurs Web web1, web2, web3 et web4. Chaque serveur Web utilise sa propre appliance de base de données. Toutes les appliances de base de données sont connectées de façon circulaire pour répliquer les mises à jour que les serveurs Web effectuent sur la base de données. Ainsi, une mise à jour sur db1 est répliquée sur db2, db3 et db4. Chaque appliance MYSQLR64 utilise un décalage (égal à son server_id) pour ses colonnes auto_increment afin d'éviter toute entrée en double.
L'accès Web à db1, db2, db3 et db4 est disponible via la passerelle admin sur les ports 8080, 8081, 8082 et 8083.
Les appliances db1, db2, web1 et web2 sont configurées pour stocker leurs fichiers journaux dans le répertoire racine du partage exposé par les journaux. De plus, un administrateur peut afficher des fichiers journaux via la passerelle admin.
Exemple de configuration de propriétés (les propriétés qui ne figurent pas dans les tableaux ci-dessous doivent être définies sur leurs valeurs par défaut) :
db1
|
Nom de propriété |
Valeur |
Notes |
|
auto_create |
1 |
Crée la base de données si les volumes sont vides. |
|
error_log_filename |
db1.error |
Nom de fichier journal d'erreurs qui doit être stocké sur le volume de données des journaux. |
|
error_log_level |
error |
Niveau de journalisation des erreurs |
|
server_id |
1 |
Serveur maître 1 |
|
rpl_mode |
master_and_slave |
maître et esclave |
db2
|
Nom de propriété |
Valeur |
Notes |
|
auto_create |
1 |
Crée la base de données si les volumes sont vides. |
|
error_log_filename |
db2.error |
Nom de fichier journal d'erreurs qui doit être stocké sur le volume de données des journaux. |
|
error_log_level |
error |
Niveau de journalisation des erreurs |
|
server_id |
2 |
Serveur maître 2 |
|
rpl_mode |
master_and_slave |
maître et esclave |
db3
|
Nom de propriété |
Valeur |
Notes |
|
auto_create |
1 |
Crée la base de données si les volumes sont vides. |
|
error_log_filename |
db3.error |
Nom de fichier journal d'erreurs qui doit être stocké sur le volume de données des journaux. |
|
error_log_level |
error |
Niveau de journalisation des erreurs |
|
server_id |
3 |
Serveur maître 3 |
|
rpl_mode |
master_and_slave |
maître et esclave |
db4
|
Nom de propriété |
Valeur |
Notes |
|
auto_create |
1 |
Crée la base de données si les volumes sont vides. |
|
error_log_filename |
db4.error |
Nom de fichier journal d'erreurs qui doit être stocké sur le volume de données des journaux. |
|
error_log_level |
error |
Niveau de journalisation des erreurs |
|
server_id |
4 |
Serveur maître 4 |
|
rpl_mode |
master_and_slave |
maître et esclave |
Remarques :
Le diagramme suivant affiche une utilisation standard de l'appliance MYSQLR64 dans une application Web s'exécutant dans plusieurs installations. Avec cette configuration, vous pouvez avoir plusieurs applications identiques s'exécutant sur différentes installations dont la base de données est répliquée sur toutes les applications dans une configuration maître-maître. Cette configuration est utile dans deux cas :
Application maître

Application esclave

Appliances en cours d'utilisation :
La requête client arrive sur la passerelle utilisateur. Cette dernière envoie les requêtes à l'équilibreur de charge web_lb, qui les transmet à un des serveurs Web web1 et web2. Les serveurs Web accèdent à la base de données maître. L'appliance maître se connecte à l'application (esclave) distante. La seule différence étant le server_id de l'esclave et la configuration réseau) pour répliquer la base de données. L'application distante se connecte à l'appliance maître via la passerelle vpn qui est configurée pour n'autoriser la connexion que de la passerelle vpn de l'application distante. Les appliances maître et esclave des deux applications s'exécutent dans une configuration maître-maître afin que leurs données soient toujours identiques.
Exemple de configuration de propriétés (les propriétés qui ne figurent pas dans les tableaux ci-dessous doivent être définies sur leurs valeurs par défaut) :
L'accès Web au maître et à l'esclave est disponible via la passerelle admin sur le port 8080.
master (Maître)
|
Nom de propriété |
Valeur |
Notes |
|
auto_create |
1 |
Crée la base de données si les volumes sont vides. |
|
error_log_filename |
master-db.error |
Nom de fichier journal d'erreurs qui doit être stocké sur le volume de données des journaux. |
|
error_log_level |
error |
Niveau de journalisation des erreurs |
|
server_id |
1 |
Serveur maître (la valeur ne doit pas forcément être 1, elle doit cependant être différente de celle de server_id sur l'esclave). |
|
rpl_mode |
master (Maître) |
Ecrit des journaux binaires pour effectuer la réplication. |
VPN maître
|
Nom de propriété |
Valeur |
Notes |
|
mode |
serveur |
Fonctionne en tant que serveur. |
|
tunnel |
Certificats |
Utilisation des certificats SSL. |
|
tcp_ports |
3306,22 |
Autorise les ports nécessaires à MYSQLR64. |
|
ip_addr |
master_vpn_ip |
Adresse IP du VPN dans l'application maître. |
|
remote_host |
slave_vpn_ip |
Adresse IP du VPN dans l'application esclave. |
Esclave
|
Nom de propriété |
Valeur |
Notes |
|
auto_create |
1 |
Crée la base de données si les volumes sont vides. |
|
error_log_filename |
slave-db.error |
Nom de fichier journal d'erreurs qui doit être stocké sur le volume de données des journaux. |
|
error_log_level |
error |
Niveau de journalisation des erreurs |
|
server_id |
2 |
Serveur esclave (la valeur ne doit pas forcément être 2, elle doit cependant être différente de celle de server_id sur le maître). |
|
rpl_mode |
Esclave |
Se connecte au maître. |
VPN esclave
|
Nom de propriété |
Valeur |
Notes |
|
mode |
client |
Fonctionne en tant que client. |
|
tunnel |
Certificats |
Utilisation des certificats SSL. |
|
auth_path |
"client1" |
Chemin d'accès au fichier de certificat SSL. |
|
ip_addr |
slave_vpn_ip |
Adresse IP du VPN dans l'application esclave. |
|
remote_host |
master_vpn_ip |
Adresse IP du VPN dans l'application maître. |
L'application distante est une copie exacte. La seule différence est la configuration réseau de l'utilisateur, de l'administrateur et des appliances VPN. Les connexions entre l'appliance VPN et le maître=/=esclave, et le server_id de l'appliance maître=/=esclave (doit être unique).
Pour effectuer une migration de MYSQLR vers MYSQLR64 (et vice versa), vous ne devez pas uniquement utiliser les volumes de l'appliance 32 bits sur l'appliance 64 bits (ou inversement) car les données seront alors corrompues. Pour ce faire, nous vous recommandons de vider la base de données sur l'ancienne appliance, en transférant le fichier vidé vers la nouvelle appliance, puis en important la base de données dans la nouvelle appliance.
Vous pouvez utiliser la même procédure pour migrer une base de données à partir d'une appliance de base de données plus ancienne (MYSQL, MYSQL5, MYSQL64) ou une base de données MYSQL ne s'exécutant pas sur une appliance CA AppLogic®.
Pour migrer la base de données :
Mise en garde :
Important : Lors de la création d'utilisateurs pour la base de données, vérifiez que tous les utilisateurs sont créés sans restriction sur l'hôte à partir duquel ils se connectent. Par exemple :
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
MYSQLR64 utilise les packages Open Source tiers suivants en plus des packages Open Source tiers utilisés par sa classe de base LUX64.
|
Logiciel |
Version |
Modifié |
Licence |
Notes |
|
|
aspell |
0.60.6-12 |
Non |
LGPLv2.1 |
N/D |
|
|
aspell-en |
6.0-11 |
Non |
LGPLv2.1 |
N/D |
|
|
curl |
7.19.7-26.el6_2.4 |
Non |
MIT |
N/D |
|
|
device-mapper-event |
1.02.74-10 |
Non |
GPLv2 |
N/D |
|
|
freetype |
2.3.11-6 |
Non |
FTL |
N/D |
|
|
gmp |
4.3.1-7.el6_2.2 |
Non |
LGPLV2.1 |
N/D |
|
|
libidn |
1.18-2 |
Non |
LGPLv2.1 |
N/D |
|
|
libjpeg |
6b-46 |
Non |
Distribuable |
N/D |
|
|
libpng |
1.2.49-1.el6_2 |
Non |
zlib/libpng |
N/D |
|
|
lvm2 |
2.02.95-10 |
Non |
GPLv2.0 |
N/D |
|
|
MySQL |
5.5.28-1 |
Non |
GPL |
N/D |
|
|
mysql-server |
5.5.28-1 |
Non |
GPLv2 |
N/D |
|
|
perl-DBD-MySQL |
3.0007-2.3t |
Non |
Artistic |
N/D |
|
|
perl-DBI |
1.615-1 |
Non |
Artistic |
N/D |
|
|
php-cli |
5.3.3-14.el6_3 |
Non |
PHPv3.01 |
N/D |
|
|
php-common |
5.3.3-14.el6_3 |
Non |
PHPv3.01 |
N/D |
|
|
php-gd |
5.3.3-14.el6_3 |
Non |
PHPv3.01 |
N/D |
|
|
php-mbstring |
5.3.3-14.el6_3 |
Non |
PHPv3.01 |
N/D |
|
|
php-mysql |
5.3.3-14.el6_3 |
Non |
PHPv3.01 |
N/D |
|
|
php-pdo |
5.3.3-14.el6_3 |
Non |
PHPv3.01 |
N/D |
|
|
rsync |
3.0.6-9 |
Non |
GPLv2 |
N/D |
|
|
samba-client |
3.5.10-125 |
Non |
GPLv2 |
N/D |
|
|
samba-common |
3.5.10-125 |
Non |
GPLv2 |
N/D |
|
|
sudo |
1.7.4p5-13.el6_3 |
Non |
ISC |
N/D |
|
|
lighttpd |
1.4.31-1 |
Non |
BSD |
N/D |
|
|
perl-IPC-Run |
0.84-1.3t |
Non |
Artistic |
N/D |
|
|
perl-Time-Duration |
1.06-1.3t |
Non |
Artistic |
N/D |
|
|
phpMyAdmin |
3.5.2.2-1 |
Non |
GPLv2 |
N/D |
|
L'appliance MYSQLR se fige au redémarrage
A partir de MYSQLR 1.6.2, vous pouvez définir/modifier un mot de passe pour le compte root de base de données. Toutefois, l'appliance MSYQLR dispose de quelques comptes root avec des noms d'hôte différents. Lorsque vous définissez/modifier un mot de passe, utilisez toujours le compte root@%. Le compte root@% est le compte auprès duquel s'authentifient les appliances connectées au terminal in de MYSQLR. Les autres comptes root ne sont utilisés que par des utilisateurs locaux. Un mot de passe ne doit jamais être défini pour ces derniers, sinon l'appliance MYSQLR ne parvient pas à démarrer.
Remarque : Si vous ne définissez pas de mot de passe pour le compte root@localhost, la sécurité n'est pas compromise car ce compte peut uniquement être utilisé par des utilisateurs locaux sur l'appliance et quiconque qui a accès à l'appliance peut modifier le mot de passe.
Récupérer une appliance MYSQLR qui ne parvient plus à démarrer à la suite de la modification du mot de passe root de la base de données
Pour récupérer une appliance qui ne parvient plus à démarrer parce que le mot de passe root de la base de données a été modifié, procédez comme suit :
comp start main.MYSQLR --debug
app start --debug
Vous devriez pouvoir vous connecter à l'appliance quelques secondes après l'avoir démarrée. Il n'est pas nécessaire d'attendre que le délai d'expiration de l'appliance soit atteint.
mysql -p -e "update mysql.user set Password='' where User='root'"
mysqladmin -p flush-privileges
mysql -e 'update mysql.user set password=PASSWORD("NEWPASSWORD") where User="root" and Host="%"'
mysqladmin flush-privileges
|
Copyright © 2013 CA.
Tous droits réservés.
|
|