Answers: <p>If performance is a critical consideration, mounting a remote block volume directly to the node and using local PVs can potentially offer better performance compared to dynamically provisioned PVs through CSI. This is because data access is local to the node and may incur lower latency compared to network-attached storage.</p>
  
Answers: CC BY-SA 4.0
Answers: 2024-02-14T13:22:38.587Z
Answers: I see, Thank you so much for answering! That makes sense.
  
  I wondered,  at the same time, remote block volumes (attached directly to nodes) are also "network-attached" storage (e.g. EBS in AWS). Different performance means each volume approach (through csi & local) has different paths to access target volumes?
Answers: Shunsuke
Answers: CC BY-SA 4.0
Answers: 2024-02-14T14:40:34.420Z
Answers: While both approaches involve network-attached storage technologies, the way data is accessed and managed differs between dynamically provisioned PVs through CSI and using remote block volumes mounted directly to the node.
  
  In dynamically provisioned, the storage volumes are accessed by the pods via the Kubernetes CSI interface While in remote block to the node itself, the volume is treated as a local disk by the node's operating system: data access occurs locally within the node. 
  
  Tests and benchmarks with your applications will determine the best performance.
Answers: alban boitier
Answers: CC BY-SA 4.0
Answers: 2024-02-15T08:43:39.963Z
Answers: I will do benchmarking to see how the performance of each differs!
  Thank you.
  
  I was thinking that CSI is interface of concrete drivers that coordinate remote block volumes. remote block volumes, in the end, are attached to nodes (by CSI concrete drivers) and treated as a local disk by the node's operating system. but it seems that's wrong...
Answers: Shunsuke
Answers: CC BY-SA 4.0
Answers: 2024-02-14T12:53:39.813Z
Answers: 2024-02-14T12:53:39.813Z
Answers: alban boitier
Body: <p>In Kubernetes, there are various types of PVs, and local PV is mentioned as the most performant type among those.
  refs)
  <a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes" rel="nofollow noreferrer">https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes</a>
  <a href="https://blog.mayadata.io/why-use-localpv-with-nvme-for-your-workload" rel="nofollow noreferrer">https://blog.mayadata.io/why-use-localpv-with-nvme-for-your-workload</a></p>
  <p>When we utilize remote Block Volume (such as Amazon EBS, other remote NVMe based SSDs), There are 2 approaches,
  (1) Dynamically provision PV through CSI and mount it to Pods.
  (2) Mount a remote block volume to the node itself, and use local PV.</p>
  <p>Is there any performance difference between the two?</p>
  
Tags: <kubernetes><kubernetes-volume>
Title: Performance differences of using Remote Block Volume in Kubernetes?
UserDisplayName: Shunsuke
ThreadText: # Performance differences of using Remote Block Volume in Kubernetes?
  
  (Asked by: username_0 on 2024-02-14)
  
  In Kubernetes, there are various types of PVs, and local PV is mentioned as the most performant type among those.
  refs)
  <https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes>
  <https://blog.mayadata.io/why-use-localpv-with-nvme-for-your-workload>
  
  When we utilize remote Block Volume (such as Amazon EBS, other remote NVMe based SSDs), There are 2 approaches,
  (1) Dynamically provision PV through CSI and mount it to Pods.
  (2) Mount a remote block volume to the node itself, and use local PV.
  
  Is there any performance difference between the two?
  
  **Tags:** kubernetes, kubernetes-volume
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2024-02-14. Score: 0 | Accepted answer
  
  If performance is a critical consideration, mounting a remote block volume directly to the node and using local PVs can potentially offer better performance compared to dynamically provisioned PVs through CSI. This is because data access is local to the node and may incur lower latency compared to network-attached storage.
  
  > **Comments:**
  > **username_0**: I see, Thank you so much for answering! That makes sense.  I wondered,  at the same time, remote block volumes (attached directly to nodes) are also "network-attached" storage (e.g. EBS in AWS). Different performance means each volume approach (through csi & local) has different paths to access target volumes?  
  > **username_1**: While both approaches involve network-attached storage technologies, the way data is accessed and managed differs between dynamically provisioned PVs through CSI and using remote block volumes mounted directly to the node.  In dynamically provisioned, the storage volumes are accessed by the pods via the Kubernetes CSI interface While in remote block to the node itself, the volume is treated as a local disk by the node's operating system: data access occurs locally within the node.   Tests and benchmarks with your applications will determine the best performance.  
  > **username_0**: I will do benchmarking to see how the performance of each differs! Thank you.  I was thinking that CSI is interface of concrete drivers that coordinate remote block volumes. remote block volumes, in the end, are attached to nodes (by CSI concrete drivers) and treated as a local disk by the node's operating system. but it seems that's wrong...  
  
  ---
  
  