中小企业邮件系统构建方案

作者: 蒲实

责任编辑: 阚智

来源: 中小企业IT采购

时间: 2008-01-10 17:49

关键字: 中小企业 邮件系统

浏览: 2

点赞: 0

收藏: 0

1.系统需求分析

  随着信息技术的不断发展,人们已逐步习惯利用网络进行工作联系,逐步改变以往使用传真或公文传递信息的工作方式,员工之间的工作交流越来越离不开电子邮件系统,很多业务部门也通过电子邮件来处理业务,通过电子邮件来实现对外的信息、文档和资料的交流。越来越多的部门依靠电子邮件系统进行生产工作。

  我们规划的电子邮件系统是一套覆盖企业以及其全国各个网点,能实现安全、稳定、开放信息交流的电子邮件平台。该系统具体需求如下:

(1) 实现邮件系统与域名的统一,建立企业对外的统一形象

  ●建立以mail.XXXXXX.com.cn为域名体系的电子邮件系统
  ●建设一个为企业服务的统一的电子邮件系统平台

(2) 提高电子邮件系统的安全性与稳定性,增强信息安全

  ●服务器安全、数据访问安全、数据传输安全、邮件系统安全

(3) 建立具有良好可扩展性的电子邮件系统体系架构

  ●为电子邮件系统建立各种可扩展的接口,为将来的发展提供扩展可能

(4) 通过互联网浏览方式或通过VPN接口,提供远程电子邮件服务,方便用户在不同地域使用邮件系统。

(5) 为其它信息系统提供良好的接口

  ●在此电子邮件系统平台的基础上构建协作信息系统,如实现与办公自动化系统、企业门户的结合,提高企业整体的信息化建设和应用水平。

(6)要求系统初期硬件支持2000千邮件用户(即达到2000千用户,平均每人最大_M邮件存储空间)。

(7) 具备对邮件系统的定制开发接口,提供开发工具。

(8) 具有设置客户邮箱大小、集团用户群以及集中式部署管理等特性。

2.系统架构

  根据我们规划的邮件系统的上述需求,根据中小企业用户规模和并发访问量设计整个系统构架并提供可以支持未来用户规模的扩展解决方案。

2.1系统建议架构图

  下面是系统构架图:



说明:

  1.防病毒/垃圾邮件/攻击网关可以选择采用专业的设备;(可选)

  2.负载均衡设备可以采用CISCO四层交换机或者F5的Big-IP等专业产品;(可选)

  3.邮件服务器:提供邮件服务,每台服务器上均提供Web mail/SMTP/POP3/IMAP服务。采用一台或多台机器做为邮件+会议服务器,互为备份,并提供Domino服务器之间的软件群集,数据做实时增量式同步,数据同步工作由Domino 服务器的Cluster Replicate任务完成,不需要额外设备或软件。每个服务器有自己独立的数据,包括系统数据库和2000个用户邮箱;

  4.如果采用iSeries服务器,可以使用服务器的内置硬盘,否则,需要配置共享存储(磁盘阵列、SAN等),共享存储划分为三个逻辑盘,分布mount到每台服务器上;

  5.每台服务器需要配置两块网卡,一块用于服务器之间数据同步(内部网),另一块用于对外服务;

  6.(可选)在DMZ区部署VPN服务器,负责外出用户的安全接入。

外来邮件(蓝线):

  所有的外来internet邮件,首先经过防火墙到达DMZ区里的防病毒/垃圾邮件网关,邮件网关透过四层交换机转给相应的邮件服务器。

外出邮件(红线):

  对于外出internet邮件,由邮件服务器直接发送给DMZ区的邮件网关,由邮件网关转发到外网。

用户访问:

  允许用户通过Web浏览器/Notes客户端/Outlook/FoxMail等邮件客户端收发邮件。用户收发邮件时,使用负载均衡设备提供的IP,然后负载均衡器将用户的请求动态分配到某个Domino服务器上。

2.2技术实现

  基于Lotus Domino协作平台实现企业邮件系统,其中邮件服务器将采用Domino企业服务器,实现邮件服务。Domino系统还支持基于标准的CA认证,可以与基于Internet标准的CA系统实现连接并进行用户认证。
由于Domino系统支持多种操作系统上的群集功能,可以容易的实现群集功能,从而提供了良好的可靠性和可扩充性。其技术优势如下:

Lotus Domino系统是统一数据管理和通信功能的最佳平台

  Lotus Domino系统独有的文档型数据库和面向对象的数据处理和存储模式可以保存和处理各种类型的数据,包括文本,图像、声音、视频在内的多种数据都可以按照统一的规范和模式保存在Domino系统中,并且这些数据都能按照Domino平台统一的安全模式、操作模式和应用功能管理和操作这些数据。Domino系统把邮件功能和数据有机的结合起来,为所有用户提供扩展的通信和协作功能,并实现灵活的多种客户端访问模式。

易用性和用户界面友好是Domino系统的基本特征

  Domino系统是一个先进的交互式的Web应用服务器,全面支持Internet标准协议,包括HTTP,IMAP,LDAP,POP3,SMTP,SSL和IIOP等。Web应用系统的信息均可通过文档数据库模式进行管理(Web页面也是典型的文档型数据),并在安全机制的控制下,动态地向Internet与Intranet发布,并与各种客户机动态双向交互。Domino提供了简单、高效的站点信息采集和维护能力以及可根据用户级别和权限定制的用户界面和接口。

Lotus Domino系统提供强大的集中实施和管理机制

  Domino系统提供统一的集中管理和控制机制,同时又可以实现对各级管理人员、使用和操作人员的适当授权,实现在保证系统安全可靠的前提下分工协作。同时Domino系统又提供强大的管理和监控机制,防止任何非法和越权操作,避免任何非法访问和操作。

Lotus Domino系统拥有完善的安全保障体系。

  Domino系统拥有多层次、多级别的安全控制和保障机制,形成统一控制、多层控制、分级授权的完整安全体系。其提供的安全手段多种多样,包括受权/认证机制、数字签名、数据与通讯加密、存取与执行控制、口令保护机制等多种安全保障机制,并且集成SSL3和X.509认证机制,全面融合了所有的Internet安全机制。并且为不同用户选择各自的安全机制和附加的安全机制提供了接口和扩展。

Lotus Domino系统提供统一的企业集成体系结构。

  Domino系统提供与所有通用数据系统和数据格式的数据共享和访问机制,可以实现与其他业务系统的信息共享和传输,并为与其它数据格式和数据系统的信息交换和转换提供预留接口。

3.功能描述

  由于Domino系统提供大部分标准邮件功能,所以上述系统构架中的基本邮件系统功能已经提供,IBM将在Domino邮件系统功能的基础上提供满足企业邮件系统需求的功能。

3.1大容量和可扩充性

  Lotus Domino平台具有极强的可扩充性,体现在以下几个层面:

  基于群集的可扩充性:随着所支持的用户数量的增加,可以通过向群集中添加服务器来保持服务器的高性能。也可以创建多个数据库复本来使数据可用性达到最高,并可以按对企业成长的规划,将用户移至其他的服务器或群集。随着企业的发展,可以跨群集分配用户帐户,并在群集内平衡额外的工作负载以优化系统性能。

  基于分区的可扩充性:使用 Domino 服务器分区,可以在一台计算机上运行 Domino 服务器的多个实例。分区服务器在提供安全性的同时,还可以提供有用的可伸缩性。随着系统的增大,可以将用户从一个分区迁移到一台单独的服务器。还可以通过将分区服务器作为群集成员来获得较高的数据库可用性。分区服务器的安全性与单服务器相同。

  基于共享邮件的可扩充性:为了提高伸缩性并减少数据库争用,Domino 服务器支持在多个共享邮件目录中使用多个活动的共享邮件数据库。这些目录可以存在于服务器可以访问的任何磁盘上。

  在邮件系统要求为大量用户提供电子邮件收发、存储及相关服务时,初期系统要求支持企业以及下属网点6000用户,每用户的邮件容量可以根据具体需要进行设置。同时基于企业的未来发展的实际需要,我们需要考虑邮件系统具备良好的扩充能力,并保留适当的扩充空间。为此,我们从两个层面考虑了整个系统的容量和可扩充性。

3.1.1纵向扩展性

  初始配置下,设计每个Domino分区服务器预计支持2000注册用户(同时支持POP3/SMTP/IMAP/Web Mail)。服务器的扩展主要包括:

  1.CPU扩展,单机最多可以扩展到8个CPU(以IBM P650为例)

  2.内存扩展,单机内存可以扩展到64G(以IBM P650为例)

  3.I/O扩展,扩展网络接口卡数目

3.1.2横向扩展性

  当用户增长超出单台服务器的设计容量时,就需要对服务器数目进行扩展。横向扩展有两种方式:

  1.增加服务器数目,新增的服务器中各自都启动POP3/SMTP/IMAP/Web Mail服务

  2.拆分服务器中的SMTP和其它服务,将SMTP服务从中剥离出来,成为独立的服务器。
  考虑系统结构的简洁和一致性,建议采用第一种方式扩展系统。每台服务器作为一台可以独立运行的邮件服务器。在横向扩展时,可以根据需求在IBM 的系列服务器中选择相应的机型。

3.1.3配置扩展依据

  在第三方评测网站Notesbench上有关于不同机型、不同操作系统的Notes测试结果,详细的资料可以参阅www.notesbench.org 网站相关内容。

  关于在扩充过程中的硬件选择,遵循下文中提到的硬件配置原则。

3.2稳定性

  Domino平台的集群模型为本系统提供了可靠的快速灾难恢复功能,有助于确保7×24不间断的访问数据。通过自动化的服务器错误恢复功能,最大化计算机的正常运行时间,并有效减少对终端用户的干预。
接下来将从备份,群集和故障恢复三个方面详细解释本系统的稳定性。

3.2.1备份和恢复

  Domino平台本身提供了服务器和数据库的备份和恢复功能。当在 Domino 服务器上使用归档记录日志时,可归档并检索事务日志文件以满足数据库恢复需求。

3.2.2群集技术

  Domino 群集是由两个或更多个服务器组成的群组,它可以使用户连续地访问数据、平衡服务器间的工作负载、提高服务器的性能以及在扩大企业规模时保持性能。群集中的服务器包含了在任何时间都可用的数据库复本。如果用户试图访问群集中某服务器上不可用的数据库,那么 Domino 将打开群集中其他服务器上此数据库的复本(如果复本可用)。Domino 不断地同步数据库,所以无论用户打开哪个复本,其信息总是相同的。

  对稳定性而言,群集技术的重要性在于:当发生硬件或软件问题时,群集服务器会将打开数据库请求重新定向到群集中的其他服务器,以保证用户对重要数据库的不间断访问。这个过程叫故障转移。群集为重要的商务数据库和服务器提供故障转移,其中包括将中继服务器故障转移到群集中的其他服务器。故障转移还允许在对用户的负面影响极小的情况下执行服务器维护(例如,硬件和软件升级)。
对本系统而言,可以设置一台专用的Cluster Server,用于接管出现故障服务器的任务。我们设计每台Domino服务器的负载在2000用户左右。当这三台服务器中的一台出现故障时,Cluster Server会自动接管其任务。

  考虑到多台服务器同时出现故障的可能性较小,我们建议在系统扩展的时候,每3~5台服务器设置一台Cluster Server用于做及时救援。

3.2.3服务器故障恢复

  Domino具有服务器故障恢复的能力:即在发生故障时,它能够自己自动重启,无需管理员介入。在 Domino平台中,服务器故障恢复可用于所有操作系统,并且是一个众所周知且具有文档说明的特性。它还为管理员提供附加的能力,即在服务器停止响应和重启时运行自定义的脚本。这个特性能够向管理员发送电子邮件通知,让他们知道关于服务器已停止响应并且已经重启的信息。管理员还可以设置重启操作限制,比如当服务器在“y”分钟内经过“x”次失败的启动尝试之后,指定让该服务器保持关闭,不再尝试重启。

  服务器故障恢复的配置是极其容易的,它们对系统性能和可用性具有许多好处。在每次系统停机时,服务器故障恢复特性会自动运行诊断脚本。这通常被称为第一次故障数据获取(first failure data capture,FFDC)。它对系统故障提供更好的诊断,因为管理员将拥有关于每次系统故障的数据。此外,由于服务器立即回到在线状态,管理员可以把重点放在诊断数据的分析上,以确定发生故障的根源,而不必再花时间来执行还原服务。然后他们能够通过了解服务器的停机根源,再应用修复包或采取纠正操作,以避免进一步的故障,从而提高服务器稳定性。这将有助于减少服务器停机次数,同样也有助于提高服务器可用性。这样得到的结果是一个更稳定和总体性能更好的系统环境。

3.3安全性

3.3.1本地化安全性

  企业对数据安全性的要求,尤其是本地化的要求是必然的。

  Lotus能够融合目前业界标准的X.509 CA的证书与和智能卡技术来进行身份验证识别。同时考虑到中国具体情况,Lotus把身份认证接口开放出来,现在已有很多本地化厂商基于Lotus这套安全认证体系,实现了采用国产化的加密算法来进行身份认证。

3.3.2企业邮件系统的安全策略建议

  用户通过Internet使用邮件系统(接收或发送)时,如何保证邮件内容的安全。

  当用户出差、在家中、休假时,就需要从Internet使用邮件系统,下图使用邮件系统的流程:



  为了保证邮件系统安全,我们可以采用如下的措施:

  1.VPN(虚拟专用网)接入。(未来规划)

  2.对于敏感信息,可以使用加密邮件。加密有两种方式:

  a)Notes ID加密。支持Notes客户端和浏览器(需要使用Domino Web Access邮件模板);

  b)安全MIME(S/MIME)加密。支持POP3/IMAP客户端,如Outlook, Foxmail等,需要建立CA证书的发放和管理机制,可以使用Domino CA,也可以用第三方的证书。

  3.传输层加密(SSL),用户通过浏览器、POP3、SMTP或者IMAP使用邮件系统时,可以使用SSL端口,如下图所示:






3.3.3防病毒软件

  防病毒是信息系统安全的第一道屏障。当前很多病毒通过邮件传播,其传播速度在网络上以指数级增长。虽然Domino/Notes本身极少成为病毒攻击的对象,但邮件中可能携带的各种病毒却是必须预防的。针对Domino,各大防病毒软件供应商都推出了自己的解决方案,下面是运行于Domino/Notes之上的防病毒软件列表:




4.其他

4.1硬件要求

4.1.1配置原则

  Notesbench上关于不同机型、不同操作系统的Notes测试结果,详细的资可以参阅www.notesbench.org 网站相关内容。

  关于硬件推荐配置,遵循如下配置原则:

4.1.1.1CPU配置

  CPU会对多数Domino服务器任务的性能产生重大影响,这包括:

  ●数据库索引更新效率

  ●数据库搜索和网络域搜索速度

  ●服务器子任务(Router,Replicator,HTTP,Update等)的性能

  ●邮件邮递的线程数量

  ●邮件路由表的动态维护和邮递路径选择

  ●应用程序和代理的执行效率

  ●其它

  选择服务器的CPU时,应该遵循以下原则:

  ●尽量选择目前市场上较新的CPU。

  ●即使目前只需使用一个CPU,但所有服务器必需具有扩展到多CPU的能力,以保证将来系统扩展的需要。Domino对多CPU的支持能力很强,能自动在多个CPU上进行工作调度,平衡负载。

  ●在CPU数量的选择上,根据目前和将来一段时间内的扩展需求,需要在一台硬件服务器上安装多个Domino分区,则CPU的数量应该多于或者等于Domino分区数量,以保证分区的运行效率。

  ●由于POWER CPU、AIX操作系统和Domino 服务器支持多线程技术,根据经验,在内存需求能够保证的情况下,配置2个主频是1.45GHz的POWER CPU,完全可以满足当前企业邮件系统负载对处理能力的需求。

4.1.1.2内存(RAM)

  服务器的内存也会对众多Domino服务器的功能产生影响,这包括:

  ●支持的并发用户数量

  ●支持的并发数据库连接数量

  ●数据库和连接的缓存大小

  ●服务器子任务的数量和性能(Router,多个Replicator,多个代理管理器Amgr等)

  ●其它

  再考虑Domino服务器内存大小和将来扩充需要时,主要需要考虑以下因素:

  ●操作系统自身对内存的需求(256M – 512M)。

  ●Domino分区数量。每一个Domino分区对内存的基本需求为256M,推荐512M。如果一台服务器上运行N个Domino分区,则基本需求为 N * 256M

  ●并发用户数量。根据经验,一般一个并发用户需要0.3M - 1M的额外内存。根据用户邮箱大小,一个普通Notes邮件用户需要大概0.3M - 0.5M;根据应用功能的复杂程度和数据量,一个WEB用户需要大概1M左右。如果混合邮件和应用,则按照每个用户1.2M - 1.5M加以考虑。

  ●是否使用群集增加可靠性。如果使用群集,则每个服务器需要增加32M左右的额外内存。

  ●每增加一个Replicator需要大概32M内存。

  ●每增加一个代理管理器(Amgr),考虑增加32M内存。

  ●AdminP(管理进程)需要大概32M - 64M内存。

  ●其它应用程序对内存的需要。例如:病毒扫描程序,备份程序,操作系统群集等。

  ●一定的扩展空间。例如可在以上各项总和的基础上再乘以1.2 ~ 1.3。

  综合以上分析,这样,如果配置4GB内存,我们能至少保证2GB~2.5GB内存可以为邮件用户所用。

  并发用户数量:根据经验,一般一个并发用户需要0.3M - 1M的额外内存。根据用户邮箱大小,一个普通Notes邮件用户需要大概0.3M - 0.5M;

  则支持的最大并发用户数为:2GB ÷ (1 + 0.5)MB = 1365

  支持的最大用户数(不考虑并发情况)为: 2GB ÷ 0.5MB = 4096


4.1.1.3硬盘

  硬盘的容量大小和I/O吞吐能力会对以下服务器功能产生重大影响

  ●用户邮箱数据存储容量

  ●应用数据容量

  ●可同时支持的数据库连接数量

  ●打开数据库和视图的速度

  ●事务日志(Transaction Log)

  ●其它

  在考虑Domino服务器硬盘容量和将来扩充需要时,主要需要考虑以下因素:

  ●操作系统对硬盘容量的需求。可以考虑为1G。

  ●Paging或者Swap file需要占用的硬盘空间。一般为实际物理内存 * 110%。

  ●Domino程序文件,系统数据库(Domino目录names.nsf、系统日志log.nsf、管理请求库admin4.nsf):1G。

  ●事务日志(Transaction Log):1G

  ●用户邮箱数量和邮箱大小。

  为了尽量优化I/O吞吐能力,减少磁盘争用,提高容错能力,邮件系统可以根据需要按照以下原则扩充硬盘、设置硬盘分区和使用RAID。

  ●为了存放大量的邮件和应用数据,往往需要扩充多个硬盘,在扩充硬盘时需要:

  1.尽量使用选定平台上当前最快的SCSI硬盘。提高I/O性能。

  2.尽量将硬盘组连接到不同的SCSI控制卡上。多个控制卡和数据总线可以有效改善I/O吞吐能力。

  3.扩充硬盘时不要选择太大的硬盘。推荐选用多个9.1G的硬盘,这样在考虑数据存放时,可以尽量将数据分布到不同的物理硬盘上,从而有效减少磁盘争用,提高I/O性能。

  ●为了减少数据争用,设置磁盘分区时应该尽量将数据分散存放到不同的物理硬盘上,特别是对于一些多个用户频繁访问的文件。具体分配方式请参考后面的示例。

  ●建议使用RAID提高容错能力,虽然这会造成实际硬盘数量的增加和对数据写操作性能的影响,但平衡考虑,仍然推荐企业使用。选择RAID方式时需要遵循以下原则:

  1.对机器内置硬盘使用RAID1,内置硬盘主要存放操作系统、Domino程序文件、Paging file、事务日志等数据,因为RAID1为镜像,所以需要双倍的硬盘。

  2.对用于存放数据和用户邮箱的扩展硬盘,使用RAID 0+1,这样既可以保证数据备份又不会影响I/O速度。

  3.使用硬件控制的RAID,而不是用软件实现RAID。

  4.更新RAID适配器的BIOS到最新版本。

  5.激活预读(Read-ahead)功能,可以有效提高数据读取效率。

  6.激活回写缓存(Write-back)功能,这样能够使RAID5的磁盘写操作性能大大提高。

  7.Stripe size设置为16K

  根据以上分析,企业硬盘空间应为:(单个用户容量)*(用户数)*2(硬盘RAID0+1)=  GB

需要交流的朋友请通过以下方式与作者联系:

E-Mail: dominonotes@vip.sina.com
QQ: 5609913
©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。