Trong bài trước chúng tôi đã hướng dẫn bạn cách xây dựng lại server Zimbra mới dùng Zextras-Suite/NG Backup. Bài viết này sẽ hướng dẫn bạn cách migrate dữ liệu dùng rsync.

1. Trên server cũ, liệt kê tất cả mật khẩu cho ldap, MySQL và account id của user Zimbra. Bạn sẽ cần các thông tin này cho server mới.

su - zimbra 
zmlocalconfig -s | grep ldap | grep pass 
zmlocalconfig -s | grep mysql | grep pass 
id zimbra

2. Cài đặt server mới với cùng phiên bản Zimbra, cùng các loại service đang chạy trên server cũ.

Cần đảm bảo rằng bạn sử dụng cùng một domain, hostname, các mật khẩu như trên server cũ. Trong quá trình cài đặt server mới, bạn sẽ cần thay đổi các tham số sau để làm cho server mới giống server cũ:

  • Zimbra LDAP server – tạo domain  giống với đã tạo trên server cũ.
  • Zimbra Mailbox server – tài khoản admin sẽ được tự động tạo. Kiểm tra tên tài khoản này giống tài khoản cũ.
  • Thay đổi mật khẩu của admin
  • Thay đổi tên account của Spam training user và Non-spam (HAM) training user cho giống với các account trên server cũ.
  • Thay đổi các thông số khác cho giống với server cũ.

3. Sau khi cài đặt, thay đổi mật khẩu của LDAP, MySQL cho giống với server cũ.

zmldappasswd <password> # đổi zimbra_ldap_password 
zmldappasswd -r <password> # đổi ldap_root_passwd 
zmldappasswd -a <password> # đổi ldap_amavis_password 
zmldappasswd -n <password> # đổi ldap_nginx_password
zmldappasswd -p <password> # đổi ldap_postfix_password 
zmldappasswd -l <password> # đổi ldap_replication_password 
zmldappasswd -b <password> # đổi ldap_bes_searcher_password

zmmypasswd --root <password> # đổi mysql_root_passwd 
zmmypasswd <password> # đổi zimbra_myql_password

zmlocalconfig -e zimbra_uid="XXXX" #đổi uid của zimbra user giống server cũ
zmlocalconfig -e zimbra_gid="XXXX" #đổi gid của zimbra user giống server cũ

4. Tạo một thư mục trên server mới để copy dữ liệu từ server cũ sang.

mkdir /opt/data_from_old_server/ 

5. Tắt Zimbra trên cả 2 server

zmcontrol stop 

6. Chạy các lệnh sau để rsync dữ liệu MySQL,  Store và Index từ server cũ sang server mới

rsync -avzHSKP /opt/zimbra/db/data [NewServer's-IP-address]:/opt/data_from_old_server/ 
rsync -avzHSKP /opt/zimbra/store [NewServer's-IP-address]:/opt/data_from_old_server/ 
rsync -avzHSKP /opt/zimbra/index [NewServer's-IP-address]:/opt/data_from_old_server/ 

[Tùy chọn] nếu bạn dang dùng HSM thì cũng rsync dữ liệu HSM sang server mới luôn.

[Tạo thư mục mới để chứa dữ liệu HSM trên server mới và rsync sang]

rsync -avzHSKP /opt/zimbra/hsm [NewServer's-IP-address]:/opt/<HSM_Volume_Path>/

7. Tạo LDAP dump trên server cũ và rysnc sang server mới

su - zimbra mkdir /tmp/ldap_backup/ /opt/zimbra/libexec/zmslapcat -c /tmp/ldap_backup/ /opt/zimbra/libexec/zmslapcat /tmp/ldap_backup/ 
rsync -avzHSKP /tmp/ldap_backup [NewServer's-IP-address]:/opt/data_from_old_server/ 

8. Tắt server cũ

Các bước thực hiện trên server mới

1. Tạo thư mục để di chuyển các dữ liệu mới cài đặt

mkdir /opt/fresh_installation_data/ 
mv /opt/zimbra/store /opt/fresh_installation_data/ 
mv /opt/zimbra/index /opt/fresh_installation_data/ 
mv /opt/zimbra/db/data /opt/fresh_installation_data/

2. Di chuyển dữ liệu của server cũ vào thư mục cài đặt của server mới

mv /opt/data_from_old_server/data /opt/zimbra/db/ 
mv /opt/data_from_old_server/store /opt/zimbra/store 
mv /opt/data_from_old_server/index /opt/zimbra/index 

3. Chuẩn bị thư mục để phục hồi dữ liệu LDAP và import backup.

su - zimbra 
cd /opt/zimbra/data/ldap 
mv mdb mdb.old1 
mv config config.old1 
mkdir -p mdb/db 
mkdir config 
/opt/zimbra/libexec/zmslapadd -c /opt/data_from_old_server/ldap_backup/ldap-config.bak
/opt/zimbra/libexec/zmslapadd /opt/data_from_old_server/ldap_backup/ldap.bak

4. Khởi động zimbra trên server mới.

zmcontrol start 

5. Kiểm tra các dịch vụ trên server mới đã chạy, thay đổi luồng mail hướng đến server mới (cập nhật DNS, firewall NAT rule, cài đặt chứng thư số, v.v…).

Bạn có thể tham khảo hướng dẫn gốc của Zimbra tại Zimbra WiKi