Most Storage solutions now come with the capability to over provision the available storage. This allows over-committing the storage and using the space more efficiently.
CloudStack currently is able to leverage this functionality by specifying global parameter storage.overprovisioning.factor which is the admin defined over provision factor for all the primary storages.
This functional specification describes the requirements for support of per-primary storage overprovision setting.
https://issues.apache.org/jira/browse/CLOUDSTACK-6092
Not required.
All existing records of zone level storage.overprovisioning.factor settings will be migrated from data_center_details to storage_pool_details
listStoragePool will have overprovision factor also listed.
#list storagepools
{ "liststoragepoolsresponse" : { "count":1 ,"storagepool" : [ {"id":"f5183dc8-ba13-35af-b3ae-a4a824631ee2"
,"zoneid":"d7422250-a454-4158-a3a4-6ff9192e4684",
"zonename":"z1","podid":"92b9434c-58b4-410f-b49d-d71d89c143dc"
,"podname":"pod1","name":"primary-5","ipaddress":"10.102.192.101",
"path":"/Saksham/primarystorage","created"
:"2014-03-11T10:59:08+0530","type":"NetworkFilesystem","clusterid":"ab6d733a-a410-416b-b6af-91f3d554dcb0"
,
"clustername":"xen2","disksizetotal":9915218558976,"disksizeallocated":0,"disksizeused":1208230281216
,"state":"Up","scope":"CLUSTER","overprovisionfactor":"2.0",
"storagecapabilities":{"VOLUME_SNAPSHOT_QUIESCEVM"
:"false"}} ] } }
.All operations like setting and resetting storage overprovision factor, attach Volume, copy Template, resize Volume etc that involve Primary Storages capacity calculations would be logged at different log levels (INFO, ERROR, DEBUG) in management server log file.
Upgraded setup will have an primary store setting for each primary store with the value same as the global setting.
All storage pools in a zone which has modified the value from the original value, will have the some modified value in the new setup for each primary data store belonging to that zone.
Primary Storage Tab will have the settings to edit storage,overprovisioning.factor also.
Ability to intuitively decide overprovision factor
Storage stats will now include actual used size (requires writing/modifying resource calls). This value will be used by the admin to decrease/increase the overprovision factor depending upon the actual capacity used.
Allow overprovisioning for types other than NFS and VMFS:
Depending upon the fix for CLOUDSTACK-5806, which as suggested by community requires implementing isOverProvisionSupported(), which will be used to calculate allocated storage as per-primary type basis, thus not restricting this functionality to NFS and VMFS only.
Incorporating the fix will allow admin to overprovision primary based on the overprovisioning capability.