necessario por que a aplicacao final nao e capaz de fazer load balance entre os bancos. Ja que eles vao funcionar todos como ativo, ou seja, caso aponte a aplicacao para apenas um dos ips vai funcionar. Entao eu preciso e de um VIP(virtual ip) e de um balanceador de carga. ;)Ambos sao muito simples de configurar, claro que eu vou focar nas configuracoes necessarias apenas para o cluster funcionar, mas recomendo uma pesquisa paralela sobre HAProxy e Pacemaker, ambos sao excelentes e podem fazer muito mais do que vou mostrar nesse post.Nosso ambiente sera composto por 3 maquinas, todas vao ter pacemaker e haproxy e todas tambem vao fazer parte do cluster de banco de dados. A ideia por tras disso e simples. Todas as maquinas podem ser titulares a qualquer momento, inicialmente vou eleger uma, mas em caso de falha qualquer outra podera assumir esse papel. Veja o desenho abaixo, tenho certeza que vai ficar mais facil de entender o que vai ser feito.Estou utilizando apenas 3 maquinas, mas nem de longe isso e limite do cluster, muito menos do loadbalancer. Eu que sou preguicoso e nao utilizei nada para provisionar essas maquinas entao tres esta bom. :) de qualquer forma, desconheco qualquer limite para cluster ou qualquer outra ferramenta envolvida nesse post.Para instalar os pacotes necessarios precisamos configurar um repositorio econfigurar sua chave. $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv0xcbcb082a1bb943db $ sudo add-apt-repository 'debhttp://mirror.edatel.net.co/mariadb//repo/10.0/ubuntu trusty main'$ sudo apt-get updateInstale o MariaDB Galera Server:$ sudo apt-get install mariadb-galera-serverObs: Caso opte por uma senha diferente de rootroot, atencao redobrada aos comandos desse post.Instale tambem o PaceMaker:$ sudo apt-get install pacemakerE tambem instale o HaProxy:$ sudo apt-get install haproxyCrie o arquivo cluster.cnf dentro do diretorio /etc/mysql/conf.d/. Sim vamos editar uma subpasta do mysql, diretorio esta correto. [mysqld]query_cache_size=0query_cache_type=0binlog_format=ROWdefault-storage-engine=innodbinnodb_autoinc_lock_mode=2bind-address=0.0.0.0wsrep_provider=/usr/lib/galera/libgalera_smm.sowsrep_cluster_name="cluster_mpdocs"wsrep_cluster_address="gcomm://192.168.10.61,192.168.10.43,192.168.10.44"wsrep_sst_method=rsyncwsrep_node_address=" "wsrep_node_name=" "Tao importante quanto editar o arquivo cluster.cnf conforme indicado acima, egarantir que o debian.cnf, tambem localizado dentro do subdiretorio mysql em/etc/, esteja identico em todos os servidores.Nosso objetivo e configurar varios servidores entao escolha um e utilize comobase. Apos escolher, copie o arquivo em questao para todos os demais servidores.$ scp /etc/mysql/conf.d/cluster.cnf <ip_de_destino>:/etc/mysql/conf.d/cluster.cnf$ scp /etc/mysql/debian.cnf <ip_de_destino>:/etc/mysql/debian.cnfCertifique que todos os bancos MariaDB estejam parados.$ sudo /etc/init.d/mysql stopObs: Executar esse comando em todos os 3 servidores.Verifique se o arquivo hosts do servidor esta correto. Abaixo segue um exemplodo utilizado no servidor em questao.$ sudo vim /etc/hosts 127.0.0.1 localhost127.0.0.1 Galera01127.0.1.1 Galera01# The following lines are desirable for IPv6 capable hosts::1 localhost ip6-localhost ip6-loopbackff02::1 ip6-allnodesff02::2 ip6-allroutersVamos criar o primeiro cluster? Execute apenas em um dos servidores o comando:$ sudo service mysql start --wsrep-new-clusterNos demais servidores inicie o banco de dados:$ sudo /etc/init.d/mysql startObs: Atencao com o uso do sudo antes do comando de start no mysql e tambem nos demais executados ate aqui, caso nao utilize voce podera ter respostasdiferentes das que estao descritas nesse post.Adimitindo que todos os servidores subiram o banco de dados corretamente, entaoo cluster esta operacional! Execute de qualquer um os comandos:$ mysql -u root -prootrootEm seguida de privilegio ao usuario root para acesso externo.> GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'rootroot';>