本文章主要是使用Jetstress 2010测试Exchange的磁盘子系统,用来评估Exchange磁盘子系统的IO性能是否可以满足设计需求。Jetstress 工具通过与可扩展存储引擎 (ESE)(也称为 Jet,Exchange 的构建基础)的数据库技术直接交互,在数据库级别模拟 Exchange I/O。可以将 Jetstress 配置为测试 Exchange 的必要性能约束中可用于磁盘子系统的最大 I/O 吞吐量,,并验证磁盘子系统能够使用此配置文件维护一个可接受的性能级别。在部署 Exchange 服务器之前,可以使用 Jetstress 测试来验证存储的可靠性和性能。
在此次模拟测试环境中,为了力争简洁,不再使用前面文章中所用到的环境,将重新安装三台新的虚拟机。配置如下图所示:
服务器角色 |
服务器名称 |
IP配置 |
域控制器 |
dc.uec.com |
IP:192.168.10.10 掩码:255.255.255.0 DNS:192.168.10.10 |
Exchange2010 CAS/HUB角色 |
cashub1.uec.com |
IP:192.168.10.21 掩码:255.255.255.0 DNS:192.168.10.10 |
Exchange2010 Mailbox角色 |
mbx1.uec.com |
IP:192.168.10.31 掩码:255.255.255.0 DNS:192.168.10.10 |
Active Directory 准备
在DC服务器上运行Dcpromo,操作系统会自动安装域服务器所需的系统文件。系统文件安装完成后,域服务器安装向导启动,如下图所示,点击“下一步”继续。
因为我们是新建域,因为在下图所示的界面中,选择“在新林中新建域”:
我们准备创建的域名是uec.com,因此目录林根级域的FQDN是:uec.com,如下图所示:
下一步之后,将设置林的功能级别和域的功能级别,以及进行DNS服务器的检查,在此建议将全局编录服务器和DNS服务器都安装在此DC上,指定AD DS的数据库文件夹、日志文件文件夹、SYSVOL文件夹的存放位置,为目录服务还原模式的administrator设置密码,此密码要求满足复杂性要求,显示摘要信息后,点击下一步,即可进行 AD DS的安装。
然后,需要将cashub1和mbx1加入到域中,加入方法是计算机--属性--更改,然后在域中输入uec.com域名 以及有权限的帐户名称和密码,如下图所示:
Exchange帐号准备
准备安装账户,此账户至少具有的权限:schema admins, enterprise admins,domain admins, Organization Management(该权限在完成扩展架构后自动添加),所有的Exchange 2010安装配置操作将由该账户进行。如下图所示,此用户名称是exadmin,算是exchange的管理员。
安装CAS/HUB角色
1. 使用exadmin用户登录到Cashub01上,以管理员身份运行安装Microsoft Office Filter Packs,这个步骤很简单,只需要双击执行,然后根据提示安装即可,如下图所示:
2. 利用PowerShell安装IIS组件。使用的命令如下:import-module servermanager; 然后再执行Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,Web-Asp-Net,Web-Client-Auth,Web-Dir-Browsing,Web-Http-Errors,Web-Http-Logging,Web-Http-Redirect,Web-Http-Tracing,Web-ISAPI-Filter,Web-Request-Monitor,Web-Static-Content,Web-WMI,RPC-Over-HTTP-Proxy –Restart,如下图所示:
3. 启用服务器的远程管理功能,包括TCP端口的自动共享、服务器的远程管理以及为远程管理开放防火墙端口设置。所使用的命令如下:
将Net.Tcp Port Sharing Service服务的启动类型设置为“自动”,以管理员权限运行CMD命令行,运行sc config NetTcpPortSharing start= auto;配置WinRM,以管理员权限在命令行输入:winrm quickconfig;以管理员权限运行CMD命令行,在CMD命令行中运行:Netsh advfirewall firewall set rule name=” Windows 远程管理 - 兼容模式(HTTP-In)” new enable=yes
4. 按照一般的步骤,在此可以进行AD DS域扩展,在CasHub01上放入Exchange 安装介质(也可以直接在DC上进行此步扩展工作),使用 Setup /ps、Setup /p、Setup /pd命令。但在此我就直接在角色安装过程自动进行了,所以此步我在此就省略了直接进行5.
5. Exchange Server 2010 SP1的安装。当前用户应该是exadmin,放入Exchange Server 2010 SP1安装光盘,会自动弹出安装界面,一般在此步骤1和步骤2已经满足条件,所以在此直接点击步骤3,选择Exchange语言选项,如果是在中文版操作系统上安装中文版Exchanger,则直接选择仅从DVD安装语言,如果安装的是其他语言的Exchange,则需要选择语言包。在此我们选择:仅从DVD安装语言。再点击步骤4:安装Microsoft Exchange,接着接受许可以及是否发送错误报告之后,出现如下图所示,选择自定义安装,同时选择“自动安装Exchange Server所必需的Windows Server角色和功能”,同时角色这里选择“客户端访问角色”和“集线器传输角色”。
组织名,在此使用:UEC,外部域使用:mail.uec.com 如下图所示:
6. 剩下的操作,按照向导提示即可。安装成功后,在CASHUB1上打开IIS管理器,在默认网站的powershell虚拟目录中切换到“身份验证”,将“Windows身份验证”从禁用改为“启用”。如下图所示:
安装MBX角色
1. 安装Microsoft Filter Packs组件。使用exadmin用户登录到DAG1上,以管理员身份运行安装Microsoft Office Filter PackS。
2. 安装IIS组件。在Windows PowerShell命令行环境下运行Import-Module ServerManager,再执行:Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server –Restart。
3. 安装远程管理组件。以管理员权限运行CMD命令行,运行下面三条命令sc config NetTcpPortSharing start= auto;winrm quickconfig;Netsh advfirewall firewall set rule name=” Windows 远程管理 - 兼容模式(HTTP-In)” new enable=yes。
4. 安装MBX角色。安装过程与安装CAS/HT角色相同,只是在选择角色的时候,选择的是邮箱角色。在此就不再详细介绍。
5. 最后需要在mbx1的IIS管理器中定位到默认网站下的powershell虚拟目录,将此虚拟目录身份验证方式中的“Windows身份验证”从禁用改为启用。
压力软件安装配置
1.安装
在Exchange Server 2010的MailBox服务器MBX1上运行Jetstress2010的安装程序,同意软件许可协议后,选择安装目录,如下图所示,点击“Next”继续。
点击“Next”开始JetStress的安装。
2. 配置
将下列五个文件从Exchange2010的安装目录下复制到JetStress的安装目录下:ese.dll;eseperf.dll;eseperf.hxx;eseperf.ini;eseperf.xml。在我现在的环境里,ese.dll在安装目录的BIN目录下;其他的在bin\perf\amd64下。然后复制到jetstress的安装目录c:\program files\exchange jetstress目录下。
压力测试
在MBX1服务器上运行JetStress,选择“Start new test”,如下图所示:
Jetstress首先检查系统所需条件是否满足,检查通过后,点击“Next”继续。如果检测不成功,则注意文件复制以及权限是否正常。
下一步之后,选择创建新的配置文件。
选择检测磁盘性能。
选择Exchange数据库磁盘空间占有的比例及Exchange服务器I/O所占的比例,根据最佳实践,这两个参数都设置为80%。
选择测试Performance。
选择测试时间,一般情况下需要选择测试24小时,然后选择三次测试结果的平均值。在此我是在虚拟机下做演示,输入2小时。
定义需要测试的数据库数量及数据库路径,一般创建一个数据库即可。注意:需要手动创建出相应的文件夹,否则出错。
选择让Jetstress在测试过程中创建新数据库。
点击“Run Test”就可以开始测试。
如下图所示,JetStress开始测试磁盘性能。
测试结果分析
至于测试的结果是不是满足Exchange性能要求,可以针对JetStress的测试结果考下表判断磁盘I/O性能。
Performance counter instance |
Guidelines for performance test |
I/O Database Reads Average Latency (msec) |
The average value should be less than 20 milliseconds (msec) (.20) and the maximum values should be less than 50 msec. |
I/O Log Writes Average Latency (msec) |
Log disk writes are sequential, so average write latencies should be less than 10 msec, with a maximum of no more than 50 msec. |
%Processor Time |
Average should be less than 80% and the maximum should be less than 90%. |
Available Mbytes (32-bit Windows Server only) |
Minimum should be no less than 50 megabytes (MB). |
Free System Page Table Entries (32-bit Windows Server only) |
Minimum should be no less than 5,000. |
Transition Pages Repurposed/sec (Windows Server 2003, Windows Server 2008, Windows Server 2008 R2) |
Average should be less than 100. |
测试结果:
通过Hyper-V部署服务器虚拟化,利用Jetstress 测试Exchange 2010 MailBox角色的磁盘子系统性能,测试结果为Pass—通过。
Achieved Transactional I/O per Second:426.991
I/O Database Reads Average Latency (msec):13.987 参考值 < 20
I/O Log Writes Average Latency (msec):0.824 参考值 < 10
%Processor Time:Average 8.497
Transition Pages Repurposed/sec:0.000 参考值 < 100
通过以上测试结果,VMWare虚拟服务器所能支持的最大邮箱数量为:
邮箱数量=Mailbox服务器的IOPS值/(每邮箱的IOPS值*I/O开销因子)
每个用户邮箱的IOPS = 0.10(邮箱数量小于4000,每邮箱IOPS=0.1) 超过4000邮箱,每邮箱IOPS=0.15);I/O开销因子 = 1.2
426.991/(0.10x1.2)≈2372个用户邮箱
通过测试, 相关参数均位于参考值之内,性能满足Exchange Server 2010服务器对服务器硬件系统的需求。