我有两个由同一个提供者维护的虚拟服务器。 我让他们把它们放在不同的物理机器上。 他们告诉我,他们把他们放在一个集群的不同节点。
我不太了解群集和实际是什么节点(是一个独立的机器?)我想知道的是,如果在具有生产服务器的保存群集中安装备份服务器是安全的。
我认为在独立的机器上安装一台备份服务器是一个好主意,这样如果其中一台服务器不小心压坏了另一台服务器,那么这台服务器仍然是安全的。
如果不了解威胁模型的更多细节,也就是说,您想要防范什么?
如果你想在你的托pipe映像上幸免于软件故障,那么只要有两个虚拟机应该没问题; 如果一个崩溃,另一个应该仍然在那里。
如果你想在主机方面幸免于软件或硬件故障,那么joeqwerty在上面的评论中是正确的:这将取决于托pipe和集群技术的细节,只有你的托pipe公司可以提供build议。
如果你想在托pipe公司的基础设施上失败,那么在不同的主机上安装虚拟机是不够的。 您将需要不同地点的虚拟机,甚至可能需要不同的提供商。
除非你更精确地确定你想要的是什么样的冗余,否则谁也不能说给定的解决scheme是否足够。
还有一些注意事项:在虚拟机之间引入的分离越多,在任何合理的时间范围内故障切换到备份服务器就越困难。 ADM正确地指出,备份应尽可能远离信息来源,尽pipe这不是您所问的问题。
不,这个scheme不被认为是安全的,因为如果你的(提供者/主机服务器/提供者备份)停机,你将不能恢复你的业务。
最安全的备份是当你的文件到一个完全不同的位置 – Dropbox,S3,Github,你自己的家用电脑等。
如果发生灾难,使用此设置,您可以轻松地在其他地方购买新的服务器,并推出备份。
迟早你将不得不在数据延迟和保护之间做出妥协。
为数据提供最好的保护是通过保证防止拜占庭故障的algorithm。 这样的algorithm至less需要四个副本,这些副本之间的通信延迟会导致数据更新的延迟较差。 这是非常糟糕的,因为这些副本需要位于四个不同的数据中心,以获得最佳的安全性。
几乎每个人都select牺牲一点从这样的设置获得的完整性保证,以降低成本和/或提高性能。
同一个数据中心中的两台服务器可以提高您的服务的可用性,并防止某些数据丢失的情况。 但是,如果两台服务器的设置都是在他们认为另一台服务器出现故障的情况下进行写入,那么两台服务器设置会造成数据损坏的较小风险 使服务器保持在同一个数据中心,减less了它们之间的延迟,并使它们更有可能保持连接,而不会同时执行冲突的写入。
但是同一个数据中心中的两台服务器不能代替备份或复制。
写入数据后,可以将数据复制到另一个物理位置。 如果您允许在将数据复制到另一个物理位置之前将写入提交并传递回客户端,则延迟成本可以忽略不计。 根据写入量,数据丢失可能性的窗口可以保持几分钟或几秒钟。