背景:我们需要一个小型办公环境中的 HA 服务器,并且正在寻找 DRBD 来提供它。我们只有大约 100GB 需要在 HA 服务器上,服务器负载将非常低。如果我们归档旧的办公室数据,数据可能每年增加约 10%-25%,如果我们不归档,则每年增加 50%-75%。
关键是我们混合使用了消费级和使用过的企业级硬件,如果我们不提前计划,这将是一个问题;并且预先构建的优质服务器确实会失败,因此冗余服务器似乎是要走的路。
计划:我们认为最好找到 (2) 台性价比最高的二手服务器并同步它们。我们只需要支持 SATA/SAS 的服务器和空间,以尽可能多的驱动器的价格。如果您达成交易,这些服务器似乎可以以 100 至 200 美元(+一些零件和额外的驱动器)的价格获得。
从理论上讲,这意味着服务器可能会发生故障,如果我们需要几天的时间才能到达它,只要我们没有另一个巧合的故障,事情就会一直持续下去,直到我们的 IT 部门(我)能够解决它。我们将使用 Debian 作为操作系统。
一些问题
(A) DRBD 如何处理驱动器或控制器故障?那就是在存储驱动之前显示DRBD,那么当控制器发生故障并写入脏数据或驱动器发生故障但没有立即崩溃时会发生什么?数据是否镜像到另一台服务器,在这种情况下是否存在跨服务器数据损坏的风险?
(B) DRBD 的故障点是什么;理论上,只要一台服务器启动并运行,就不会出现任何问题。但是我们知道存在问题,那么使用 DRBD 的故障模式是什么,因为理论上大多数应该是软件?
如果我们将为此使用两台服务器,那么在每台服务器上运行虚拟机并使用 MYSQL 和 Apache 进行数据库和 Web 服务器复制是否合理?(我假设是这样)
DRBD 是否足够可靠?如果不是,那么不可靠性是孤立于某些任务,还是更加随机。搜索出现了各种问题的人,但这是一个看似坏信息多于好信息的互联网。
如果数据通过 LAN 同步,DRBD 是否使用双倍带宽?也就是说,我们是否应该在 NICS 上加倍并进行一些链路聚合和中继?然后也许把它们放在不同电路上的不同路由器上,把 UPS 放在不同房间里,现在你真的有一些冗余了!
就服务器管理而言,这对于办公室来说是否太疯狂了?是否有更简单的 REALTIME 替代方案(授予 DRBD 在理论上似乎很简单)。
我们已经有一个服务器。所以在我看来,第二台带有 DRBD 专用驱动器的 USED 服务器可以很容易地以大约 150 美元到 250 美元的价格购买,而且需要一些智能购物。添加第二个路由器、更多驱动器、更多 NIC(已使用)和 (2) 个 UPS,并且价格为 1,000 美元 +/-。那是相对便宜的!我希望这主要是在服务器故障期间为我们争取时间。如今,驱动器故障似乎更容易使用 RAID 处理。其他硬件故障,如控制器、内存或电源,可能需要停机来诊断和修复,这是值得关注的问题。
对我们来说,冗余服务器意味着使用过的硬件变得更加可行,并且在我的日程安排允许时,我可以有更多的正常运行时间和更大的灵活性来修复问题,而不必停止一切来修复服务器。
希望我没有错过这些问题有容易搜索的答案。我快速搜索并没有找到我要找的东西。
首先,您需要定义“HA”的真正 含义。您要防范什么,类型 X 和持续时间 Y 的中断的成本是多少?它将如何影响您的组织?无论如何,您在这个组织中的角色是什么?您的时间价值几何?你能在这上面花多少时间?之后,您必须决定此要求是否允许这种解决方案,或者您是否需要其他解决方案。
第二:在我的世界里,“我需要 HA”和“我要花 200 美元购买糟糕的二手服务器”这两个句子不可能放在一起(事实上,对我来说,购买二手垃圾和任何类型的专业用途都不要) t完全适合在一起)。
无论如何,你的问题:
如果您将全新的数据写入 DRBD 块设备,它将被正确写入到未损坏的控制器上。它是实际磁盘前面的一个完全透明的层,就像软件 RAID 或 LVM 一样。但是,如果由于控制器损坏或磁盘读取错误导致主节点上的数据损坏,这很容易传播到辅助节点,因为写入操作通常是读取-修改-写入循环,在这种情况下,一个块将在主节点上读取损坏的数据,并将此块的写入操作发送到两个节点。这带来了使用 DRBD 时最重要的一点:与 RAID 一样,它绝不可以替代良好且可靠的备份。
我不明白你在这里的意思。
当在单节点设置中使用 VM 很有用时,它也将在两节点设置中使用,并且如果操作正确,您将拥有可能进行实时迁移的优势。
以我的经验,是的。不过,您应该在您的环境中对其进行彻底测试,并花费大量时间模拟系统可以体验的各种故障状态,并学习并记录如何从中恢复。虽然它是可靠的,但 DRBD 不是自我修复的,需要对情况有很好的了解才能从故障条件中恢复。
您确实需要节点之间的专用连接。在双节点设置中,这可以是没有交换机或其他东西的点对点连接。从技术上讲,其他一切都可能是可能的,但这只是胡说八道。根据您的使用模式,为此专用链路使用中继或更快的 NIC(例如 10G 以太网或 Infiniband)可能是有益的,但如果要读取或写入的大部分/所有数据都来自 LAN 接口,这将无济于事,因为无论如何,您都受到局域网的限制。
这又回到了我的第一段:你对它有什么期望,你认为 HA 是什么?对于经验丰富的系统管理员来说,这可能是一种廉价且可靠的方法来防止出现一系列故障,但它需要对部件如何组合在一起有很多基本的了解。但是,许多没有这种经验丰富的全职 SA 的小商店最好拥有优质的硬件和良好的支持合同。
最后:不要尝试在您当前的硬件上追溯安装任何 HA 解决方案。正如我所写的,您需要时间来试验设置及其故障条件。这需要大量停机时间,并且无法在您的生产硬件上合理地完成。