SCCM 2007 Not a Virtualization Candidate?

The last couple of days I’ve been in training class, taking the 6451B Planning, Deploying and Managing Microsoft System Center Configuration Manager 2007 course.

One of the first things that got mentioned, was that for larger deployments you should not run System Center Configuration Manager virtually. Of course, this caught my eye as I’m a proponent for the virtualize first “movement”.

It runs out that the reason for this is that Configuration Manager is somewhat poorly designed, as just about everything it receives from the clients in the network is placed in text based log files (inbox folder) before being processed and pumped into the back-end SQL DB. SCCM lives for and eats log files for a living.

I’m sure there are good reasons for this, especially back in the day when SCCM 2007 was developed, but in retrospect this seems to be a poor design choice. Especially since the IO intensity of writing text-based log files is high, and doesn’t scale well when you have loads of clients which SCCM 2007 supposedly is designed for in the first place.

There are ways of alleviating the strain on the machine running SCCM, like running the SQL server on a different server and running the management console on your local computer (remember a Windows server is tuned, by default, to prioritize background tasks), but the fact remains that sum of all the small write operations SCCM constantly does to your storage puts a heavy strain on it.

So, if you want to run SCCM 2007 virtualized in your environment, make sure your storage is up to the task and that you don’t saturate it by deploying what is in essence management software. Perhaps it is better to run it on a physical server with adequate local storage, but don’t blame it on virtualization, blame it on poor design in SCCM 2007.

Hopefully Configuration Manager 2012, which is currently in beta 2, behaves better when it’s released. If not, how will Microsoft defend not getting real performance when running it in Hyper-V (or any other Hypervisor).

10 Comments

  1. I have seen everything but the database component of SCCM virtualised – it is very i/o intensive especially when watching a global rollup server trying to process its inbox with a backlog of over 1,000,000 messages.

    1. @Chris Dearden: Exactly. The log files are on the SCCM server itself, and then imported to the SQL server. It makes sense to differentiate the two roles, but still the architecture needs a major overhaul.

  2. We have SCCM 2007 with 11.000 clients and many DPs, PXE service points, etc. virtualized (except the database which is not virtualized because of VMware licensing costs, it has 32GB of RAM, it would consume too much from one host) and it works very well. Maybe it wouldn’t work on well HyperV :).

    I/O requirements are quite low, ~200 IOPS during normal usage (the management point and primary site server are on different VMs).

    CPU usage is also moderate, I see spikes to ~30%, average 5% out of 5 vCPUs (2 for MP, 3 for primary site server).

    1. @Mihai: Excellent feedback, my “analysis” is solely based on the training course I’ve attended and not my own real-life experiences as such. If your numbers are anything to judge by, a “normal” size SCCM customer might not have to worry about this, if they design their infrastructure properly and divide up roles etc. Thanks!

    2. Runs as well on Hyper-V, the problem is related to the db and that it uses more disk i/o then what people expect. So with enough disk i/o available you can run it with local db on any flavour of virtualization.

      But like with any disk i/o intensiv roles it will not only slow it self down but also the rest of the machines running the same disk solution.

      Running the db and reporting services/point on different machine will solve most issues but its still more intense then what many people expect.

      1. @Olav Tvedt: That’s my point exactly, blame the Operations Manager design not virtualization, if you run into problems with virtualizing it. Make sure your underlying infrastructure is up to the task, but that’s the case regardless of virtualization or not.

  3. Hi there,

    I’ve been having disk performance problems with SCCM 2007 in an ESX 4 environment.

    The environment is well designed with every function (APP, DB, repositiories) are all on different virtual machines. I do not own the app but I think there are around 5000 users on it so far.

    The virtual storage is all NFS.

    The entire env is Windows 2008 R2 64bit. The main primary app server and its database have been reporting disk IO issues such as Average Disk Queue Length > 2 and Average disk sec/transfer outside tolerance levels.
    Microsoft have analyzied the perform logs and advise that the problem is the disk.

    The netapp storage guys tell me that storage is functioning very well with no problems. The ESX and IP SAN guys also say the same thing…but Windows 2008 continues to complain about the disk.

    If the disk and network(remember NFS) are ok…..then why am I seeing DISK IO issues in the guest OS! VMWARE have drawn a blank……although the tools to monitor NFS seem to be very poor indeed…..meaning they seem to be non-existent!

  4. We just ran into the sccm client performance issue. We had a script blow out the sccm client to the domain, and the support team did this on sunday at about 1am. Every sunday at 1am since then our VMware farm grinds to a halt. Cpu spikes, storage spikes.

    We found that sccm was launching a dir /s inventory on all of its clients on the 7 day aniversary. About 200 vms.

    Still not sure how we will fix this, but ideas would be appreciated.

  5. Hi This is Mahesh i am a windows server adinistrator so i want to learn one course that is SCCM AND VMWARE WHICH is the best for me .please suggest me .

Leave a Reply