TEST REPORT
OCTOBER 2009
Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
Executive summary
Dell Inc. (Dell) commissioned Principled Technologies (PT)
to determine whether the Dell™ PowerVault™ MD3000i
iSCSI storage array in a high-availability configuration can
support small (200-user) and medium (500-user)
organizations simultaneously running a variety of virtualized
workloads in both an optimized and degraded system state.
KEY FINDINGS
•
•
The highly-available Dell PowerVault
MD3000i solution easily supported our
various 200- and 500-user virtualized SMB
workloads. (See Figures 1 and 2.)
The highly-available Dell PowerVault
MD3000i solution maintained outstanding
performance in both optimized and
degraded system states. (See Figures 3
and 4.)
Our testing assumed all users were
running our four application workloads
simultaneously, meaning that the Dell
PowerVault MD3000i solution can easily
exceed our maximum of 500 simultaneous
users if running a similar workload under
real-world conditions.
We created a highly available solution with two Dell™
PowerEdge™ R710 servers, both running Windows
Server® 2008 R2 with Hyper-V as the underlying
•
hypervisor, using cluster shared volumes. Each Dell
PowerEdge R710 ran eight Windows Server 2008 R2 virtual
machines (VMs). The first Dell PowerEdge R710 ran a
Microsoft® Exchange 2007 virtual machine (which we ran
the Microsoft Load Generator test tool against), a file service
virtual machine (which we ran an Iometer workload against),
and six other background virtual machines that were active
but not under load. The second Dell PowerEdge R710 ran a
SQL Server® 2008 virtual machine (against which we ran the DVD Store test tool), an additional file service
virtual machine (against which we again ran an Iometer work load), and six other background VMs. We ran the
workloads simultaneously on each Dell PowerEdge R710 server with two different user counts: 200 and 500
simulated users. We assume these users are performing mail, database, and multiple file server operations
simultaneously. This means our testing exceeded real world conditions, where users would tend to exercise the
business infrastructure in a more sequential manner. We present more information on our test tools in the
Workload section of this report.
2,000
Dell PowerVault MD3000i
SQL Server 2008 operations per minute
Operations per minute
1,800
1,600
1,400
1,200
200 users
1,000
500 users
800
600
400
200
0
Storage
Figure 1: SQL Server 2008 Performance results of the Dell PowerVault MD3000i solution
in supporting 200- and 500-user count workloads in an optimized system state. Note:
We expect OPM to continue to rise linearly until the system is under maximum load. We
did not test maximum load for this study.
We installed a combination of
commonly-used Microsoft
applications on our background
virtual machines (those VMs that
were active but not under load),
including Microsoft SharePoint®,
Microsoft Internet Information
Server, Microsoft DHCP server,
and Microsoft Active Directory®.
We list all of the specific
applications we used in the
Workload section below.
Figure 1 presents the SQL Server
2008 performance results of the
Dell PowerVault MD3000i solution
in supporting a 200- and 500-user
count workload in an optimized
system state, where both servers
in our Windows 2008 R2 Hyper-V
cluster are operational and are
supporting virtual machines.
LoadGen latency (ms)
600
Dell PowerVault MD3000i
Exchange Server 2007 latency
500
400
200 users
300
500 users
200
100
0
Storage
Figure 2: Exchange Server 2007 Performance results of the Dell PowerVault MD3000i
solution in supporting 200- and 500-user count workloads in an optimized system state.
Lower numbers are better.
The theoretical peak performance
for our DVD Store workload is
four operations per minute per
user, for both the 200- and 500user workloads. With 4 virtual
machines under load, and 12
background virtual machines, all
running simultaneously, the Dell
PowerVault MD3000i solution was
able to sustain near maximum
theoretical SQL Server 2008
operations per minute (OPM): 760
OPM at 200 users and 1,878
OPM at 500 users.
Figure 2 presents the Exchange
Server 2007 latency results of the
Dell PowerVault MD3000i solution
in supporting a 200- and 500-user
count workload in an optimized
system state, where both servers
and all virtual machines are
operational.
Because the LoadGen results are in response time for separate tasks, we created a weighted average to
calculate a final score. To do so, we used a procedure similar to the one that Microsoft Exchange Server 2003
Load Simulator (LoadSim) uses. See Figure 5 for the weighted average we used. For an acceptable score, the
average 95th percentile latency must be lower than 1,000 ms (1 second) in all tasks. With 4 virtual machines
under load, and 12 background virtual machines, all running simultaneously, the Dell PowerVault MD3000i
solution was able to sustain both the 200- and 500-user workload while staying well below the latency threshold:
151.20 ms at 200 users and 517.45 ms at 500 users. This indicates that the Dell PowerVault MD3000i solution
would be able to exceed 500 users running similar workloads in a real-world environment.
In addition to testing the optimized system state, we also measured the performance in a degraded system state.
To simulate the system degradation, we physically unplugged one of the Dell PowerEdge R710 servers and
allowed the system to fail over to the degraded state. The single remaining Dell PowerEdge R710 was then able
to access both its own data and that of the unplugged Dell PowerEdge R710. This remaining Dell PowerEdge
R710 and Dell PowerVault MD3000i solution was able to maintain similarly comparable performance on both
LoadGen and DVD Store workloads, for both a 200- and 500-user count, after degradation. Details of the results,
while the system was in a degraded state, are in the Test results section below.
Dell’s “PowerVault MD3000 and MD3000i Array Tuning Whitepaper” includes configuration and best practices
information, and is available at:
http://www.dell.com/us/en/enterprise/storage/pvaul_md3000i/pd.aspx?refid=pvaul_md3000i&s=biz&cs=555
Workload
LoadGen
Microsoft Exchange Load Generator (LoadGen) is an industry-standard tool for benchmarking an Exchange 2007
Mail Server. LoadGen performs tasks to simulate a standard user generating mail activity. When the workload
finishes, LoadGen reports the response time, which is the number of seconds necessary to complete the task.
LoadGen measures the impact that various clients (MAPI, OWA, IMAP, POP, and SMTP) have on Exchange
servers. This allows users to test how effectively a server running Exchange responds to email loads. The
simulator sends multiple message requests to the server running Exchange, resulting in a mail load.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
2
We ran the LoadGen benchmark for 30 minutes on each Dell PowerEdge R710 server. For more details about
LoadGen, see http://www.microsoft.com/downloads/details.aspx?FamilyId=DDEC1642-F6E3-4D66-A82F8D3062C6FA98&displaylang=en.
DVD Store
DVD Store Version 2 (DS2) is an open-source application with a back-end database component, a front-end Web
application layer, and a driver layer that operates as the middle tier and actually executes the workload.
The main DS2 metric is orders per minute, or OPM. We show the number of OPM each solution achieved during
our test. We calculate OPM as the number of overall orders divided by the elapsed seconds multiplied by 60. As
such, we report the last OPM score the benchmark reported while all VMs were simultaneously running.
Because our goal was to isolate and test database server storage, we did not use the Web application layer.
Instead, we ran the driver application directly via its command-line interface.
DS2 models an online DVD store. Virtual customers log in; browse movies by actor, title, or category; and
purchase movies. The workload also creates new customers. Browsing movies involves select operations, some
of which use full-text search and some of which do not. The purchase, login, and new customer procedures
involve updates and inserts, as well as selects. The workload’s main reporting metric is orders per minute, or
OPM.
For more details about the DS2 tool, see http://www.delltechcenter.com/page/DVD+Store.
Each server ran a single instance of DS2. This simulated a heavily loaded environment; the load-generating
system ran with no think time, blasting requests as quickly as the servers could handle them.
The DS2 driver application creates an orders-per-minute performance counter on the system. We used the
Reliability and Performance Monitor on the servers to create a data collector set to collect statistics once every
second. Our experiments showed that this function did not affect the performance of the test. We used these
results to verify that neither the processor nor the memory was a bottleneck in the test.
Iometer
Iometer measures input/output (I/O) on single and clustered systems. Iometer performs I/O operations on a
system in order to stress the system, and then records the performance of and system stress created by these I/O
operations. Iometer can create and measure workloads on a single system or on networked systems. We used
Iometer to simulate a file server workload on both Dell PowerEdge R710 systems in order to add additional load
to the storage array during our tests. We adjusted the Iometer workload to match the IOPS-per-user counts from
a test run of Microsoft’s File Server Capacity Tool (FSCT). We thus forced a target IOPS of .60 to .75 IOPS per
user, per file server and made sure the File Server IOPS stayed within the target range during our test runs.
Details of the Iometer access specifications we used are in the Setting up the individual Iometer workloads below.
For more details about Iometer, see http://www.iometer.org/.
Virtual machines
We installed the following applications on the virtual machines:
Dell PowerEdge R710 #1
• Microsoft Exchange Server 2007 (active and under LoadGen load)
• File Server (active and under Iometer load)
• Microsoft SharePoint (active but not under load)
• Secondary Microsoft Active Directory Service (active but not under load)
• Microsoft IIS (active but not under load)
• Microsoft DHCP Server (active but not under load)
• Microsoft SQL Server (active but not under load)
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
3
•
File server (active but not under load)
Dell PowerEdge R710 #2
• Microsoft SQL Server 2008 (active and under DVD Store load)
• File Server (active and under Iometer load)
• Microsoft SharePoint (active but not under load)
• File server (active but not under load)
• Microsoft IIS (active but not under load)
• Microsoft Systems Management Server (active but not under load)
• Secondary Microsoft DHCP Server—different scope (active but not under load)
• Microsoft SQL Server (active but not under load)
We configured the virtual machines with the following settings:
SQL Server
• 4,096 MB memory
• 4 virtual processors
• SQL Server 2008 SP1
• Window Server 2008 R2
• 1 Active SQL Server
• 1 user = 3-4 operations per minute
• 1 thread = 10 users
• 200 users: 20 threads (approx. 800 OPM)
• 500 users: 50 threads (approx. 2,000 OPM)
• 1.5 seconds think time
Exchange Server
• 4,096 MB memory
• 4 virtual processors
• Exchange Server 2008 SP2
• Window Server 2008 SP2
• 1 Active Exchange Server
• 200 average (as defined by LoadGen) users
• 500 average (as defined by LoadGen) users
All other virtual machines
• 2,048 MB memory
• 1 virtual processor
Test results
We report the performance results on the applicable test tool for each Dell PowerEdge R710 server running on
the Dell PowerVault MD3000i in both an optimized and degraded system state.
DVD Store results
Figure 3 shows the number of OPM the second Dell PowerEdge R710 server and the Dell PowerVault MD3000i
achieved during our measurement period of the DVD Store test on the median run. We calculated the scores by
averaging the OPM during the 30-minute period. As we have discussed, the theoretical peak performance for our
DVD Store workload is four operations per minute per user, for both the 200- and 500-user counts. With four
virtual machines under load, and 12 background virtual machines, all running simultaneously, the Dell PowerVault
MD3000i solution was able to sustain near maximum theoretical SQL Server 2008 operations per minute: 760 or
758 OPM at 200 users and 1,878 or 1,868 OPM at 500 users.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
4
Server
Optimized SQL Server 2008 DVD Store
Degraded SQL Server 2008 DVD Store
Median OPM 200 users
760
758
Median OPM 500 users
1,878
1,868
Figure 3: Median DVD Store OPM results the second Dell PowerEdge R710 server and the Dell PowerVault MD3000i achieved during
our measurement period under load for both optimized and degraded system states. Higher numbers are better.
LoadGen results
LoadGen results show the response time for the first Dell PowerEdge R710 server and Dell PowerVault MD3000i
configuration, which is the time in milliseconds it took to complete a request. Because the object of the server is to
handle as many requests as possible, lower scores, which show a server able to handle more requests in a given
time, are better.
For testing, we used 200 and 500 Microsoft Exchange mailboxes; both the server and the Dell PowerVault
MD3000i could exceed acceptable performance while performing other tasks. Figure 4 shows the average
response time for the server. Each result is the median of three runs.
Server
Median 95th percentile weighted
average for 200 users (lower is better)
Median 95th percentile weighted
average for 500 users (lower is better)
151.20
517.45
143.85
302.12
Optimized Dell
PowerEdge R710
Degraded Dell
PowerEdge R710
Figure 4: Median LoadGen response time results the first Dell PowerEdge R710 server and the Dell PowerVault MD3000i achieved
during our measurement period while under load for both optimized and degraded system states. Lower response time is better. It
is interesting to note that, with our test load, the Exchange latency was consistently better in the degraded state on all test runs.
Because the results are in response time for each task, we created a weighted average to calculate a final score.
To create a weighted average, we used a similar procedure as the one that Microsoft Exchange Server 2003
Load Simulator (LoadSim) uses. (Note: LoadSim is an older tool for testing Exchange Mail Servers; Microsoft has
replaced it with LoadGen.) Figure 5 shows the weighted average we used for testing. For an acceptable score,
the average 95th percentile latency must be lower than 1,000 ms (1 second) in all virtual machine LoadGen tests.
Task name
BrowseCalendar
Logon
Logoff
SendMail
ReadAndProcessMessages
MoveMail
DeleteMail
ExportMail
CreateFolder
PublicFolderPost
BrowsePublicFolder
PostFreeBusy
RequestMeeting
MakeAppointment
Total
Weight
1
0
0
1
52
0
0
0
0
0
0
2
1
1
Task name
BrowseContacts
CreateContact
BrowseTasks
CreateTask
EditRules
DownloadOab
EditSmartFolders
SynchronizeFolders
Search
InitializeMailbox
UserInit
UserTerm
ModuleInit
ModuleTerm
Weight
0
1
0
1
0
0
0
0
0
0
0
0
0
0
60
Figure 5: Weighted average for LoadGen tasks.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
5
Iometer target workload
We used Iometer to simulate a file server workload on both Dell PowerEdge R710 systems in order to add
additional load to the storage array during our tests. We forced a target IOPS of .60 to .75 IOPS per user per file
server and made sure the File Server IOPS stayed within the target range during our test runs. Figure 6 shows
that the IOPS per user for the two Dell PowerEdge R710 servers, running the Iometer file server simulated
workload, were within the desired range during testing.
Iometer test name
IOPS per user results
200 users
.75
.79
Optimized File Server Performance
Degraded File Server Performance
500 users
.80
.85
Figure 6: Actual IOPS for the two Dell PowerEdge R710 servers running the Iometer file server simulation workload. In all cases, the
IOPS per user stayed in our target range.
Storage array under test
The disks in the Dell PowerVault MD3000i were eight 300GB 15,000 RPM disks, two 146GB 15,000 RPM disks,
and four 500GB 7,200RPM disks. We tested the array using iSCSI connections. We tested the storage array
using the eight 300GB 15K RPM drives to hold the database VHDs, two 146GB 15K RPM drives to hold the SQL
and Exchange logs VHDs, and four 500GB 7,200 RPM drives to hold the OS VHDs.
Figure 7 identifies the Dell PowerVault MD3000i SAN Array as tested including disk counts, the amount of
useable storage, and the RAID technology used.
Dell PowerVault iSCSI SAN
Arrays
Formatted storage capacity
Dell PowerVault MD3000i SAN Array
8 300GB 15K RPM SAS disks, 2 146GB 15K RPM SAS disks, and 4 500GD
7200 RPM SATA disks
2,046 GB
Connection
iSCSI
RAID technology
RAID 10
Disks
Figure 7: The Dell PowerVault MD3000i SAN we tested.
Workload in optimized and degraded system states
Figure 8 shows the VM distribution of the Dell PowerVault MD3000i and two Dell PowerEdge R710 servers in an
optimized state, and Figure 9 shows the VM distribution of the Dell PowerVault MD3000i and the single Dell
PowerEdge R710 server in a degraded state.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
6
Figure 8: VM distribution on the Dell PowerVault MD3000i storage array and two Dell PowerEdge R710 servers in an
optimized system state.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
7
Figure 9: VM distribution on the Dell PowerVault MD3000i storage array and a single Dell PowerEdge R710 server in a degraded
system state.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
8
Appendix A: Test environment
We used two Dell PowerEdge R710 servers to generate the workload and create demand on the storage. Figure
10 provides detailed configuration information for these servers.
Server
General dimension information
Height (inches)
Width (inches)
Depth (inches)
U size in server rack (U)
Power supplies
Total number
Wattage of each (W)
Cooling fans
Total number
Dimensions (H x W) of each
Voltage (V)
Amps (A)
General processor setup
Number of processor packages
Number of cores per processor package
Number of hardware threads per core
System power management policy
CPU
Vendor
Name
Stepping
Socket type
Core frequency (GHz)
L1 cache
L2 cache
L3 cache
Platform
Vendor and model number
Motherboard model number
Motherboard revision number
BIOS name and version
BIOS settings
Memory modules
Total RAM in system (GB)
Number of types of memory modules
Vendor and model number
Type
Dell PowerEdge R710
3.5
17.0
27.0
2
2
870
5
2.5” x 2.5”
12
1.60
2
4
2
Balanced
Intel
Xeon X5570
D0
LGA1366
2.93
32 KB + 32 KB (per core)
1 MB (4 x 256 KB)
1 x 8 MB
Dell PowerEdge R710
0M233H
A02
Dell Inc. 1.1.4
Enabled Virtualization Technology
48
1
Crucial CT51272BB1339
PC3-10600 DDR3
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
9
Server
Speed (MHz)
Speed in the system currently running @ (MHz)
Timing/latency (tCL-tRCD-iRP-tRASmin)
Number of RAM modules
Chip organization
Hard disk
Vendor and model number
Number of disks in system
Size (GB)
Buffer size (MB)
RPM
Type
Operating system
Name
Build number
File system
Language
Network card/subsystem
Vendor and model number
Type
Optical drive
Vendor and model number
USB ports
Number
Type
Dell PowerEdge R710
1,333
1,333
7-7-7-20
12 x 4 GB
Double-sided
Fujitsu Ltd. MBC2073RC
2
73.5
16
15,000
SAS
Windows Server 2008 R2 Enterprise Edition x64
6001
NTFS
English
Broadcom 5709c NetXtreme II
Integrated
TSSTcorp DVD-ROM TS-L333A ATA Drive
4
2.0
Figure 10: Detailed system configuration information for the Dell PowerEdge R710 server.
Note: We used three Dell PowerEdge 2950 servers running Windows Server 2008 R2 to function as our domain
controller, LoadGen client, and DVD Store client. Each of these had two 2GHz Intel Xeon processor E5405s,
16GB DDR2 PC5300 667MHz memory, and one Western Digital 80GB 7,200 RPM SATA hard drive.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
10
Appendix B: Dell PowerConnect 5448 switch
Figure 11 presents the configuration of the two Dell PowerConnect 5448 switches we used.
Component
Details
Switch
Frame size
Flow control
iSCSI optimization
Two Dell PowerConnect 5448 switches
Jumbo frames enabled on all connected devices. Size set to 9,014 bytes
Flow control set to Generate & Respond on all network interface cards
iSCSI optimization disabled
Figure 11: Dell PowerConnect 5448 switch configuration.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
11
Appendix C: Individual test beds
Figure 12 shows diagrams of the components in each of the test beds and indicates their connections.
Figure 12: The components in each test bed and their connections.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
12
Appendix D: Storage configuration
Figure 13 shows the Dell PowerVault MD3000i, the primary storage hardware we used.
Dell PowerVault iSCSI SAN
The Dell PowerVault MD3000i has two controllers with two 1Gbps iSCSI ports per controller, one 100Mbps
Ethernet management port per controller, and one SAS 4x port per controller. We connected the iSCSI switch to
two iSCSI ports per controller and one management port per controller.
System
Storage hardware
Storage connectivity (Fibre Channel, SAS, SATA,
iSCSI)
Storage model and OS/firmware revision
Storage cache
Network switch
Number of connections from storage
Number of storage controllers
Number of storage ports
SATA drives
SAS drives
Total number of disks tested in solution
Dell PowerVault iSCSI SAN
One Dell PowerVault MD3000i
iSCSI
Dell PowerVault MD3000i Firmware 07.35.22.61
512 MB (per controller)
Dell PowerConnect 5448 Switch with Jumbo Frames
enabled, Flow Control enabled, IP Routing enabled,
Spanning Tree set to RSTP and LLDP disabled
4 x 1 Gb
2
4 (2 per controller)
4x Hitachi HUA721050KLA330 7,200 RPM
8x Seagate ST3300656SS 300GB 15,000 RPM
2x Seagate ST3146356SS 146GB 15,000 RPM
14
Figure 13: Primary storage hardware.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
13
Appendix E: Storage layout
Figure 14 and shows the disk layout for each of the storage solutions we tested. We configured the MD3000i into
four separate RAID 10 virtual disk groups. Disk group one contained the SQL Server database and the file server
1 dataset, Disk group two contained the Exchange Mailstore and the file server 2 dataset, Disk group three
contained the SQL Server Logs and the Exchange Logs, and Disk Group four contained the operating system
VHDs.
Dell PowerVault MD3000i SAN
Drive 0
Drive 2
Drive 4
Drive 6
Drive 8
Drive 10
Drive 12
Drive 1
Drive 3
Drive 5
Drive 7
Drive 9
Drive 11
Drive 13
Disk Group 1
Disk Group 2
Disk Group 3
Disk Group 4
SAS drives
SAS drives
SAS drives
SATA drives
(Controller 0)
(Controller 1)
(Controller 0)
(Controller 1)
SQL Server DB
Exchange Mailstore
SQL Server Logs
OS VHD's
File Server 1
File Server 2
Exchange Logs
EMPTY
Figure 14: Dell PowerVault MD3000i SAN disk layout.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
14
Appendix F: Test methodology
You can find Dell’s “PowerVault MD3000 and MD3000i Array Tuning Whitepaper” here:
http://www.dell.com/us/en/enterprise/storage/pvaul_md3000i/pd.aspx?refid=pvaul_md3000i&s=biz&cs=555
We used the above whitepaper and Dell/Microsoft’s suggestions for Windows Server 2008 R2 with Hyper-V best
practices, including the following:
1. Use virtual hard disks (VHDs) to allow the ability to use cluster-shared volumes (CSVs) and failover
features in Windows Server 2008 R2. We recommend fixed size VHDs for best performance.
2. Enable Jumbo Frames on the storage, NIC, and network switch for best performance and to reduce
TCP/IP overhead (Dell tuning recommendation).
3. Install the Dell PowerVault MD3000i Management software on every system that you will connect to the
storage so that the Dell PowerVault MD3000i MPIO driver is active.
4. Dedicate at least two NIC’s for server-storage iSCSI communication.
5. Dedicate at least one NIC for Client-Server communication.
6. Dedicate at least one NIC for the cluster heartbeat.
Note: We provide a description of our test bed in Appendix C: Individual test beds.
Installing and configuring the domain controller (Dell PowerEdge 2950)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Install Windows Server 2008 R2 Enterprise with default settings.
Reboot the computer.
Click Start.
Right-click Network, and select Properties.
Click Change adapter settings.
Right-click the first NIC, and select Properties.
Select Internet Protocol Version 4 (TCP/IPv4), and click Properties.
Select Use the following IP address, and type 192.168.1.250 for the IP address and 255.255.255.0
for the subnet mask.
Type 127.0.0.1 for the preferred DNS server address.
Click OK.
Click OK.
Click StartÆRun.
Type dcpromo and press Enter.
Click Next.
Click Next.
Select Create a new domain in a new forest.
Type domain.company.com and click Next.
Select Windows Server 2008 R2 for the Forest Functional level, and click Next.
Click Next.
Click Yes.
Click Next.
Enter and confirm a password.
Click Next.
Click Next.
Click Finish.
Click Restart Now.
Installing and configuring the hypervisors
1.
2.
3.
4.
5.
6.
Install Windows Server 2008 R2 Enterprise with the default settings on the Dell PowerEdge R710-1.
Insert the Dell PowerVault MD3000i Resource CD into the server.
Click Run setup.exe.
Click Install MD3000i Storage Software.
Click OK.
Click OK.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
15
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
Click Next.
Accept the terms of the License Agreement, and click Next.
Click Next.
Click Next.
Click Next.
Click Install.
Click Done.
As the system restarts, press F2 to access the BIOS.
Select Processor Settings, and press Enter.
Change Virtualization Technology from Disabled to Enabled.
Press Escape.
Select Save Changes and Exit, and press Enter.
In the Server Manager, click Roles.
Click Add Roles.
Click Next.
Check the Hyper-V checkbox.
Click Next.
Click Next.
Check the Local Area Connection 4 checkbox, and click Next.
Click Install.
Click Close.
Click Yes
Click Close.
In the Server Manager, click Features.
Click Add Features.
Check the Failover Clustering checkbox, and click next.
Click Install.
Click Close.
Repeat steps 1 through 34 for the Dell PowerEdge R710-2.
Setting up the network adapters
1. Click Start.
2. Right-click Computer, and select Properties.
3. Click Device Manager.
4. Expand Network adapters.
5. Right-click the first storage NIC, and select Properties.
6. Select the Advanced tab.
7. Select Jumbo MTU, and set it to 9000.
8. Click OK.
9. Repeat steps 39 through 42 for the second storage NIC.
10. Click Start.
11. Right-click Network, and select Properties.
12. Click Change adapter settings.
13. Right-click the first storage NIC, and select Properties.
14. Select Internet Protocol Version 4 (TCP/IPv4), and click Properties.
15. Select Use the following IP address and type 192.168.130.201 (on the Dell PowerEdge R710-1) and
192.168.130.211 (on the Dell PowerEdge R710-2) for the IP address, and type 255.255.255.0 for
the Subnet Mask.
16. Click OK.
17. Click OK.
18. Right-click the second storage NIC, and select Properties.
19. Select Internet Protocol Version 4 (TCP/IPv4), and click Properties.
20. Select Use the following IP address and type 192.168.131.201 (on the Dell PowerEdge R710-1) and
192.168.131.211 (on the Dell PowerEdge R710-2) for the IP address, and type 255.255.255.0 for
the Subnet Mask.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
16
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
Click OK.
Click OK.
Right-click the first client NIC, and select Properties.
Select Internet Protocol Version 4 (TCP/IPv4), and click Properties.
Select Use the following IP address and type 192.168.1.201 (on the Dell PowerEdge R710-1) and
192.168.1.211 (on the Dell PowerEdge R710-2) for the IP address, and type 255.255.255.0 for the
Subnet Mask.
Type 192.168.1.250 for the preferred DNS address.
Click OK.
Click OK.
Right-click the second client NIC, and select Properties.
Select Internet Protocol Version 4 (TCP/IPv4), and click Properties.
Select Use the following IP address and type 192.168.1.202 (on the Dell PowerEdge R710-1) and
192.168.1.212 (on the Dell PowerEdge R710-2) for the IP address, and type 255.255.255.0 for the
Subnet Mask.
Type 192.168.1.250 for the preferred DNS address.
Click OK.
Click OK.
Click Start.
Right-click Computer, and select Properties.
Click Advanced System settings.
Select the Computer Name tab, and click Change.
Select the Domain checkbox, and type domain.company.com
Click OK.
Enter the Domain login info, and click OK.
Click OK.
Click OK.
Click Close.
Click Restart Now.
Press Ctrl+Alt+Delete to log in.
Select Switch User.
Select Other User.
Log in as Domain\Administrator.
Click Start ÆAdministrative Tools ÆiSCSI Initiator.
Click Yes.
Select the Discovery Tab.
Click Discovery Portal...
Type 192.168.130.101 and click OK.
Type 192.168.131.101 and click OK.
Type 192.168.130.102 and click OK.
Type 192.168.131.102 and click OK.
Select the Targets Tab.
Click the MD3000i, and click Log On.
Check Automatically restore this connection when the system boots.
Check the Enable multi-path checkbox, and click Advanced.
Local Adapter: Set to Microsoft iSCSI Initiator.
Source IP: Select 192.168.130.201 (on the Dell PowerEdge R710-1) and 192.168.130.211 (on the
Dell PowerEdge R710-2)
Target Portal: Select 192.168.130.101(iSCSI port 0-0)
Click OK.
Click OK.
Click the MD3000i, and click Log On.
Check Automatically restore this connection when the system boots.
Check the Enable multi-path checkbox, and click Advanced.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
17
70. Local Adapter: Set to Microsoft iSCSI Initiator.
71. Source IP: Select 192.168.130.201 (on the Dell PowerEdge R710-1) and 192.168.130.211 (on the
Dell PowerEdge R710-2)
72. Target Portal: Select 192.168.130.102(iSCSI port 0-1)
73. Click OK.
74. Click OK.
75. Click the MD3000i, and click Log On.
76. Check Automatically restore this connection when the system boots.
77. Check the Enable multi-path checkbox, and click Advanced.
78. Local Adapter: Set to Microsoft iSCSI Initiator.
79. Source IP: Select 192.168.131.201 (on the Dell PowerEdge R710-1) and 192.168.131.211 (on the
Dell PowerEdge R710-2)
80. Target Portal: Select 192.168.131.101(iSCSI port 1-0)
81. Click OK.
82. Click OK.
83. Click the MD3000i, and click Log On.
84. Check Automatically restore this connection when the system boots.
85. Check the Enable multi-path checkbox, and click Advanced.
86. Local Adapter: Set to Microsoft iSCSI Initiator.
87. Source IP: Select 192.168.131.201 (on the Dell PowerEdge R710-1) and 192.168.131.211 (on the
Dell PowerEdge R710-2)
88. Target Portal: Select 192.168.131.102(iSCSI port 1-1)
89. Click OK.
90. Click OK.
Configuring the Dell PowerVault MD3000i storage
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
On a system managing the Dell PowerVault MD3000i, click StartÆModular Disk Storage Manager Client.
Select Automatic, and click OK.
Click Synchronize.
Click Close.
Check the Do not show this again for this storage array checkbox, and click Close.
Select the Configure tab.
Click Create Disk Groups and Virtual Disks.
Click OK.
Select SATA, and click Next.
Name the Disk Group OS and click Next.
Select RAID level RAID 1/10.
Set the number of Physical Disks to 4, and click Finish.
Click Yes.
Name the Virtual Disk OS and click Next.
Click Finish.
Click No.
Click Next.
Name the Disk Group Exchange and click Next.
Select RAID level RAID 1/10.
Set the number of Physical Disks to 4, select Database, and click Next.
Click Yes.
Name the Virtual Disk Database, and click Next.
Click Finish.
Click No.
Name the Disk Group SQL and click Next.
Select RAID level RAID 1/10.
Set the number of Physical Disks to 4, select Database, and click Next.
Click Yes.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
18
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
Name the Virtual Disk SQL, and click Next.
Click Finish.
Click No.
Name the Disk Group Logs and click Next.
Select RAID level RAID 1/10.
Set the number of Physical Disks to 2, and click Next.
Click Yes.
Name the Virtual Disk Logs, enter 128GB for the size, and click Next.
Click Finish.
Click Yes.
Name the Virtual Disk Witness and click Next.
Click Finish.
Click No.
Select the iSCSI tab.
Click Configure iSCSI Host Ports.
Select the Specify configuration radio button and type 192.168.130.101 for the IP address and
255.255.255.0 for the Subnet mask.
Click Advanced Host Port Settings.
Check the Enable Jumbo frames checkbox, and set the MTU size to 9000.
Click OK.
Click OK.
Click OK.
Repeat steps 27 through 32 for all four iSCSI host ports, changing the IP address each time.
Select the Configure tab.
Click Configure Host Access (Manual).
Type R710-1 for the host name, and select Windows Server 2003/Server 2008 Clustered.
Select the R710-1 Known iSCSI Initiator, and click Add.
Click Next.
Select Yes: This host will share access to the same virtual disks with other hosts.
Type MD3000-Cluster for the host group name, and click Next.
Click Finish.
Click Yes.
Type R710-2 for the host name, and select Windows Server 2003/Server 2008 Clustered.
Select the R710-2 Known iSCSI Initiator, and click Add.
Click Next.
Select Yes: This host will share access to the same virtual disks with other hosts.
Select the Existing host group radio button.
Select MD3000-Cluster, and click Next.
Click Finish.
Click No.
Click Create Host-to-Virtual Disk Mappings.
Select the MD3000-Clust Host Group, and click Next.
Check the Select all virtual disks checkbox, and click Finish.
Click OK.
Click No.
Right-click the five offline disks, and select Online.
Right-click the two disks, and select Initialize.
Click OK.
Right-click the first unformatted disk, and select New Simple Volume.
Click Next.
Click Next.
Select E as the drive letter, and click Next.
Click Next.
Click Finish.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
19
82. Right-click the first unformatted disk, and select New Simple Volume.
83. Click Next.
84. Click Next.
85. Select F as the drive letter, and click Next.
86. Click Next.
87. Click Finish.
88. Right-click the first unformatted disk, and select New Simple Volume.
89. Click Next.
90. Click Next.
91. Select W as the drive letter, and click Next.
92. Right-click the first unformatted disk, and select New Simple Volume.
93. Click Next.
94. Click Next.
95. Select L as the drive letter, and click Next.
96. Right-click the first unformatted disk, and select New Simple Volume.
97. Click Next.
98. Click Next.
99. Select O as the drive letter, and click Next.
100. Click Next.
101. Click Finish.
Configuring the cluster
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
On one of the servers, in the Server Manager, expand the Features.
Click Failover Cluster Manager.
Click Create a Cluster.
Click Next.
Type R710-1, and click Add.
Type R710-2, and click Add.
Click Next.
Click Next.
Click Next.
Click Next.
Click Next.
Click Finish.
Type MD3000-Cluster and uncheck the 192.168.131.1/24 and 192.168.130.0/24 checkboxes.
Type 192.168.1.102 for the Address.
Click Next.
Click Next.
Click Finish.
Click Enable Cluster Shared Volumes.
Check the I have read the notice above checkbox, and click OK.
Click on the Storage menu option under MD3000-Cluster.
Click Add a disk.
Select all five disks, and click OK.
Right-click the MD3000-Cluster and select More ActionsÆConfigure Cluster Quorom Settings.
Click Next.
Select Node and Disk Majority.
Select the first disk, and click Next.
Click Finish.
Click Cluster Shared Volumes.
Click Add storage.
Select all the disks remaining, and click OK.
Creating the virtual machines
1. Expand the roles menu item.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
20
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Expand Hyper-V.
Expand Hyper-V Manager.
Click R710-1.
Click Hyper-V Settings.
Click Browse.
Change the location to C:\ClusterStorage\Volume1, and click Select Folder.
Click Virtual Machines.
Click Browse.
Change the location to C:\ClusterStorage\Volume1, and click Select Folder.
Click OK.
Right-click R710-1, and select NewÆVirtual Machine.
Click Next.
Type Windows Server 2008 R2 as the name, and click Next.
Set the memory to 2048, and click Next.
Select Local Area Connection 4 – Virtual Network.
Set the virtual hard disk size to 40 GB, and the type to fixed size.
Click Next.
Select Install an operating system from a boot CD/DVD-ROM.
Insert the Windows Server 2008 R2 DVD into the server disk drive.
Click Next.
Click Finish.
Right-click the Windows Server 2008 R2 Virtual Machine, and select Start.
Right-click the VM, and select Connect.
Click Next.
Click Install Now.
Select Windows Server 2008 R2 Enterprise (Full Installation), and click Next.
Check the I accept the license terms checkbox, and click Next.
Click Custom (advanced).
Click Next.
Click OK.
Enter your Administrator password, and confirm it.
Shut down the virtual machine.
Setting up and configuring the virtual machines
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Expand the roles menu item.
Expand Hyper-V.
Expand Hyper-V Manager.
Click R710-1.
Click Hyper-V Settings.
Click Browse.
Change the location to C:\ClusterStorage\Volume1, and click Select Folder.
Click Virtual Machines.
Click Browse.
Change the location to C:\ClusterStorage\Volume1, and click Select Folder.
Click OK.
Right Click R710-1, and select NewÆVirtual Machine.
Click Next.
Type Windows Server 2008 R2 as the name, and click Next.
Set the memory to 2048, and click Next.
Select Local Area Connection 4 – Virtual Network.
Set the virtual hard disk size to 40 GB, and the type to fixed size.
Click Next.
Select Install an operating system from a boot CD/DVD-ROM.
Insert the Windows Server 2008 R2 DVD into the server disk drive.
Click Next.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
21
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Click Finish.
Right-click the Windows Server 2008 R2 Virtual Machine, and select Start.
Right-click the VM, and select Connect.
Click Next.
Click Install Now.
Select Windows Server 2008 R2 Enterprise (Full Installation), and click Next.
Check the I accept the license terms checkbox, and click Next.
Click Custom (advanced).
Click Next.
Click OK.
Enter your Administrator password, and confirm it.
Shut down the virtual machine.
Virtual Machine Setup
1. Make 14 copies of the Windows Server 2008 R2 VHD.
2. Create six new VMs on R710-1 with those VHDs as the OS drive.
3. Create eight new VMs on R710-2 with the remaining eight VHDs as the OS drive.
4. In the Server Manager, Click Services and applications.
5. Click Configure Service or Application.
6. Click Next.
7. Select Virtual Machine, and click Next.
8. Check every checkbox, and click Next.
9. Click Next.
10. Click Finish.
Setting up Exchange Server 2007 on the virtual machine
1. Install Windows Server 2008 SP2 on the virtual machine.
2. Reboot the virtual machine.
3. Click Start.
4. Right-click Network, and select Properties.
5. Click Change adapter settings.
6. Right-click the first storage NIC, and select Properties.
7. Select Internet Protocol Version 4 (TCP/IPv4), and click Properties.
8. Select Use the following IP address, and type 192.168.1.55 for the IP address and 255.255.255.0
for the Subnet Mask.
9. Type 192.168.1.250 for the preferred DNS address.
10. Click OK.
11. Click OK.
12. Right-click Computer, and select Properties.
13. Click Advanced System settings.
14. Select the Computer Name tab, and click Change.
15. Select the Domain checkbox, and type domain.company.com
16. Click OK.
17. Enter the Domain login info, and click OK.
18. Click OK.
19. Click OK.
20. Click Close.
21. Click Restart Now.
22. Press Ctrl+Alt+Delete to log in.
23. Select Switch User.
24. Select Other User.
25. Log in as Domain\Administrator.
26. Mount the exchange Server 2007 ISO image to the VM.
27. In Section 3 of the Initial Configuration Tasks section, click Add roles.
28. Click Next.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
22
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
Click the check box beside Web Server (IIS), and click Next.
Accept all defaults by clicking Next.
Click Next.
Click Install.
After installation finishes, review any warnings, and click Close.
Click Run Setup.EXE.
Click the link to Step 4: Install Microsoft Exchange Server 2007 SP1.
Click Next to go past the introduction screen.
Accept the license agreement, and click Next.
Select No for error reporting, and click Next.
Select Typical Exchange Server Installation, and click Next.
Leave the organization name at default (First Organization), and click Next.
At the question about client computers running Outlook 2003 and earlier, select No, and click Next.
If a warning about a lack of SMTP appears after the check finishes, ignore it.
Click Install to start the installation process.
Once installation is complete, click Finish. Exchange should automatically open the Exchange
Management Console.
45. Install Exchange Service Pack 2.
Configuring Exchange Server 2007 on the Exchange Server virtual machine
1. If Exchange does not automatically open the Exchange Management Console, select StartÆAll
ProgramsÆMicrosoft Exchange Server 2007ÆExchange Management Console.
2. In the left pane, expand Organization Configuration, and select Hub Transport.
3. In the action pane on the far right, select New Send Connector.
4. Name the send connector SMTP and select the intended use as Internet. Click Next.
5. In the Address space window, click Add.
6. In the SMTP Address Space window, type * as the address, ensure that the installer has checked Include
all subdomains, and click OK.
7. Click Next.
8. Accept defaults for the next two pages by clicking Next.
9. At the New Connector page, click New to create the connector.
10. Click Finish to close the New SMTP Send Connector wizard.
11. In the left pane of the Exchange Management Console window, expand Server Configuration, and select
Mailbox.
12. In the Database Management tab, right-click First Storage Group, and select New Public Folder
Database.
13. Name the new public folder database Public Folder Database and set the database path to
E:\DATA.
14. Click New.
15. In the Completion page, click Finish to close the New Public Folder Database window.
16. Right-click the Mailbox Database, and select Move Database Path.
17. Click Browse, and set the path to E:\DATA.
18. Click Move.
19. Click Yes.
20. Click Finish.
21. Right-click the First Storage Group, and select Properties.
22. Check the Enable circular logging checkbox, and click OK.
23. Right-click the Mailbox Database, and select properties.
24. Click Customize next to Maintenance schedule option.
25. Remove all blue from the boxes so the system will not perform maintenance, and click OK.
26. At the Mailbox Store Properties window, click Apply.
27. Right-click the Public Folder Database, and select properties.
28. Click Customize next to Maintenance schedule option.
29. Remove all blue from the boxes so the system will not perform maintenance, and click OK.
30. At the Mailbox Store Properties window, click Apply.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
23
31. Close the Exchange Management Console, and reboot the server.
32. Once the server successfully reboots, log in, and select StartÆAll ProgramsÆAdministrative
ToolsÆActive Directory Users and Computers.
33. In the Active Directory Users and Computers window, select domain.company.com in the left pane, and
open Users in the right pane.
34. Right-click a blank area in the Users folder, and select NewÆUser.
35. In the New Object - User window, complete the name fields as you wish (we used first name: test, last
name: tester, logon name: tester), and select Next.
36. Enter a secure password (we used Password1), and check Password never expires.
37. In the pop-up information window, click Accept.
38. Select Next to close the New Object – User window.
39. Double-click the new user to bring up the Properties window.
40. Under the Member Of tab, click Add.
41. In the Enter the object names to select dialog box, type Domain Admins; Exchange Organization
Administrators and select Check Names to verify. Click OK.
42. Click OK to close the User Properties, Active Directory Users, and Computers window.
Installing SQL Server 2008 on the SQL Server virtual machine
1. In the Server Manager, click on Features and click Add Features.
2. Select .NET Framework 3.5.1 Features and click Add Required Role Services.
3. Click Next.
4. Click Next.
5. Click Next.
6. Click Install.
7. Click Close.
8. Restart the VM.
9. Mount the SQL Server 2008 ISO image to the VM.
10. Click StartÆComputer.
11. Right-click D:, and select Open.
12. Run SETUP.exe.
13. Click Run Program.
14. Click Installation.
15. Click New SQL Server stand-alone installation.
16. Click Run Program.
17. On the Setup support rules screen, click OK.
18. Specify the Enterprise Evaluation free edition. Click Next.
19. Click the checkbox to accept the license terms. Click Next.
20. Click Install to install the setup support files.
21. You may see a Windows Firewall warning. For now, ignore this, and click Next.
22. On the Feature Selection screen, select Database Engine Services, Full-Text Search, Client Tools
Connectivity, Client Tools Backward Compatibility, Management Tools –Basic, and Management Tools –
Complete. Click Next.
23. On the Instance configuration screen, leave the default selection of default instance, and click Next.
24. On the Disk space requirements screen, click Next.
25. On the Server configuration screen, choose NT AUTHORITY\SYSTEM for SQL Server Agent, and
choose NT AUTHORITY\SYSTEM for SQL Server Database Engine. Click Next.
26. On the Database Engine Configuration screen, select Mixed Mode.
27. Enter a password for the system administrator account.
28. Click Add Current user. This may take several seconds.
29. Click Next.
30. On the Error and usage reporting screen, click Next.
31. On the Installation rules screen, click Next.
32. On the Ready to Install screen, click Next.
33. Install SQL Server 2008 Service Pack 1.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
24
Installing and configuring Iometer
1.
2.
3.
4.
5.
Download the Iometer package from www.iometer.org.
Uncompress the files, and copy Iometer.exe, Dynamo.exe, and iometer.icf to c:\iometer.
Open Iometer.exe.
Verify that for Disk Targets, the # of Outstanding I/Os is set to the appropriate value.
Under Results Display, make sure that Iometer has selected Start of Test, and set the update frequency
to ∞.
6. Under Test Setup, set the Run Time to 30 minutes and the Ramp Up Time to 0 seconds.
7. Exit Iometer.
Setting up the individual Iometer workloads
We set up Iometer using the test patterns shown in Figure 15 on both file servers. The test patterns defined the
payload size, the percent read, percent write, percent random, percent sequential, and outstanding I/Os. In
addition, we used the following settings for each test:
•
•
•
•
•
•
•
•
•
•
Iometer 2006.07.27
Burstiness
o Transfer Delay: 0ms
o Burst Length: 1 I/O
Align I/Os on: Sector Boundaries
Reply Size: No Reply
5GB dataset
Windows Server 2008 R2
1 User = .60-.75 IOPS
200 users: 1 Outstanding I/O (~140 IOPS)
500 users: 2 Outstanding I/O’s (~350 IOPS)
IOPS estimation based on data from Microsoft’s File Server Capacity Tool (FSCT)
Figure 15 shows the following access specification we used to simulate file server activity:
Percentage of
access specification
10
Transfer size request (KB)
Percentage of reads
Percentage random
0.5
80
100
5
1.0
80
100
5
2.0
80
100
60
4.0
80
100
2
8.0
80
100
4
16.0
80
100
4
32.0
80
100
10
64.0
80
100
Figure 15: The access specification we used to simulate file server activity.
Installing and configuring the mail client
To create the mail client, you must install several software components. Before following these instructions, make
sure to statically assign an IP address for the client, and to then plug that port into the system under test. This
allows the client to join the Active Directory domain. We followed this process for each installation:
Joining the domain
1. Select StartÆControl PanelÆNetwork ConnectionsÆLocal Area Connection.
2. Click Properties.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
25
3. Highlight Internet Protocol (TCP/IP), and click Properties.
4. Select the Use the following DNS server addresses radio button, and enter the IP address of the DNS
server (192.168.1.250) in the Preferred DNS server field. Click OK.
5. Assign it an IP address of 192.168.1.25 and a subnet mask of 255.255.255.0
6. Right-click My Computer, and select Properties.
7. Under the Computer Name tab, click Change.
8. Assign a computer name of Client1 for the mail client.
9. In the Computer Name Changes window, under the Member of section, select the Domain radial box, and
type domain.company.com
10. Select OK to start joining the domain.
11. When the window appears asking for a person qualified on the domain, type Tester as the username
and Password1 as the password.
12. At the welcome pop-up window and the window warning that you must reset the computer for the
changes to take effect, click OK.
13. At the System Properties window, click OK.
14. When a pop-up appears asking if you want to restart now, click Yes to restart your computer.
Installing Internet Information Services 6.0
1. In Section 3 of the Initial Configuration Tasks section, click Add roles.
2. Click Next.
3. Click the check box beside Web Server (IIS), and click Next.
4. Accept all defaults by clicking Next.
5. Click Next.
6. Click Install.
7. After installation finishes, review any warnings, and click Close.
Installing Microsoft Exchange Server 2007 and Load Generator
1. Insert the Microsoft Exchange Server 2007 CD. The CD should automatically launch the installation
software.
2. Click the link to Step 4: Install Microsoft Exchange Server 2007 SP1.
3. Click Next to go past the introduction screen.
4. Accept the license agreement, and click Next.
5. Select No for error reporting, and click Next.
6. Select Custom Exchange Server Installation, and click Next.
7. Check Management Tools, and click Next.
8. After the check finishes, click Install to start the installation process.
9. Once installation is complete, click Finish.
10. Download and install Load Generator using all defaults.
Preparing Load Generator
1. Select StartÆAll ProgramsÆMicrosoft ExchangeÆExchange Load Generator.
2. When the Load Generator window appears, select Start a new test.
3. Select Create a new test configuration, and click Continue.
4. In the Specify test settings window, type Password1 as the Directory Access Password and Mailbox
Account Master Password, and click Continue with recipient management.
5. Make 500 users in the Mailbox Database, and click Continue.
6. To accept defaults for Advanced recipient settings, click Continue.
7. In the Specify test user groups window, select the plus sign (+) to add a user group.
8. Change the Client Type to Outlook 2007 Cached and the Action Profile to Average, and click Continue.
9. Leave defaults in Remote configurations, and click Continue.
10. Click Save the configuration file as, and name it Average.cfg
11. Click Start the initialization phase (recommended before running the test) to start initialization. The
initialization process might take a few hours.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
26
Backing up the mail database
On the test server, once you have set up LoadGen and created its initial mail database, you need to back up that
database so you can have clean copies for each test. Use this process to back up that database:
1. Select StartÆAll ProgramsÆMicrosoft Exchange Server 2007ÆExchange Management Console in the
mail server.
2. In the left pane, under Server Configuration, click Mailbox.
3. In the right pane, right-click Mailbox Database, and select Dismount Database from the menu.
4. On the Do you want to continue? pop-up message, click Yes.
5. Right-click Public Folder Database, and select Dismount Database from the menu.
6. On the Do you want to continue? pop-up message, click Yes. The red arrow appears when you have
dismounted the Public Folder Store.
7. Using Windows Explorer, create a new folder: E:\backup\.
8. With Windows Explorer, copy all files from E: \DATA\ to E:\backup\DATA. This process may take several
minutes.
9. Close Windows Explorer.
10. In Exchange Management Console, right-click Mailbox Database, and select Mount Database from the
menu.
11. Right-click the Public Folder Database, and select Mount Database from the menu.
12. Close Exchange System Manager.
Disabling Windows Firewall
1. Click Start, and click Control Panel.
2. Double-click Windows Firewall.
3. Click Turn Windows Firewall on or off.
4. Select Off.
5. Click OK.
Installing and setting up DVD Store on the test server
1. Copy the ds2 folder containing the DVD Store executables to C:\ds2.
2. Double-click the folder.
3. Create a file named DS2_1.bat that contains the following DVD Store run command line:
c:\ds2run\ds2sqlserverdriver --target=localhost --ramp_rate=10 --run_time=20 --n_threads=32 -db_size_str=W --think_time=0 --database_name=DS2_1
4. Run DS2_1.bat for 10 seconds to create the DVD Store testing counters.
5. Open My Computer.
6. Double-click Drive E.
7. Create a new folder named SQLData
8. Right-click that folder, and select Properties.
9. Select the Security tab.
10. Click Add.
11. In the Object Names box, type SQLLocalUser
12. Click OK.
13. For full access, check the box beside Allow.
Generating the datasets
We built the database schema using the scripts included in the DS2 distribution package, though we made a few
minor modifications. The DS2 stress tool provides options to generate 10MB, 1GB, or 100GB datasets. To get the
tool to generate the 250GB of user data we used in this test, we had to make a few straightforward changes to the
source code and to the DVD Store application’s scripts. Note: We created our test data on a Linux system.
Editing the ds2_create_orders.c module
The module ds2_create_orders.c defines constants that define the maximum values for the customer ID and the
product ID. The constants for the 250GB database size did not exist. We added the constants for this size.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
27
On the command line for the ds2_create_orders.c module, we specified the size. The available options were S
(small), M (medium), and L (large). We added the case W for the 250GB database. In the switch statement that
sets the values for the variables max_cust_id and max_prod_id, we added cases that assigned them the proper
values for the 250GB database size.
We recompiled the ds2_create_orders.c module on Linux, following the instructions in the header comments. We
used the following command line: gcc –o ds2_create_orders ds2_create_orders.c –lm
Editing the ds2_create_cust.c module
We had to make the same changes to the ds2_create_cust.c module that we made to the ds2_create_orders.c
module. On the command line for the ds2_create_cust.c module, we specified the size. The available options
were S (small), M (medium), and L (large). We added the case W for the 250GB database. In the switch
statement that sets the values for the variables max_cust_id and max_prod_id, we added cases that assigned
them the proper values for the 250GB database size.
We recompiled the ds2_create_cust.c module on Linux, following the instructions in the header comments. We
used the following command line: gcc –o ds2_create_cust ds2_create_cust.c –lm
Generating the data for the 20GB database
We used shell scripts to run all four of the executables that generate the data. The distribution did not include
shell scripts for the 250GB size. We wrote shell scripts based on the ds2_create_cust_large.sh and
ds2_create_orders_large.sh scripts. The ds2_create_prod and ds2_create_inv executables did not ship with
associated shell scripts, so we created shell scripts using the instructions in the readme files. We ran the shell
scripts in the following order to generate the data for the 250GB database:
•
•
•
•
ds2_create_orders_20gb.sh
ds2_create_inv_20gb.sh
ds2_create_prod_20gb.sh
ds2_create_cust_20gb.sh
We waited until the processes finished before we moved onto the next step.
Creating the database
We modified the database creation SQL Server scripts included in the DVD Store distribution package to build the
database schema, which includes the file structure, tables, indices, stored procedures, triggers, and so on. We
built a master copy of the 250GB database version for SQL Server 2008, and then used that master copy to
restore our test database to the test server between each test run.
We followed these steps to create the database:
1. We created the database and file structure using database creation scripts provided with DS2. We made
size modifications specific to our 250GB database and the appropriate changes to drive letters.
2. We created database tables, stored procedures, and objects.
3. We set the database recovery model to bulk-logged to prevent excess logging.
4. We loaded the generated data. For data loading, we used the import wizard in SQL Server Management
Studio. Where necessary, we retained options from the original scripts, such as “Enable Identity Insert.”
5. We created indices, full-text catalogs, primary keys, and foreign keys using the database-creation scripts.
6. We updated statistics on each table according to database-creation scripts, which sample 18 percent of
the table data.
7. We created ds2user SQL Server login and user for testing.
8. We set the database recovery model back to full.
We made the following several changes in the build scripts:
• Because we varied the size of the datasets, we sized the files in our scripts to reflect the database size
and the number of files per filegroup. We allowed for approximately 40 percent free space in our
database files to ensure that filegrowth activity did not occur during the testing.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
28
•
•
•
We followed Microsoft’s recommendation of having 0.25 to 1 file per filegroup per core and we used 8
files per filegroup on our 24-core server.
We did not use the DBCC PINTABLE command for the CATEGORIES and PRODUCTS tables, both
because Microsoft recommends against this practice and because the commands do nothing in SQL
Server 2008.
In SQL 2008, we added the FORCESEEK query hint to the BROWSE_BY_ACTOR stored procedure, to
force SQL Server 2008 to use an index seek, instead of an index scan, in its query execution plan. We
made this change because our initial tests showed that SQL Server was using a highly inefficient index
scan. Therefore, we created the SQL Server 2008 BROWSE_BY_ACTOR procedure as follows:
CREATE PROCEDURE BROWSE_BY_ACTOR
(
@batch_size_in INT,
@actor_in
VARCHAR(50)
)
AS
SET ROWCOUNT @batch_size_in
SELECT * FROM PRODUCTS
--added to force index seek
WITH (FORCESEEK)
WHERE CONTAINS(ACTOR, @actor_in)
SET ROWCOUNT 0
GO
•
•
We created a SQL Server login we called ds2user and a database user we mapped to this login. We
made each such user a member of the db_owner fixed database role.
Using the DVD Store scripts as a reference, we created the full-text catalog and index on the PRODUCTS
table manually in SQL Server Management Studio.
We then performed a full backup of the database. This backup allowed us to restore the server to a pristine state
relatively quickly between tests.
Editing the DVD Store scripts
We had to make a few minor modifications to the DVD Store test scripts. We detail these modifications below.
Editing the ds2xdriver.cs module
To use the 250GB database we created earlier, we had to change the following constants:
•
•
•
In the routine Controller(), we changed the string “sizes.” We added the W option for the 20GB database
size. DS2 uses the sizes string to interpret the db_size_str option.
In the class Controller, we changed the arrays MAX_CUSTOMER and MAX_PRODUCT. To each, we
added values specifying the bounds for the customer and product IDs. The Controller() routine uses these
arrays.
We added a command line parameter for the database name: —database_name
Editing the ds2sqlserverfns.cs module
We changed the connection string to increase the number of available connections, to not use the default
administrator (“sa”) account, and to include a parameter for the database name. We raised the available
connections limit from the default of 100 to 200 to allow room for experimentation. We created a user account
called ds2User and used that account.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
29
The ds2connect routine in the ds2sqlserverfns.cs module defines sConnectionString. We used the following
string; the changes we made appear in bold.
string sConnectionString = “User ID=ds2User;Initial Catalog=“+dbname+”;Max
Pool Size=200;Connection Timeout=120;Data Source=“ + Controller.target;
Recompiling the ds2sqlserverdriver.exe executable
We recompiled the ds2xdriver.cs and ds2sqlserverfns.cs module on Windows by following the instructions in the
header comments. Because the DS2 instructions were for compiling from the command line, we used the
following steps:
1. Open a command prompt.
2. Use the cd command to change to the directory containing our sources.
3. Run the batch file C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat. This sets
up the environment variables for us.
4. Execute the following command:
csc /out:ds2sqlserverdriver.exe ds2xdriver.cs ds2sqlserverfns.cs
/d:USE_WIN32_TIMER /d:GEN_PERF_CTRS
Creating a script to delete and recreate the DB2 database
We created the following script, DS2_Drop_and_Restore.sql, to delete and recreate the DB2 database between
each run:
USE [master]
GO
/****** Object: Database [test]
Script Date: 10/16/2008 12:27:59 ******/
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'DS2_1')
DROP DATABASE [DS2_1]
GO
RESTORE DATABASE [DS2_1] FROM DISK = N'B:\SQLBackup\250GB_DVDStore.bak' WITH
= 1,
MOVE N'primary' TO N'E:\SQLData\DS2_1.mdf', MOVE N'cust1' TO
N'E:\SQLData\DS2_1_1.ndf',
MOVE N'cust2' TO N'F:\SQLData\DS2_1_2.ndf', MOVE N'cust3' TO
N'E:\SQLData\DS2_1_3.ndf',
MOVE N'cust4' TO N'F:\SQLData\DS2_1_4.ndf', MOVE N'cust5' TO
N'E:\SQLData\DS2_1_5.ndf',
MOVE N'cust6' TO N'F:\SQLData\DS2_1_6.ndf', MOVE N'cust7' TO
N'E:\SQLData\DS2_1_7.ndf',
MOVE N'cust8' TO N'F:\SQLData\DS2_1_8.ndf', MOVE N'ind1' TO
N'E:\SQLData\DS2_1_9.ndf',
MOVE N'ind2' TO N'F:\SQLData\DS2_1_10.ndf', MOVE N'ind3' TO
N'E:\SQLData\DS2_1_11.ndf',
MOVE N'ind4' TO N'F:\SQLData\DS2_1_12.ndf', MOVE N'ind5' TO
N'E:\SQLData\DS2_1_13.ndf',
MOVE N'ind6' TO N'F:\SQLData\DS2_1_14.ndf', MOVE N'ind7' TO
N'E:\SQLData\DS2_1_15.ndf',
MOVE N'ind8' TO N'F:\SQLData\DS2_1_16.ndf', MOVE N'ds_misc1' TO
N'E:\SQLData\DS2_1_17.ndf',
MOVE N'ds_misc2' TO N'F:\SQLData\DS2_1_18.ndf', MOVE N'ds_misc3' TO
N'E:\SQLData\DS2_1_19.ndf',
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
FILE
30
MOVE N'ds_misc4' TO N'F:\SQLData\DS2_1_20.ndf',
N'E:\SQLData\DS2_1_21.ndf',
MOVE N'ds_misc6' TO N'F:\SQLData\DS2_1_22.ndf',
N'E:\SQLData\DS2_1_23.ndf',
MOVE N'ds_misc8' TO N'F:\SQLData\DS2_1_24.ndf',
N'E:\SQLData\DS2_1_25.ndf',
MOVE N'orders2' TO N'F:\SQLData\DS2_1_26.ndf',
N'E:\SQLData\DS2_1_27.ndf',
MOVE N'orders4' TO N'F:\SQLData\DS2_1_28.ndf',
N'E:\SQLData\DS2_1_29.ndf',
MOVE N'orders6' TO N'F:\SQLData\DS2_1_30.ndf',
N'E:\SQLData\DS2_1_31.ndf',
MOVE N'orders8' TO N'F:\SQLData\DS2_1_32.ndf',
GO
MOVE N'ds_misc5' TO
MOVE N'ds_misc7' TO
MOVE N'orders1' TO
MOVE N'orders3' TO
MOVE N'orders5' TO
MOVE N'orders7' TO
NOUNLOAD,
STATS = 10
USE [DS2_1]
GO
CREATE USER [ds2user] FOR LOGIN [ds2user]
GO
USE [DS2_1]
GO
EXEC sp_addrolemember N'db_owner', N'ds2user'
GO
Running the combined test
Before starting each DS2 test, we deleted and recreated the DB2 database. We rebooted the servers and allowed
them to sit idle for at least 10 minutes to ensure that they finished with all aspects of the boot process. We then
ran the DS2 tests three times. This section describes this procedure:
1. Run the DS2_Drop_and _Restore.sql script on the SQL Server VM to restore the database to its original
state.
2. Click Connect.
3. Press F5.
4. Restart the servers once the database finishes restoring.
5. Select StartÆAll ProgramsÆMicrosoft Exchange Server 2007ÆExchange Management Console in the
mail server VM.
6. In the left pane, under Server Configuration, click Mailbox.
7. In the right pane, right-click Mailbox Database, and select Dismount Database from the menu.
8. On the Do you want to continue? pop-up message, click Yes.
9. Right-click Public Folder Database, and select Dismount Database from the menu.
10. On the Do you want to continue? pop-up message, click Yes. The red arrow appears when you have
dismounted the Public Folder Store.
11. Using Windows Explorer, delete E:\DATA and copy E:\backup\DATA to E:\DATA. This process may take
several minutes.
12. Wait 10 minutes.
13. Begin the Perfmon performance counter on both Hyper-V host systems.
14. Wait 10 seconds.
15. Start the LoadGen client.
16. Run DS2.bat on the virtual machine to begin the DVD Store benchmark.
17. Start the Iometer file server simulation on both virtual machines.
18. Stop Perfmon on the test servers once all simulations are complete.
19. Repeat steps 1 through 18 two more times, for a total of three runs.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
31
About Principled Technologies
We provide industry-leading technology assessment and fact-based marketing services. We bring to every
assignment extensive experience with and expertise in all aspects of technology testing and analysis, from
researching new technologies, to developing new methodologies, to testing with existing and new tools.
When the assessment is complete, we know how to present the results to a broad range of target audiences. We
provide our clients with the materials they need, from market-focused data to use in their own collateral to custom
sales aids, such as test reports, performance assessments, and white papers. Every document reflects the results
of our trusted independent analysis.
We provide customized services that focus on our clients’ individual requirements. Whether the technology
involves hardware, software, Web sites, or services, we offer the experience, expertise, and tools to help you
assess how it will fare against its competition, its performance, whether it’s ready to go to market, and its quality
and reliability.
Our founders, Mark L. Van Name and Bill Catchings, have worked together in technology assessment for over 20
years. As journalists, they published over a thousand articles on a wide array of technology subjects. They
created and led the Ziff-Davis Benchmark Operation, which developed such industry-standard benchmarks as Ziff
Davis Media’s Winstone and WebBench. They founded and led eTesting Labs, and after the acquisition of that
company by Lionbridge Technologies were the head and CTO of VeriTest.
Principled Technologies, Inc.
1007 Slater Road, Suite 250
Durham, NC 27703
www.principledtechnologies.com
info@principledtechnologies.com
Principled Technologies is a registered trademark of Principled Technologies, Inc.
Intel, Xeon, and Pentium are registered trademarks of Intel Corporation or its subsidiaries in the United States
and other countries.*All other product names are the trademarks of their respective owners.
Disclaimer of Warranties; Limitation of Liability:
PRINCIPLED TECHNOLOGIES, INC. HAS MADE REASONABLE EFFORTS TO ENSURE THE ACCURACY AND VALIDITY OF ITS
TESTING, HOWEVER, PRINCIPLED TECHNOLOGIES, INC. SPECIFICALLY DISCLAIMS ANY WARRANTY, EXPRESSED OR
IMPLIED, RELATING TO THE TEST RESULTS AND ANALYSIS, THEIR ACCURACY, COMPLETENESS OR QUALITY, INCLUDING
ANY IMPLIED WARRANTY OF FITNESS FOR ANY PARTICULAR PURPOSE. ALL PERSONS OR ENTITIES RELYING ON THE
RESULTS OF ANY TESTING DO SO AT THEIR OWN RISK, AND AGREE THAT PRINCIPLED TECHNOLOGIES, INC., ITS
EMPLOYEES AND ITS SUBCONTRACTORS SHALL HAVE NO LIABILITY WHATSOEVER FROM ANY CLAIM OF LOSS OR DAMAGE
ON ACCOUNT OF ANY ALLEGED ERROR OR DEFECT IN ANY TESTING PROCEDURE OR RESULT.
IN NO EVENT SHALL PRINCIPLED TECHNOLOGIES, INC. BE LIABLE FOR INDIRECT, SPECIAL, INCIDENTAL, OR
CONSEQUENTIAL DAMAGES IN CONNECTION WITH ITS TESTING, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
IN NO EVENT SHALL PRINCIPLED TECHNOLOGIES, INC.’S LIABILITY, INCLUDING FOR DIRECT DAMAGES, EXCEED THE
AMOUNTS PAID IN CONNECTION WITH PRINCIPLED TECHNOLOGIES, INC.’S TESTING. CUSTOMER’S SOLE AND EXCLUSIVE
REMEDIES ARE AS SET FORTH HEREIN.
Principled Technologies, Inc.: Dell PowerVault MD3000i high-availability testing on
Windows Server 2008 R2 and Hyper-V
32