...
- The feature allows CloudStack admins to define over-provisioning for individual primary data storages. This will eliminate the tight dependency over the global parameter to leverage underlying overprovisioning.
A typical Cloud deployment will have different combinations of primary storages. They could either be from different vendors or from the same vendor but different products. - Depending on the storage capability, CloudStack admins will have the flexibility to determine what the over-provisioning factor should be for each primary storage.
- Available storage exposed for the primary data store will be (actualStorageSize) * (storage.overprovisioning.factor for the primary)
- The total summation of capacity of all the primary storages will be displayed on the dashboard with appropriate alerts.
- All operations like attach Volume, copy Template, resize Volume, Migration etc. will be handled to adhere to the overprovisioning of the primary data store involved.
For Instance : In case of volume migration the current behavior is that CloudStack calculates the totalOverProvCapacity which is (total storage capacity) * (storage.overprovisioning.factor) for the destination Primary Storage.
As part of validation, the destination Primary Storage must have a higher totalOverProvCapacity than the expected total allocated space. - Threshold parameters like notificationthreshold and disablethreshold will be used to alert and disable alarming usage of storage.
- Primary stores at Local, Cluster level and Zone Wide Primary Storages will be supported.
- Data Stores of Type NFS and VMFS are only supported to use overprovisioning. Support of other types will be addressed in
| Jira |
|---|
| server | Issues |
|---|
key | CLOUDSTACK-5806.
General Workflow:
- admin can update an existing primary store by setting overprovisioning in the per primary setting.
- This value will override the value at the global level. This leverages the granularity of global parameters introduced in 4.2
- To fall back to the global value, null value can be passed.
- To disable overprovision a value of 1 will be passed.
...
{"serverDuration": 70, "requestCorrelationId": "8f021e443f95725a"}