ConfigMgr Site Role Hardware used in Microsoft IT

I have received queries regarding hardware specification used in Microsoft IT for Configuration Manager site roles, so this post is to share hardware specification used in Microsoft IT for different site roles including both physical and virtual platform. This hardware specification would not be applicable for all ConfigMgr hierarchies due to different business requirement and number of clients managed. I also want to acknowledge my colleague Blair Wright who contributed for these platform standards for meeting our requirement and reviewing them regularly.

For more details on sizing and recommended hardware please refer product documentation - https://technet.microsoft.com/en-us/library/dd547071.aspx

Microsoft IT Configuration Manager Virtualization Technical case study is available on : https://technet.microsoft.com/en-us/library/ff684119.aspx

Central Site Hardware Specification

Details Central Site - SMS Provider Role Central Site - SQL Provider Role
Clients Managed Overall ~280K clients managed with no direct clients reporting to Central site Overall ~280K clients managed with no direct clients reporting to Central site
Machine Type Physical Physical
Computer Model HP ProLiant DL380 G5 HP ProLiant DL580 G5
Operating System Microsoft Windows Server 2008 R2 Enterprise Microsoft Windows Server 2008 R2 Enterprise with SQL Server 2008 R2
# of Processors 2 4
# of Cores 8 16
Logical Processor Count 8 16
CPU Intel(R) Xeon(R) CPU E5410 @ 2.33GHz, 64 bit Intel(R) Xeon(R) CPU E7330 @ 2.40GHz, 64 bit
System Memory (MB) 16384 32768
Logical Volume SCSI Disk Device and Drive Size (GB) 683 273 136 136 1093 546 546 273 205 136
Drives Details 1. C:\ = OS Size = 50GB (Simple Disk) 2. Drive D:\ labeled as D:\ = APPS Size = 50GB (Simple Disk) 3. Drive E:\ labeled as E:\ = IIS Size = 25GB (Simple Disk) 4. Drive I:\ labeled as I:\ = SCCM Size = 300GB (Simple Disk Drive C:\ label as C:\ = OS (Simple Disk) Drive D:\ label as D:\ = SQL (Simple Disk) Drive E:\ label as E:\ = DB Dump (Simple Disk) Drive F:\ label as F:\ = Trans (Simple Disk) Drive G:\ label as G:\ = Batch (Simple Disk) Drive H:\ label as H:\ = Data1 (Simple Disk) Drive I:\ label as I:\ = Data2 (Simple Disk) +Page file Drive O:\ label as O:\ = Logs (Simple Disk) Drive T:\ label as T:\ = Temp DB (Simple Disk)
RAID Controller Settings 1. Enable Physical Drive Write Cache State on all controllers (if controller supports this feature) 2. Combine 2 physical drives as Array A and set fault tolerance as RAID 1+0, set stripe size to 128KB** 3. Combine remaining physical drives as Array B and set fault tolerance as RAID 5, set stripe size to 64KB** 4. 256mb onboard controller memory (minimum) 512+ recommended (if controller supports this feature) 5. Verify Expand Priority is Medium 6. Verify Rebuild Priority is Medium 7. Set Cache Ratio to 50% READ and 50% WRITE 1. Enable Physical Drive Write Cache State on all controllers (if controller supports this feature) 2. Combine 2 physical 146gb drives as Array A/Disk0 and set fault tolerance as RAID 1+0, set stripe size to 128KB** (IMPORTANT NOTE: **Migrating RAID stripe size will break an array. Do not change if data exists on the array.) 3. Combine 6 or more physical 146gb drives as Array B/Disk1 and set fault tolerance as RAID 1+0, set stripe size to 128KB** 4. Combine 10 or more physical 72gb drives as Array C/Disk2 and set fault tolerance as RAID 1+0, set stripe size to 128KB** 5. Combine 10 or more physical 72gb drives as Array D/Disk3 and set fault tolerance as RAID 1+0, set stripe size to 128KB** 6. Combine 4 physical 72gb drives as Array E/Disk4 and set fault tolerance as RAID 1+0, set stripe size to 128KB** 7. 256mb onboard controller memory (minimum) 512+ recommended (if controller supports this feature) 8. Verify Expand Priority is Medium 9. Verify Rebuild Priority is Medium 10. Set Cache Ratio to 50% READ and 50% WRITE

Primary Site Hardware Specification for Large Sites

Details SMS Provider Role SQL Provider Role
Clients Reporting ~100,000  
Machine Type Physical Physical
Computer Model HP ProLiant DL380 G5 HP ProLiant DL580 G5
Operating System Microsoft Windows Server 2008 R2 Enterprise Microsoft Windows Server 2008 R2 Enterprise with SQL Server 2008 R2
# of Processors 2 4
# of Cores 8 16
Logical Processor Count 8 16
CPU Intel(R) Xeon(R) CPU E5345 @ 2.33GHz, 64 bit Intel(R) Xeon(R) CPU E7330 @ 2.40GHz, 64 bit
System Memory (MB) 12288 81920
Logical Volume SCSI Disk Device and Drive Size (GB) 1435 136 136 68 410 341 341 136 136
Drives Details 1. Drive C:\ labeled as C:\ = OS Size = 50GB (Simple Disk) 2. Drive D:\ labeled as D:\ = APPS Size = 50GB (Simple Disk) 3. Drive E:\ labeled as E:\ = IIS Size = 25GB (Simple Disk) 4. Drive I:\ labeled as I:\ = SCCM Size = 300GB (Simple Disk Drive C:\ label as C:\ = OS (Simple Disk) Drive D:\ label as D:\ = SQL (Simple Disk) Drive E:\ label as E:\ = DB Dump (Simple Disk) Drive F:\ label as F:\ = Trans (Simple Disk) Drive G:\ label as G:\ = Batch (Simple Disk) Drive H:\ label as H:\ = Data1 (Simple Disk) Drive I:\ label as I:\ = Data2 (Simple Disk) +Page file Drive O:\ label as O:\ = Logs (Simple Disk) Drive T:\ label as T:\ = Temp DB (Simple Disk)
RAID Controller Settings 1. Enable Physical Drive Write Cache State on all controllers (if controller supports this feature) 2. Combine 2 physical drives as Array A and set fault tolerance as RAID 1+0, set stripe size to 128KB** 3. Combine remaining physical drives as Array B and set fault tolerance as RAID 5, set stripe size to 64KB** 4. 256mb onboard controller memory (minimum) 512+ recommended (if controller supports this feature) 5. Verify Expand Priority is Medium 6. Verify Rebuild Priority is Medium 7. Set Cache Ratio to 50% READ and 50% WRITE 1. Enable Physical Drive Write Cache State on all controllers (if controller supports this feature) 2. Combine 2 physical 146gb drives as Array A/Disk0 and set fault tolerance as RAID 1+0, set stripe size to 128KB** (IMPORTANT NOTE: **Migrating RAID stripe size will break an array. Do not change if data exists on the array.) 3. Combine 6 or more physical 146gb drives as Array B/Disk1 and set fault tolerance as RAID 1+0, set stripe size to 128KB** 4. Combine 10 or more physical 72gb drives as Array C/Disk2 and set fault tolerance as RAID 1+0, set stripe size to 128KB** 5. Combine 10 or more physical 72gb drives as Array D/Disk3 and set fault tolerance as RAID 1+0, set stripe size to 128KB** 6. Combine 4 physical 72gb drives as Array E/Disk4 and set fault tolerance as RAID 1+0, set stripe size to 128KB** 7. 256mb onboard controller memory (minimum) 512+ recommended (if controller supports this feature) 8. Verify Expand Priority is Medium 9. Verify Rebuild Priority is Medium 10. Set Cache Ratio to 50% READ and 50% WRITE

Primary Site Hardware Specification for Medium/Smaller Sites

Details SMS Provider Role SQL Provider Role
Clients Reporting ~60,000 Note: this is shared SQL server
Machine Type Virtual Physical
Computer Model Virtual Machine HP ProLiant DL580 G5
Operating System Microsoft Windows Server 2008 R2 Enterprise Microsoft Windows Server 2008 R2 Enterprise
# of Processors 1 4
# of Cores 4 24
Logical Processor Count 4 24
CPU Intel(R) Xeon(R) CPU E7450 @ 2.40GHz, 64 bit Intel(R) Xeon(R) CPU E7330 @ 2.40GHz, 64 bit
System Memory (MB) 12288 65536
Logical Volume SCSI Disk Device and Drive Size (GB) 299 75 50 956 683 615 478 410 136
Drives Details 1. Drive C:\ labeled as C:\ = OS Size = 50GB (Simple Disk) 2. Drive D:\ labeled as D:\ = APPS Size = 50GB (Simple Disk) 3. Drive E:\ labeled as E:\ = IIS Size = 25GB (Simple Disk) 4. Drive I:\ labeled as I:\ = SCCM Size = 300GB (Simple Disk Drive C:\ label as C:\ = OS (Simple Disk) Drive D:\ label as D:\ = SQL (Simple Disk) Drive E:\ label as E:\ = DB Dump (Simple Disk) Drive F:\ label as F:\ = Trans (Simple Disk) Drive G:\ label as G:\ = Batch (Simple Disk) Drive H:\ label as H:\ = Data1 (Simple Disk) Drive I:\ label as I:\ = Data2 (Simple Disk) +Page file Drive O:\ label as O:\ = Logs (Simple Disk) Drive T:\ label as T:\ = Temp DB (Simple Disk)
RAID Controller Settings Same as above RAID configuration for Larger sites Same as above RAID configuration for Larger sites

Management Point or Software Update Point Hardware Specification

Details Management Point Or Software Update Point
Computer Model Virtual Machine
Operating System Microsoft Windows Server 2008 R2 Enterprise
# of Processors 1
# of Cores 4
Logical Processor Count 4
CPU Intel(R) Xeon(R) CPU E7330 @ 2.40GHz, 64 bit
System Memory (MB) 6144
Virtual Disk SCSI Disk Device & Drive Size (GB) (Set disk as “fixed” and not dynamic) 149 49
Drives Details 1. Drive C:\ labeled as C:\ = OS Size = 50GB (Simple Disk) 2. Drive D:\ labeled as D:\ = APPS Size = 50GB (Simple Disk) 3. Drive E:\ labeled as E:\ = IIS Size = 25GB (Simple Disk) 4. Drive I:\ labeled as I:\ = SCCM Size = 100GB (Simple Disk)
RAID Controller Settings Not Applicable as Virtual

Distribution Point Hardware Specification

Details Distribution Point
Computer Model Virtual Machine
Operating System Microsoft Windows Server 2008 R2 Enterprise
# of Processors 1
# of Cores 2
Logical Processor Count 2
CPU Intel(R) Xeon(R) CPU E7330 @ 2.40GHz, 64 bit
System Memory (MB) 6144
Virtual Disk SCSI Disk Device & Drive Size (GB) 349 49
Drives Details 1. Drive C:\ labeled as C:\ = O/S Size = 50GB (Simple Disk) 2. Drive D:\ labeled as D:\ = APPS Size = 50GB (Simple Disk) 3. Drive E:\ labeled as E:\ = IIS Size = 25GB (Simple Disk) 4. Drive P:\ labeled as P:\ = Package Size = 300GB (Simple Disk)
RAID Controller Settings Not Applicable as Virtual

Hyper-V Role Hosting ConfigMgr Sites Hardware Specifications

Details Hyper-V Server hosting ConfigMgr VMs
Computer Model ProLiant DL580 G5
Machine Type Physical
Operating System Microsoft Windows Server 2008 R2 Enterprise
# of Processors 4
# of Cores 16
Logical Processor Count 16
CPU Intel(R) Xeon(R) CPU E7330 @ 2.40GHz, 64 bit
System Memory (MB) 65536
Logical Volume SCSI Disk Device and Drive Size (GB) 1913 1571 1298 683 546 136
Drive Details 1. On primary Controller: setup first two 146gb drives mirrored as C: and D: (DISK0) - OS and BITS go here 2. Array Controller1 Array A / Disk0 (C: & D:) RAID1 (2x146gb SAS) a. Drive C:\ labeled as C:\ = OS Size = 50GB (Simple Disk) b. Drive D:\ labeled as D:\ = Data1-VM Size = Remaining space on Disk0 (87gb) (Simple Disk) Data 3. RAID 6 remaining 72gb drives (DISK1/ VM1 F:) - vhd files go here a. Controller1 Array C/Disk2 (F:) RAID 5 (6-x146gb SAS) b. Drive F:\ labeled as F:\ = VM1 Size = 683GB (Simple Disk) Virtual Machines 4. RAID 5 remaining 146gb drives (DISK2/ DATA2 E:) - store page file and library here a. Controller1 Array B/Disk1 (E:) RAID 6 (21-x72gb SAS) b. Drive E:\ labeled as E:\ = Page file Size = 130+GB (Simple Disk) +Page file 5. On secondary controller RAID 6 remaining 72gb drives (up to 24 drives) (DISK3/ VM2 G:) - vhd files go here a. Controller2 Array A/Disk3 (G:) RAID 6 (21-x72gb SAS) b. Drive G:\ labeled as G:\ = VM2 Size = 2048GB (Simple Disk) Virtual Machines 6. If additional drives exist or if 3rd or 4th DAS array exist, then continue as follows: a. If 146gb drives exist that are available, Stripe as RAID 6 label as VM3 - vhd files go here b. Controller2 Array B/Disk4 (H:) RAID 6 (16x146gb SAS)
RAID Controller Settings Same as above RAID configuration for Larger sites

Please share your comments and thoughts for these platform standards and I would be glad to answer any queries.

Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of any included script samples are subject to the terms specified in the Terms of Use