diff --git a/logbook/elefante-borneu-yul-01.sh b/logbook/elefante-borneu-yul-01.sh index f4979af..2b45484 100644 --- a/logbook/elefante-borneu-yul-01.sh +++ b/logbook/elefante-borneu-yul-01.sh @@ -205,24 +205,46 @@ sudo systemctl stop mysql ## @see https://mariadb.com/kb/en/library/getting-started-with-mariadb-galera-cluster/#systemd-and-bootstrapping ## @see http://man7.org/linux/man-pages/man1/galera_new_cluster.1.html -## NOTA IMPORTANTE: isto será feito apenas no elefante-borneu-yul-01.etica.ai +# Sobre os arquivos de configuração ____________________________________________ +# A documentação não foi feita passo a passo, segundo as documentações oficiais +# em mariadb.com e galeracluster.com é possível saber as variáveis mínimas que +# devem ser alteradas para que o MariaDB opere cluster. Note que os arquivos +# de configurações não explicitam qual dos nós será o primário, pois TODOS +# são nós primários. A única diferença é o comando usado para criar um cluster +# a primeira vez ou (em caso de falha crítica) reinicializar um cluster a +# partir do nó mais avançado. +# +# Estando os arquivos de configuração OK, exceto se houver problemas com +# firewall, o tempo entre inicializar o primeiro nó e adicionar os demais é +# baixo + +# Cria o primeiro nó (cluster novo) ____________________________________________ +# Como você não está recuperando de um cluster que falou (ou foi acidental ou +# propositalmente desligado todos os nós ao mesmo tempo) escolha uma das três +# instâncias para ser a criadora inicial. Todas as demais herdarão todos os +# bancos de dados InnoDB desta (e o que quer que tinha nelas antes, +# será destruído). +# +# No Cluster Elevante Bornéu a escolha foi elefante-borneu-yul-01 ### ALERTA: NÃO EXECUTE ESTE COMANDO NOS DEMAIS NÓS! ISTO OCORRE APENAS UMA VEZ ### DURANTE A CRIAÇÃO DE UM CLUSTER DO ZERO! -sudo galera_new_cluster - -# Nos demais nós, execute -## sudo systemctl start mysql +# +# sudo galera_new_cluster +# -# sudo systemctl start mysql --wsrep-new-cluster -## resposta: systemctl: unrecognized option '--wsrep-new-cluster' -# sudo /usr/bin/mysqld_bootstrap -## resposta: sudo: /usr/bin/mysqld_bootstrap: command not found -## O comando acima falha +### Adiciona demias nós (cluster novo) _________________________________________ +### Nos demais nós DEPOIS de um cluster já ter sido iniciado, os inicie +### como se fossem um MariaDB (MySQL) como qualquer outro: +# +# sudo systemctl start mysql +# +### Note: a partir de agora, desde que o cluster inteiro não tenha caído, os +### passos de inicializar, parar e reiniciar são como um MariaDB comum, com a +### vantagem de que os clientes finais (que acessam via o HAProxy) não saberão +### se algum servidor ficou fora do ar. É lindo! -## @TODO rever configuração em YUL-01, o cluster ainda não está ok para inicializar. -# Vide http://galeracluster.com/documentation-webpages/configuration.html -# (fititnt, 2019-05-26 20:08 BRT) +# @TODO: documentar o dia a dia no gerenciamento de um cluster (fititnt, 2019-05-27 20:19 BRT) #------------------------------------------------------------------------------# # SEÇÃO 3: RE-INICIALIZAÇÃO DE CLUSTER EXISTENTE # @@ -241,7 +263,7 @@ systemctl stop mariadb #pede gentilmente pras porcarias terminarem killall -u mysql -9 # mata porcarias que não tenham morrido # Escolher uma nova máquina para ser a DONOR/PRIMARY e rodar nessa máquina o seguinte comando. Esse comando já inicia o MariaDB, não precisa usar o systemctl. -galera_new_cluster +sudo galera_new_cluster #Ligar as outras máquinas, uma por vez, só partindo pra próxima após ter CERTEZA que essa ligou corretamente, executando esse comando nas outras máquinas. systemctl start mariadb diff --git a/logbook/elefante-borneu-yul-02.sh b/logbook/elefante-borneu-yul-02.sh index 10c24f4..8af6b0f 100644 --- a/logbook/elefante-borneu-yul-02.sh +++ b/logbook/elefante-borneu-yul-02.sh @@ -208,12 +208,46 @@ sudo systemctl stop mysql # faz com frequência. (fititnt, 2019-05-26 19:18 BRT) # #------------------------------------------------------------------------------# ## @see http://galeracluster.com/documentation-webpages/startingcluster.html#starting-the-first-cluster-node +## @see https://mariadb.com/kb/en/library/getting-started-with-mariadb-galera-cluster/#systemd-and-bootstrapping +## @see http://man7.org/linux/man-pages/man1/galera_new_cluster.1.html + +# Sobre os arquivos de configuração ____________________________________________ +# A documentação não foi feita passo a passo, segundo as documentações oficiais +# em mariadb.com e galeracluster.com é possível saber as variáveis mínimas que +# devem ser alteradas para que o MariaDB opere cluster. Note que os arquivos +# de configurações não explicitam qual dos nós será o primário, pois TODOS +# são nós primários. A única diferença é o comando usado para criar um cluster +# a primeira vez ou (em caso de falha crítica) reinicializar um cluster a +# partir do nó mais avançado. +# +# Estando os arquivos de configuração OK, exceto se houver problemas com +# firewall, o tempo entre inicializar o primeiro nó e adicionar os demais é +# baixo + +# Cria o primeiro nó (cluster novo) ____________________________________________ +# Como você não está recuperando de um cluster que falou (ou foi acidental ou +# propositalmente desligado todos os nós ao mesmo tempo) escolha uma das três +# instâncias para ser a criadora inicial. Todas as demais herdarão todos os +# bancos de dados InnoDB desta (e o que quer que tinha nelas antes, +# será destruído). +# +# No Cluster Elevante Bornéu a escolha foi elefante-borneu-yul-01 -## NOTA IMPORTANTE: isto será feito apenas no elefante-borneu-yul-01.etica.ai +### ALERTA: NÃO EXECUTE ESTE COMANDO NOS DEMAIS NÓS! ISTO OCORRE APENAS UMA VEZ +### DURANTE A CRIAÇÃO DE UM CLUSTER DO ZERO! +# +# sudo galera_new_cluster +# -## @TODO rever configuração em YUL-01, o cluster ainda não está ok para inicializar. -# Vide http://galeracluster.com/documentation-webpages/configuration.html -# (fititnt, 2019-05-26 20:08 BRT) +### Adiciona demias nós (cluster novo) _________________________________________ +### Nos demais nós DEPOIS de um cluster já ter sido iniciado, os inicie +### como se fossem um MariaDB (MySQL) como qualquer outro: +# +# sudo systemctl start mysql +# +### Note: a partir de agora, desde que o cluster inteiro não tenha caído, os +### passos de inicializar, parar e reiniciar são como um MariaDB comum, com a +### vantagem de que os clientes finais (que acessam via o HAProxy) não saberão +### se algum servidor ficou fora do ar. É lindo! -# O comando a seguir mantem YUL-02 e YUL-03 desligadas até o cluster estar iniciado -sudo systemctl stop mysql \ No newline at end of file +# @TODO: documentar o dia a dia no gerenciamento de um cluster (fititnt, 2019-05-27 20:19 BRT) \ No newline at end of file diff --git a/logbook/elefante-borneu-yul-02/etc/mysql/mariadb.conf.d/galera.cnf b/logbook/elefante-borneu-yul-02/etc/mysql/mariadb.conf.d/galera.cnf index 0be2808..2dd3519 100644 --- a/logbook/elefante-borneu-yul-02/etc/mysql/mariadb.conf.d/galera.cnf +++ b/logbook/elefante-borneu-yul-02/etc/mysql/mariadb.conf.d/galera.cnf @@ -3,6 +3,6 @@ [mysqld] wsrep_cluster_name=ElefanteBorneu -wsrep_cluster_address="gcomm://149.56.130.19, 149.56.130.66, 149.56.130.178" +wsrep_cluster_address="gcomm://149.56.130.19,149.56.130.66,149.56.130.178" wsrep_node_name=YUL-02 wsrep_node_address="149.56.130.66" \ No newline at end of file diff --git a/logbook/elefante-borneu-yul-02/etc/mysql/my.cnf b/logbook/elefante-borneu-yul-02/etc/mysql/my.cnf index df68ce0..ddf1335 100644 --- a/logbook/elefante-borneu-yul-02/etc/mysql/my.cnf +++ b/logbook/elefante-borneu-yul-02/etc/mysql/my.cnf @@ -165,12 +165,13 @@ innodb_flush_method = O_DIRECT # [galera] # Mandatory settings -#wsrep_on=ON -#wsrep_provider= +wsrep_on=ON +wsrep_provider=/usr/lib/libgalera_smm.so #wsrep_cluster_address= binlog_format=ROW default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 +wsrep_sst_method=rsync # # Allow server to accept connections on all interfaces. # diff --git a/logbook/elefante-borneu-yul-03.sh b/logbook/elefante-borneu-yul-03.sh index 69cfd0b..412998e 100644 --- a/logbook/elefante-borneu-yul-03.sh +++ b/logbook/elefante-borneu-yul-03.sh @@ -202,12 +202,46 @@ sudo systemctl stop mysql # faz com frequência. (fititnt, 2019-05-26 19:18 BRT) # #------------------------------------------------------------------------------# ## @see http://galeracluster.com/documentation-webpages/startingcluster.html#starting-the-first-cluster-node +## @see https://mariadb.com/kb/en/library/getting-started-with-mariadb-galera-cluster/#systemd-and-bootstrapping +## @see http://man7.org/linux/man-pages/man1/galera_new_cluster.1.html + +# Sobre os arquivos de configuração ____________________________________________ +# A documentação não foi feita passo a passo, segundo as documentações oficiais +# em mariadb.com e galeracluster.com é possível saber as variáveis mínimas que +# devem ser alteradas para que o MariaDB opere cluster. Note que os arquivos +# de configurações não explicitam qual dos nós será o primário, pois TODOS +# são nós primários. A única diferença é o comando usado para criar um cluster +# a primeira vez ou (em caso de falha crítica) reinicializar um cluster a +# partir do nó mais avançado. +# +# Estando os arquivos de configuração OK, exceto se houver problemas com +# firewall, o tempo entre inicializar o primeiro nó e adicionar os demais é +# baixo + +# Cria o primeiro nó (cluster novo) ____________________________________________ +# Como você não está recuperando de um cluster que falou (ou foi acidental ou +# propositalmente desligado todos os nós ao mesmo tempo) escolha uma das três +# instâncias para ser a criadora inicial. Todas as demais herdarão todos os +# bancos de dados InnoDB desta (e o que quer que tinha nelas antes, +# será destruído). +# +# No Cluster Elevante Bornéu a escolha foi elefante-borneu-yul-01 -## NOTA IMPORTANTE: isto será feito apenas no elefante-borneu-yul-01.etica.ai +### ALERTA: NÃO EXECUTE ESTE COMANDO NOS DEMAIS NÓS! ISTO OCORRE APENAS UMA VEZ +### DURANTE A CRIAÇÃO DE UM CLUSTER DO ZERO! +# +# sudo galera_new_cluster +# -## @TODO rever configuração em YUL-01, o cluster ainda não está ok para inicializar. -# Vide http://galeracluster.com/documentation-webpages/configuration.html -# (fititnt, 2019-05-26 20:08 BRT) +### Adiciona demias nós (cluster novo) _________________________________________ +### Nos demais nós DEPOIS de um cluster já ter sido iniciado, os inicie +### como se fossem um MariaDB (MySQL) como qualquer outro: +# +# sudo systemctl start mysql +# +### Note: a partir de agora, desde que o cluster inteiro não tenha caído, os +### passos de inicializar, parar e reiniciar são como um MariaDB comum, com a +### vantagem de que os clientes finais (que acessam via o HAProxy) não saberão +### se algum servidor ficou fora do ar. É lindo! -# O comando a seguir mantem YUL-02 e YUL-03 desligadas até o cluster estar iniciado -sudo systemctl stop mysql \ No newline at end of file +# @TODO: documentar o dia a dia no gerenciamento de um cluster (fititnt, 2019-05-27 20:19 BRT) \ No newline at end of file diff --git a/logbook/elefante-borneu-yul-03/etc/mysql/mariadb.conf.d/galera.cnf b/logbook/elefante-borneu-yul-03/etc/mysql/mariadb.conf.d/galera.cnf index caae6de..77a9163 100644 --- a/logbook/elefante-borneu-yul-03/etc/mysql/mariadb.conf.d/galera.cnf +++ b/logbook/elefante-borneu-yul-03/etc/mysql/mariadb.conf.d/galera.cnf @@ -3,6 +3,6 @@ [mysqld] wsrep_cluster_name=ElefanteBorneu -wsrep_cluster_address="gcomm://149.56.130.19, 149.56.130.66, 149.56.130.178" +wsrep_cluster_address="gcomm://149.56.130.19,149.56.130.66,149.56.130.178" wsrep_node_name=YUL-03 wsrep_node_address="149.56.130.178" \ No newline at end of file diff --git a/logbook/elefante-borneu-yul-03/etc/mysql/my.cnf b/logbook/elefante-borneu-yul-03/etc/mysql/my.cnf index df68ce0..ddf1335 100644 --- a/logbook/elefante-borneu-yul-03/etc/mysql/my.cnf +++ b/logbook/elefante-borneu-yul-03/etc/mysql/my.cnf @@ -165,12 +165,13 @@ innodb_flush_method = O_DIRECT # [galera] # Mandatory settings -#wsrep_on=ON -#wsrep_provider= +wsrep_on=ON +wsrep_provider=/usr/lib/libgalera_smm.so #wsrep_cluster_address= binlog_format=ROW default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 +wsrep_sst_method=rsync # # Allow server to accept connections on all interfaces. #