在服务器场环境中,是否有一种首选技术可以使一台服务器上创建/更新/删除的文件与服务器场中所有其他服务器保持同步?例如,如果一个文件是由服务器A上的用户创建的,而该文件是由服务器B上的用户请求的,那么确保在两台服务器上同时访问该文件的最佳方法是什么?相同的答案是否适用于场中的多台(1,000+)服务器?
虽然我的特定问题主要适用于Windows服务器,但最好是平台没有什么不同。
发布于 2009-04-08 18:11:11
您可以使用内置于服务器操作系统中的分布式文件系统(DFS)。我这样做是为了实现类似的目标。
本质上,您可以配置DFS来创建一个根目录,它实际上只是一个URI。您可以创建看起来像共享的\DOMAIN\ share,尽管它是虚拟的。DFS利用域的DNS将其显示为有效位置。在根目录中,您可以创建链接,这些链接只是指向任意数量的服务器上的物理文件共享的路径。这些目录等同于根目录下的子目录。最后,对于每个链接,您可以创建多个目标。在您的示例中,它将在每台机器上共享。然后,DFS将使用文件复制服务跨列为目标的所有路径复制这些共享中的文件。
它对于我所跨越的两个服务器来说工作得非常好。我不知道它在复制到1000+服务器时会有多大的伸缩性。这是一个企业级的解决方案,但我不确定机器的数量在管理上是否可行。因为您是跨机器的,所以您可能不需要以这种规模进行复制,而是将其用作服务,就像它的抽象一样。路径是一个常量。
其他注意事项:您必须安装文件复制服务。我认为您还需要一个域环境才能真正做到这一点。
发布于 2009-04-08 18:22:28
在Linux端,您可能会对DRDB感兴趣。
https://stackoverflow.com/questions/730528
复制相似问题