Posts Tagged ‘scvmm’
System Center Virtual Machine Manager was Microsoft’s answer to VMWare’s vSphere. It’s Microsoft, so what could have gone wrong? It’s Microsoft – so everything.
Below is a list of most annoying things, some of them are so serious it makes you wonder – maybe Powershell is the answer? Seriously? In 2017, Microsoft, you FORCE everybody to use text console again?
In a moment of doubt we used to call it overgrown cancer over Powershell commands.
Let’s start, sorted by weight of crime:
1) Terrible things you cannot do in SCVMM but you can in Hyper-V Manager, Failover Cluster or Powershell like:
- rename you machine when its powered on (sic)
- change its MAC from Dynamic to Static other way like manually copy it character by character.
- change booting order (sic) of machines and templates
- select all Integration Services offered
- change location of smart paging file
- change affinity with cluster (high/medium/low/do not autostart)
and so on.
2) Console. Console is so terrible, that its sorry state is just good meme source.
First – console from Hyper-V Manager/FailoverCluster
Then from SCVMM
- you cannot attach console and then power on machine. You HAVE to – power on machine, wait few sec for console button to be available then race through time to start it BEFORE OS starts. You have better chances of winning some of Grand Prix then finish the trick above on first run.
- only actions you have is Reconnect and Send CTRL+ALT+Delete. Never working ‚Clipboard’ added in SCVMM 2016 requires you to paste text HERE, then it’s pasted in VM console
- when it start before machine starts – you have to kill an application. It’s no good to use it ever again, it won’t ‚click’ with machine you’ve started. Exit? Something terrible may happen.
- MS SQL Server Standard or Enterprise. https://technet.microsoft.com/en-us/system-center-docs/system-requirements/sql-server-version-compatibility
- 4 GB Ram required, 16 GB recommended (don’t even bother going below)
- A lot of not-really-so-working tricks to use it to manage hosts from other domains, especially without 2 way trusts settled.
- Price. With whole gang of System Center tools, prepare to be robbed in a daylight. Doesn’t matter you have no intention to use other components – you have to pay for it. You cannot just pick and buy needed component – you have to buy-and-pay with bulk.
- General slowness of GUI, regardless of hosts number, running tasks, library sizes.
- Jobs window – generally unusable with more than one admin or more than one job running- lots of informational comments. Important actions (like: who deleted or altered machine) quickly goes off the screen, covered by messages like: refresh was completed.
- Oh, did I mention ‚Refresh’ habit? Learn it. Learn it, and let your fingers memorize this config, as you will be using it a lot.
Refresh is required almost on everything. In options like: you DID change something via Powershell and HV-Manager – I can understand, refresh may be required. But you will have to hit REFRESH before, in time, and after ANY action you would like to perform. If not – expect the worst. Virtual machine seems to be non responding on your commands? Maybe its locked for backup, maybe it hanged, maybe it migrated to another host – you have to refresh, refresh and refresh to persuade SCVMM that you have most recent data.
Sometimes even refresh doesn’t work. Like in recovery or cluster node failure, you shouldn’t count on SCVMM to update its status before timer reaches day or two. Take your time! Sometime you will have to reboot SCVMM to persuade it to have the latest data. So, when your action fails – search no more, VM is probably locked, on other host or powered off. SCVMM takes its auto-refresh very slowly.
- General over complexity in Logical Network and Switches. It’s like you have to create every VLAN again, even if you’ve done it on dozen of network devices, fill variables like subnets, gateways. You have to group it all together and again, attach to every Hyper-V switch on hosts you have.
- Adding you own custom fields and filling them is, again, over complicated and requires you to do a lot of scripting and scheduling them in a Windows manner.
- You cannot add, change or sort fields like Operating systems. What Microsoft got you are values like this:
- Microsoft Windows Server 2012 R2
- 64-bit edition of Microsoft Server
- Hyper-V integration Services are always few releases behind. It started to change with Windows 2016 and idea to install them via Windows Update.
- Inability to rename vm folder when machine changes its name. This way you will have to do a Live Migration to rename folder.
- Complexity of generated script.One will think generating a new machine is easy: New-SCVirtualMachine with a lot of parameters. No. Script is long, heavy, complex and tries to do things in complete different matter.
- Templates – only way to refresh a template is to create it again, or replace vhdx in library, and do some internal tricks.
- Inability to do anything with machine when the job is running – all fields are grayed out and you have to wait for jobs to end or fail.
- if you’re lucky, agents are deployed ALMOST instantly, but adding host to SCVMM requires it to restart
- if you’re not lucky, then in case of SCVMM upgrade, you will have to manually redeploy and reinstall all agents. Quite common I’d say.
- [IMPORTANT] The mess agent leaves on filesystem is just legendary. Lets say we would like to migrate our machine from folder d:\vm to e:\vm.After migration (when we choose right option) we will got:
– empty files in d:\vm\machinename
– machine in e:\vm\machinename
Let’s say we would like to migrate it back for some reason
We will get:
- empty d:\vm\machinename
- empty e:\vm\machinename
- machine in e:\vm\machinename (1)
And migration is just done twice. Do you see the pattern? After few migrations we have complete chaos on filesystems with a lots of empty, semi-empty, almost empty and ‚soon-to-be-empty folders’. You’ll end up with removing them manually – again, if you’re lucky.
- locked folder after failed job. Yes, when you migration failed, you will end with d:\vm\machinename which you’re not able to delete. Sometimes it can be deleted after some time, sometimes after SCVMM/host reboot, sometimes never.
Above list, not fully completed can be seen in SCVMM 2012 R2 and SCVMM 2016 versions. It’s clear that SCVMM is not very high on Microsoft ‚to do’ list as same errors and mistakes are transferred to newer version and hunts us until this day.
Changed from Requirements (Enterprise) to (Standard , Enterprise)
Microsoft System Center 2012 R2 VMM Update Rollup 2 and failed performance counters (Assigned Memory/Demanded Memory set to 0)
Strange thing happened after System Center 2012 R2 Virtual Machine Manager Rollback Update 2 – most fields with dynamic performance counters were not updated at all.
It looked like this:
- reboot of Hyper-V hosts and/or SCVMM 2012 R2 instance (no changes)
- refresh all host and virtual machines (no changes)
- remove host from SCVMM console and re-add with ‚Reassociate with this host’ option – It looks like re-installing VMM agents worked.
But in production environment, removing and re-adding all hosts is quite risky bussiness (and what about library and template servers?), so maybe we will try to force re-install scvmm agents?
Let’s look for a most recent one
As you can see on 2014-04-28 with Rollback Update 2 agent has changed to version (3.2.7634.0) but was not refreshed or upgraded on all hosts. I decided to do it manually.
- Copy vmmagent.msi from 3.2.7634.0 directory to a Hyper-V host or shared network path (for me it was users’s home mounted disk).
- RDP to Hyper-V host or do it in any remote execute way you want –
- execute (on Hyper-V host) :
wmic product where name='Microsoft System Center Virtual Machine Manager Agent (x64)' call uninstall
- execute (on Hyper-V host) :
msiexec /i your_path_to_files\vmmAgent.msi
msiexec /i your_path_to_files\vmmAgent.msi /passive
- Wait few minutes (5-10)
- Goto SCVMM, choose Hyper-v host, choose ‚Properties/Status’, click ‚Refresh’
- Wait few minutes (5-10)
- Refresh host and virtual machines.
Dear Microsoft. I couldn’t find a proper way to do it with GPO (update failed without removing agent first) or any other way. Do you understand that doing it with a dozens or hundreds of Hyper-V host is not funny, and in a kinda way is crooked thinking?