Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

[custom.cs.identifier] = value of the global configuration “custom.cs.identifier”, which holds 4 characters randomly generated initially. This parameter can be updated to suit the requirement of unique CloudStack installation identifier, which helps in tracking the volumes of a specific CloudStack installation.

Assumptions and Limitations

ScaleIO capacity in CloudStack

The ScaleIO storage pool capacity considered in CloudStack for various capacity related checks matches with the storage capacity stats marked with red box in the below image.

Image Added


The Provisioned size (“sizeInKb” stat) of the ScaleIO volume is considered as the virtual size (total capacity) of the volume in CloudStack.

The Allocated size (“netProvisionedAddressesInKb” stat) of the ScaleIO volume is considered as the used / physical size of the volume in CloudStack.

Assumptions and Limitations

  1. Dell EMC renamed ScaleIO to VxFlexOS and now to PowerFlex with v3.5, for the purpose of this documentation and implementation of this feature “ScaleIO” would be used to imply VxFlexOS/PowerFlex interchangeably. Names of components, API, global settings etc. in CloudStack specific feature branch may change over the course of implementation.
  2. CloudStack will not manage the creation of storagepool/domains etc in ScaleIO, but those must be done by the Admin prior to creating a storage pool in CloudStack. Similary, deletion of ScaleIO storagepool in CloudStack will not cause actual deletion or removal of storage pool on ScaleIO side.
  3. ScaleIO SDC is installed in the KVM host(s), service running & connected to the ScaleIO Metadata Manager (MDM).
  4. The seeded ScaleIO templates volume(s) [in RAW] converted from the direct templates [QCOW2/RAW] on secondary storage have the template's virtual size as the Allocated size in ScaleIO, irrespective of the "Zero Padding Policy" setting for the pool.
  5. The ScaleIO ROOT volume(s) [RAW] converted from the seeded templates volume(s) [RAW] have its total capacity (virtual size) as the Allocated size in ScaleIO, irrespective of the "Zero Padding Policy" setting for the pool.
  6. The ScaleIO DATA volume(s) [RAW] created / attached have the Allocated size as '0' in ScaleIO initially, and changes with the file system / block copy.
  7. Overprovisioning factor of the pool using the config “storage.overprovisioning.factor” should be updated accordingly to leverage the the ScaleIO’s 10x overprovisioning for thin volumes.
  8. Existing config drives resides on the secondary storage if “vm.configdrive.primarypool.enabled” setting is false, else on the primary storage
  9. Dell EMC renamed ScaleIO to VxFlexOS and now to PowerFlex with v3.5, for the purpose of this documentation and implementation of this feature “ScaleIO” would be used to imply VxFlexOS/PowerFlex interchangeably. Names of components, API, global settings etc. in CloudStack specific feature branch may change over the course of implementation.
  10. CloudStack will not manage the creation of storagepool/domains etc in ScaleIO, but those must be done by the Admin prior to creating a storage pool in CloudStack. Similary, deletion of ScaleIO storagepool in CloudStack will not cause actual deletion or removal of storage pool on ScaleIO side.
  11. VM snapshots (using qemu) with memory may corrupt the qcow2 and this strategy would make this an unsupported feature. Volume snapshots (using qemu) that are stored within the qcow2 file may also corrupt the ScaleIO volume. Backend/ScaleIO-driven snapshots of volumes are still possible but limited to 127 snapshots per root/data disk.
  12. Any kind of caching may make the (qcow2) volume unsafe for volume migration, as a risk-mitigation strategy no disk caching (cache=“none”) may be allowed for ScaleIO volumes. This potentially adds risks for VM migration as well as any side-effects of using a qcow2 based root disk ScaleIO volume using another ScaleIO volume as a RAW (template) disk backing file.
  13. API client may hit SSL certificate related issues which cannot be bypassed by simply ignoring certificate warnings. Admin may need to accept cluster certificates using ScaleIO gateway for LIA/MDM etc. It is assumed that monitoring and maintenance of ScaleIO cluster certificates and configuration is outside of the scope of the CloudStack.
  14. Delete volume/snapshot API to ScaleIO API gateway could cause a client instance to stop working for any subsequent calls unless another authenticated session is initiated. This would limit use of client connection pooling.
  15. Volume/VTree migrations are limited to different storage pools in the same ScaleIO cluster.
  16. PowerFlex/ScaleIO Limitations [1] are applicable.
    1. Names of snapshots and volumes cannot exceed 31 characters, while typical CloudStack resource UUIDs are 36 characters long. So, the CloudStack volume/snapshot UUIDs cannot be used to map to related resources in ScaleIO.
    2. V-Tree is limited to 127 snapshots for a ScaleIO volume.
    3. The minimum volume size is 8GB, and volume sizes should be at the boundary of 8GBs (for example creation of volume of size 1GB will create volume of size 8GB) and minimum Storage Pool capacity is 300GB.
    4. The maximum number of volumes/snapshots in system is limited to 131,072, and Maximum number of volumes/snapshots in Protection Domain is limited to 32,768.
    5. The maximum SDCs per system is 1024, and the maximum volumes that can be mapped to a single SDC is 8192. From the docs we couldn’t determine the limit of maximum number of SDC mappings for a single ScaleIO volume.
    6. The maximum concurrent GUI/REST/CLI clients logged-in is 128.

...