Link to home
Start Free TrialLog in
Avatar of IT_Fanatic
IT_Fanatic

asked on

Hyper-V server and RAM

I have a Windows Server 2008 R2 Standard box using Hyper-V. The box has 12GB of RAM. It is running 4 VMS which are
File Server 2GB RAM
DC-EX        2GB RAM
Accouting   3GB RAM
EX              2GB RAM

Thats a total of 9 GB of RAM. I am guessing that the reaming 3GB of RAM are being used by the Hyper-V Server? Is there a way to determine that? I right clicked on my computer>properties and it says 12GB which is what the server has installed but doesnt show what the OS is using for itself. The VMs run fast but the Windows Server 2008 R2 Server (with Hyper-V) runs slow. I am going to purchase 32GB of RAM to add to the box. Would that make a difference? Also how do I allocate more RAM space to each VM once I get more RAM.

I know its more then one question but they all go hand and hand with eachother. Thanks for youe help.
Avatar of Neil Russell
Neil Russell
Flag of United Kingdom of Great Britain and Northern Ireland image

With Hyper-V, it is infact an APP running under Windows Server 2008 R2 so its memory consumption is from the 12GB that is managed by the server. The VM's wont always be using the ammount of memory allocated to them, thats the beauty of virtualization.
To add more memory to a VM once you have installed more in the physical host just edit the virtual machines settings and up the memory.
Avatar of IT_Fanatic
IT_Fanatic

ASKER

any reason why the server just runs slow when opening up any program but the VM's are blazing fast? Could the 12GB not be enough or is it something else?
the server should not be running any other applications, it is a virtulization host.
Is EX an exchange box?
Avatar of kevinhsieh
Sounds like a typical disk IO issue. What kind of disks and RAID level are you using? I assume that EX means Exchange. The minimum supported RAM for an Exchange server will all roles is 8 GB. Your DC can go down to 1 GB no problem.

Windows Standard can only go to 32 GB RAM as I recall, so that is the max you can use in the host unless you upgrade to Windows Enterprise or switch to Hyper-V Server. Hyper-V server is free, but it requires a clean install and there is no GUI, so all management is done via Hyper-V manager on a remote server or workstation.

In hyper-V, the RAM is hard allocated to a VM once the VM is turned on, RAM is the one resource that isn't shared. That said, with Hyper-V R2 SP1, there is dynamic memory, which does allow VMs to use the pool of free RAM to go beyond their initial RAM assignment if required, and that RAM can be given back to the pool if other VMs need it more.

Hyper-V needs about 384 MB for the host, plus another several MB per VM. It won't let you start a VM if there isn't enough free RAM for it.
The only thing I have running on the hyper-v server is acronis to do my backups and its also a domain controller. So your telling me I cant allocate more RAM to a VM after its setup? I thought you can turn off the VM and allocate more ram and just turn it back on.

Also the server has two RAID 5's and the drives as SAS
> With Hyper-V, it is infact an APP running under Windows Server 2008 R2
My interpretation of the above disagrees with this.

Hyper-V drivers and related services load as quickly as possible.  It's no more an app than VMWare ESX is an app running on Linux.  (Virtual Server was more of an app).  Hyper-V (like ESX/ESXi) is a Type 1 hypervisor - a bare metal Hypervisor that runs with Windows as its management interface.

Hyper-V 2008 R2 -- if you've installed Service Pack 1 -- Supports memory overcommit with supported operating systems and OS configurations.  Exchange and I believe SQL are NOT supported configurations.  However, a virtual file server or application server or DC would be.  You would set the minimum and maximum memory and priority of the VM in the Hyper-V manager.  If you're just using Windows as a management platform for Hyper-V then I would suggest you your issues are likely as suggested, as a disk I/O issue.

You should be able to adjust RAM configuration by shutting the VM down.

I agree, the Server 2008 R2 standard edition is limited to 32 GB of RAM.  If you want to use more, You'd likely have to reload Hyper-V 2008 R2 Server (the free version without GUI management) and use that - that supports considerably more RAM (unless you're using Enterprise or Datacenter right now).

I do have service pack 1 installed. Disk I/O issues is that hard drives that are going bad?
It isn't that your hard drives are failing per se, but that they can't deliver enough read IOPS for your environment. Slow disks are usually most noticable when trying to navigate the GUI, clicking on the Start Menu, etc. You should check to make sure that your RAID isn't degraded

Why do you have two RAID 5 arrays? A single RAID array is going to perform better because all drives will be available to all environments, instead of separating everything out to just a few drives each. A single RAID 10 will perform a bit better, and even a single RAID 5 will give you better overall performance.
We have 3TB of HDD and Windows Server 2008 only saw a certain amount. Thats why the old IT guy created one raid were the OS and 3 vms reside and raid 2 only has one VM which is exchange. How can I tell if the raid is degraded? I have a dell R510 server.
Look at the Dell OpenManage software that should be installed.

The old IT guy did a dumb move. The correct thing to do would be to create two logical drives using the RAID controller. One smaller MBR drive for the host OS, and a second larger GPT drive for the VMs. A MBR drive, which is required when booting using traditional BIOS can only be 2 TB.
I checked the RAID using Dell OpenManage and I have green check marks down the board. How can I improve conformance then if your saying the RAM is not the issue.
Below is the status of my Raid
raid.jpg
Backup everything. Wipe the RAID and reconfigure as two RAID sets. The first one needs to be maybe 100-200 GB (depending on your backup software needs). The second RAID set should be RAID 10 usinging all remaining space. Configure it as GPT format, and put all of your VMs there.
I will be honest with you that is really not an option right now. Is there anything else you can recommend to make the main OS run faster?
Move a VM to the other RAID array, defragment, be patient, add RAM to your VMs on the first array so they hit the disk less.
I have 1vm which is exchange on one raid. The is and 3 other vms on the other raid. I have plenty of HDD space. Would just buying more ram and distributing it to the vms and the rest for the os help?
Possibly. If you give your VMs more RAM, they can do more caching and hopefully hit the disk less, which will reduce disk contention and hopefully make whatever you are trying to do from the server console seem a little bit more responsive.
Wait so your saying the vms take disk space for memory usage as well. If I am understanding that is what your saying by disk less
ASKER CERTIFIED SOLUTION
Avatar of kevinhsieh
kevinhsieh
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Sorry, should have been "Well, that is true, but not what I am saying." in regards to VMs taking disk space for memory usage.
Thanks for the advice. I'll let you know how it goes when i add more RAM
Hyper-V is not designed to be used in conjunction with other roles. You would be much better off transferring the DC role to a VM (even if just using 1GB RAM). That would make a huge difference to the host performance.

Once you are using the physical server for running VMs only then you will rarely need to logon anyway therefore removing the problem you are encountering.
Once I add more RAM ill let you know how it goes