环境说明:

我目前有一台zimbra服务器,操作系统为 CentOS 6 运行着 zimbra 8.8.12,由于之前曾被黑过,植入上了挖矿程序,虽然当时已经将漏洞及时补上,但是也不能完全保证系统上其他地方没有被植入其他程序,所以最好的办法就是新建一台服务器,将数据从老服务器迁移到新服务器。

 

迁移计划:

本次迁移我计划将系统升级为 CentOS7,安装 zimbra 8.8.12 ,由于涉及到系统环境的改变,选择一个合适的迁移工具就很重要了。

 

迁移工具选择:

1. zimbra系统提供的“迁移和共存”,我曾尝试过,但是没有成功,而且zimbra 8.8.12 已经没有此项功能了。

2. 使用 rsync 进行迁移,我上次迁移就是使用的这个,但是那次是没有被黑以及系统环境都一样的时候,直接在新服务器上装好同版本的zimbra后,直接将/opt/zimbra 目录从老服务器同步到新服务器。

3. 使用 zextras 进行迁移,zextras是一个很不错的备份恢复以及迁移的工具,只会纯粹的迁移数据,不会迁移系统的文件,所以安全性更好,更多信息可访问官网了解: https://www.zextras.com/

 

迁移准备:

为了最大限度的降低迁移失败的风险,请执行以下步骤进行迁移前的检查:

1. 在老机器上root用户下运行下面命令自动修复目录的权限问题

/opt/zimbra/libexec/zmfixperms --verbose --extended

2. 重建索引(zimbra用户下运行)

Use the below commands to re-index all mailboxes (as the Zimbra user):
$ for i in `zmprov -l gaa chenxie.net`; do echo "rim $i start" >> /tmp/chenxie.net_rimstart.txt; done
$ zmprov -f /tmp/chenxie.net_rimstart.txt

Check the status:
$ for i in `zmprov -l gaa chenxie.net`; do echo "rim $i status" >> /tmp/chenxie.net_rimstatus.txt; done
$ zmprov -f /tmp/chenxie.net_rimstatus.txt
检查全部为 status: idle 即完成索引

3. 在zimbra用户下运行  zmblobchk  检查 BLOB

$ cd /opt/zimbra/bin/
$ ./zmblobchk start

我这里得到些错误:

Mailbox 75, volume 1, /opt/zimbra/store/0/75/msg/5/21756-28548.msg.bak: unexpected blob. File size is 5126.

解决办法:https://silentadmin.gsans.com/my-toolbox/zimbra-admin/zmblobchk-and-unexpected-blob-error-messages/

我将/opt/zimbra/store/0/75/msg/5/21756-28548.msg.bak改为了/opt/zimbra/store/0/75/msg/5/21756-28548.msg 不成功 ,后来看了下文件内容 不是很重要,直接删了就OK了

 

no such account: dc7f60a6-6430-46ee-96a3-1eaac3f1a391

解决办法:

查看次ID对应的邮箱:

mysql -e 'select * from zimbra.mailbox where account_id="dc7f60a6-6430-46ee-96a3-1eaac3f1a391"'

重新创建此ID对应的邮箱:

zmprov ca xxx@chenxie.net Pass@word zimbraId "dc7f60a6-6430-46ee-96a3-1eaac3f1a391" 

删除此邮箱:

zmprov da xxx@chenxie.net

 

在老服务器上安装 zextras:

wget http://download.zextras.com/zextras_suite-latest.tgz
tar -zxvf zextras_suite-latest.tgz
cd zextras_suite
./install all

按照提示安装即可。

安装好后登录zimbra管理后台,刚进去的时候有一个错误提示,忽略它,然后在左侧找到“Zextras”,进去点击“ZxBackup”,然后进行初始化,zextras就会开始自动扫描备份到默认目录 /opt/zimbra/backup/zextras/ , 你也可以在页面上进行更改为你指定的目录,但是一定要确保你指定的目录属主为zimbra。

 

当你收到 Smart Scan Completed的通知后,接下来可以利用 rsync 或者其他传输工具,将 /opt/zimbra/backup/zextras/的数据传输到新服务器上,目录可以是随便但是不要设为 /opt/zimbra/backup/zextras/ 因为这是zextras的默认初始化目录 , 如可以传输到 /opt/zimbra/backup/migration/ 目录。

rsync -avz –delete /opt/zimbra/backup/zextras/  username@ip:/opt/zimbra/backup/migration/

 

传输完成后在新服务器上将 /opt/zimbra/backup/migration/ 目录的属主改为 zimbra

chow -R zimbra.zimbra /opt/zimbra/backup/migration/

 

接下来在新服务器上安装zextras:

wget http://download.zextras.com/zextras_suite-latest.tgz
tar -zxvf zextras_suite-latest.tgz
cd zextras_suite
./install all

安装好后登录zimbra管理后台,刚进去的时候有一个错误提示,忽略它,然后在左侧找到“Zextras”,进去点击“ZxBackup”,然后点击左下角的 “Import Backup” ,根据提示进行导入操作。

 

 

 

发表评论

电子邮件地址不会被公开。

+ 9 = 17