apache / cloudstack

Apache CloudStack is an opensource Infrastructure as a Service (IaaS) cloud computing platform
https://cloudstack.apache.org/
Apache License 2.0
1.84k stars 1.07k forks source link

Storage Overprovisioning #9109

Closed Sislik closed 1 week ago

Sislik commented 1 month ago
ISSUE TYPE
COMPONENT NAME
API/UI
CLOUDSTACK VERSION
4.19.0.1
CONFIGURATION

Cloudstack with KVM HyperVisors 2 frontend, 1 database backed, few KVMs

OS / ENVIRONMENT

U22.04 LTS

SUMMARY

Unable to create VM (or assign volume) on Pool with enabled overprovisioning

STEPS TO REPRODUCE
1 KVM volume as SharedMountPOitn with overprovisioning factor 2.0 -> 7TB in size... expected to be able to allocate 14TB of disk volumes.
Created VM which will go above the 7TB threshold.
In GUI it is visible that it is counting in % the overprovisioining, but in details it is just totalsize

image image

EXPECTED RESULTS
VM creation OK...
ACTUAL RESULTS
Creating of VM failed with errors below. From logs it is visible is not checking at all the overprovisioned size only the totalallocatedsize.
I even played with the disable threshold to try to bypass it, but result is same.

2024-05-22 11:31:22,835 DEBUG [o.a.c.s.a.AbstractStoragePoolAllocator] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) Checking if storage pool [{"name":"usnyh_naclu01_kvm_vm01","uuid":"9003363c-85a3-44cd-bd6b-4a5c2f65af10"}] is suitable to disk [DskChr[ROOT|4294967296000|]].
2024-05-22 11:31:22,836 DEBUG [c.c.s.StorageManagerImpl] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) Volume [Vol[857|name=ROOT-800|vm=800|ROOT]] is not allocated to any pool. Cannot check compatibility with pool [{"name":"usnyh_naclu01_kvm_vm01","uuid":"9003363c-85a3-44cd-bd6b-4a5c2f65af10"}].
2024-05-22 11:31:22,836 INFO  [c.c.s.StorageManagerImpl] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) Storage pool usnyh_naclu01_kvm_vm01 (1) does not supply IOPS capacity, assuming enough capacity
2024-05-22 11:31:22,837 DEBUG [c.c.s.StorageManagerImpl] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) Checking pool 1 for storage, totalSize: 9053642293248, usedBytes: 2564181458944, usedPct: 0.2832209817761751, disable threshold: 0.85
2024-05-22 11:31:22,838 DEBUG [c.c.s.StorageManagerImpl] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) Destination pool id: 1
2024-05-22 11:31:22,855 DEBUG [c.c.s.StorageManagerImpl] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) Pool ID for the volume with ID 857 is null
2024-05-22 11:31:22,859 DEBUG [c.c.s.StorageManagerImpl] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) Found storage pool usnyh_naclu01_kvm_vm01 of type SharedMountPoint
2024-05-22 11:31:22,859 DEBUG [c.c.s.StorageManagerImpl] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) Total capacity of the pool usnyh_naclu01_kvm_vm01 with ID 1 is (8.2342 TB) 9053642293248
2024-05-22 11:31:22,860 DEBUG [c.c.s.StorageManagerImpl] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) Checking pool: 1 for storage allocation , maxSize : (8.2342 TB) 9053642293248, totalAllocatedSize : (7.0766 TB) 7780778446960, askingSize : (3.9063 TB) 4294967296000, allocated disable threshold: 2.0
2024-05-22 11:31:22,863 DEBUG [c.c.s.StorageManagerImpl] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) Insufficient un-allocated capacity on: 1 for storage allocation, not enough storage, maxSize : (8.2342 TB) 9053642293248, totalAllocatedSize : (7.0766 TB) 7780778446960, askingSize : (3.9063 TB) 4294967296000
2024-05-22 11:31:22,863 DEBUG [o.a.c.s.a.ZoneWideStoragePoolAllocator] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) Adding storage pool [{"name":"usnyh_naclu01_kvm_vm01","uuid":"9003363c-85a3-44cd-bd6b-4a5c2f65af10"}] to avoid set during allocation of disk [DskChr[ROOT|4294967296000|]].
2024-05-22 11:31:22,863 DEBUG [o.a.c.s.a.AbstractStoragePoolAllocator] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) ZoneWideStoragePoolAllocator is returning [0] suitable storage pools [[]].
2024-05-22 11:31:22,863 DEBUG [c.c.d.DeploymentPlanningManagerImpl] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) No suitable pools found for volume: Vol[857|name=ROOT-800|vm=800|ROOT] under cluster: 4
2024-05-22 11:31:22,863 DEBUG [c.c.d.DeploymentPlanningManagerImpl] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) No suitable pools found
2024-05-22 11:31:22,863 DEBUG [c.c.d.DeploymentPlanningManagerImpl] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) No suitable storagePools found under this Cluster: 4
2024-05-22 11:31:22,867 DEBUG [c.c.d.DeploymentPlanningManagerImpl] (API-Job-Executor-13:ctx-78b66408 job-5568 ctx-bd8bde17) (logid:db312708) Could not find suitable Deployment Destination for this VM under any clusters, returning. 
boring-cyborg[bot] commented 1 month ago

Thanks for opening your first issue here! Be sure to follow the issue template!

sureshanaparti commented 1 week ago

@Sislik totalsize is checked there for actual storage usage. it seems over provisioning support is not there for SharedMountPoint pools earlier, and support was added in 4.18.2 (in this PR: https://github.com/apache/cloudstack/pull/8481), so will be available in 4.19.1.

Sislik commented 1 week ago

Thanks :) it is weird now when i have NFS from netapp already with 200TB allocated size as workaround :)