13 Replies Latest reply on Apr 6, 2016 1:02 PM by rszymczak

    Resource Pool Error

    bovc Enthusiast

      Hi,

       

      We've got a setup of 6 ESX servers (2x 2,5GHz, 8GB ram each) in a DRS/HA cluster. In this cluster I've created 3 resource pools: low, medium and high.

       

      Low group = CPU Shares:Low, RAM Shares:Low, Both:No Limit and expandable.

       

      Medium group = CPU Shares:Medium, RAM Shares:Medium, Both:No Limit and expandable.

       

      High group = CPU Shares:6000, RAM Shares:High, Both:No Limit and expandable.

       

      Now... There are approximately 11 vm's in each group. And then there's 1 which I've not put into any group yet - simply because I get the error below.

       

      The vm belongs in the high priority group, but when I try to add it, I get an error saying:

       

      "The memory resource shares for VM-NAME are much higher than the virtual machine's in the resource pool. With its current share settings, this virtual machine will be entitled to 62% of the CPU resources in the pool. Are you sure you want to do this?"

       

      Then I can select yes or no. But the error confuses me... Is this a CPU or memory thing? - cause it mentions both!

       

      Anyone seen this error before, or knows what to do? Maybe recommendations to a re-design of the resoruce pools?

       

      Thanks in advance,

      Rasmus

        • 1. Re: Resource Pool Error
          wobbly1 Expert

          It sounds as though you have resource settings applied to the VM(s) you are adding into the resource pool, is this correct? Do the VMs in the resource pool also have settings applied or are they just inheriting from the resource pool's settings?

          • 2. Re: Resource Pool Error
            bovc Enthusiast

            I agree - it sounds that way, but they DO inherrit from the pools. Nothing has been set up on the individual machines.

             

            Rasmus

            • 3. Re: Resource Pool Error
              DeeJay Enthusiast

              Are you sure nothing is set on the VM?

               

              Could you post the shares and status of the 'unlimited' checkbox for both memory and CPU on that VM?

               

              The error box only mentions CPU, but applies to memory too. I've seen this where a machine in a resource pool is moved to another.

               

              If it still complains, move the VM out of the resource group, reset the resource settings, then move it into the 2nd resource group.

               

              D

              • 4. Re: Resource Pool Error
                bigvee Hot Shot

                Ive seen this with VMs that were migrated from old hosts... It seemed to retain its old share values from its old host. I had to go custom and manually edit the share value.....

                • 5. Re: Resource Pool Error
                  bovc Enthusiast

                  The resource settings on the vm is just set to normal. Nothing has been touched there.

                   

                  The vm is not an old migrated one. It has been installed in a ver. 3.0.1 environment along with other vm's that works just fine in resource pools.

                   

                  I tried manually setting custom share values, but it didn't make a difference. I then changed it back to Normal (cpu and memory) and tried again, with no luck

                  I've successfully added it to the medium resource pool though, and tried to migrate it from there to the high priority group, but again - no luck!

                   

                  Anyone got a clue?

                  Rasmus

                  • 6. Re: Resource Pool Error
                    swisst Enthusiast

                    I have this exact problem, ie; no share settings, not migrated, etc.  Did anyone get to the bottom of it?

                    • 7. Re: Resource Pool Error
                      RParker Guru

                      The problem stems from the individual settings for that VM. click on the resource pool, and then click the resource allocation for ALL the VM's in that group.

                       

                       

                       

                       

                       

                      If you notice, that one VM will probably be something like1000 MHZ and maybe 256 Meg of RAM or whatever, you can right click on it from there and change that VM to "normal" / "normal" and set the unlimited switch, and then you won't have a problem.

                      • 8. Re: Resource Pool Error
                        MarkCleveland Lurker

                        On the VM you are getting the error on: Right click on the VM -> edit settings -> Resources tab -> change CPU & Memory to high and click ok.

                         

                        click on the root cluster below the datacenter or the container the VM is located in -> click on the resource allocation tab -> switch the VM shares to normal.

                         

                         

                        You should be able to move the VM into any resource pool now. I know this post is old as dirt but I was having this issue and stumbled accross it, hopefully someone will get some use out of this.

                        • 9. Re: Resource Pool Error
                          anv9031 Lurker

                          Mark,

                           

                          The post was indeed old as dirt, but I was having this exact problem and did not have a fix until I came across your post. Worked like a charm!

                           

                          Greatly appreciated!  Thanks!

                           

                          Ant

                          • 10. Re: Resource Pool Error
                            FrostyatCBM Enthusiast

                            Changing the VM's Resource settings for CPU and Memory from Normal to High and then back again from High to Normal seemed to fix it for me.  Thanks.

                            • 11. Re: Resource Pool Error
                              3r1k Lurker

                              Old as dirt, but somehow people still get dirty every once in a while. I stumbled upon the same error this morning. Changing CPU shares to high and changing it back to normal was sufficient to fix it.

                               

                              Thanks everyone, you saved me from a futile search for misconfigurations!

                              • 12. Re: Resource Pool Error
                                rszymczak Enthusiast
                                vExpert

                                And once again I came around this issue. Is it just me or does the hole concept of ressource pools feel outdated within a SDDC / tag-based management context?

                                 

                                Whatever. The "set to high and back to normal" trick didn't work for me this time - for whatever reason. So I wrote a little PowerCLI script wich will normalize all the VMs within a cluster.

                                 

                                $vms = Get-Cluster CLUSTER_NAME_YOU_WANT_TO_NORMALIZE | Get-VM
                                
                                Write-Host "Old configuration:"
                                $vms | Get-VMResourceConfiguration
                                
                                foreach ($vm in $vms)
                                {
                                  #Normalize CPU shares
                                  # vSphere 5.5 defaults:
                                  # High: 2000 shares per configured vCPU
                                  # Normal: 1000 shares per configured vCPU
                                  # Low: 500 shares per configured vCPU
                                  $cpuShares = ($vm.NumCpu * 1000);
                                
                                  #Normalize Memory shares
                                  # vSphere 5.5 defaults:
                                  # High: 20 shares per megabyte of configured vRAM
                                  # Normal: 10 shares per megabyte of configured vRAM
                                  # Low: 5 shares per megabyte of configured vRAM
                                  $memShares = ($vm.MemoryMB * 10);
                                
                                  $vm | Get-VMResourceConfiguration | Set-VMResourceConfiguration -CpuSharesLevel Custom -NumCpuShares $cpuShares -MemSharesLevel Custom -NumMemShares $memShares
                                }
                                
                                Write-Host "New configuration:"
                                $vms | Get-VMResourceConfiguration
                                
                                

                                 

                                Relevant documentation:

                                Set-VMResourceConfiguration - vSphere PowerCLI Cmdlets Reference

                                vSphere 5.5 Documentation Center

                                https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2018880

                                • 13. Re: Resource Pool Error
                                  rszymczak Enthusiast
                                  vExpert

                                  Oh and if you want to quickly check if there is a VM that is configured with other values as default (e.g. detect if some moron set a CPU / memory limit) you may use this:

                                   

                                  $vms = Get-Cluster CLUSTER_NAME_YOU_WANT_TO_ANALYZE | Get-VM 
                                  foreach ($vm in $vms)
                                  {
                                    $conf = $vm | Get-VMResourceConfiguration;
                                  
                                    if( ($conf.CpuReservationMhz -ne 0) -or ($conf.CpuLimitMhz -ne -1) -or ($conf.CpuSharesLevel -ne "Normal") -or 
                                    ($conf.MemReservationMB -ne 0) -or ($conf.MemLimitMB -ne -1) -or ($conf.MemsharesLevel -ne "Normal"))
                                    {
                                    $vm | Get-VMResourceConfiguration | select-object VM,CpuReservationMhz,CpuLimitMhz,CpuSharesLevel,MemReservationMB,MemLimitMB,MemsharesLevel | ft
                                    }
                                  }
                                  
                                  
                                  

                                   

                                  It will print any VM that is configured other then the default values set in the test (which are the defaults when creating a new VM)