搞大容量邮件的朋友可参考小弟乱写的一个东西

发表于:2007-06-08来源:作者:点击数: 标签:
[url]http://devel.hzqbbc.com/scalemail.html[/url] 这个只是一个ideal,因此请不要发信来问我具体的实施方案,但确实可以做出来。可行性是毫无疑问的。已和老外朋友ml里讨论过的。 另外,我的这些想法,是想用最普通的软件和技术来达到易于扩充的目的。但

[url]http://devel.hzqbbc.com/scalemail.html[/url]

这个只是一个ideal,因此请不要发信来问我具体的实施方案,但确实可以做出来。可行性是毫无疑问的。已和老外朋友ml里讨论过的。

另外,我的这些想法,是想用最普通的软件和技术来达到易于扩充的目的。但这个系统绝对不是什么牛系统。因此很多商业特性完全不具备。可以说是比较粗糙的模型。

不过已经可以很好的在一个5节点的小型系统内运作了。另外,webmail部分我还没进行改造。主要是改造比较简单。几个破php就好了。所以一直偷懒   

 xmy 回复于:2003-06-10 23:56:47
[quote:4c6db43af4="hzqbbc"]    

国情啊,所以要努力赚m!!!

ps:我每次upgrade钱都不多的。换xP1800+/kt400-A4-C也就花了500+620而已。不过买RAM很贵。。1***啊。5555 大出血。。。

估计用好些年了。呵呵!!!这次我买ddr不是时后?.........[/quote:4c6db43af4]  


最好买多一个SCSI 阵列卡,买3个SCSI硬盘做个阵列5,偶每次开VM的时候听硬盘的惨叫声是一件痛苦的事情,十分担心硬盘会不会就这样牺牲了。

 gadfly 回复于:2003-06-09 14:17:27
我的印象中qmqp似乎是qmail的自有协议。

这个mail switch的map机制倒是可行,在qmail中应该也可以实现,不过瓶颈问题?

[quote:de2e262984]
Use expensive storage solution (Fiber channel or high end SCSI disk array)LVS-NAT will be the traffic bottleneck Not easily expand to more than 20 nodes On large site frequently disk i/o and too many connection will come at peak of storage performance
[/quote:de2e262984]
如果是硬件的load balance,支撑的节点应该可以更多。不过20已经能支持很大的用户数了

另外共享存储还可以使用NAS。

而且现在有一种技术叫千M以太网,不一定要用光纤网来连接共享存储

 gadfly 回复于:2003-06-09 14:22:12
你现在想在这方面起个project?

 hzqbbc 回复于:2003-06-09 16:06:54
[quote:d4cef500c9="gadfly"]
如果是硬件的load balance,支撑的节点应该可以更多。不过20已经能支持很大的用户数了

另外共享存储还可以使用NAS。

而且现在有一种技术叫千M以太网,不一定要用光纤网来连接共享存储[/quote:d4cef500c9]     

分特啊。刚才我在回帖子的时候,论坛忽然不行了:( 所有的内容都丢了。

兄弟说的瓶颈问题,可以有很多方法来挽救的。不过怎么挽救都有一个上限的,另外,在廉价的系统里,是不考虑用硬件级的load balance,所以大概来说就LVS比较实用了,我自己测试过从理论上lvs确实可以很好的均分负载。但有些情况就不是太好。

另外,千兆以太网是不错的一个选择,但实际效能也就2,3百Mbit 好点的好象就最多4百mb吧~ 而且,实际的体系结构也摆脱不了这2大形式的,1是存储共享,2是分布存储。我想,就在这个方面做做文章咯 ^_^

 hzqbbc 回复于:2003-06-09 16:07:51
[quote:e10622e66f="gadfly"]你现在想在这方面起个project?[/quote:e10622e66f]     

起project?过去想过,现在不想了。搞这样的系统有人用嘛??
只是当时兴起研究一下。大概有一个感性认识就拉倒了:)

还是单机版能有机会用得上。咔咔

 xmy 回复于:2003-06-10 17:37:31
呵呵,ideal不错,可惜没有办法做做试验。像我们这样的地方,能找个单机玩玩就不错了。

 hzqbbc 回复于:2003-06-10 18:00:39
[quote:f7a45efe7a="xmy"]呵呵,ideal不错,可惜没有办法做做试验。像我们这样的地方,能找个单机玩玩就不错了。[/quote:f7a45efe7a]     

哈哈。完全可以做实验的。只要是不使用特殊硬件,全部都可以实现 至少是原型是没问题的。

我跑的5个节点的系统其实。。。。嘿嘿。。偷偷的告诉您,是在Vmware上跑的。同时开若干个linux。。。嘿嘿!!:)

 xmy 回复于:2003-06-10 18:58:15
I 服了 U, 我的机子是屁吐400的,开一个vmware都慢得要晕,别说n个了,看来要先想办法搞台快点的机子才行。

 hzqbbc 回复于:2003-06-10 19:01:58
[quote:b0ff3683d2="xmy"]I 服了 U, 我的机子是屁吐400的,开一个vmware都慢得要晕,别说n个了,看来要先想办法搞台快点的机子才行。[/quote:b0ff3683d2]     

哈哈。所以我忍痛换了一个XP1800+的1G ram 机器就是这个道理:)
明天还去采购一台水货的2*AMD XP1800+/760MPX的东西回来。。
西西~~~ 所以,研究东西也好,获得知识也好,都是要付出代价的。
而且不菲!~! 

 xmy 回复于:2003-06-10 20:15:15
       这要大量的 $ 支持才行,偶穷到连mm都泡不到,5555~~~~~

 hzqbbc 回复于:2003-06-10 20:18:45
[quote:985b0bfbb4="xmy"]       这要大量的 $ 支持才行,偶穷到连mm都泡不到,5555~~~~~[/quote:985b0bfbb4]     

国情啊,所以要努力赚m!!!

ps:我每次upgrade钱都不多的。换xP1800+/kt400-A4-C也就花了500+620而已。不过买RAM很贵。。1***啊。5555 大出血。。。

估计用好些年了。呵呵!!!这次我买ddr不是时后。买贵了。:(
而且页不是非常好的条子。凑合吧。西门子的。

 firebird 回复于:2003-06-10 21:47:40
辛苦了,楼主,你总结得挺全面的,但是要实现还是挺困难的。

 hzqbbc 回复于:2003-06-10 22:38:14
[quote:7b54eb8b04="firebird"]辛苦了,楼主,你总结得挺全面的,但是要实现还是挺困难的。[/quote:7b54eb8b04]     

部分方案实现困难(主要是¥¥)
部分不难实现啊。反正我至少实现了一个原型,跑得挺好。

 xmy 回复于:2003-06-10 23:32:48
load balance DNS的方案应该比较容易实现,没有阵列柜可以用NFS代替,mount到一个共同目录(如:/var/spool/imap),偶哪天也找台电脑试试。呵呵。

 michee 回复于:2003-06-11 00:16:22
[quote:3211075f73="xmy"]load balance DNS的方案应该比较容易实现,没有阵列柜可以用NFS代替,mount到一个共同目录(如:/var/spool/imap),偶哪天也找台电脑试试。呵呵。[/quote:3211075f73]     

呵呵..DNS轮循也不失为一种解决方案啊,但是真正要实现负载均衡,可能还得化点血本才行啊..比如用一个四层交换机! 

 xmy 回复于:2003-06-11 00:24:55
[quote:0a11bf362c="michee"]    

呵呵..DNS轮循也不失为一种解决方案啊,但是真正要实现负载均衡,可能还得化点血本才行啊..比如用一个四层交换机! [/quote:0a11bf362c]     

那么贵的交换机,偶没钱买来做试验哦

 xmy 回复于:2003-06-11 00:25:26
[quote:1c7b93618a="michee"]    

呵呵..DNS轮循也不失为一种解决方案啊,但是真正要实现负载均衡,可能还得化点血本才行啊..比如用一个四层交换机! [/quote:1c7b93618a]     

那么贵的交换机,偶没钱买来做试验哦

 cuckoo-hust 回复于:2003-06-11 11:19:19
我用qmail+vpopmail+mysql已经试验成功集群mail系统,现在是5个节点。用的是LVS(DR-直接路由),没用postfix。采用盘阵集中存储。应该是代价比较低的解决方案。

 gadfly 回复于:2003-06-11 11:26:55
如何共享?五台通过DNS共享?

 xmy 回复于:2003-06-11 14:30:32
[quote:0d73adb217="cuckoo-hust"]我用qmail+vpopmail+mysql已经试验成功集群mail系统,现在是5个节点。用的是LVS(DR-直接路由),没用postfix。采用盘阵集中存储。应该是代价比较低的解决方案。[/quote:0d73adb217]     


偶也试试LVS或者mosix

 hzqbbc 回复于:2003-06-11 15:15:48
[quote:d360c388ab="cuckoo-hust"]我用qmail+vpopmail+mysql已经试验成功集群mail系统,现在是5个节点。用的是LVS(DR-直接路由),没用postfix。采用盘阵集中存储。应该是代价比较低的解决方案。[/quote:d360c388ab]     

这个系统的明显bottleneck是磁盘i/o
其次有可能是network i/o

集中存储我想你应该用的是nfs吧???用nfs来share

 cuckoo-hust 回复于:2003-06-11 15:28:29
I/O是瓶颈我不否认,但我用的是盘阵,万转捷豹组成的RAID5,用NFS共享,效果比用一般的分布式文件系统要强点。网络部分,我不认为是瓶颈,用LVS的直接路由方式比用NAT方式扩张性要强的多。
  大家现在有个误区,认为使用分布式文件系统(不包括NFS),扩张性会强点,I/O瓶颈会小点。其实并不是这样。分布式文件系统并不适合集群应用,它只是提供一个统一的文件视图,但效率并不高。如果真正想要将集群应用做的好,只能使用并行文件系统。但现在还没有免费的真正实用的并行文件系统。IBM有GPFS,支持AIX和LINUX,但用在它自己的SP2集群上。并不免费。 
   还有,MOSIX的MFS并不算真正意义上的分布式文件系统,MFS只作为实现集群负载平衡的一个副产品。安装,维护,麻烦,且不可靠。MOSIX的代码基本都看过,用它作为集群MAIL系统的文件系统,并不适合。

 hzqbbc 回复于:2003-06-11 15:35:12
[quote:1ad1c3a07e="cuckoo-hust"]I/O是瓶颈我不否认,但我用的是盘阵,万转捷豹组成的RAID5,用NFS共享,效果比用一般的分布式文件系统要强点。网络部分,我不认为是瓶颈,用LVS的直接路由方式比用NAT方式扩张性要强的多。
  大家现在有个误区,认?.........[/quote:1ad1c3a07e]     

兄弟言之有理。

因为我没有米买scsi测试,更用不起raid scsi的所以这个就不好说。最有发言权的还是做个实验吧。一般的负载绝对不会对raid5 scsi的系统造成问题的。因为队列的目录是在每个节点上私有的使用(除非队列你也放到nfs里那么就真的是很坏的设计了)。否则只是邮件的保存,i/o能力理应足够。

只是在邮件风暴之下,或者很频繁的系统里,那就不知道了。真的得测试。

分布文件系统的效能不一定高(我也没办法测试,没物理机器)

兄弟用lvs dr是好方法,流量从dr那转移并分散到各节点。

可以用smtp_sink/source或postal来测试一下这个系统的smtp inject及最终投递到硬盘的速度就知道到底问题在哪里了:)

比起买要¥的fs,这个方案也算挺2便宜的了 

 hzqbbc 回复于:2003-06-11 15:37:29
[quote:d05a72bf2c="cuckoo-hust"]I/O是瓶颈我不否认,但我用的是盘阵,万转捷豹组成的RAID5,用NFS共享,效果比用一般的分布式文件系统要强点。网络部分,我不认为是瓶颈,用LVS的直接路由方式比用NAT方式扩张性要强的多。
  大家现在有个误区,认?.........[/quote:d05a72bf2c]     

ps:忘记说了。我觉得network i/o是问题,的原因是我以为queue都放到nfs server那,这样读写一频繁就会调用大量的network操作。自然容易造成bottleneck,但实际设计中应该不会着昂做。的。

还是测试一下吧。希望兄弟测试了就给个数据参考参考啊:)

 gadfly 回复于:2003-06-11 15:52:07
其实coda和gfs这样的分布式系统已经发展了有些念头了,以前研究过一段时间,但是那时候,还不成熟,不知道现在的技术发展到哪一步了。

与nfs相比,不知性能哪个更好一些?

看资料说,LVS 采用的就是coda文件系统。

有兴趣可以看看
http://www-900.ibm.com/developerWorks/cn/linux/cluster/linux_cluster/part7/index.shtml

 cuckoo-hust 回复于:2003-06-11 16:34:21
NAT应该和文件系统无关吧。网络I/O部分会是瓶颈,特别是文件服务器到计算节点交换机的连接网络。最好用最好的网络。计算节点间用交换机估计就可以了。它们之间没有太多的交互。
对于集群应用是用集中存储还是分布式存储。个人偏向前者。管理简单。分布式存储效率不一定高。比如在WEB服务中,某些特定的网页特别热门,点击率特别高,会造成分布式存储中的某个存储节点I/O请求特别巨大,其效率会特别低。与用盘阵集中存储相比性能肯定较差。
理想的方法是用并行文件系统,和RAID一样把数据分片到各个数据节点上,但现在还没有好用且免费的并行文件系统,linux下的pvfs离实用还是有很大差距。我们这边的测试结果还不如NFS。
对于NFS,如果文件服务器做的足够强,效果也是很好的,几年前我们这边测试,在节点超过16个的时候NFS文件服务器才会成为明显的瓶颈。但文件服务器做的更好点,性能也会更高点。对于e-mail并发数目不是太大的时候,用LVS(DR)+盘阵(NFS)+QMAIL+MYSQL+VPOPMAIL,这种集群方案应该是够用的。
我们现在想做出一个这样的系统来,让它稳定运行,易于安装,使用。
详细测试完成后希望能把方法告诉大家。而且我们也有人在做e-mail服务器的benchmark软件,如果可以的话希望也能公布给大家。要做的事情还很多。

 gadfly 回复于:2003-06-11 17:25:49
我这说得lvs是Linux Virtual Server的简称。看看集群的资料吧
http://www-900.ibm.com/developerWorks/cn/linux/cluster/linux_cluster/part3/index.shtml

 gadfly 回复于:2003-06-11 17:31:37
好奇的问一下,你们这个Mail集群系统和benchmark什么时候做出来。

让我们看看效果。

 xmy 回复于:2003-06-11 19:12:52
到http://www.linuxvirtualserver.org上面看吧,上面详细很多,偶一直想做这个,但是一直没有时间和条件。

 cuckoo-hust 回复于:2003-06-12 09:11:51
说错了,LVS和文件系统没什么关系吧。还有,计算节点间用普通快速以太网交换机就可以了。

 cuckoo-hust 回复于:2003-06-12 09:15:12
我们这个mail系统只是用现成的软件拼凑起来的,没有自己真正做什么,只是验证了一下集群环境可以实现否,很多很必要的试验还没做。测试的benchmark好像已经做好了。

 gadfly 回复于:2003-06-12 10:06:26
[quote:4ea9b1eaea]
说错了,LVS和文件系统没什么关系吧。还有,计算节点间用普通快速以太网交换机就可以了。
[/quote:4ea9b1eaea]

LVS是一种集群的方案,自然会考虑到高可用性,共享存储等集群的要点。最初的LVS设计是采用了这种文件系统,所以才有这么一说。这种方案自然基于设计者的一些考虑。

请问你们的benchmark基于什么标准?有什么技术指标?

方便拿出来测试么?

 xmy 回复于:2003-06-12 11:29:48
compuware的软件做黑盒测试也可以吧?

原文转自:http://www.ltesting.net