1、 21CN扩容UAS设计方案1、 设计目标 支持1000万用户。 负荷分担,并且采用冗余设计避免单点故障。 配置主/备数据库服务器,主/备数据库之间进行准实时数据复制。 备份数据库服务器负责数据统计和发件人验证。 用户能够通过LDAP协议访问用户数据。 整个割接过程只需暂停增加用户,不需要间断服务。2、 UAS系统结构2.1、 主数据库服务器主数据库服务器保存用户数据,所有应用程序只能在主数据库服务器修改用户数据。因为数据复制是由AIUUM实现,而且所有应用程序必须通过AIUUM访问用户数据,不要直接访问Oracle数据库。2.2、 备数据库服务器备数据库服务器保存备份的用户数据,并且运行AI
2、UUM复制进程进行数据复制。数据复制是准实时,复制速度大约是600-800个操作/秒(E3500 4*CPU)。备数据库服务器上的数据除了作为备份用途外,还可以供一些只读的应用使用(对用户数据是只读),例如发件人验证、统计等。2.3、 主应用服务群主应用服务群包括2台AIUUM应用服务器,每台服务器运行2-3个AIUUM。AIMC的Webmail、POP3、IMAP、MSS等主要服务通过主应用服务群的AIUUM访问用户数据。为了使AIUUM发挥最优的性能,对每个AIUUM的并发连接数小于200个,每个AIUUM的服务进程数量小于15个。2.4、 只读应用服务群只读应用服务群包括1台AIUUM应
3、用服务器和1台统计服务器。AIUUM应用服务器运行2-3个AIUUM,这些AIUUM在只读模式下运行,保证不会有客户通过这些AIUUM修改备份数据库服务器的用户数据。统计服务器运行用户和业务统计程序,把统计结果保存在备份数据库服务器。统计服务器还统一存储1个月的业务日志,大约需要300GB空间存放业务日志。2.5、 读写应用AIMC的读写应用包括Webmail、POP3、IMAP和MSS等服务,虽然POP3、IMAP和MSS不需要修改用户数据,但是它们有可能需要在用户刚申请后马上访问用户数据,因此它们需要访问主应用服务群。2.6、 只读应用AIMC的只读应用包括发件人验证和统计。发件人验证连接
4、只读的AIUUM访问备数据库服务器的用户数据,减轻主数据库服务器的负担。3、 服务器安装3.1、 主/备数据库服务器主/备数据库服务器共有8块18GB的硬盘: 1块硬盘安装操作系统和AIUUM复制程序;1块硬盘安装Oracle;最后6块硬盘两两作mirror,然后作striping(共有54GB空间),用于放置数据库数据文件和数据库日志。文件系统使用Veritas VxFS + Quick I/O。主/备数据库的设置一样,可以保存1000万用户的数据。以下是数据库的设置: Database log file:设置10个日志文件,每个10MB。 Temp tablespace:1GB空间,Def
5、ault storage Initial 500K, next 4M。 Rollback tablespace:2GB空间,建立20个small rollback segment,storage initial 500KB, next 500KB。1个large rollback segment,storage initial 10M, next 10M。 data tablespace:16GB空间。 index tablespace:8GB空间。 system tablespace:200MB空间。建立每天自动备份脚本,保留3天的export数据。建立脚本自动检查数据库tablespace
6、空间和文件系统空间,如果自由空间超过警戒线发送email向系统管理员告警。3.2、 AIUUM应用服务器配置1块18GB的硬盘,安装Oracle client端软件和AIUUM。4、 割接计划4.1、 割接测试 在主/备数据库服务器安装Oracle 8.1.6,配置数据库参数,建立tablespace space。 在AIUUM应用服务器安装Oracle client端软件和AIUUM。 把旧的用户数据分别倒入主/备数据库,然后整理数据,计算整个过程的时间。 在一台测试主机上安装AIMC,进行功能测试。使用uapi进行性能压力测试:插入10万用户;修改10万用户;进行100万次用户验证。4.2、 正式割接 在晚上7点暂停用户申请和用户信息修改服务。 export旧的用户数据。(估计时间45分钟) 把旧的用户数据分别import到主/备数据库。(估计时间60分钟) 整理用户数据。(估计时间30分钟) 启动AIUUM,使用uapi检查插入、修改、删除和查询用户数据。(估计30分钟) 在晚上11点,把3台mail主机的uapi指向AIUUM,观察webmail、SMTP、POP3、IMAP、MSS等服务是否正常运行。 如果正常运行,就逐一把其他服务器的uapi指向AIUUM。如果割接失败,就把所有服务器的uapi指回OCS。