Chinaunix首页 | 论坛 | 博客
  • 博客访问: 148978
  • 博文数量: 79
  • 博客积分: 1606
  • 博客等级: 上尉
  • 技术积分: 2364
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-31 15:02
个人简介

金笛邮件

文章分类
文章存档

2014年(13)

2013年(44)

2012年(22)

我的朋友

分类: IT业界

2012-12-10 10:28:33

  • 一. 介绍

    作为服务器,需要提供一定的24X7的安全保证,这样可以防止关键节点的宕机引起系统的全面崩溃。春笛公司在长期的邮件系统方案实施过程中,利用OpenSource开源软件,结合金笛邮件系统,成功地为多家单位实施了大容量邮件系统的高可靠双机热备方案。

    基于linux的 HA软件可靠稳定,比使用商业版本的HA软件降低成本约9成左右。 
    在这里我们用 lvs 和 DRBD 实现了一个真实环境下的双机热容错集群。这里的关键技术是如何实现ip代换, mon/heartbeat检测, 文件同步。同样这一方法稍加改动就可以实现oracle热备份、ldap热备份等。


二. 方案描述

将真实服务地址绑定到一个虚拟网卡(eth0:1)上通过检测程序(heartbeat)来将主机或是备份主机的虚拟网卡(eth0:1)激活。从而实现热备份。使用网络硬盘RAID来同步文件。检测程序通过内网进行监控。 

金笛高可用邮件系统架构(双机系统)


2 工作模式 
a) 正常状态: 

正常工作状态

b) 备份激活: 

node1失效,node2激活状态

c) 主机就绪: 

node1故障排除,恢复状态

d) 切换回正常模式: 
需要手动停止备份服务器的服务,系统会自动切换回正常模式 
三. 软硬件需求 
两台双网卡主机完全安装 redhat6.2 
主机IP 10.0.0.126 备份主机IP 10.0.0.250 
实际服务即浮动IP 202.93.204.68 
邮件系统: 
金笛邮件系统Jindi-Mail2.0 () 
HA软件: 
ftp://ha.redhat.com/pub/ha/piranha-docs-0.4.17-2.i386.rpm 
ftp://ha.redhat.com/pub/ha/piranha-gui-0.4.17-2.i386.rpm 
ftp://ha.redhat.com/pub/ha/piranha-0.4.17-2.i386.rpm 
ftp://ha.redhat.com/pub/ha/ipvsadm-1.11-4.i386.rpm 

安装软件: 
rpm –Uvh ipvsadm* piranha*两台主机都要装 
金笛邮件系统安装 
DRBD 安装 
Tar zvxf tar -zvxf drbd-0.5.8.1.tar.gz 
cd drbd 
make 
make install 
有如下相关文件 
/usr/sbin/drbdsetup 
/lib/modules/2.2.18pre11-va2.1/block/drbd.o 
/etc/ha.d/resource.d 
/etc/rc.d/init.d/drbd 
/sbin/insmod drbd进行测试 
应返回”Using /lib/modules/2.2.18pre11-va2.1/block/drbd.o” 
四. 设置 
编辑/etc/lvs.cf文件 
#Example of /etc/lvs.cf 
#还需要smtpd popd这两个启动脚本 
service = fos # 采用fos模式 
primary = 10.0.0.126 # 主ip地址(qmail) 
backup = 10.0.0.250 # 备份主机ip地址(Backup) 
backup_active = 1 # 激活备份 
heartbeat = 1 # 激活Heartbeat 
heartbeat_port = 1050 # Heartbeat端口 
keepalive = 2 # heartbeat间隔 单位秒 
deadtime = 10 # 判定死机间隔 
rsh_command = ssh # 文件同步方案 选ssh 
#failovermail服务 
failover pop { 
active = 1 # 激活监听服务 
address = 202.93.204.68 eth0:1 # 
port = 110 #pop 端口 
send = "n" #pop 连接特征串 
expect = "+OK" #pop 反馈特征串 
timeout = 10 
start_cmd = "/etc/rc.d/init.d/popd start" #pop 启动命令 
stop_cmd = "/etc/rc.d/init.d/popd stop" #pop关闭命令 

failover smtp { 
active = 1 #激活监听服务 
address = 202.93.204.68 eth0:1 # 
port = 25 #smtp端口 
send = "n" #smtp 连接特征串 
expect ="220" #smtp 反馈特征串 
timeout = 10 
start_cmd = "/etc/rc.d/init.d/smtpd start" # smtp启动命令 
stop_cmd = "/etc/rc.d/init.d/smtpd stop" # smtp关闭命令 

failover mirror { 
active = 1 
timeout = 10 
start_cmd = "/etc/ha.d/resource.d/datadisk start" # DRBD启动命令 
stop_cmd = "/etc/ha.d/resource.d/datadisk stop" # DRBD 关闭命令 

同步LVS文件 
scp /etc/lvs.cf 10.0.0.112:/etc/lvs.cf 
编辑/etc/fstab加入 (两台都要加) 
/dev/nb0 /var/qmail ext2 noauto 0 0 #FOS RAID 
如下 
/dev/sda1 /boot ext2 defaults 1 1 
/dev/sda2 / ext2 defaults 1 1 
/dev/nb0 /var/qmail ext2 noauto 0 0 #FOS RAID 
/dev/sda4 swap swap defaults 0 0 
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0 
/dev/fd0 /mnt/floppy auto noauto,owner 0 0 
none /proc proc defaults 0 0 
none /dev/pts devpts gid=5,mode=620 0 0 
编辑/etc/drbd.conf 
resource drbd0 { 
protocol=B 
fsck-cmd=fsck.ext2 -p -y 
on thost1 { 
device=/dev/nb0 
disk=/dev/hda7 
address=10.0.0.126 
port=7789 

on thost2 { 
device=/dev/nb0 
disk=/dev/hda7 
address=10.0.0.250 
port=7789 


检查两台主机drbd是否载入 
#/sbin/lsmod 
Module Size Used by 
drbd 37792 0 (unused) 
3c59x 20880 1 (autoclean) 
如果drbd没有载入用如下命令载入 
/sbin/insmod /lib/modules/2.2.18pre11-va2.1/block/drbd.o 
在备份主机上挂接镜像盘 
/usr/sbin/drbdsetup /dev/nb0 disk /dev/sda2 
/usr/sbin/drbdsetup /dev/nb0 net 10.0.0.250 10.0.0.126 B 
在主机上挂接镜像盘 
/usr/sbin/drbdsetup /dev/nb0 disk /dev/sda2 
/usr/sbin/drbdsetup /dev/nb0 net 10.0.0.126 10.0.0.250 B 
/usr/sbin/drbdsetup /dev/nb0 primary 
两台主机安装文件卷 
/sbin/mkfs -b 4096 /dev/nb0 
mount /dev/nb0 /var/qmail 
启动 
启动主机的drbd 
/etc/rc.d/init.d/brdb start 
启动备份主机的drbd 
将金笛邮件系统 安装到 /home/webmail 
启动主机的邮件系统 startup.sh 
启动主机的pulse 
/etc/rc.d/init.d/pulse start 
启动备份主机的drbd 
访问主机的smtp pop服务 查看是否正常(这点很重要) 
然后才能启动备份主机的 pules 
以上顺序不能弄错 
测试 
连接qmail测试是否正常工作 
使用ifconfig 查看虚拟网卡是否工作 
停止 主机的邮件系统服务 
shutdown.sh 
连接smtp pop 测试是否正常工作 
使用 ifconfig 查看备份主机的网卡是否工作 
正常的话应该将202.93.204.68绑定到这台主机上了 
然后在停止备份主机的qmail服务 202.93.204.68应该被绑回到主机上了

金笛邮件系统体验中心:
金笛邮件系统下载地址:


阅读(194) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~