-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ability to check whether PVC storage requirements are fulfilled by the node #123
Comments
As mentioned in a Slack #openebs thread: There are a few dimensions to the problem:
Affinity-by-IOPS might be another way to schedule, and as I understand it affinities can have some ranking metric so I can say 'Allocate this PV where:' ... 'it just fits' or 'there is the most space' or 'where other local PVs are generating fewer IOPS'. |
The hostpath provisioner volumes are thin-provisioned (basically how the filesystem handles it). @maunavarro @trathborne -- Does the above hostpath provisioner behaviour suffice your use-case? Thick provisioning is beyond the scope of the hostpath provisioner's design limitations. |
This is working fine for me because I am using XFS quotas and I am ok with overcommitting. I am more concerned about balance. Consider this case: I have 3 nodes, each with 10GiB of storage. 4 PVCs for 6GiB of storage come in. 2 nodes get 1 PVC, one node gets 2 PVCs. Now another PVC for 6GiB comes in. What is to guaranteed that it does not end up on the node that is already overcommitted? |
@trathborne -- The LVM-based LocalPV CSI-driver is better suited for capacity-aware scheduling use-cases. Here's a link: github.com/openebs/lvm-localpv |
@niladrih I was going to say that LVM doesn't let me overcommit, but then I found https://github.com/openebs/lvm-localpv/blob/2d5196996e97edb82d1840900416835b0b729328/design/monitoring/capacity_monitor.md#thin-logical-volume ... thanks! |
Hi @maunavarro, this issue has been open for a while. Are you are still facing this issue? This feature is one which is typically present in a CSI driver based storage plugin (e.g. LocalPV ZFS, or LocalPV LVM). This is unfortunately beyond the scope of the out-of-tree provisioner library that this hostpath provisioner uses. That being said, my viewpoint might be pigeonholed. Please feel free to open a design proposal or continue the discussion here. Marking this as 'wont-fix' for now. |
@niladrih if there is no possible way to achieve this in the external provisioner, should this be closed? |
A LocalPV Rawfile style pre-allocated volume comes to mind. Another alternative could be filesystem quota. |
Describe the problem/challenge you have
It seems that a PVC can claim and be provisioned more storage than the disk size of a particular node.
For example, the following PVC requesting
5G
should be denied if the available capacity of nodes in cluster is1G
As it currently stands, the above PVC will be provisioned and bound to a PV .
Describe the solution you'd like
We would like to limit the storage policy to existing free storage in node.
Environment:
cat /etc/os-release
):linux
The text was updated successfully, but these errors were encountered: