Reference - Hướng dẫn cấu hình High Availability (HA) TACACSGUI theo phương pháp chui


Hehe, ok quay lại với TACACSGUI, đầu tiên xin nói lời cám ơn đến tác giả TACACSGUI vì đã làm ra hệ thống này nói chung là khá ok. Nếu doanh nghiệp bạn có tiền hãy mua dùng nhá.



Khi bạn mua sẽ có nhiều support tốt từ tác giả và được dùng nhiều sự hỗ trợ tốt hơn, bảng giá thì nếu tính theo doanh nghiệp cũng ok.

OK, ở trên là giới thiệu cho những ai cần và có điều kiện tốt hơn, còn mình hôm nay sẽ làm theo như tiều đề : How to cài đặt HA(High Availability) TACACSGUI theo phương pháp chui hehe

Như đã nói ở trên Free chỉ được một server nên chỉ có thể bật HA mỗi con Master, còn con Slave sẽ không làm gì được trừ khi bạn có license.

Bắt đầu HA  TACACSGUI chui như sau :

Chuẩn bị 2 con ubuntu server đã cài sẵn Tacgui như hướng dẫn trước.



1. TACACSGUI  không cho bạn vào mysql bằng root nên sau khi update server lấy phiên bản mới nhất thì ta reset pass Mysql.

/etc/init.d/mysql stop

mkdir /var/run/mysqld/

chown mysql /var/run/mysqld/

mysqld_safe --skip-grant-tables &



mysql -u root

use mysql;

update user set authentication_string=PASSWORD("conchimnon") where User='root';

flush privileges;



Thoát khỏi mysql và Khởi động lại

/etc/init.d/mysql stop

/etc/init.d/mysql start

mysql -u root -p



OK vậy giờ đã làm chủ được databases  ở con thứ nhất, con thứ 2 cũng làm giống vậy và sau khi làm chủ database 2 con server sẽ sang bước tiếp theo.

2.Như hình bên trên Tacacsgui Master(1) và Tacacsgui Slave(2) ta bắt đầu cấu hình MySQL replication. Mục đích của nó là khi con master có DB nó sẽ replication sang Slave theo chiều 1.
Sau khi replication từ con 1 sang con 2 ta làm ngược lại từ con 2 sáng con 1 để master đồng bộ với slave. Tức là hai server trao đổi databases với nhau.

Tacacsgui Master(1) : 

vi /etc/mysql/mysql.conf.d/mysqld.cnf

Sửa nội dung bên trong

bind-address            = 192.168.1.253

server-id               = 1

log_bin                 = /var/log/mysql/mysql-bin.log



Khởi độg lại mysql

service mysql restart

Tạo một user rep để làm nhiệm vụ replication databases.

mysql -u root -p

CREATE USER 're'@'%' IDENTIFIED BY '111111';

GRANT REPLICATION SLAVE ON *.* TO 're'@'%';

Lưu ý : Đôi lúc REPLICATION báo lỗi trùng lập UUID Database nên hay lỗi, kiểm tra 2 con server có bị trùng hay không. (Tuyệt đống không được trùng, nếu trùng thì sửa 1 2 chỗ cho khác)

vi /var/lib/mysql/auto.cnf



Tương tự như vậy trên con Slave cũng vậy, cứ i như trên và sửa lại server id = 2 và ip là ok
Tacacsgui Slave(2) : 

vi /etc/mysql/mysql.conf.d/mysqld.cnf

Sửa nội dung bên trong

bind-address            = 192.168.1.254

server-id               = 2

log_bin                 = /var/log/mysql/mysql-bin.log


3.Sau khi hoàn thành các bước trên, thoát ra ngoài Mysql và dump toàn bộ con Master  và restart trên con Slave, mục đích để 2 khối DB nó giống nhau, khi REPLICATION sẽ không bị lỗi.

Tacacsgui Master(1) : 
Dump và copy từ con master sang con slave



mysqldump -u root -p --all-databases --master-data > masterdump.sql

scp masterdump.sql tacgui@10.10.30.254:/home/tacgui/

Tacacsgui Slave(2) : restore lại bảng dump vừa copy

Login vào Mysql


stop slave;

Logout mysql và restore bảng dump



mysql -u root -p < masterdump.sql


Vậy là 2 DB đã tương tự nhau, chú ý khi dump thì 2 data sẽ có chung user , bao gôm user rep đã tạo ở trên, vậy là bước sang bước tiếp theo.

4.REPLICATION  databases mysql tacgui sẽ như sau, hoàn thành replication từ master sang slave và kiểm tra ok hoàn toàn , sau khi mọi thứ ok sẽ làm ngược lại.

Tacacsgui Master(1) : 
Login vào con Master server 1 và thực hiện các bước sau

show master  status\G;



Tacacsgui Slave(2) : Sau khi đã lấy thông số bên trên của con master 1 con 2 sẽ bắt đầu như sau

stop slave;

CHANGE MASTER TO MASTER_HOST = '192.168.1.253', MASTER_USER = 're', MASTER_PASSWORD = '111111', MASTER_LOG_FILE = 'mysql-bin.000090', MASTER_LOG_POS = 542;

Và check xem con 1 đã đỗ data cho con 2 chưa.


OK như vậy là đã ngon lành rồi, vậy là thay đổi gì con master thì con slave sẽ đổi theo.

Như vậy là đã hoàn thành nữa chặn đường, tiếp theo nếu con slave 2 thay đôi thì sao, ta cứ làm ngược lại như trên thì con 2 sẽ đỗ sang con 1.

5.REPLICATION từ slave sang master.

Tacacsgui Slave(2) : 



show master  status\G;


Tacacsgui Master(1) : 

stop slave;

CHANGE MASTER TO MASTER_HOST = '192.168.1.254', MASTER_USER = 're', MASTER_PASSWORD = '111111', MASTER_LOG_FILE = 'mysql-bin.000071', MASTER_LOG_POS = 2864;

show slave status\G;



OK, phần REPLICATION nói chung đã xong, nếu làm i chang như trên ít khi phát sinh lỗi, vì đã test khá kỹ, giờ là test trên giao diện web thôi.







Đây là cách REPLICATION  trên databases mysql nên func này sẽ không thấy gì thay đổi, chúng ta cũng không nên đụng vào làm gì, cứ thoải mái sài các func còn lại. Còn có tiền thì cứ mua thôi (Không khuyên khích dùng cách này cho doanh nghiệp, tốt nhất nên mua xem như tôn trọng tác giả).




Nhãn: ,