Winmail + Rsync + Nmap 实现 Winmail 邮件系统双机热备
目的: 在没有外置硬件存储设备的情况下,本方案利用两台服务器,可以实现数据自动备份,主邮件服务器故障时自动切换邮件服务到备用邮件服务器。
如果已有ISCSI等存储设备可以使用双机热备份集群等功能,双机集群可以参考: Winmail 群集安装(Win 2000) Winmail 群集安装(Win 2003)
实现原理:
平时使用主服务器(192.168.0.1),
使用同步软件(cwRsync)把主服务器中的数据同步到备用服务器(192.168.0.2)。
在主服务器出现服务故障时:
主服务器(192.168.0.1)上由脚本自动把主服务器的内网IP(192.168.0.1)修改成其他临时IP地址(192.168.0.3),
从而让出原来主服务器使用的IP地址(192.168.0.1),并关闭
Winmail;
备用服务器(192.168.0.2)上由脚本自动修改IP为原先主服务器IP(192.168.0.1), 并启动 Winmail
服务来代替原主服务器提供邮件服务。
在主服务器修复
Winmail,服务正常启动后数分钟:
备用服务器通过计算机名自动检测到主服务器已经正常(此时的主服务器使用临时IP
192.168.0.3),自动停止 Winmail 服务,让出原主服务器IP(192.168.0.1),改成自己原来的IP地址(192.168.0.2)。
主服务器需要手工把IP修改回原主服务器IP地址(192.168.0.1),以便正常工作。
安装准备:
1、一台主服务器(计算机名为serverA)的内网IP为192.168.0.1;一台备份服务器(计算机名为serverB)的内网IP为192.168.0.2,计算机名一定要正确配置(我的电脑右击属性>计算机名 中修改)。
2、在两台安装 Winmail 软件,安装路径要一致,建议安装到非系统盘。本例安装目录是 D:\Program Files\Magic Winmail
3、下载双机数据免费同步软件cwRsync。http://www.onlinedown.net/soft/99225.htm
4、下载免费Nmap软件,http://www.onlinedown.net/soft/69679.htm 官方下载:http://nmap.org/download.html
5、下载我们提供的脚步程序: easy_cluster.zip
6、主、备服务器上安装了防火墙或者设置了IP策略的话,要对外开放 TCP 873端口。
安装步骤:
一、双机数据自动同步
1、如果是正式用户的话,请先在两台服务器分别输入注册码,再把备份服务器的 Winmail 关闭。
2、在主、备服务器上都安装CwRsync,安装保持默认的路径,本例默认为C:\Program Files\ICW\。安装中其他选项也默认即可。
3、将easy_cluster.zip解压,
文件rsync.conf文件复制到主服务器的C:\Program Files\ICW\替换同名文件。
文件rsync.bat文件复制到备份服务器的C盘根目录。4、在主服务器 Windows 系统服务里, 将“RsyncServer”服务启动类型修改为自动,并重新启动此服务。
5、备份服务器上添加 Windows 的计划任务,每30分钟循环执行C:\rsync.bat 。
在 Winmail【管理工具】【系统设置】【高级设置】【系统参数】【基本参数】相关的邮件存储目录以及网络磁盘目录都保持默认路径。同步日志保存在C:\rsync.log。
二、服务自动切换配置
1、主、备服务器都要先安装软件 Nmap。
2、将easy_cluster.zip中的
文件ipA.txt 、ipB.txt、startwinmail.bat
复制到备份服务器的C盘根目录。
文件chgip.txt、chkserv.bat
复制到主服务器的C盘根目录。
3、修改上一步中复制的相关文件。
关于三个IP配置文件(ipA.txt
ipB.txt
chgip.txt)的说明:
修改ipA.txt,配置的为主服务器的IP,本例为192.168.0.1。
修改ipB.txt,配置的为备份服务器的IP,本例为192.168.0.2。
修改chgip.txt,配置的为主服务器服务故障后,为了让备服务器可以使用原有主服务器的IP而不产生冲突,先临时切换的IP,本例为192.168.0.3。
文件中的“本地连接”
就是在桌面上右击“网上邻居”--“属性”看到的网卡名,如果你的有所不同请注意修改。
set
address name="本地连接" source=static addr=192.168.0.1
mask=255.255.255.0
//addr是使用的IP,mask是子网掩码
set
address name="本地连接" gateway=192.168.0.254
gwmetric=0
//gateway是网关地址
set
dns name="本地连接" source=static addr=8.8.8.8
register=PRIMARY
//设置主DNS地址
add
dns name="本地连接" addr=8.8.4.4
index=2
//备用DNS地址
set
wins name="本地连接" source=static
addr=none
//这里不需要修改
4、添加 Windows
计划任务
分别在主备服务器上添加 Windows
计划任务,设置计划任务不同时长循环:
主服务器上每1分钟循环执行 chkserv.bat
文件。
备份服务器上每5分钟循环执行 startwinmail.bat
文件。
如果不想执行时跳出CMD窗口,可以在添加计划任务时让此计划任务使用其他用户执行即可。
测试方法:
1、直接断开主服务器的网络,查看是否正常切换。备注说明:
1、已经使用的计算机名不要更改,以免设置不生效。做好后,备份服务器会每30分钟同步一次主服务器的数据。主服务器有问题不能正常使用时,主服务器会切换到临时IP, 备份服务器上将启动 Winmail,备份服务器上数据会是最后一次备份的数据。网关等其他设备设置不需要更改。本例中使用了系统批处理来自动切换和修改IP, 所以使用时还是有少数可能会有IP切换不成功或者IP冲突出现。如果发现服务不正常也请检查是否是切换IP不成功或者冲突了。