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
Comments
Anonymous
October 22, 2010
Very cool post. Thanks for sharing Shitanshu. Would is be possible to get schedules for client agents that MSIT uses to put this into more content rather than client ? Regards, Saud.Anonymous
October 22, 2010
Very cool post. Thanks for sharing Shitanshu. Would is be possible to get schedules for client agents that MSIT uses to put this into more content rather than client counts? Regards, Saud.Anonymous
October 22, 2010
Great post! What's the rational behind moving the SMS Provider to another server? Certainly it must improve performance but I'm wondering if you've been able to quatify to what extent. Thanks!Anonymous
October 22, 2010
Is the DB on the cnetral site used for production reporting or have you created a DB copy for reporting purposes?Anonymous
October 24, 2010
@Saud Al-Mishari, thanks for the comments and my next post will have this details for all client agent settings. I expect to have this posted later today :) @Anonymous, Regarding rational for moving SMS provider on different server was primarily due performance issue as in the past we are running into inbox backlogs issue quite often every month which was impacting our SLAs for reporting compliance. The root cause identified was Disk IOs as it was highly utilized if you have SMS provider and SQL on same server in large SMS hierarchy and after moving we have not experienced inbox backlog issue due to performance since we moved almost 2+ yrs. I have post on SMS performance here – blogs.msdn.com/.../configuration-manager-site-performance-analysis-during-jan-2010-out-of-band-release.aspx @JohnH, The DB on central site is used for standard reporting as well as we have another DB copy for large SMS data feeds.Anonymous
October 24, 2010
Great technical insight, thanks a lot! I'm curious about whether or not the used Windows Server 2008 R2 version (Enterprise vs. lets say Standard) has any real impact on the performance or manageability?Anonymous
October 24, 2010
@Christoph Voigt, There is no difference for performance between Enterprise and Standard edition but there is more features difference. Here is complete details for all editions - www.microsoft.com/.../r2-compare-roles.aspxAnonymous
October 25, 2010
The age old question: Where to put the Provider? Am I correct to understand that you had it on the SQL Server prior to moving it to a separate server? Can you comment on the initial decision?Anonymous
October 25, 2010
The following post from the Configuration Manager in Microsoft IT blog details the hardware specs forAnonymous
October 25, 2010
The following post from the Configuration Manager in Microsoft IT blog details the hardware specs forAnonymous
October 27, 2010
@JohnH, we have provider on SMS site server for our central site but one of the primary site we have provider on SQL server. Yes prior to moving we had provider and SQL on same server and we had performance challenges as explaind in above comment. Also I don't see any gain with provider on SQL server vs. SMS Site server as we had main issues with disk IO when we had site server and SQL on same server.Anonymous
November 08, 2010
The following post from the Configuration Manager in Microsoft IT blog details the hardware specs for