2017-08-02 46 views
1

假设我在三台服务器上安装了EFS卷。在该卷中,我有一些由厨师创建的文件夹。由于该卷跨3个不同的服务器安装,我是否应该将相同的配方应用于所有3台服务器?这似乎有点多余,因为server1会“创建”dirs并设置权限,而server2和server3会运行相同的配方,因此对共享卷做基本相同的事情。如何使用Chef处理AWS EFS挂载权限?

我应该如何处理与主厨不同的EFS卷?

回答

2

我想说,只要你在服务器上有一致的UID/GID,就可以在任何地方使用。这给你一些好处:

  1. 在新的环境中,你不必关心哪个服务器首先出现。
  2. 如果您想分割存储,您不必对配方做额外修改 - 一切仍然有效。
  3. 依赖关系更加明确。你知道你的其他资源需要该文件夹才能工作。现在可能很明显,但如果您将来要转向新的环境,那么这些资源之间就有明确的联系。

实际上,配方需要是幂等的,所以共享不应该引起任何问题。它不应该引入明显的减速(在第一次只是stat()检查后)。

+0

Gotcha。是的,我注意到的另一件事是,我错过了数据库服务器上的'tomcat'用户。此应用程序还需要将EFS卷安装在数据库服务器上。我们没有安装tomcat,但EFS卷上的文件/目录属于'tomcat.'。我最终在那里创建了'tomcat'用户,而不是我想要做的,但它工作正常。 – luckytaxi