How to install and setup Hyper-V role on Windows Server Std. 2008 R2 with SQL Server 2012 already installed. SQL Server is the priority on this machine. Only one virtual machine will be installed and used to test disaster recovery restores from image backups of servers, when done testing the VM can be removed so we can test another server. The other servers are similar or less powerful with less memory.
I am not planning on creating a partition for this. We have plenty of space on our RAID drives for now. I was thinking of using Static Memory and limit the Virtual Machine to 4 GB of RAM and set 12 GB for SQL Server. The server to host Hyper-V is a Dell PowerEdge 2900 with 16 GB RAM, Intel Xeon, E5345 @3.33 GHZ (2 processers).
Discussion:
- How much memory will Hyper-V use if we do NOT have any Virtual machines installed or vm’s being used/tested?
- How much memory will Hyper-V use if we do have a Virtual machine installed and we are testing the restore (very basic testing).
- Is there a way to easily ‘turn off’ Hyper-V when we do not need it? or do we have to change the memory settings all the time?
UPDATE Nov 9
I should have mentioned that the server roles that we have installed are: Active Directory, DNS, File Services, WSUS, IIS. Though IIS is only used for WSUS. We use two domain controllers in our domain. This is perhaps the biggest reason why we should not also have SQL server installed and add the Hyper-V role. Thus we plan to buy a ‘bare-bones’ refurbished Dell server to test disaster recovery and not use Hyper-V at all. This keeps the testing of image restores off of our production server which I think is wise.
That depends on your server and the roles installed and if you open the Hyper-V management console or not. In your configuration with a freshly booted server where you have not opened the Hyper-V management console, it would likely be in the range of 10-20 MB of active memory and practically no CPU (probably closer to 10 than 20). A good way to get a pretty good figure for your set up is to boot cleanly with no VMs running and check the memory free then stop the Hyper-V services and check the amount again. Disable those services, reboot, check the amount of memory, then finally start the services and check the amount again. The different between the first two and second two numbers will give you a good idea of how much just Hyper-V takes in your configuration.
Hyper-V Memory use goes up with usage but the basic Hyper-V service is mostly just running instances of vmwp.exe where each VM runs. CPU time is sliced off the main processor and the main OS is guarenteed it’s own (rather large) slice of CPU and memory. One vmwp.exe gets run for each VM and those take 20-50 MB (depending on VM configuration) plus the amount of memory allocated to the VM. CPU time would be difficult to judge as that is also dependent on VM configuration and server load but generally a VM’s CPU time plays second string to the host OS. A good way to figure this amount is to boot cleanly with no VMs running, note the amount of memory free, then start a typical VM. Wait for that VM to finish booting, not the amount of memory free again, then log into the VM, and finally take another look at the amount of memory free in the server. The different between the 3 should give you a good idea of what’s being used.
Hyper-V is essentially the services and some processes that execute, 1 per VM. You can stop Hyper-V if you stop the nvspwmi service (Hyper-V Network Management Service), the vmms service (Hyper-V Virtual Machine Management), and the vhdsvc service (Hyper-V Image Management Service). NOTE: YOU MUST SHUTDOWN ALL VIRTUAL MACHINES BEFORE STOPPING THESE SERVICES. Each VM runs inside an instance of vmwp.exe. Those will shut down when you stop Hyper-V. NOTE: These names are different under server 2012. While this will not eliminate 100% of the memory/processor used by Hyper-V it should easily reduce both by 99+ percent.