Resynchronisation d’un noeud avec MariaDB Galera Cluster

Lorsqu’un noeud a du mal à se synchroniser avec le reste du cluster, il est plus simple de le remettre à zéro. Pour faire cette opération, il suffit d’effacer les données pour que le noeud se resynchronise avec le cluster :

Cette opération peut prendre du temps, et un timeout peut survenir au démarrage du cluster. Il peut être nécessaire de modifier la configuration du service pour augmenter le timeout au démarrage :

Ajouter cette ligne en fin de fichier :

 

 

Déterminer si google bot est passé en mobile first sur un site

Voici un petit script qui permettra d’analyser les logs de votre serveur Web et de déterminer le nombre de requêtes effectuées par chaque bot google (mobile et desktop) :

Par exemple on obtient :

Avec un pourcentage de 28% (2203/(5531+2203)de requêtes pour le bot mobile on peut dire que l’on est pas encore passé dans ce scope.

Purge du cache des URLs Varnish 4.x

En passant à la version 4.x de Varnish, les commandes de purge des urls dans l’outil varnishadm a évolué, il n’est plus possible d’utiliser la commande « ban.url . » .

Pour purger l’ensemble des urls en cache dans Varnish, il faut utiliser la commande suivante dans varnishadm :

 

 Purge du cache des URLs Varnish 4.x

Varnish-cache changer la configuration dynamiquement

logo-varnishSur un site en production il est souvent bien pratique de mettre à jour la configuration de varnish à chaud (sans avoir à redémarrer le service). Le rechargement de configuration passe par l’utilisation de varnishadm.

Chargement du fichier VCL

Une fois la modification effectuée dans votre fichier VCL, lancez l’utilitaire varnishadm afin de charger le fichier en utilisant la commande vcl.load.

Le chargement de la configuration avec la commande vcl.load s’effectue en précisant le nom de la configuration (dans notre exemple defaut). Celle-ci ne doit pas être déjà utilisée.

Utilisation de la nouvelle configuration

Pour activer la nouvelle configuration, il suffit d’utiliser la commande vcl.use avec le nom de la configuration.

Si l’on a besoin de faire des modification et de recharger le vcl sur la même configuration il faut la décharger en utilisant la commande vcl.discard

Liste des configurations avec leur statut

La commande vcl.list fournit la liste des vcl chargés dans des configurations et indique la configuration active. Par défaut si le chargement a été effectué au démarrage, on obtient le résultat suivant :

Voici la liste des commandes sur les vcl :

Correction de la faille bash Shellshock sur Ubuntu

faille-bashUn correctif pour la faille Shellshock (CVE-2014-6271) sur le bash est disponible sur Ubuntu.
Pour déterminer si le système est vulnérable voici un petit script à exécuter :

 

Pour corriger le problème sur ubuntu exécuter les commandes suivantes :

Ensuite refaites le test de vulnérabilité et une erreur apparait maintenant.

 Correction de la faille bash Shellshock sur Ubuntu

 

 

Mysql, quelques outils pour le tuning

Etant un utilisateur de mysql (et maintenant de plus en plus de mariadb) sur de nombreux serveurs avec de nombreuses bases de données, j’ai un besoin crucial de pouvoir suivre et améliorer la configuration de nos serveurs.  A moins d’être un expert de mysql et de connaître la liste de tous les paramètres à surveiller durant l’exécution, voici une petite liste d’outil qui permet de synthétiser les informations issues de Mysql et pour certains de proposer des pistes de tuning.

I L’outil de tuning le plus connu : Mysql Tuning script

Le script est disponible ici : https://launchpad.net/mysql-tuning-primer.  L’outil est un script shell qui effectue des opérations de SHOW VARIABLE xxx sur le serveur de base de données et en fonction de différentes valeurs en propose une évaluation avec le cas échéant des conseils d’optimisation.

Le script propose des recommandations pour les points suivants:

  • SLOW QUERIES
  • BINARY UPDATE LOG
  • WORKER THREADS
  • MAX CONNECTIONS
  • INNODB STATUS
  • MEMORY USAGE
  • KEY BUFFER
  • QUERY CACHE
  • SORT OPERATIONS
  • JOINS
  • OPEN FILES LIMIT
  • TABLE CACHE
  • TEMP TABLES
  • TABLE SCANS
  • TABLE LOCKING

II Suivi d’exécution : Mytop

Il s’agit d’un outil proche dans l’esprit de top ou de iftop qui permette de surveiller les process en cours de fonctionnement ou pour iftop les flux réseaux sur une interface. L’outil est disponible dans les dépôts officiels ubuntu, il s’installe simplement via la commande :

Il est également disponible depuis l’adresse : http://jeremy.zawodny.com/mysql/mytop/

L’outil affiche un état général de la performance Mysql. L’écran se décompose en deux parties. En haut sont affichées les informations sur le temps d’exécution total de Mysql, le nombre de requêtes, la répartition select/insert/update/delete … Dans la partie du dessous, la liste des threads actifs avec l’utilisateur utilisé pour la connexion, la base de données accédée, le temps total et l’instruction courante.

Mytop affichage des performances de Mysql

 

III Performance et optimisation : MysqlTuner

MySQLTuner est un script perl qui évalue la configuration de Mysql et propose des recommandations d’optimisation. Sur ubuntu il est très simple à installer puisque disponible dans les répository :

QMail : Forward automatique vers une ou plusieurs adresses

Pour l’administrateur de messagerie, il peut être utile de transferrer des copies des messages arrivant sur certaines boîtes de façon systématique. La configuration avec Qmail est très simple. Il faut simplement prendre garde à ne pas créer une boucle avec des règles de renvoie de message entre plusieurs boîtes à lettre.

Dans le répertoire correspondant à la mailbox, il faut éditer le fichier.qmail. Ce répertoire peut se nommer (suivant votre configuration) /var/qmail/<nom de la mailbox>.

Dans le fichier .qmail sous les informations déjà présentes ajouter les règles de redirection :

Ensuite il faut sauvegarder le fichier et redémarrer le daemon qmail :

 

QMail : Forward automatique vers une ou plusieurs adresses

Les (très chères) offres de NUMERGY !

Pour rappel NUMERGY est une entreprise créée par BULL et SFR avec le renfort des subsides de l’état (75 Millions d’Euros, une somme rondelette). Je ne reviendrais pas sur l’opportunité d’avoir créé deux cloud souverains avec ces montants astronomiques, au lieu de s’appuyer sur des champions français du Cloud (OVH pour ne pas le citer). Etant de nature ouverte, j’ai profité de l’ouverture au public des offres de création de cloud pour faire une petite simulation.

Le configurateur est disponible ici.

L’outil proposé est assez simple, et permet de se faire une simulation rapidement. Il est possible de choisir entre deux grandes familles de système, Windows ou Linux. Première déception la palette de distribution Linux proposée est juste Ubuntu, Centos, Redhat mais pas de Debian (les puristes ce sont déjà barré à ce stade là). Ensuite pour toutes ces distributions aucune indication de version n’est précisée ! La palette de performance proposée en standard se découpe en 4 niveaux, de 1vCPU/2GO de RAM à 2vCPU /8GO.Si vous souhaitez plus de puissance il vous faudra passer par un revendeur. Le stockage est ajustable au GO avec le choix de la performance du stockage. Une palette d’option très large est proposée en sus ce qui est plutôt positif pour ce faire une config sur mesure (firewall, load balancing, sauvegarde …).

Continue reading

Mise à jour automatique date sur ovh release 2

Après pas mal de galère pour conserver la date des serveurs en OVH release 2 à jour, j’ai trouvé dans leur script de release les éléments nécessaires pour faire une tâche automatique de resynchronisation de la date.

Voila le script (directement issu de leur script d’upgrade)

Ne reste ensuite plus qu’à programmer une tâche planifiée (crontab -e) pour effectuer cette opération à interval régulier.

 

Mise à jour automatique date sur ovh release 2

Resynchronier base de données mysql en mode réplication

Replication mysqlLors de la réplication d’un serveur maitre vers un serveur esclave, il arrive que le serveur esclave perde l’intégrité des données par rapport au serveur maitre. Dans ce cas, le plus simple est de refaire un point de reprise complet depuis un dump du serveur. La solution la plus rapide et la plus simple est de faire un dump de la base de données à synchroniser en utilisant les options de mysqldump permettant de positionner les informations de point de reprise.

Attention le lancement de cette commande avec ces options verrouille l’accès à la base maitre, elle est inutilisable durant le temps de l’exécution de la commande !

Sur la base de données source (serveur maitre):

Sur le serveur esclave, après transfert du fichier de dump :

Continue reading