Answers:
我目前正在使用AFS,NFSv3,NFSv4和CIFS。CIFS主要用于支持Windows客户端,我发现它不太适合UNIX / Linux客户端,因为它要求访问共享的每个用户都具有单独的安装和连接。用户可以共享相同的安装点,但是在连接的服务器端,他们将被视为同一用户。
NFSv3稳定且易于处理,主要用于导出到其他UNIX / Linux服务器的目录。对于AFS和NFSv4,我都使用Kerberos。在Ubuntu 8.04和更早版本上使用NFSv4时,我发现它有点不稳定,但是它已经稳步改进,并且10.04+没有稳定性问题。使用sec = krb5p确实是性能瓶颈,因此我倾向于使用sec = krb5i或sec = krb5。
我有一个问题是如何使用Linux的NFSv4层处理Kerberos票证。守护程序会定期扫描/ tmp以查找以krb5cc_开头的文件,并将票证与文件所有者进行匹配。如果用户在/ tmp下拥有多个票证,则它将使用扫描时最先找到的票证文件。临时为其他目的而购票时,我不小心更改了身份。AFS将票证存储在内核空间中,并且通常与登录会话相关联。我可以以同一Linux用户身份登录两次,但是每次登录时仍使用不同的AFS凭据,而不会受到干扰。我还必须将凭据显式加载到内核中,这通常在登录时自动发生。我可以安全地在用户空间中切换票证,而不会干扰文件权限。
总的来说,我比AFSv3 / 4更喜欢AFS的许多想法,但是与NFS和CIFS相比,它在开发它的社区中确实要小得多。它也被正确称为OpenAFS,AFS是IBM开源产品的名称。AFS和NFS之间的最大区别是AFS在其网络协议和支持方面更加一致。AFS确实提供带内锁定,而不是像NFSv3那样使用边带协议。它还在POSIX ACL和NFSv4 / NTFS / CIFS ACL之间提供了更复杂的ACL系统。与NFSv3中的POSIX ACL不同,它是其协议的标准部分,Windows和UNIX / Linux客户端都可以访问和修改它们。它也不受许多NFSv3服务器具有的16组限制的困扰。这使AFS在Windows和UNIX系统上看起来更加一致。另外,由于只能通过AFS的网络协议对其进行访问,因此实际底层文件系统的行为与其导出视图的行为略有不同,这也没有问题。例如,在Linux中,文件可能具有MAC或SELinux标签来控制访问权限或其他在NFS上不可见的扩展属性。另一方面,AFS没有扩展属性。
DCE / DFS始终至少受到3次打击:
我知道,他们以或多或少的开源形式发布了DCE 1.1,但那时还为时已晚。
我一直对NFS,V3或更高版本有好运,但是那不是您所说的苛刻用户。我的印象是,很多地方都将Samba服务器与CIFS一起使用,但是我没有直接的经验。