开发者社区> 技术小胖子> 正文

extmail集群的邮件负载均衡方案 [lvs dns postfix]

简介:
+关注继续查看

for techtrex

公司以前的邮件服务器是:


111511996.jpg


后期改成一个dell1950 配置 lvs-nat 顶在前面,因为就一个ip,没有多余的ip,路由器,无法配置dr模式。



112500599.jpg

7-15 公司增加了双线路,直接改用智能dns的框架~~~

其实个人感觉前期的lvs性能就很不错~


113224565.jpg


emos的安装过程。。。。


002950556.jpg

003000687.jpg

003008160.jpg

003014592.jpg

003021279.jpg

003028939.jpg

003036495.jpg

003043299.jpg

003051424.jpg

003101164.jpg

安装的话,大家可以采用extmail集成的EMOS系统,也可以编译安装,我采用的是编译的安装,个人感觉性能没有多少提升~~~

大家以前接触的都是web的集群,其实mail集群和web是差不多的~~ 没有难度的,只是分发的端口多几个。

简单的来说,在server-a 和server-b 安装emos系统,把/home/domains下面的文件用nfs共享起来,在另一端mount上去。 有条件的最好用mfs,gfs分布式,因为有个文件lock问题,很让人恼火....

两个mail服务器的配置都指向到后端的mysql服务器~~~~

修改


  1. vi /var/www/extsuite/extmail/webmail.cf

  2. vi /var/www/extsuite/extmail/webman.cf

115312551.jpg


lvs的配置大家都很熟悉了~



LVS server


ipvsadm 


装好后可看到如下模块


[root@LVS /]# lsmod |grep ip_vs


ip_vs_wlc               6081  2


ip_vs                  77569  4 ip_vs_wlc



piranha-passwd 设置piranha_gui 的密码


/etc/init.d/piranha_gui 启动LVS WEB管理界面






  1. [root@LVS /]# ipvsadm -Ln

  2. IP Virtual Server version 1.2.1 (size=4096)

  3. Prot LocalAddress:Port Scheduler Flags

  4.  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

  5. TCP  192.168.0.192:110 wlc

  6.  -> 192.168.200.200:110          Masq    1      0          4

  7.  -> 192.168.200.210:110          Masq    1      0          3

  8.  -> 192.168.200.205:110          Masq    1      0          3

  9. TCP  192.168.0.192:25 wlc

  10.  -> 192.168.200.200:25           Masq    1      0          1

  11.  -> 192.168.200.205:25           Masq    1      0          1

  12.  -> 192.168.200.210:25           Masq    1      0          1


邮件的大小~~~~~~

extmail默认的附件大小限制是5M,通过以下方式可以放开:

1、修改extmail目录下的webmail.cf文件,

将其中的

SYS_MESSAGE_SIZE_LIMIT = 5242880

修改为

SYS_MESSAGE_SIZE_LIMIT = <新的邮件大小限制>
2、修改/etc/postfix/main.cf文件,增加一行(如果没有的话):
message_size_limit = <新的邮件大小限制>
3、重启postfix和httpd服务







postfix 清理垃圾的邮件 !


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/perl
$REGEXP shift || die "no email-adress given (regexp-style, e.g. bl.*\@yahoo.com)!";
@data qx;
for (@data) {
 if (/^(\w+)(\*|\!)?\s/) {
    $queue_id = $1;
 }
 if($queue_id) {
   if (/$REGEXP/i) {
     $Q{$queue_id} = 1;
     $queue_id "";
   }
 }
}
open(POSTSUPER,"|postsuper -d -") || die "couldn't open postsuper" ;
foreach (keys %Q) {
 print POSTSUPER "$_\n";
};
close(POSTSUPER);






利用slockd添加白名单和黑名单

#白名单

/usr/local/slockd/config/whitelist

#接收白名单
/usr/local/slockd/config/recip_whitelist

#发送白名单

/usr/local/slockd/config/sender_whitelist

#白名单

/usr/local/slockd/config/blacklist

#接收白名单
/usr/local/slockd/config/recip_blacklist

#发送白名单

/usr/local/slockd/config/sender_blacklist


Anti-Spam服务

Usage: /usr/local/slockd/slockd-init { start | status | restart | stop }



想了解saltstack的话,可以看看我的入门的文档  ~


http://rfyiamcool.blog.51cto.com/1030776/1262537


前段时间和这个公司的人,又聊了下用saltstack 来管理postfix的方案,挺好用的 ~  大家可以试试哈!





 本文转自 rfyiamcool 51CTO博客,原文链接:http://blog.51cto.com/rfyiamcool/937045,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SpringCloud升级之路2020.0.x版-40. spock 单元测试封装的 WebClient(上)
SpringCloud升级之路2020.0.x版-40. spock 单元测试封装的 WebClient(上)
10 0
SpringCloud升级之路2020.0.x版-45. 实现公共日志记录
SpringCloud升级之路2020.0.x版-45. 实现公共日志记录
7 0
关于 Spring-WebFlux 的一些想法
关于 Spring-WebFlux 的一些想法
3 0
Inside Java Newscast #1 解读(中)
Inside Java Newscast #1 解读(中)
6 0
硬核 - Java 随机数相关 API 的演进与思考(上2)
硬核 - Java 随机数相关 API 的演进与思考(上2)
6 0
关于 Java 18 你想知道的一切(上)
关于 Java 18 你想知道的一切(上)
4 0
写脚本必备神器
写脚本必备神器
3 0
Ubuntu SSH连接、远程上传下载文件
Ubuntu SSH连接、远程上传下载文件
5 0
Windows Sockets网络编程读书笔记(及简单C/S实现)
Windows Sockets网络编程读书笔记(及简单C/S实现)
5 0
基于开源IM即时通讯框架MobileIMSDK:RainbowChat v8.2版已发布
基于开源IM即时通讯框架MobileIMSDK:RainbowChat v8.2版已发布 。
9 0
21115
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载