和本地POXIS文件系统上的一样,mkdir()是AWS Elastic Block Storage的原子类吗?

时间:2018-10-30 03:38:40

标签: amazon-web-services kubernetes posix

在本地计算机上,我可以执行mkdir并相信此操作是原子的。因此,我可以将其用作锁。是否可以在附有EBS的EC2实例上类似地使用mkdir并将其原子化?

出于进一步的考虑,我正在考虑这样一种情况:我在Kubernetes节点上运行了多个Kubernetes Pod,它们之间有一个persistentVolume(AWS EBS)。如果其中一个Pod希望获得对该卷中某个文件夹的独占访问权,可以这样做吗? Pod正在共享只读数据,但是我每周仅触发一次aws s3 sync,而不是每周一次触发npm install --save mdbvue

1 个答案:

答案 0 :(得分:3)

由于EBS不是文件系统...

  

Amazon Elastic Block Store(Amazon EBS)提供用于EC2实例的块级存储卷。

     

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html

...该问题没有直接答案,因为它不是正确的问题。 EBS作为一种块设备,不负责甚至不知道实际的文件系统操作或其保证。

tl; dr:如果mkdir()在您正在使用的文件系统中是原子的,那么如果该文件系统在EBS卷上,它将仍然是原子的。

是否使用mkdir()进行锁定是一种different question