CentOS 5.8 - MySQL Cluster 7.1 + HAProxy
Neste presente artigo, vou abordar a configuração do MySQL Cluster para se obter alta disponibilidade, e também o
HAProxy, para balancear toda carga deste mesmo banco de dados.
HAProxy, para balancear toda carga deste mesmo banco de dados.
Parte 7: Backup e Restore
Backup
O MySQL Cluster ao ser instalado, já disponibiliza aplicativos nativos para a realização de tarefas de Backup & Restore dos dados armazenados em tabelas NDB.- START BACKUP: É o comando que inicia uma cópia dos bancos de dados, sendo que cada nó copiará para o destino configurado em "BackupDataDir" os seus particionamentos, assim como os dados que este armazena.
- ndb_restore: É o aplicativo que realiza a operação de restore com base em vários parâmetros que são passados em linha de comando.
Quando um banco de dados é criado e os seus dados são lidos dentro da estrutura do MySQL Cluster, o Storage Engine NDB cuida para que estes dados sejam ligeiramente particionados de forma automática.
Este particionamento produz maior redundância para o ambiente, sendo que todos os nós passam a contar com o mesmo número de partições de dados.
Todos os nós neste momento, passam a ter todas as partes que formam todo o banco de dados, caso um nó caia, o Cluster poderá continuar normalmente atendendo aos clientes;
Passo 1: Criando o Backup
Execute todos os comandos abaixo, sempre em um dos Servidores de Mgm:
ndb_mgm> start backup
Waiting for completed, this may take several minutes
Node 2: Backup 1 started from node 1
Node 2: Backup 1 started from node 1 completed
StartGCP: 5811 StopGCP: 5814
#Records: 2063 #LogRecords: 0
Data: 52420 bytes Log: 0 bytes
ndb_mgm>
Ou:
# ndb_mgm -e "start backup"
Connected to Management Server at: localhost:1186
Waiting for completed, this may take several minutes
Node 2: Backup 3 started from node 1
Node 2: Backup 3 started from node 1 completed
StartGCP: 5912 StopGCP: 5915
#Records: 2063 #LogRecords: 0
Data: 52420 bytes Log: 0 bytes
- Opções:
- NOWAIT: Esta opção não espera o Backup iniciar e já devolve ao usuário o Prompt de comando;
- WAIT STARTED: Esta opção aguarda o Backup iniciar e depois libera o Prompt de comando para o usuário;
- WAIT COMPLETED: Aguarda até que o Backup finalize.
- Arquivos de BACKUP:
BACKUP-backup_id_ctl: Arquivo de metadados do backup
BACKUP-backup_id_node_id: Arquivo com os dados
BACKUP-backup_id_node_id.log: Arquivo de backup de logs
BACKUP-backup_id_node_id: Arquivo com os dados
BACKUP-backup_id_node_id.log: Arquivo de backup de logs
Restore
O Restore é um processo de recuperação de um ou mais bancos de dados em caso de incidentes em que seja realmente necessário uma reconstrução das estruturas internas do databases.O MySQL Cluster disponibiliza para o Restore um aplicativo chamado 'ndb_restore', que em linha de comando, oferece as seguintes opções:
- -c para especificar a connect strig com o Management Node;
- -b para apontar o ID do backup que queremos restaurar;
- -n para indicar de qual node vamos restaurar agora;
- -r o caminho de onde se encontra este backup;
Passo 2: Agora, restaure o Backup no node de NDB
No exemplo abaixo, estou restaurando no node 'ndb-2':
# ndb_restore -c 192.168.50.13 -b 1 -n 4 -r /var/lib/mysql-cluster/BACKUP/BACKUP-1/
Backup Id = 1
Nodeid = 4
backup path = /var/lib/mysql-cluster/BACKUP/BACKUP-1/
Opening file '/var/lib/mysql-cluster/BACKUP/BACKUP-1/BACKUP-1.2.ctl'
File size 12608 bytes
Backup version in files: ndb-6.3.11 ndb version: mysql-5.1.56 ndb-7.1.15
Stop GCP of Backup: 5813
Connected to ndb!!
Opening file '/var/lib/mysql-cluster/BACKUP/BACKUP-1/BACKUP-1-0.2.Data'
File size 26872 bytes
_____________________________________________________
Processing data in table: cadastro/def/cad1(13) fragment 0
_____________________________________________________
Processing data in table: cursos/def/linux(11) fragment 0
_____________________________________________________
Processing data in table: sys/def/NDB$EVENTS_0(3) fragment 0
_____________________________________________________
Processing data in table: mysql/def/ndb_apply_status(6) fragment 0
_____________________________________________________
Processing data in table: mysql/def/NDB$BLOB_4_3(5) fragment 0
_____________________________________________________
Processing data in table: sys/def/SYSTAB_0(2) fragment 0
_____________________________________________________
Processing data in table: mysql/def/ndb_schema(4) fragment 0
Opening file '/var/lib/mysql-cluster/BACKUP/BACKUP-1/BACKUP-1.2.log'
File size 52 bytes
Restored 0 tuples and 0 log entries
NDBT_ProgramExit: 0 - OK
Continua na página 8.