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, v.v…).

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