0

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:

  1. How much memory will Hyper-V use if we do NOT have any Virtual machines installed or vm's being used/tested?
  2. How much memory will Hyper-V use if we do have a Virtual machine installed and we are testing the restore (very basic testing).
  3. 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.

user610064
  • 481
  • 2
  • 11
  • 25

1 Answers1

3
  1. 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.

  2. 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.

  3. 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.

  • I heard that what I want to do is not recommended. Mixing roles with Hyper-V is never recommended, and not supported says a Microsoft partner. They said to make SQL server a VM and install your host having ONLY the Hyper-V role enabled. – user610064 Nov 07 '12 at 13:02
  • Yes, that is true. Ideally a server running the Hyper-V role should be a hypervisor first, middle, and last (be the only thing it is doing). However, in lab and test set ups it can be unavoidable to add multiple roles to the hypervisor. That said, generally speaking you can run any additional roles in virtual machines. This becomes very convenient when one needs that processing space (that SQL Server uses) back. – William M. Rawls Nov 08 '12 at 20:37
  • In your case it sounds like a dedicated Hyper-V may or may not be the way to go. There's nothing that says you can't have hyper-V plus other things. I've done it myself. In your case it sounded like Hyper-V was not as important as SQL Server. You're going to take a (small) hit when running SQL Server in a VM. You might want to test this and see what works best for you. – William M. Rawls Nov 08 '12 at 20:38