You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Nitin Mehta (JIRA)" <ji...@apache.org> on 2013/07/05 11:01:48 UTC

[jira] [Commented] (CLOUDSTACK-2503) Scalevm - Document/Enforce scale vm limitations for guest OS and hypervisors clearly

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-2503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13700547#comment-13700547 ] 

Nitin Mehta commented on CLOUDSTACK-2503:
-----------------------------------------

The Functional Spec https://cwiki.apache.org/confluence/display/CLOUDSTACK/Dynamic+scaling+of+CPU+and+RAM is upto date and should be taken as source of truth. I am copying HV specific information which should be documented.

Xenserver /Vmware Tools
For dynamic scaling to work virtual machine should have XS tools / VMware tools installed on it. To ensure this Admin/User can do it in two ways :-

Admin/User while registering the template provides an input whether tools are installed on the template(or can be done using update template API).
If the user deploys a virtual machine with a template that does not have XS tools / VMware tools and later if he/she installs the tools on the VM then he can inform Cloudstack using using updatevirtualmachine API. After installation of tools and updating the virtual machine, user needs to stop and start the vm from cloudstack in order for dynamic scaling of CPU and RAM for that VM. The reason why we need to stop start the VM after updating is we need to set static max memory to some higher value before VM starts so that we can dynamically scale the VM upto static max.
Hypervisor Changes
Xenserver

 To facilitate scaling up RAM for the VMs in xenserver Dynamic Memory Control(DMC) to change the amount of host physical memory assigned to any running virtual machine without rebooting it.

During the deployment of VM, if we set memory-dynamic-min = memory-dynamic-max = requested RAM(say K) then the guest VM gets K amount of RAM, later we can increase the RAM by setting a higher value then K within the memory static range.

Note : From XS following are the constraints (read xenserver admin guide) 

0 ≤ memory-static-min ≤ memory-dynamic-min ≤ memory-dynamic-max ≤ memory-static-max  
Dynamic Minimum ≥ 1⁄4 Static Maximum for all supported operating systems
DeployVmCmd - 

During the initial deployment of the VM we set memory variable as follows :-

static min = service_offering / memory_overprovisioning_of_cluster.  
dynamic min = service_offering / memory_overprovisioning_of_cluster.  
dynamic max = service_offering  
static max = f_min( (4 * service_offering) / memory_overprovisioning_of_cluster  ,  Xenserver recommended max for guestOS)
ScaleVmCmd - 

During scaling up of vm, the new requested RAM is set to mem-dynamic-min and mem-dynamic-max. Static min and max do not change unless the vm is stopped and started.

While scaling "up" the vm say from service offering "x" to "y" we will change  

dynamic min = new service_offering / memory_overprovisioning_of_cluster.  
dynamic max = new service_offering  
and ensure that

new dynamic max (y) <= static max and  
new dynamic min (y / memory_overprovisioning_of_cluster) >= static min.
Vmware -
DeployVmCmd - 

During the initial deployment of the VM we enable the flags hotAddCpu and hotAdd memory true. These flags will be turned on if the guest OS supports it.

ScaleVmCmd - 

During scaling up of vm, the new requested RAM and CPU are set if the flags are turned on.
                
> Scalevm - Document/Enforce scale vm limitations for guest OS and hypervisors clearly
> ------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-2503
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-2503
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: Doc, Management Server
>            Reporter: Nitin Mehta
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira