Có nhiều phương pháp để xây dựng lại server mới thay thế cho server cũ đã bị hack. Một trong những phương pháp thường được ZIMICO tư vấn là sử dụng Zimlet Zextras-Suite hoặc NG Backup. Bạn cũng có thể sử dụng imapsync hoặc rsync để di chuyển dữ liệu mailbox từ server cũ sang server mới. Trong bài viết này, chúng tôi sẽ hướng dẫn cách sử dụng Zextras-Suite/NG Backup.

Cách này sử dụng bản dùng thử của Zextras-Suite để export và import dữ liệu. Bản dùng thử này có thời hạn 1 tháng. Như vậy cách này nên áp dụng cho các server mà bạn chưa cài Zextras-Suite/NG Backup bao giờ. Chúng tôi giả định bạn đang sử dụng môi trường ảo hóa.

Các bước thực hiện trên server cũ:

1. Download và cài đặt Zextras-Suite:

[Chạy với quyền root]
wget http://download.zextras.com/zextras_suite-legacy.tgz
tar zxvf zextras_suite-latest.tgz
cd zextras_suite-[version]
./install.sh all

2. Tạo một ổ cứng ảo mới để chứa dữ liệu backup và mount vào server với mount point là “/NewBackup”. Đảm bảo user zimbra có quyền sở hữu thư mục /NewBackup này.

Kích thước của thư mục (ổ đĩa mới) /NewBackup này phải bằng tổng dung lượng hiện có của thư mục chứa dữ liệu mailstore và hsm (nếu bạn có dùng HSM module).

[Chạy với quyền root]
mkdir /NewBackup
chown zimbra:zimbra /NewBackup/

3. Mount ổ đĩa mới vào mount point /NewBackup

Ví dụ ổ cứng mới của bạn đã được format và có tên là /dev/hdb1

[Chạy với quyền root]
mount /dev/hdb1 /NewBackup

4. Thay đổi đường dẫn thư mục backup tắt Realtime Scanner và redolog, sau đó khởi động lại mailbox service.

su - zimbra
zxsuite backup setProperty ZxBackup_RealTimeScanner false
zxsuite backup setProperty ZxBackup_DestPath /NewBackup/
zmprov ms `zmhostname` zimbraRedoLogEnabled FALSE
zmmailboxdctl restart

5. Chạy SmartScan và chờ cho đến khi hệ thống hoàn tất cả Realtime Scanning và SmartScan. Qúa trình này tốn thời gian để hoàn thành, phụ thuộc vào dung lượng hệ thống.

zxsuite backup doSmartScan

Sau khi hoàn thành backup dữ liệu, hãy tắt dịch vụ Zimbra trên server cũ và mount ổ cứng backup vào server mới.

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

Lưu ý: sau khi hệ thống mới được online, các kết nối hiện hữu đến hệ thống cũ sẽ mất. Người dùng phải kết nối lại vào hệ thống mới (bạn có thể thay đổi DNS để cập nhật địa chỉ IP của hệ thống mới) với username và mật khẩu đang dùng. Bạn phải tạo lại các profile ZCO.

1. Cài đặt server mới với phiên bản 8.8.12. Không tạo bất kỳ account nào ngoài các account mặc định của hệ thống.

2. Khởi động SmartScan (sẽ hoàn thành trong vòng vài phút):

su - zimbra
zxsuite backup doSmartScan

3. Mount ổ cứng chứa dữ liệu backup của server cũ vào thư mục /NewBackupData. Đảm bảo rằng Zimbra user có quyền sở hữu thư mục này.

4. Tắt RealTime Scanning và Redolog.

su - zimbra
zxsuite backup setProperty ZxBackup_RealTimeScanner false
zmprov ms `zmhostname` zimbraRedoLogEnabled FALSE
zmmailboxdctl restart

5. Nếu bạn có lượng dữ liệu rất lớn cần migrate trong giai đoạn này, quá trình import có thể mất vài ngày, hãy theo cách sau đây để thực hiện.

Thay vì import toàn bộ dữ liệu vào server mới, bạn chỉ chạy “Provisioning Only” nhằm tạo lại Domain, COS, account trên server mới và tạm hoãn việc import  nội dung dữ liệu mailbox.

zxsuite backup doExternalRestore /NewBackupData/ provisioning_only TRUE

Sau khi hoàn thành bước trên, bạn thay đổi hướng mail vào server mới (thực hiện cập nhật DNS, NAT trên firewall) và bắt đầu import dữ liệu mailbox thực sự:

zxsuite backup doExternalRestore /NewBackupData/

Theo cách này, người dùng có thể sử dụng server mới và dữ liệu cũ sẽ được import vào dần sau đó.

6. Kiểm tra sau khi import

Chạy các lệnh sau để kiểm tra và chỉnh lại các lỗi do thay đổi quyền chia sẻ nếu có.

zxsuite backup doCheckShares
zxsuite backup doFixShares

7. Sau khi restore dữ liệu sử dụng External Restore, có khả năng cao là cơ chế chống trùng lặp sẽ không phát hiện được các message trùng lặp. Chạy lệnh sau để chỉnh sửa:

zxsuite hsm getAllVolumes
zxsuite hsm doDeduplicate <volume name of the store>

8. Xóa và tạo lại GAL sync account

/opt/zimbra/bin/zmgsautil deleteAccount -a galsync@DOMAIN.COM
/opt/zimbra/bin/zmgsautil createAccount -a galsync@DOMAIN.COM -n InternalGAL --domain DOMAIN.COM -s <zmhostname of mailbox server> -t zimbra -f _InternalGAL
/opt/zimbra/bin/zmgsautil forceSync -a galsync@DOMAIN.COM -n InternalGAL

Thay domain.com bằng domain thực sự của bạn.

9. Kiểm tra và xác nhận tất cả dịch vụ đã chạy, sau đó điều hướng luồng mail vào server mới.

10. Sau khi dữ liệu được phục hồi thì kích hoạt RealTime Scanner và khởi động lại mailbox service

su - zimbra
zxsuite backup setProperty ZxBackup_RealTimeScanner true
zmmailboxdctl restart

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