Hi.
I’m deploying v2.6.6 milvus cluster using milvus-operator v1.3.3 with messageStreamType: woodpecker.
When I specify spec.dependencies.woodpecker.persistence, the operator creates a PVC named ${name}-data.
And this PVC is mounted into all milvus components (proxy, datanode, querynode, streamingnode, coordinator) under /var/lib/milvus.
This raises a few concerns.
-
RWO volume cannot be mounted by all components
If the PVC uses accessModes: [ReadWriteOnce], only one pod can mount it at a time.
In practice, this causes many milvus deployments (e.g., multiple QueryNodes) to fail scheduling.
-
query nodes sharing the same directory
Multiple components writing cache or other runtime data into the same directory /var/lib/milvus seems unsafe.
For example, multiple QueryNodes could write local cache files to the same path, which may cause conflicts or undefined behavior.
-
If woodpecker persistence is backed by a local storage type, wouldn’t all WAL files end up stored in the same shared path?
This seems problematic, especially when multiple nodes are expected to operate independently.
Is this PVC sharing behavior across all components intentional?
If so, could you let me know how woodpecker persistence should be configured to avoid conflicts or scheduling failures?
Thanks!
Hi.
I’m deploying v2.6.6 milvus cluster using milvus-operator v1.3.3 with
messageStreamType: woodpecker.When I specify
spec.dependencies.woodpecker.persistence, the operator creates a PVC named${name}-data.And this PVC is mounted into all milvus components (proxy, datanode, querynode, streamingnode, coordinator) under
/var/lib/milvus.This raises a few concerns.
RWO volume cannot be mounted by all components
If the PVC uses
accessModes: [ReadWriteOnce], only one pod can mount it at a time.In practice, this causes many milvus deployments (e.g., multiple QueryNodes) to fail scheduling.
query nodes sharing the same directory
Multiple components writing cache or other runtime data into the same directory
/var/lib/milvusseems unsafe.For example, multiple QueryNodes could write local cache files to the same path, which may cause conflicts or undefined behavior.
If woodpecker persistence is backed by a
localstorage type, wouldn’t all WAL files end up stored in the same shared path?This seems problematic, especially when multiple nodes are expected to operate independently.
Is this PVC sharing behavior across all components intentional?
If so, could you let me know how woodpecker persistence should be configured to avoid conflicts or scheduling failures?
Thanks!