你如何设置冗余服务器?

对于那里的系统pipe理员,我想了解如何为小型项目维护冗余服务器。 在我心中,服务器数量不多的是两个,三个主要的基本服务:HTTP,邮件和DNS。 你如何自动化这种双重性? 是rsync的首选工具(再次,小项目)?

除了这些任务的常用工具之外,对书籍和文章的引用将不胜感激。 这种方法越实际,越好。

这听起来像你真正的问题是如何使服务高度可用(忽略,如果这不是真正的问题)。 因为你正在谈论的服务器,服务和数据(区域文件,Apache的docroot,…) – 如果我的猜测是正确的,你可能想调整标题和标签的问题:)

冗余(如在数据的多个副本中)

可以实现:

  • drbd(同步 – 给你一定的保证,在两台服务器上总会有相同的数据)
  • rsync(asynchronous – 不保证2台主机之间的数据一致性)
    • scp或其他任何可以在主机之间复制数据的工具(如果你使用NFS挂载,甚至可以使用cp

我相信这不是你真正要求的…

高可用性

rsync 不是 高可用性(HA) 的首选工具
如果要同步2个目录则是select的工具

你应该从Clusterlabs的“ Scratch Guide”中获取一个想法。 这包括以下主题:

  • 医pipe局的服务
  • 主机之间的服务迁移(这样任何人都可以停下来,而且还在提供服务)
  • 示例服务
    • Apache(没有任何数据同步)
    • drbd(syncrhonous块设备同步)
    • GFS(集群文件系统,允许相同的块设备由不同的主机装载)
  • 主动/被动和主动/主动集群

这或多或less是一步一步的如何,会给你正确的指针。 但要知道,如果你刚开始使用,房委会不是一个在一个下午就能够正确的话题。 此外,由于您使用sysadmin-basics标记它:预计会很难(但理解这个概念后,它会得到回报

冗余通常不是通过rsync与现有系统打交道的。 对于HTTP,通常使用支持故障转移(如HAProxy或MS的NLB)的负载均衡器,或可能使用CARP等IP共享解决scheme; 后端服务器将从共同的共享存储或与rsync或数据库系统同步的两个文件系统(也可能或多或less地复杂)提供服务。 对于电子邮件,它有自己的系统与DNS结合,为SMTP提供循环和首选顺序; 多个POP或IMAP服务器前置冗余DBMS; 或Exchange有DAG。 DNS也有自己的机制,主要是主/从configuration中的多个名称服务器(在某些情况下是多主机)。

如何在特定的情况下使用特定的软件来实现冗余,高度依赖于您的需求; 当然不是一个大小适中的东西,我可以指出你一个快速的方法文件。

这是一个相当广泛的问题。 既然你提到rsync,我假设你正在谈论一个* nix系统。

这真的取决于你的设置types。 如果你的HTTP服务是完全静态的(没有数据库,或者你有什么),那么有两个带有rsync的root目录的双胞胎apache服务器。

邮件更加棘手,因为如果您正在托pipe邮箱,它们可能位于数据库中,并且在文件系统级别对数据库进行rsyncing会导致损坏。

根据DNS的工作方式(如果它使用平面文件进行存储),也可以configurationDNS软件在两台机器上运行同样的操作,如果使用数据库或自定义二进制文件,rsync也不会运行平面文件。帮帮我。

有企业级的系统可用于此,但是由于您具体询问了小型项目,我认为它们超出了您的范围。