在生物信息学中,我们已经越来越多地与基于集群的部署(例如Kubernetes,Spark和Hadoop)合作。术语POSIX存储在文档中不断出现。
POSIX存储和NFS块存储(EBS)有什么区别?这些术语可以互换吗?它基本上意味着不是对象存储(S3)或Microsoft(SMB,CIFS)的东西吗?
答案 0 :(得分:9)
我的理解是:
POSIX存储是指可以使用POSIX文件系统功能(即通常的“ fopen”)访问并且符合POSIX filesystem requirements的任何存储:这意味着它必须提供多种功能,例如POSIX属性,或者严格遵循POSIX语义的原子文件阻止。
这通常是通过POSIX操作系统连接到主机(直接或通过SAN)的存储。另外,文件系统必须具有POSIX功能。
NFS,CIFS,其他NAS文件系统以及HDFS(Hadoop)与POSIX不兼容。这些基于网络协议(通常由其他文件系统支持)工作,并且它们的访问语义不允许POSIX兼容性(但请参阅有关NFS的@SteveLoughran注意)。
NTFS和FAT是文件系统,但它们不具备POSIX功能(它们不支持使用相同语义的锁定)。 Windows也不提供POSIX兼容功能,但是即使Linux在这些文件系统上也不能完全兼容POSIX存储。它们不是“ POSIX存储”。
Amazon EBS卷是块存储(SAN),因此一旦将卷连接到主机,如果您使用的文件系统是POSIX,并且您正在运行POSIX操作系统,则可以将其视为“ POSIX存储”。 / p>
S3不是文件系统,它具有自己的对象访问API,因此不支持POSIX文件功能。
大多数典型的Linux文件系统(当由POSIX主机直接安装时)具有POSIX功能(即ext3,ext4,xfs,zfs)。