用于小型办公室中的HA服务器的DRBD问题

Backround:我们需要在小型办公环境中使用HA服务器,并且正在寻找DRBD来提供它。 我们只有约100GB需要在HA服务器上,服务器负载将会非常低。 如果我们存档较旧的办公室数据,每年的数据可能会增加大约10%-25%,如果我们不这样做,每年可能增加50%-75%。

要点是我们使用消费品级和使用企业级硬件的混合,如果我们不预先规划它,这将是一个问题; 而预先构build的高质量服务器也会失败,所以冗余服务器似乎是要走的路。

计划:我们认为find(2)最好的“我们的降压”服务器并同步它们是件好事。 我们只需要支持SATA / SAS的服务器和空间就可以为价格提供尽可能多的驱动器。 这些服务器好像可以有$ 100- $ 200(+一些零件和额外的驱动器),如果你达成协议。

这在理论上意味着一台服务器可能会失败,如果我们花了几天的时间去解决问题,只要我们没有再次发生巧合的故障,事情就会一直响起,直到我们的IT部门(我)能够实现。 我们将使用Debian作为操作系统。

一些问题

  1. (A)DRBD如何处理驱动器或控制器故障? 这就是显示存储驱动程序之前的DRBD,那么当控制器发生故障并写入脏数据或驱动器发生故障但不立即崩溃时会发生什么情况? 数据是否镜像到其他服务器,在这种情况下是否存在跨服务器数据损坏的风险?

  2. (B)DRBD的失败点是什么? 这在理论上只要一台服务器启动并运行就没有问题了。 但是我们知道存在一些问题,那么使用DRBD的失败模式是什么,因为它们大多数在理论上应该是软件?

  3. 如果我们要为此有两台服务器,那么使用MYSQL和Apache来运行虚拟机的数据库和Web服务器复制是否合理? (我假设如此)

  4. DRBD是否足够可靠? 如果不是,某些任务是不可靠的,或者是更随机的。 search出现了各种各样的问题的人,但这是互联网与看似更坏的信息比好。

  5. 如果数据通过LAN进行同步,DRBD是否使用了两倍的带宽? 也就是说,我们应该把NICS加倍,做一些链路聚合和中继? 然后,也许把他们分开的路由器在不同的电路和不同的房间UPS,现在你真的有一些冗余!

  6. 就服务器pipe理而言,这对于一个办公室来说太疯狂了吗? 有一个更简单的REALTIME替代(理论上认为DRBD看起来简单)。

我们已经有一台服务器。 所以在我看来,第二台配备DRBD专用驱动器的USED服务器可以很容易地以一些智能购物的价格达到150-250美元左右。 添加第二个路由器,更多的驱动器,更多的网卡(使用),和(2)UPS的,并谈论$ 1,000 +/-。 那相对便宜! 我希望这将主要是在服务器故障期间为我们购买时间。 这些日子,驱动器故障似乎是RAID处理起来更容易的事情。 这是其他硬件故障,如控制器,内存或电源,可能需要停机诊断和解决这个问题。

对于我们来说,冗余服务器意味着使用的硬件变得更加可行,更多的运行时间和更多的灵活性让我能够在我的日程安排允许的情况下解决问题,而不必停止一切来修复服务器。

希望我不会错过这些问题容易search的答案。 我做了一个快速search,没有find我正在寻找的东西。

首先,您需要定义“HA”的真正含义。 你在防范什么,X型和Y型停运的费用是多less? 它将如何影响你的组织? 无论如何,你在这个组织中的angular色是什么,你的时间值多less钱? 你可以花多less时间在这个上面? 之后,你必须决定这个要求是否允许这种解决scheme,或者如果你需要其他的东西。

第二:在我的世界里,“我需要医pipe局”和“我要买200美元的蹩脚的二手服务器”这些句子不可能合在一起(事实上,对于我来说,购买废旧医疗用品和专业用途,根本不合适)。

无论如何,你的问题:

  1. 如果您将全新数据写入DRBD块设备,则它将被正确写入非破坏控制器。 这是一个完全透明的实际磁盘前面的层,就像软件RAID或LVM一样。 但是,如果由于控制器损坏或磁盘读取错误而导致主节点上的数据损坏,则可能很容易将其传播到辅助节点,因为写入操作通常是读取 – 修改 – 写入周期,在这种情况下,将在主节点上读取损坏的数据,并将该块的写入操作发送到两个节点。 这在使用DRBD时提出了最重要的一点: 与RAID相同,它绝不替代可靠的备份。

  2. 我不明白你的意思。

  3. 当在单个节点中使用虚拟机时,安装程​​序非常有用,它也将在双节点安装中,并且在完成正确的工作时,您将拥有可能的实时迁移的优势。

  4. 根据我的经验,是的。 您应该在您的环境中进行彻底的testing,并花费大量的时间来模拟系统可以体验的各种失败状态,并学习并logging如何从中恢复。 虽然DRBD是可靠的,但它不是自我修复的,需要很好地了解情况以从故障情况中恢复。

  5. 真的想在节点之间build立一个专门的连接。 在双节点设置中,这可以是没有交换机或其他东西的点对点连接。 从技术上来说,其他一切都是可能的,但这只是无稽之谈。 根据您的使用模式,使用中继或更快的NIC(例如10G以太网或Infiniband)作为这个专用链路可能是有益的,但是如果要读取或写入的大部分/全部数据来自LAN接口,则这不会有助于无论如何,你都受局域网的限制。

  6. 这回到我的第一段:你对它有什么期望?你认为HA是什么? 对于一个经验丰富的系统pipe理员来说,它可以是一种廉价而可靠的方法来保护一系列的故障,但是这需要对这些部件如何组装在一起的基本了解。 许多没有这种经验丰富的全职SA的小商店与优质的硬件和良好的支持合同相比更胜一筹。

最后:不要尝试在当前的硬件上追溯适应任何高可用性解决scheme。 正如我写的,你需要时间来试验设置和失败的条件。 这需要大量的停机时间,在生产硬件上不能合理完成。