当前位置导航:炫浪网>>网络学院>>操作系统>>Linux教程

Qmail下建立大容量邮件系统简答


  Q:有没有现成的patch,我已经设好qmail+vpopmail+oracle+sqwebmail但是我有20台主机要集群前端为收发mail的gateway,怎么转发到后端机器我想通过LDAP的maildrop功能实现是不是可行考虑到安全原因,不想把Mail存储服务器暴露在外面
  
  A:大哥.问你一把 vpopmail如何和oracle一起使用 ? 和Mysql一样么 有什么好的这方面的资料 给说说 谢谢!!!如果希望负载平衡 能不能试一试dns rotate?要么看看 下面的 资料:
  
  Linux Virtual Server,简称LVS。是由中国一个Linux程序员发起的开发项目计划,其实现目标是创建一个具有良好的扩展性、高可靠性、高性能和高可用性的,基于Linux系统的服务器集群使用LVS架设的服务器集群系统从体系结构上看是透明的,最终用户只感觉到一个虚拟服务器物理服务器之间可以通过高速的LAN或分布在各地的WAN相连。最前端是负载均衡器,它负责将各种服务请求分发给后面的物理服务器,让整个集群表现得象一个服务于同一IP地址的虚拟服务器。
  
  LVS集群系统具有良好的可扩展性和高可用性。可扩展性是指,LVS集群建立后,可以很容易地根据实际的需要增加或减少物理服务器。而高可用性是指当检测到服务器节点或服务进程出错、失效时,集群系统能够自动进行适当的重新调整系统。LVS的高可用性的实现,将在15.7节详细介绍。
  
  LVS是如何工作的
  Linux Virtual Server的主要是在负载均衡器上实现的,负载均衡器是一台加了LVS Patch的2.2.x版内核的Linux系统。LVS Patch可以通过重新编译内核的方法加入内核,也可以当作一个动态的模块插入现在的内核中。负载均衡器可以运行在以下三种模式下中的一种或几种:
  
  1)Virtual Server via NAT(VS-NAT):用地址翻译实现虚拟服务器;
  2)Virtual Server via IP Tunneling (VS-TUN):用IP隧道技术实现虚拟服务器;
  3)Virtual Server via Direct Routing(VS-DR):用直接路由技术实现虚拟服务器。另外,还需要根据LVS应用对物理服务器进行恰当的配置。
  
  以下将分别讲述一下三种模式的工作原理和优缺点。
  
  1.Virtual server via NAT(VS-NAT)
  Virtual Server via NAT方法的最大优点是集群中的物理服务器可以使用任何支持TCP/IP操作系统,物理服务器可以分配Internet的保留私有地址,只有负载均衡器需要一个合法的IP地址。这种实现方法的最大的缺点是扩展性有限。当服务器节点(普通PC服务器)数据增长到20个或更多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包都需要经过负载均衡器再生。假使TCP包的平均长度是536字节的话,平均包再生延迟时间大约为60us(在Pentium处理器上计算的,采用更快的处理器将使得这个延迟时间变短),负载均衡器的最大容许能力为8.93M/s,假定每台物理服务器的平台容许能力为400K/s来计算,负责均衡器能为22台物理服务器计算。Virtual Server via NAT能够满足许多服务器的服务性能需求。即使是是负载均衡器成为整个系统的瓶颈,如果是这样也有两种方法来解决它。一种是混合处理,另一种是采用Virtual Server via IP tunneling或Virtual Server via direct routing。如果采用混合处理的方法,将需要许多同属单一的RR DNS域。你采用Virtual Server via IP tunneling或Virtual Server via direct routing以获得更好的可扩展性。也可以嵌套使用负载均衡器,在最前端的是VS-Tunneling或VS-Drouting的负载均衡器,然后后面采用VS-NAT的负载均衡器。
  
  2.Virtual server via IP tunneling(VS-TUN)
  
  采用VS-NAT方式,请求与应答包都需要经过负载均衡器,那么当服务器节点增长到20个或更多时,这个负载均衡器就可能成为新的瓶颈。我们发现,许多Internet服务(例如WEB服务器)的请求包很短小,而应答包通常很大。而使用VS-TUN方式的话,负载均衡器只负责将请求包分发给物理服务器,而物理服务器将应答包直接发给用户。所以,负载均衡器能处理很巨大的请求量,这种方式,一台负载均衡能为超过100台的物理服务器服务,负载均衡器不再是系统的瓶颈。使用VS-TUN方式,如果你的负载均衡器拥有100M的全双工网卡的话,就能使得整个Virtual Server能达到1G的吞吐量。
  
  IP tunneling(IP隧道)能够用于架构一个高性能的virtual server,非常适合构建virtual proxy server,因为当代理服务器收到了请求,能够让最终用户直接与服务器联系。但是,这种方式需要所有的服务器支持"IP Tunneling"(IP Encapsulation)协议,我仅在Linux系统上实现了这个,如果你能让其它操作系统支持,还在探索之中。
  
  3.Virtual Server via Direct Routing(VS-DR)
  
  就象VS-TUN一下,在VS-DR方式下,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。这种方式能够大大提高Virtual Server的可扩展性。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,但它要求负载均衡器的网卡必须与物理网卡在一个物理段上。而且VS-DR模式,可以使用大多数操作系统做为物理服务器,其中包括:
  
  Linux 2.0.36、2.2.9、2.2.10、2.2.12;
  Solaris 2.5.1、2.6、2.7;
  FreeBSD 3.1、3.2、3.3;
  
  NT4.0无需打补丁;
  IRIX 6.5;
  HPUX11等。
  下面这张表概括地比较了VS-NAT、VS-TUN、VS-DR的特点:
  表21-1       三种实现方式对比表
  特性模式     VS-NAT    VS-TUN     VS-DR
  服务器操作系统  任何操作系统 须支持隧道技术 大多数系统
  服务器模式    无 隧道、   无ARP Lo、   无ARP
  端口映射     有      无       无
  服务器网络    私有网    LAN/WAN     LAN
  服务器数量    少(10-20)   多(100)    多(100)
  用户访问IP    LVS虚拟IP   LVS虚拟IP    LVS虚拟IP
  服务器网关    负载均衡器  原有的路由器  原有的路由器
  下面我们分别看看是如何具体实现。
  
  A:你用vpopmail 4.9.6,都有的。我现在有两种办法: 前端是实地址、后端是虚拟地址。
  
  1、准备2个星期改写smtpd程序,让他可以作为查询oracle数据库的邮件网关如果这样我还要改写plug-gw程序。
  2、利用NFS系统。所有的邮件存放NFS服务器上,NFS 服务器集群起来,前端用plug-gw 实现端口转发负载均衡(DNS轮转早就这么做了)。负载均衡前端我用Alteon AD4。
  3、和oracle要自己手工建database。
  4、我后来干脆重新按要求装数据库,这样就不用手工建立了。
相关内容
赞助商链接