Chef infra 如何使用Chef处理AWS EFS装载权限?

Chef infra 如何使用Chef处理AWS EFS装载权限?,chef-infra,Chef Infra,假设我在三台服务器上安装了一个EFS卷。在卷中,我有一些由Chef创建的文件夹。由于此卷跨3台不同的服务器装载,我是否应该对所有3台服务器应用相同的方法?这似乎有点多余,因为server1将“创建”目录并设置权限,而server2和server3将运行相同的方法,因此对共享卷执行基本相同的操作 我是否应该与Chef以不同的方式处理EFS卷?我会说,只要服务器上有一致的UID/GID,就可以在任何地方都这样做。这给您带来了一些好处: 在新的环境中,您不必关心哪个服务器首先出现 如果你想分割存储空间

假设我在三台服务器上安装了一个EFS卷。在卷中,我有一些由Chef创建的文件夹。由于此卷跨3台不同的服务器装载,我是否应该对所有3台服务器应用相同的方法?这似乎有点多余,因为server1将“创建”目录并设置权限,而server2和server3将运行相同的方法,因此对共享卷执行基本相同的操作


我是否应该与Chef以不同的方式处理EFS卷?

我会说,只要服务器上有一致的UID/GID,就可以在任何地方都这样做。这给您带来了一些好处:

  • 在新的环境中,您不必关心哪个服务器首先出现
  • 如果你想分割存储空间,你不需要对配方做额外的修改——一切都可以正常工作
  • 依赖关系更加明确。您知道您的其他资源需要该文件夹才能工作。现在可能很明显,但将来如果你要迁移到一个新的环境中,这些资源之间会有一个明确的联系

  • 在实践中,配方需要是幂等的,因此共享它不会引起任何问题。它也不应该引起明显的减速(在第一次之后,它只是一个
    stat()
    check)。

    Gotcha。是的,我注意到的另一件事是,我缺少数据库服务器上的
    tomcat
    用户。此应用程序要求EFS卷也安装在DB服务器上。我们没有安装tomcat,但EFS卷上的文件/dir归
    tomcat所有。
    我最终在那里创建了
    tomcat
    用户,这不是我想做的,但它可以工作。