Hướng dẫn này sẽ giúp bạn trong trường hợp bạn muốn biến bất kỳ máy chủ slave nào thành Master và máy chủ Master cũ thành máy chủ slave hoặc loại bỏ nó.

Lưu ý: Hành động này không thể hoàn tác. Vui lòng sao lưu database gốc trước khi tiếp tục. Điều này sẽ giúp bạn khôi phục lại database gốc nếu gặp sự cố hoặc bạn muốn hoàn tác các thay đổi sau khi export.
Nếu máy chủ Master cũ và mới của bạn đang sử dụng IP Public hoặc IP Private hoặc cả hai trên một số máy chủ slave chỉ có thể truy cập qua IP Private và đã được thêm vào cụm sử dụng IP Private, sau khi thực hiện toàn bộ hướng dẫn chuyển đổi máy chủ Master, bạn sẽ cần cập nhật thủ công IP Private của máy chủ Master mới cho biến 'masterip' trong file /usr/local/virtualizor/universal.php trên những máy chủ slave chỉ có thể truy cập qua IP Private.
Kịch bản
Bạn muốn chuyển sang một máy chủ chỉ dùng cho việc làm máy chủ Master mới. Bạn sẽ cần cài đặt hệ điều hành trên máy chủ mới đó và cài đặt panel Master-only. Sau đó, bạn sẽ thêm máy chủ mới này vào cụm hiện tại như một máy chủ slave.
Export
Vui lòng thực hiện lệnh sau để export database. Điều này sẽ giúp bạn khôi phục lại database trên máy chủ slave khác hoặc máy chủ mới.
root> /usr/local/emps/bin/php /usr/local/virtualizor/scripts/migrate_master.php export
Lệnh trên sẽ yêu cầu bạn nhập máy chủ slave mà bạn muốn biến thành máy chủ master mới.

Sau khi bạn cung cấp ID của máy chủ slave, nó sẽ thực hiện các thay đổi trong database và export database tại vị trí sau: /var/virtualizor/virtualizor_migrate_master.sql.gz

Sau khi hoàn thành bước này, máy chủ Master cũ của bạn sẽ không thể điều khiển được các máy chủ slave của bạn nữa.
Import
Sao chép file virtualizor_migrate_master.sql.gz từ node cũ sang node mới. Vui lòng thực hiện lệnh sau để restore database node Master Virtualizor cũ của bạn sang node Master Virtualizor mới của bạn.
root> /usr/local/emps/bin/php /usr/local/virtualizor/scripts/migrate_master.php import

Lưu ý: Hành động này không thể hoàn tác. Vui lòng đảm bảo rằng bạn đã sao lưu database cũ trước khi tiếp tục.
Sau khi tiếp tục, nó sẽ import database cũ và thực hiện các thay đổi trong database, biến node slave của bạn thành node master mới.
Bạn cũng sẽ cần cập nhật địa chỉ IP node Master mới trong bảng billing panel WHMCS/Blesta. Sau khi quá trình di chuyển thành công, bạn cần cập nhật địa chỉ IP và active lisense đúng như mong muốn, giả sử lisense cũ là lisense cao cấp.
Nếu bạn có bất kỳ custom templates nào, bạn cũng có thể di chuyển chúng bằng tay. Chúng được lưu trữ trong thư mục /var/virtualizor/ và đối với OpenVZ, chúng được lưu trữ trong thư mục /vz/template/cache/.
Di chuyển VPS (Master-only)
Nếu bạn đã cài đặt panel Master-only trên một VPS trên một máy chủ slave của Virtualizor, bạn sẽ cần tuân theo các bước di chuyển thủ công sau đây:
- Backup database ngay lập tức từ panel Master-only.
- Theo hướng dẫn tại đây: Backup database
- Tạo một VPS trên node đích, giả sử nó là một node slave khác của Virtualizor, và sau đó cài đặt panel Master-only trên VPS đó.
- Bạn sẽ cần restore database đã backup vào VPS đó.
- Theo hướng dẫn tại đây: Restore database
- Bạn cũng sẽ cần di chuyển file universal.php được lưu trữ trong thư mục /usr/local/virtualizor/ từ node Master cũ sang node Master mới.
- Trước khi di chuyển file universal.php cũ, hãy sao lưu file universal.php trên node mới. Bạn sẽ cần sao chép mật khẩu database ($dbpass) được lưu trữ trong file universal.php mới và dán nó vào file universal.php cũ mà bạn đã sao chép sang node mới.
- Giả sử VPS Master-only mới sẽ có địa chỉ IP mới, bạn sẽ cần cập nhật địa chỉ IP mới của VPS Master-only trong file /usr/local/virtualizor/universal.php trên tất cả các node slave của bạn.
- Giả sử lisense cũ là một lisense cao cấp, bạn sẽ cần thay đổi địa chỉ IP lisense.
- Bạn cũng sẽ cần cập nhật địa chỉ IP của Master mới trong billing panel WHMCS/Blesta.
- Sau khi đã cập nhật địa chỉ IP mới ở mọi nơi, bạn có thể tắt Master-only cũ.
- Nếu bạn có bất kỳ custom templates nào, bạn cũng có thể di chuyển chúng bằng tay. Chúng được lưu trữ trong thư mục /var/virtualizor/ và đối với OpenVZ, chúng được lưu trữ trong thư mục /vz/template/cache/.
Update PDNS
Sau khi bạn thành công di chuyển node master của mình và nếu bạn đã cài đặt node PowerDNS, bạn sẽ cần cập nhật chúng với các chi tiết node master mới.
Để thực hiện điều này, bạn cần tuân theo các bước sau đây:
Bước 1: SSH vào node PDNS Master (NS1) và login vào mysql.
mysql -u root -p
Nhập mật khẩu Mysql PDNS của bạn và chọn database là mysql.
use mysql;
Bước 2: Cấp quyền truy cập cho Master IP mới:
GRANT ALL ON powerdns.* TO 'PDNS-MYSQL_USERNAME'@'NEW_MASTER-IP' IDENTIFIED BY 'PDNS-MYSQL_PASSWORD';
FLUSH PRIVILEGES;
Bước 3: Xóa người dùng và thu hồi quyền truy cập.
DELETE USER 'PDNS-MYSQL_USERNAME'@'OLD_MASTER_IP';
FLUSH PRIVILEGES;
Hoặc
REVOKE ALL ON powerdns.* FROM 'PDNS-MYSQL_USERNAME'@'OLD_MASTER_IP' IDENTIFIED BY 'PDNS-MYSQL_PASSWORD';
FLUSH PRIVILEGES;
Bước 4 : Sau khi hoàn tất, node pdns của bạn sẽ được cập nhật với node chính mới để bạn có thể quản lý các bản ghi pdns của mình từ node chính mới.