频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

分布式的Qmail邮件系统

作者: 出处:邮件网  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2005-11-25 16:12
关 键 词:系统  mail  I  邮件系统
阅读提示:适应多用户、大容量的邮件系统,易扩展,提供mail服务冗余特性。
一. 设计目的
适应多用户、大容量的邮件系统,易扩展,提供mail服务冗余特性。
二. 配置环境
我的测试环境采用了三台PC Server,均采用RedHat 6.2,openldap2.0.7和qmail-1.03 以及qmail-ldap,分别运行smtp/pop3服务,具体 配置如下。
192.168.0.19 omni1.i100.com.cn 主smtp/pop3 server,dns MX记录,邮件存储主机,qmqp server 192.168.0.5 cocoon.i100.com.cn LDAP server,邮件存储主机 192.168.0.2 gw2.i100.com.cn 邮件存储主机,qmqp server,同时是次smtp/pop3 server 在192.168.0.19的/data/vuser/目录下,存储johnny的邮件。 在192.168.0.5的/data/vuser/目录下,存储jacky的邮件。 在192.168.0.2的/var/qmail/vuser/目录下,存储denny的邮件。 以上配置在实践中,可以配置成邮件存储和ldap以及smtp server分别位于不同机器。
三. 软件
openldap-2.0.7.tgz 
qmail-1.03.tar.gz 
qmail-ldap-1.03-20010301.patch 
ucspi-tcp-0.84.tar.gz 
编译qmail的时候,记得把对cluster的支持编译进去。Edit the Makefile to reflect your setup. You can change the following values: QLDAP-CLUSTER Compiles the clustering code in. Note: this doesn't mean clustering is on, it just means you _can_ turn on clustering. 缺 省qmail是支持cluster结构的。
四. LDAP和qmail的安装
关于LDAP和qmail的安装,在这里,我给出我的LDAP的ldif文件:
dn: dc=i100, dc=com, dc=cn 
objectclass: top 
objectclass: orgnization 

dn: cn=Manager, dc=i100, dc=com, dc=cn 
uid: Manager 
objectclass: qmailUser 
mail: johnnys@cn.solution100.com 

dn: cn=johnny, dc=i100, dc=com, dc=cn 
cn: johnny 
sn: johnny 
objectclass: top 
objectclass: person 
objectclass: inetOrgPerson 
objectclass: qmailUser 
mail: johnny@i100.com.cn 
mailhost: omni1.i100.com.cn 
mailalternateaddress: johnnys@i100.com.cn 
mailmessagestore: /data/vuser/johnny/ 
mailquota: 51200 
uid: johnny 
userpassword: hSAMdaZcsdAOI 

dn: cn=jacky, dc=i100, dc=com, dc=cn 
cn: jacky 
sn: jacky 
objectclass: top 
objectclass: person 
objectclass: inetOrgPerson 
objectclass: qmailUser 
mail: jacky@i100.com.cn 
mailhost: cocoon.i100.com.cn 
mailalternateaddress: jacky@i100.com.cn 
mailmessagestore: /data/vuser/jacky/ 
mailquota: 51200 
uid: jacky 
userpassword: hSAMdaZcsdAOI 

dn: cn=denny, dc=i100, dc=com, dc=cn 
cn: denny 
sn: denny 
objectclass: top 
objectclass: person 
objectclass: inetOrgPerson 
objectclass: qmailUser 
mail: denny@i100.com.cn 
mailhost: gw2.i100.com.cn 
mailalternateaddress: denny@i100.com.cn 
mailmessagestore: /var/qmail/vuser/denny/ 
mailquota: 51200 
uid: denny 
userpassword: hSAMdaZcsdAOI 
以上大家可以看到,我把三个用户的邮件分别存到了不同的机器上。如果用户多,可以把a-n和o-z开头的用户分别存储到不同的机器上。
五. 基本系统配置
在三台机器上分别install qmail with qmail-ldap patch. 需要特别配置的是/var/qmail/control下的相关文件。 ldapuid ldapgid 这是可以读写用户邮件目录的系统用户的uid和gid,在不同的机器上,会有不同的配置;确保此用户有读写用户邮件目 录的权限。 ldapserver 此文件指定LDAP服务器的ip地址;如果您想ldap有冗余作用,在主LDAP server down了的时候,启用次LDAP server,可以在 该文件中指定。
如:ldap1.i100.com.cn:389 ldap2.i100.com.cn:389 :) ldapserver 此文件内容是0或者1,表示是否启动qmail cluster模式。我们当然要启动了。 echo 1 > /var/qmail/control/ldapserver
六. Qmail Cluster工作原理
在允许cluster的邮件环境中,每台主机都可以处理该cluster声明的域的邮件;当一个mail到达主smtp server的时候,Qmail查询LDAP server中有关该用户的mailhost属性,如果mailhost属性指定的不是此server的/var/qmail/control/me中定义的的主机,此邮件被通过qmqp协 议转发到mailhost定义的主机上。
注:所有主机名必须是合法的dns主机名。
七. 详细配置
在每台运行qmail的系统上运行qmail-qmqpd进程,才可实现邮件转发。需要设置tcp.qmqp
文件,此文件中定义可信任的mailhost. 如: 192.168.0.:allow :deny 然后用tcprules生成tcp.qmqp.cdb文件。 运行 /usr/local/bin/tcpserver -v -x /var/qmail/control/tcp.qmqp.cdb -u 502 -g 501 0 628 /var/qmail/bin/qmail-qmqpd 2>&1 | /var/qmail/bin/splogger qmqpd & 启动qmail-qmqpd进程,监听在628 port。 在客户端,使用oe将pop3 server设置为主smtp/pop3 server地址(这里是192.168.0.19),就可以收到存储在192.168.0.5和192.168.0.2 上用户的邮件。 :)
八. 有关qmail-qmqpd server
以上实现了邮件的分布式存储,但是随着用户的增加,主smtp/pop3 server会成为整个系统的瓶颈;而且一旦主smtp/pop3 server down机 ,整个系统将不再有效。
解决办法是增加qmqpd server。
现在主smtp/pop3 server是192.168.0.19,我测试环境是把192.168.0.2同时也作为qmqpd server;由此,一旦192.168.0.19 down机, 192.168.0.2仍然可以继续提供smtp/pop3服务。 我简单的采用手工down掉192.168.0.19,而把pop3和smtp server设置成192.168.0.2的方式,以证实此方法的可行性;并且192.168.0.2并 不是此域声明的MX记录。 以上需要在两台qmqpd server的/var/qmail/control目录中,增加qmqpservers文件,在其中每行写入一台qmqpd server的ip地址。 :)
九. 其他
如果需要webmail功能,可以和sqwebmail进行整合。此方案不提供对pop3存储的冗余措施,如果可能,可以采用Raid、NFS或者SAN的解决方案
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·IIS 专题频道 (查看19810次)
·中间件应用技术专题 (查看16166次)
·FTP协议应用专题 (查看16093次)
·140个电脑小知识、小技巧 (查看14425次)
·Apache技术专题 (查看12971次)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有