Hi Dinu,
   
you can modify the system service offering for the systems vms and change it to 
512MB so that when using overcommit (of 4 ) its memory is set to 128 MB.

you are right the current memory is set to system offering divided by the over 
provisioning factor. 

On Aug 22, 2013, at 2:05 AM, Dinu Arateanu <dinu.arate...@gmail.com>
 wrote:

> Hello,
> 
> I'm testing ACS 4.2 with kvm. I noticed that when one configures 
> mem.overprovisioning.factor Global/Cluster setting, chances are that the 
> System VMs configured with an offer of 128 MB RAM will never start (namely 
> the Domain Router and the SSVM). 
> 
> According to the agent.log, ACS sends libvirt the request to start the VM 
> with a "currentMemory" parameter equal to the System Offering RAM divided by 
> mem.overprovisioning.factor:
> 
> 2013-08-21 11:02:34,824 DEBUG [cloud.agent.Agent] 
> (agentRequest-Handler-1:null) Request:Seq 1-1537935677:  { Cmd , MgmtId: 
> 117981950658, via: 1, Ver: v1, Flags: 100011, 
> [{"com.cloud.agent.api.StartCommand":{"vm":{"id":13,"name":"
> r-13-VM","type":"DomainRouter","cpus":1,"minSpeed":125,"maxSpeed":500,"minRam":33554432,"maxRam":134217728,"arch":"x86_64","os":"Debian
>  GNU/Linux 5.0 (32-bit)","bootArgs":" template=domP name=r-13-VM 
> eth0ip=10.10.40.10 eth0mask=
> 255.255.255.0 gateway=10.10.40.1 domain=dev.int dhcprange=10.10.40.1 
> eth1ip=169.254.3.215 eth1mask=255.255.0.0 type=dhcpsrvr 
> disable_rp_filter=true 
> dns1=8.8.8.8","rebootOnCrash":false,"enableHA":true,"limitCpuUse":false
> ,"enableDynamicallyScaleVm":false,"vncPassword":"*","params":{"memoryOvercommitRatio":"4","cpuOvercommitRatio":"4"},"uuid":"52caa75a-5331-4979-9456-18d1b743b7ad","disks":[{"data":{"org.apache.cloudstack.storage.to.
> VolumeObjectTO":{"uuid":"c84b6834-6bab-4087-a044-e61a1e3a391b","volumeType":"ROOT","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"c1ac7425-f6d2-3ada-b78a-b17faceb89ea","id":2,"poolType":"RBD","host":"
> ceph.dev.int","path":"rbd1","port":6789}},"name":"ROOT-13","size":272915248,"path":"329df94f-4c30-4617-9fbd-440b76f08cde","volumeId":13,"vmName":"r-13-VM","accountId":1,"format":"RAW","id":13,"hypervisorType":"KVM"}},"di
> skSeq":0,"type":"ROOT"}],"nics":[{"deviceId":0,"networkRateMbps":1000,"defaultNic":true,"uuid":"c68fdd00-68e0-4755-b6e1-c07c4d122040","ip":"10.10.40.10","netmask":"255.255.255.0","gateway":"10.10.40.1","mac":"06:f2:0e:00:01:74"
> ,"dns1":"8.8.8.8","broadcastType":"Vlan","type":"Guest","broadcastUri":"vlan://40","isolationUri":"vlan://40","isSecurityGroupEnabled":false,"name":"vswitch0"},{"deviceId":1,"networkRateMbps":-1,"defaultNic":false,"uuid":"1778dbb
> d-7d27-481a-96ad-99c9aac36e8f","ip":"169.254.3.215","netmask":"255.255.0.0","gateway":"169.254.0.1","mac":"0e:00:a9:fe:03:d7","broadcastType":"LinkLocal","type":"Control","isSecurityGroupEnabled":false}]},"hostIp":"10.10.8.25","
> executeInSequence":false,"wait":0}},{"com.cloud.agent.api.check.CheckSshCommand":{"ip":"169.254.3.215","port":3922,"interval":6,"retries":100,"name":"r-13-VM","wait":0}},{"com.cloud.agent.api.GetDomRVersionCmd":{"accessDetails":{
> "router.name":"r-13-VM","router.ip":"169.254.3.215"},"wait":0}},{}] }
> [...]
> <name>r-13-VM</name>
> <uuid>52caa75a-5331-4979-9456-18d1b743b7ad</uuid>
> <description>Debian GNU/Linux 5.0 (32-bit)</description>
> [...]
> <memory>131072</memory>
> <currentMemory>32768</currentMemory>
> <devices>
> <memballoon model='virtio'/>
> </devices>
> <vcpu>1</vcpu>
> <os>
> <type  arch='x86_64' machine='pc'>hvm</type>
> <boot dev='cdrom'/>
> <boot dev='hd'/>
> </os>
> <cputune>
> <shares>125</shares>
> </cputune>
> <on_reboot>restart</on_reboot>
> <on_poweroff>destroy</on_poweroff>
> <on_crash>destroy</on_crash>
> </domain>
> 
> As a result, the System VM will be created, but will never run - 32 MB RAM is 
> too low. I'm not arguing about how recommended it is to set a factor of 4 for 
> memory ballooning (outside testing environments), but rather that ACS should 
> start (at least the System) VMs with a minimum RAM. The virtio_balloon module 
> seems to be loaded within the SVM template, but it does not work. 
> 
> Is there any way to control how much minimum RAM ACS allocates based on the 
> service offering and the overprovisioning factor? 
> 
> Thanks,
> Dinu
> 
> 
> 

Reply via email to