Inplace upgrade multi server
Sử dụng phương án này nếu bạn tiếp tục sử dụng OS cũ, network cũ. Cần lưu ý kiểm tra độ tương thích của OS với phiên bản Zimbra 10.1. Bạn cần update lên bản vá mới nhất trước khi thực hiện nâng cấp.
Thực hiện các bước cơ bản sau để nâng cấp:
Bạn cần nâng cấp các server theo thứ tự sau: LDAP server, Proxy server, MTA server, MAILBOX servers.
1. Thực hiện backup hệ thống.
Thực hiện lấy snapshot máy ảo. Bạn cần tắt máy ảo hoặc ít nhất tắt Zimbra trước khi lấy snapshot.
2. Nâng cấp LDAP, PROXY, MTA server
Xác định các thay đổi tùy biến mà bạn đã thực hiện trên server, thường là việc tùy chỉnh MTA. Bạn có thể bỏ qua bước này nếu không thực hiện tuỳ biến với postfix. Nếu bạn có tài liệu kỹ thuật mô tả các thay đổi cấu hình đã thực hiện thì cũng có thể dựa trên các tài liệu này. Nếu không bạn có thể lấy cấu hình như sau:
su - zimbra
cp -axv ~/conf/zmconfigd.cf /tmp/zmconfigd.cf-prepatch
cp -axv ~/conf/amavisd.conf.in /tmp/amavisd.conf.in-prepatch
cp -axv ~/common/conf/transport /tmp/transport-prepatch
cp -axv ~/common/conf/main.cf /tmp/main.cf-prepatch
postconf -n | sort >> /tmp/postconf-prepatch.txt
exit
Tiến hành download zimbra 10.1, giải nén và chạy file cài đặt lần lượt trên LDAP, PROXY và MTA server.
Cấu hình lại các thiết lập tùy chỉnh như trên hệ thống cũ. Ví dụ cho MTA/Postfix.
su - zimbra
cp -axv ~/conf/zmconfigd.cf /tmp/zmconfigd.cf-postpatch
cp -axv ~/conf/amavisd.conf.in /tmp/amavisd.conf.in-postpatch
cp -axv ~/common/conf/transport /tmp/transport-postpatch
cp -axv ~/common/conf/main.cf /tmp/main.cf-postpatch
postconf -n | sort >> /tmp/postconf-postpatch.txt
Tiến hành so sánh các file trước và sau khi update để tìm sự khác biệt. Bạn có thể cat 2 file và so sánh, hoặc dùng lệnh để so sánh, ví dụ:
diff -u /tmp/postconf-prepatch.txt /tmp/postconf-postpatch.txt
Xem kết quả và thực hiện lại các thay đổi bạn đã làm.
Tại thời điểm này, bạn có các LDAP, PROXY và MTA server chạy phiên bản 10.1 và các MAILBOX server vẫn chạy phiên bản 8.8.15 hoặc 9.0
3. Nâng cấp MAILBOX server.
Cài đặt NG migration tool và export NG data (là các dữ liệu cấu hình cho NG chứ không phải các blob message).
Phiên bản 10 đã gỡ bỏ NG module và dùng các module thuộc phiên bản Daffodil. Vì thế cần export và import lại các cấu hình liên quan đến NG tương ứng.
#Trên Redhat, với quyền root:
yum clean metadata
yum check-update
yum install zimbra-modules-porter
#Trên Ubuntu, với quyền root:
apt-get update
apt-get install zimbra-modules-porter
#Nếu trên ubuntu báo lỗi về signature verification, bạn cần lấy lại key:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 5234D2B73B6996C7
Tiến hành xuất thông tin cấu hình hsm.
Vì cấu hình hsm là của từng server nên bạn cần thực hiện trên từng mailbox server.
Lưu ý: Thay server.com bằng tên các mailbox server tương ứng của bạn, admin@domain.com bằng tài khoản admin của bạn, admin_passwd bằng mật khẩu admin của bạn.
su - zimbra
zmmodulesport system export --modules=hsm --filename=hsm-data --server=server.com --username=admin@domain.com --password=admin_passwd >> /opt/zimbra/log/hsm-export.log
Một file hsm-data.tgz sẽ được tạo ra trong thư mục /opt/zimbra/tmp/modules/hsm/
Xuất thông tin delegated admin
Vì cấu hình delegated admin là thông tin mức Global nên bạn chỉ cần thực hiện trên MAILBOX server đầu tiên đang cần nâng cấp.
zmmodulesport system export --modules=admin --filename=admin-data --server=server.com --username=admin@domain.com --password=admin_passwd >> /opt/zimbra/log/da-export.log
Một file admin-data.tgz sẽ được tạo ra trong thư mục /opt/zimbra/tmp/modules/admin/
Xuất thông tin mobile.
Vì cấu hình Mobile là thông tin mức Global nên bạn chỉ cần thực hiện trên MAILBOX server đầu tiên đang cần nâng cấp.
zmmodulesport system export --modules=mobile --filename=mobile-data1 --server=server.com --username=admin@domain.com --password=admin_passwd >> /opt/zimbra/log/mobile-export.log
Một file mobile-data1.tgz sẽ được tạo ra trong thư mục /opt/zimbra/tmp/modules/mobile/
Xuất thông tin cấu hình backup. Lưu ý là bạn phải cấu hình lại backup bằng tay sau khi đã nâng cấp hệ thống.
Vì cấu hình backup là của từng server nên bạn cần thực hiện trên từng mailbox server.
zmmodulesport system export --modules=backup --filename=backup-data --server=server.com --username=admin@domain.com --password=admin_passwd >> /opt/zimbra/log/br-export.log
Một file backup-data.tgz sẽ được tạo ra trong thư mục /opt/zimbra/tmp/modules/backup/
Xuất thông tin Drive
Vì cấu hình drive là của từng user thuộc từng server nên bạn cần thực hiện trên từng mailbox server.
zmmodulesport account export --modules=drive --filename=drive-data --server=server.com --username=admin@domain.com --password=admin_passwd >> /opt/zimbra/log/drive-export.log
Một file drive-data.tgz sẽ được tạo ra trong thư mục /opt/zimbra/tmp/modules/drive/
3. Chuẩn bị hệ thống cho việc nâng cấp, ghi lại các thay đổi cấu hình tùy biến mà bạn đã thực hiện trên hệ thống. Bạn sẽ cần cấu hình lại các thông số tùy biến này trên hệ thống mới sau khi đã update.
Tắt mobile sync trước khi nâng cấp
Đọc lại tài liệu cài đặt trước đây, ghi lại các tùy biến cấu hình bạn đã thực hiện trên hệ thống. Thông thường là các cấu hình liên quan đến việc edit file main.cf
4. Nâng cấp hệ thống.
Tải phiên bản zimbra 10.1 về. Chuẩn bị sẵn license key cho Zimbra 10.1 (bạn cần liên hệ với Zimbra support hoặc Zimico để lấy key).
Dùng firewall chặn các kết nối vào server để tránh người dùng truy cập vào server khi đang nâng cấp. Ví dụ:
# Với firewalld trên Redhat/Centos
firewall-cmd --zone=public --remove-service=smtp
firewall-cmd --zone=public --remove-service=pop3
firewall-cmd --zone=public --remove-service=imap
firewall-cmd --zone=public --remove-service=http
firewall-cmd --zone=public --remove-service=https
firewall-cmd --zone=public --remove-service=smtp-submission
firewall-cmd --runtime-to-permanent
# Với ufw trên Ubuntu
ufw deny 25/tcp
ufw deny 110/tcp
ufw deny 143/tcp
ufw deny 80/tcp
ufw deny 443/tcp
ufw deny 587/tcp
Gỡ bỏ NG module:
#Tắt module NG:
zmprov ms `zmhostname` zimbraNetworkModulesNGEnabled FALSE
#Gỡ bỏ NG module
zmzimletctl undeploy com_zextras_client
zmzimletctl undeploy com_zextras_drive_open
zmzimletctl undeploy com_zextras_zextras
zmzimletctl undeploy com_zextras_drive
Thêm Onlyoffice repo vào nếu bạn muốn dùng OnlyOffice, với quyền root.
# Trên redhat8/Rocky Linux 8
cat > /etc/yum.repos.d/zimbra-onlyoffice.repo <<EOF
[zimbra-onlyoffice]
name=Zimbra Onlyoffice RPM Repository
baseurl=https://repo.zimbra.com/rpm/onlyoffice/rhel8
gpgcheck=1
enabled=1
EOF
#chạy lệnh sau để update repo
yum --disablerepo=* --enablerepo=zimbra-onlyoffice clean metadata
yum check-update --disablerepo=* --enablerepo=zimbra-onlyoffice --noplugins
# Trên Ubuntu 20
cat > /etc/apt/sources.list.d/zimbra-onlyoffice.list << EOF
deb [arch=amd64] https://repo.zimbra.com/apt/onlyoffice focal zimbra
deb-src [arch=amd64] https://repo.zimbra.com/apt/onlyoffice focal zimbra
EOF
#chạy lệnh sau để update repo
apt-get update
Nâng cấp hệ thống.
Chạy file install.sh với tùy chọn -skip-ng-check
./install.sh --skip-ng-check
Trả lời Y cho các câu hỏi.
Trả lời Y khi được hỏi về license:
Do you agree with the terms of the software license agreement? [N] Y
Trả lời Y khi được hỏi về BACKUP
Do you wish to continue without a backup? [N] Y
Trả lời Y khi được hỏi về kiểm tra database
Do you want to verify message store database integrity? [Y]
Trả lời Y khi được hỏi về zimbra reposiotry và đồng ý update.
Use Zimbra's package repository [Y]
Do you wish to upgrade? [Y]
Có 3 gói cài đặt mới Zimbra sẽ hỏi bạn là Zimbra license daemon, Onlyoffice và Chat. Bạn cần cài đặt gói Zimbra license daemon nếu không có ý định cài riêng gói này trên một server khác. Bạn có thể cài đặt 2 gói Onlyoffice và chat lúc này hoặc cài đặt sau. Ví dụ sẽ cài đặt onlyoffice và cài đặt chat và zimbra license daemon.
Install zimbra-license-daemon [N] Y
Install zimbra-archiving [N]
Install zimbra-onlyoffice [N] Y
Upgrading zimbra-license-tools
Upgrading zimbra-license-extension
Upgrading zimbra-network-store
Upgrading zimbra-patch
Upgrading zimbra-mta-patch
Upgrading zimbra-proxy-patch
Install chat and video features [N] Y
Sau khi chọn các package cài đặt, bạn chọn Y để bắt đầu.
The system will be modified. Continue? [N]Y
Hệ thống sẽ được upgrade lên Zimbra Daffodil 10.1.
5. Import NG data và tiến hành chỉnh sửa các cấu hình tùy biến như đã làm trên hệ thống cũ.
Bước cuối cùng là import cấu hình NG data và các thay đổi tùy biến mà bạn đã thực hiện trên hệ thống cũ.
Lưu ý: Thay server.com bằng tên server của bạn, admin@domain.com bằng tài khoản admin của bạn, admin_passwd bằng mật khẩu admin của bạn.
Import cấu hình HSM trên từng server
su - zimbra
zmmodulesport system import --modules=hsm --filename=hsm-data -t=inplace --server=server.com --username=admin@domain.com --password=admin_passwd -l=true -uam=true >> /opt/zimbra/log/hsm-import.log
Import Delegated Admin trên server đầu tiên
zmmodulesport system import --modules=admin --filename=admin-data --server=server.com --username=admin@domain.com --password=admin_passwd >> /opt/zimbra/log/da-import.log
Import Mobile Data trên server đầu tiên
zmprov md domain.com +zimbraMobileBlockedDevices "*"
zmmodulesport system import --modules=mobile --filename=mobile-data1 --server=server.com --username=admin@domain.com --password=admin_passwd >> /opt/zimbra/log/mobile-import.log
Import Drive Data trên từng server
#Tiến hành thay đổi zimbraAdminAuthTokenLifetime từ 12h (mặc định) lên 24h để tránh bị timeout khi tải dữ liệu lớn.
zmprov mc default zimbraAdminAuthTokenLifetime 24h
zmmailboxdctl restart
zmmodulesport account import --modules=drive --filename=drive-data --server=server.com --username=admin@domain.com --password=admin_passwd >> /opt/zimbra/log/drive-import.log
Cấu hình backup trên Daffodil
Vào Configuration → Global Setting → Backup/Restore và enable backup.
Vào từng Configuration -> các mailbox server để cấu hình nơi lưu trữ backup và policy lưu trữ.
Xóa các dữ liệu backup cũ bởi NG module để lấy lại không gian lưu trữ.
Bật lại chế độ sync cho mobile cho từng account hoặc COS
zmprov ma <account@domain.com> zimbraFeatureMobileSyncEnabled TRUE
Kết thúc quá trình nâng cấp.