{"id":71,"date":"2007-04-18T00:00:00","date_gmt":"2007-04-18T00:00:00","guid":{"rendered":"http:\/\/netexpertise\/fr\/?p=71"},"modified":"2021-10-16T07:38:16","modified_gmt":"2021-10-16T06:38:16","slug":"auto-failover-heartbeat","status":"publish","type":"post","link":"http:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html","title":{"rendered":"Auto-failover Mysql avec Heartbeat"},"content":{"rendered":"<div style=\"float: left; margin-right: 15px; margin-top: 0px;\"><script async=\"\" src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script><br \/>\n<!-- 200x200, Netexpertise --><br \/>\n<ins class=\"adsbygoogle\" style=\"display: inline-block; width: 200px; height: 200px;\" data-ad-client=\"ca-pub-6495750100906580\" data-ad-slot=\"1946825373\"><\/ins><br \/>\n<script><br \/>\n(adsbygoogle = window.adsbygoogle || []).push({});<br \/>\n<\/script><\/div>\n<p>Note importante:<br \/>\n<a href=\"http:\/\/www.linux-ha.org\/wiki\/Site_news\">Heartbeat<\/a> est maintenant obsol\u00e8te et a migr\u00e9 vers une nouvelle stack disponible sur&nbsp;<a href=\"https:\/\/clusterlabs.org\">Clusterlabs<\/a>. Pour un projet de haute disponibilit\u00e9 simple utilisant une IP virtuelle, essayez keepalived qui fait la surveillance et la bascule juste avec un simple fichier de configuration.<\/p>\n<p>Quand un serveur Mysql contient des donn\u00e9es critiques, c&rsquo;est toujours une bonne id\u00e9e de les stocker sur plusieurs serveurs.<br \/>\nImpl\u00e9menter un cluster serait id\u00e9al dans ce genre de situation et pourrait offrir de la haute disponibilit\u00e9.<br \/>\nCela donne la possibilit\u00e9 de remplacer un noeud s&rsquo;il tombe, sans interruption de service ou m\u00eame de perte de donn\u00e9es.<br \/>\nLe fait est que \u00e7a devient beaucoup moins int\u00e9ressant financi\u00e8rement consid\u00e9rant qu&rsquo;un minimum de 4 machines est requis, et beaucoup de temps aussi.<br \/>\nUn serveur de r\u00e9plication est bien plus rapide mais de petits changements seront n\u00e9cessaires pour basculer le trafic du master vers l&rsquo;esclave. Cet article donne l&rsquo;abilit\u00e9 de basculer le trafic <b>automatiquement<\/b>.<\/p>\n<h3>Setup Initial<\/h3>\n<p>Nous estimons que nous avons un serveur en production avec l&rsquo;adresse IP 192.168.0.2<br \/>\nApr\u00e8s modification, le serveur prendra l&rsquo;IP 192.168.0.4<br \/>\nL&rsquo;esclave sera ajout\u00e9 avec l&rsquo;IP 192.168.0.5<br \/>\n192.168.0.2 devient l&rsquo;IP virtuelle du \u00ab\u00a0cluster\u00a0\u00bb. Les changements sont transparents pour les programmes se connectant aux bases de donn\u00e9es. Ils utiliseront toujours l&rsquo;IP originelle 192.168.0.2.<\/p>\n<div style=\"text-align: center;\"><img src=\"\/images\/Failover.png\" alt=\"Failover\"><\/div>\n<ul>\n<li>La r\u00e9plication de Mysql doit \u00eatre implement\u00e9e avec les param\u00e8tres suivants:<br \/>\nMaster 192.168.0.2<br \/>\nSlave 192.168.0.5<br \/>\nLe master garde son IP originale &#8211; pour l&rsquo;instant &#8211; donc toutes les applications se connectent toujours \u00e0 la m\u00eame machine.<br \/>\nCommencez par ce tutorial sur la r\u00e9plication <a href=\".\/Replication.html\">ici<\/a>.<\/li>\n<li>Mise \u00e0 jour des firewalls<br \/>\nAppliquez les m\u00eame r\u00e8gles sur le slave que sur le master, c&rsquo;est-\u00e0-dire 192.168.0.5 identique \u00e0 192.168.0.2. Chaque programme pourra se connecter au slave si n\u00e9cessaire.<br \/>\nCette m\u00e9thode pourra \u00eatre utilis\u00e9e pour impl\u00e9menter du load-balancing d&rsquo;une mani\u00e8re facile et rapide.<br \/>\nAutorisez tout type de trafic entre le master et le slave. Ceci est important pour que Heartbeat et Mon fonctionnent, ainsi que le protocole de r\u00e9plication Mysql.<\/li>\n<li>D\u00e9sactivation de Selinux sur les 2 machines<br \/>\nCela cr\u00e9e des probl\u00e8mes avec heartbeat<br \/>\nDans \/etc\/selinux\/config, r\u00e9alisez la modification \u00ab\u00a0SELINUX=disabled\u00a0\u00bb<br \/>\nLes changements n\u00e9cessitent un red\u00e9marrage du serveur malheureusement pour \u00eatre appliqu\u00e9s<\/li>\n<\/ul>\n<h3>Heartbeat<\/h3>\n<p>T\u00e9l\u00e9chargez et installez heartbeat depuis le site du projet haute disponibilit\u00e9 Linux \u00e0 <a href=\"http:\/\/www.linux-ha.org\/Heartbeat\">http:\/\/www.linux-ha.org\/Heartbeat<\/a>.<br \/>\nDes RPMs sont disponibles pour Fedora Core.<br \/>\n<i>sudo yum install heartbeat<\/i><\/p>\n<p>Les fichiers de configuration sont localis\u00e9s dans <i>\/etc\/ha.d\/<\/i>. Vous devez cr\u00e9er ces 3 fichiers sur les 2 serveurs:<\/p>\n<p><i><b>cat &gt; \/etc\/ha.d\/authkeys<\/b><\/i><\/p>\n<pre>auth 1\n1 crc\n<\/pre>\n<p>Donnez les droits appropri\u00e9s au fichier<br \/>\n<i>chmod 600 \/etc\/ha.d\/authkeys<\/i><\/p>\n<p><i><b>cat &gt; \/etc\/ha.d\/haresources<\/b><\/i><\/p>\n<pre>master 192.168.0.2 mysqld mon\n<\/pre>\n<p><i>haresources<\/i> doit contenir l&rsquo;IP virtuelle.<\/p>\n<p><i><b>cat &gt; \/etc\/ha.d\/ha.cf<\/b><\/i><\/p>\n<pre>logfile \/var\/log\/ha-log\nkeepalive 2\n<em style=\"color: #ff0000;\"># le d\u00e9lai avant de d\u00e9clarer qu'un noeud est mort<\/em>\ndeadtime 10\n<em style=\"color: #ff0000;\"># c'est le temps avant qu'heartbeat ne d\u00e9marre les ressources la premi\u00e8re fois qu'il se lance: mon,mysql...<\/em>\ninitdead 20\nbcast eth0\nnode master.mydomain.com\nnode slave.mydomain.com\n<em style=\"color: #ff0000;\"># Mettez cette valeur \u00e0 \"on\" seulement si vous \u00eates dans un setup multi-master<\/em>\nauto_failback off\n<em style=\"color: #ff0000;\"># Nous allons pinger la passerelle pour v\u00e9rifier la connectivit\u00e9 r\u00e9seau<\/em>\nping 192.168.0.1\nrespawn hacluster \/usr\/lib64\/heartbeat\/ipfail\n<\/pre>\n<p><i>Note<\/i> Les noeuds doivent correspondre litt\u00e9ralement \u00e0 la commande `uname -n`. C&rsquo;est tr\u00e8s important ou heartbeat ne fonctionnera pas.<\/p>\n<p><i>Note<\/i> Le fichier \/etc\/hosts sur les DEUX machines doit contenir les entr\u00e9es pour les 2 h\u00f4tes<br \/>\n192.168.0.4 master.mydomain.com<br \/>\n192.168.0.5 slave.mydomain.com<\/p>\n<p><i>Note<\/i> \/usr\/lib64\/heartbeat\/ipfail is for a 64 bit-architecture. Remove &rsquo;64&rsquo; if you&rsquo;re on a 32.<\/p>\n<h3>Mon<\/h3>\n<p>T\u00e9l\u00e9chargez MON<br \/>\n<i>cd \/usr\/local\/src<br \/>\nwget ftp:\/\/ftp.kernel.org\/pub\/software\/admin\/mon\/mon-0.99.2.tar.gz<\/i><br \/>\nV\u00e9rifiez si une nouvelle version est disponible sur <a href=\"http:\/\/www.kernel.org\/software\/mon\/\">http:\/\/www.kernel.org\/software\/mon\/<\/a>. 0.99.2 \u00e9tait la version stable la plus r\u00e9cente la derni\u00e8re fois que nous avons regard\u00e9.<\/p>\n<p>D\u00e9compressez la tarball et d\u00e9placez-la dans \/usr\/local ou votre location habituelle<br \/>\n<i>tar xvfz mon-0.99.2.tar.gz<br \/>\nmv mon-0.99.2 \/usr\/local\/mon<\/i><\/p>\n<p>Copiez le r\u00e9pertoire de configuration dans \/etc<br \/>\n<i>mv \/usr\/local\/mon\/etc \/etc\/mon<\/i><\/p>\n<p>Installez Perl et les modules requis par Mon<\/p>\n<pre>- DBI\n- DBD::mysql\n- Time::Period\n- Time::HiRes\n- Convert::BER\n- Mon::Client\n<\/pre>\n<p>Les modules peuvent \u00eatre trouv\u00e9s sur le site CPAN \u00e0 l&rsquo;adresse <a href=\"http:\/\/www.perl.com\/CPAN\/modules\/index.html\">http:\/\/www.perl.com\/CPAN\/modules\/index.html<\/a>.<br \/>\nT\u00e9l\u00e9chargez et installez les packages appropri\u00e9s en suivant les instructions donn\u00e9es dans le fichier INSTALL. Habituellement:<br \/>\n<i>gunzip &lt;module&gt;.tar.gz<br \/>\ntar -xvf &lt;module&gt;.tar<br \/>\ncd &lt;module-dir&gt;<br \/>\nperl Makefile.pl<br \/>\nmake<br \/>\nmake test<br \/>\nmake install<\/i><\/p>\n<p>ou via<br \/>\n<i>perl -MCPAN -e shell<\/i><br \/>\net ex\u00e9cutez<br \/>\n<i>install &lt;module&gt;<\/i><\/p>\n<p><i>Note<\/i> Soyez s\u00fbr que les librairies Mysql sont bien dans le path avant d&rsquo;installer DBD::mysql.<\/p>\n<p>Cr\u00e9ez le fichier de configuration MON<br \/>\n<i><b>cat &gt; mon.cf<\/b><\/i><\/p>\n<pre>alertdir   = \/usr\/local\/mon\/alert.d\nmondir     = \/usr\/local\/mon\/mon.d\nstatedir   = \/usr\/local\/mon\/state.d\nmaxprocs    = 20\nhistlength = 100\nrandstart = 60s\n<em style=\"color: #ff0000;\"># IP virtuelle<\/em>\nhostgroup mysql_servers 192.168.0.2\nwatch mysql_servers\n  mysql\n    <em style=\"color: #ff0000;\">## Mon va faire un test sur le port Mysql toutes les 60 secondes<\/em>\n    interval 1m\n    monitor mysql.monitor\n    period wd {Mon-Sun}\n      <em style=\"color: #ff0000;\">alert bring-ha-down.alert<\/em>\n      alert mail.alert -S \"Host1 MYSQL est tomb\u00e9\" admin@example.com\n      upalert mail.alert -S \"Host1 MYSQL le serveur est en ligne\" admin@example.com\n      alertevery 600s\n      ## Envoie une alerte apr\u00e8s 3 tentatives sans succ\u00e8s\n      ## c'est-\u00e0-dire 2mn\n      alertafter 3\n<\/pre>\n<p>Cr\u00e9ez un script pour arr\u00e9ter heartbeat si le service Mysql ne r\u00e9pond plus<br \/>\n<i><b>cat &gt; \/usr\/local\/mon\/alert.d\/bring-ha-down.alert<\/b><\/i><\/p>\n<pre>\/etc\/rc.d\/init.d\/heartbeat stop<\/pre>\n<p>Changez le nom du script pour activater le mode mysql par d\u00e9faut<br \/>\n<i>cd mon.d<br \/>\nmv msql-mysql.monitor mysql.monitor<\/i><\/p>\n<p>Cr\u00e9ez un utilisateur autoris\u00e9 \u00e0 acc\u00e9der \u00e0 la base de donn\u00e9es test<\/p>\n<pre>mysql&gt; GRANT ALL PRIVILEGES ON test.* TO alive@'%' IDENTIFIED BY 'mypassword';<\/pre>\n<p>Editez mysql.server avec la valeur souhait\u00e9e et ajoutez une ligne pour se connecter \u00e0 la base &lsquo;test&rsquo;<br \/>\n<i>$options{database} ||= \u00ab\u00a0test\u00a0\u00bb;<\/i><br \/>\nCette option \u00e9tait manquante dans mon fichier de configuration par d\u00e9faut.<\/p>\n<p>Cr\u00e9ez un script de d\u00e9marrage pour Mon. Voici un exemple:<br \/>\n<i><b>cat &gt; \/etc\/rc.d\/init.d\/mon<\/b><\/i><\/p>\n<pre>#!\/bin\/bash\nMON_HOME=\/usr\/local\/mon\ncase \"$1\" in\n  start)\n    if [ -f $MON_HOME\/mon.pid ]; then\n      echo \"mon already started\"\n      exit\n    fi\n    echo \"Starting Mon\"\n    $MON_HOME\/mon -c $MON_HOME\/mon.cf -L $MON_HOME -P $MON_HOME\/mon.pid &amp;\n    ;;\n  stop)\n    if [ -f $MON_HOME\/mon.pid ]; then\n      echo \"Stopping Mon\"\n      kill -9 `cat $MON_HOME\/mon.pid`\n      rm  -f $MON_HOME\/mon.pid\n    else\n      echo \"no server pid, server doesn't seem to run\"\n    fi\n    ;;\n  *)\n  echo \"Usage: $0 {start|stop|status|reload|restart}\"\n  exit 1\nesac\nexit 0\n<\/pre>\n<p>Rendez-le ex\u00e9cutable<br \/>\n<i>chmod 755 \/etc\/rc.d\/init.d\/mon<\/i><\/p>\n<h3>D\u00e9marrage des applications<\/h3>\n<p>Soyez s\u00fbr que Mysql tourne sur les 2 machines et que la r\u00e9plication est \u00e0 jour avant de continuer.<\/p>\n<p>Changez l&rsquo;adresse IP du Master pour 192.168.0.4 dans les fichiers de configuration et red\u00e9marrez les 2 serveurs (le master en premier).<\/p>\n<p>D\u00e9marrez Mysql et Heartbeat sur le master<br \/>\n\/etc\/rc.d\/init\/mysqld start<br \/>\n\/etc\/rc.d\/init.d\/heartbeat start<\/p>\n<p># Vous pouvez v\u00e9rifier les logs hearbeat dans \/var\/log\/ha-log<br \/>\nL&rsquo;IP virtuelle doit \u00eatre assign\u00e9e \u00e0 eth0:0 apr\u00e8s quelques secondes.<\/p>\n<p>Cela peut \u00catre v\u00e9rifi\u00e9 avec `ifconfig`<\/p>\n<pre>eth0:0    Link encap:Ethernet  HWaddr 00:13:72:5D:1D:1F\n        inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0\n        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1\n        Base address:0xdcc0 Memory:fe6e0000-fe700000\n<\/pre>\n<p>Si vous avez des probl\u00e8mes, v\u00e9rifiez aussi les messages pour Mon dans \/var\/log\/messages.<br \/>\nFa\u00eetes la m\u00eame chose sur l&rsquo;esclave.<\/p>\n<p>Vous pouvez maintenant mettre la machine hors tension, d\u00e9connecter le c\u00e2ble ou \u00e9teindre Mysql; L&rsquo;adresse IP virtuelle va migrer vers le second serveur apr\u00e8s 2mn (Ce temps peut \u00eatre r\u00e9duit dans mon.cf (1mn et 3 checks).<br \/>\nC&rsquo;est mieux de laisser du temps au cas o\u00f9 Mysql devient injoignable pour une courte p\u00e9riode de temps quand il y a des pics de trafic.<\/p>\n<div id=\"imgright\"><a href=\"http:\/\/www.amazon.fr\/gp\/product\/2746030047?ie=UTF8&amp;tag=netexpertis06-21&amp;linkCode=as2&amp;camp=1642&amp;creative=6746&amp;creativeASIN=2746030047\"><img src=\"\/images\/514A-PLgixL._SL110_.jpg\" border=\"0\"><\/a><img loading=\"lazy\" style=\"border: none !important; margin: 0px !important;\" src=\"http:\/\/www.assoc-amazon.fr\/e\/ir?t=netexpertis06-21&amp;l=as2&amp;o=8&amp;a=2746030047\" alt=\"\" width=\"1\" height=\"1\" border=\"0\"><\/div>\n<p>Du load-balancing basique est maintenant possible en redirigeant toutes les commandes de lecture vers le slave (192.168.0.5), en laissant les op\u00e9rations d&rsquo;\u00e9criture pour le master.<br \/>\nVous devez surveiller que le slave est toujours pr\u00e9sent au cas o\u00f9 parce que le failover ne s&rsquo;appliquera pas pour les lectures dans ce cas (l&rsquo;adresse r\u00e9elle du slave \u00e9tant utilis\u00e9e).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Note importante: Heartbeat est maintenant obsol\u00e8te et a migr\u00e9 vers une nouvelle stack disponible sur&nbsp;Clusterlabs. Pour un projet de haute disponibilit\u00e9 simple utilisant une IP virtuelle, essayez keepalived qui fait la surveillance et la bascule juste avec un simple fichier de configuration. Quand un serveur Mysql contient des donn\u00e9es critiques, c&rsquo;est toujours une bonne id\u00e9e [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[4],"tags":[85,91,404],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Netexpertise - Auto-failover Mysql avec Heartbeat<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Netexpertise - Auto-failover Mysql avec Heartbeat\" \/>\n<meta property=\"og:description\" content=\"Note importante: Heartbeat est maintenant obsol\u00e8te et a migr\u00e9 vers une nouvelle stack disponible sur&nbsp;Clusterlabs. Pour un projet de haute disponibilit\u00e9 simple utilisant une IP virtuelle, essayez keepalived qui fait la surveillance et la bascule juste avec un simple fichier de configuration. Quand un serveur Mysql contient des donn\u00e9es critiques, c&rsquo;est toujours une bonne id\u00e9e [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html\" \/>\n<meta property=\"og:site_name\" content=\"Netexpertise\" \/>\n<meta property=\"article:published_time\" content=\"2007-04-18T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-16T06:38:16+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.assoc-amazon.fr\/e\/ir?t=netexpertis06-21&amp;l=as2&amp;o=8&amp;a=2746030047\" \/>\n<meta name=\"author\" content=\"dave\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@netexpertise\" \/>\n<meta name=\"twitter:site\" content=\"@netexpertise\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html\",\"url\":\"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html\",\"name\":\"Netexpertise - Auto-failover Mysql avec Heartbeat\",\"isPartOf\":{\"@id\":\"https:\/\/www.netexpertise.eu\/fr\/#website\"},\"datePublished\":\"2007-04-18T00:00:00+00:00\",\"dateModified\":\"2021-10-16T06:38:16+00:00\",\"author\":{\"@id\":\"https:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.netexpertise.eu\/fr\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Auto-failover Mysql avec Heartbeat\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.netexpertise.eu\/fr\/#website\",\"url\":\"https:\/\/www.netexpertise.eu\/fr\/\",\"name\":\"Netexpertise\",\"description\":\"Syst\u00e8mes \/ R\u00e9seaux \/ DevOps\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.netexpertise.eu\/fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632\",\"name\":\"dave\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g\",\"caption\":\"dave\"},\"sameAs\":[\"http:\/\/www.netexpertise.eu\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Netexpertise - Auto-failover Mysql avec Heartbeat","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html","og_locale":"fr_FR","og_type":"article","og_title":"Netexpertise - Auto-failover Mysql avec Heartbeat","og_description":"Note importante: Heartbeat est maintenant obsol\u00e8te et a migr\u00e9 vers une nouvelle stack disponible sur&nbsp;Clusterlabs. Pour un projet de haute disponibilit\u00e9 simple utilisant une IP virtuelle, essayez keepalived qui fait la surveillance et la bascule juste avec un simple fichier de configuration. Quand un serveur Mysql contient des donn\u00e9es critiques, c&rsquo;est toujours une bonne id\u00e9e [&hellip;]","og_url":"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html","og_site_name":"Netexpertise","article_published_time":"2007-04-18T00:00:00+00:00","article_modified_time":"2021-10-16T06:38:16+00:00","og_image":[{"url":"http:\/\/www.assoc-amazon.fr\/e\/ir?t=netexpertis06-21&amp;l=as2&amp;o=8&amp;a=2746030047"}],"author":"dave","twitter_card":"summary_large_image","twitter_creator":"@netexpertise","twitter_site":"@netexpertise","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html","url":"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html","name":"Netexpertise - Auto-failover Mysql avec Heartbeat","isPartOf":{"@id":"https:\/\/www.netexpertise.eu\/fr\/#website"},"datePublished":"2007-04-18T00:00:00+00:00","dateModified":"2021-10-16T06:38:16+00:00","author":{"@id":"https:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632"},"breadcrumb":{"@id":"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/auto-failover-heartbeat.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.netexpertise.eu\/fr"},{"@type":"ListItem","position":2,"name":"Auto-failover Mysql avec Heartbeat"}]},{"@type":"WebSite","@id":"https:\/\/www.netexpertise.eu\/fr\/#website","url":"https:\/\/www.netexpertise.eu\/fr\/","name":"Netexpertise","description":"Syst\u00e8mes \/ R\u00e9seaux \/ DevOps","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.netexpertise.eu\/fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632","name":"dave","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/image\/","url":"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g","contentUrl":"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g","caption":"dave"},"sameAs":["http:\/\/www.netexpertise.eu"]}]}},"_links":{"self":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/posts\/71"}],"collection":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/comments?post=71"}],"version-history":[{"count":0,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/posts\/71\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/media?parent=71"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/categories?post=71"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/tags?post=71"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}