单个NFS服务器到冗余NFS存储

目前,我们有6台安装有Proxmox VE的物理主机。 这些主机正在运行一些虚拟机。 主要是Windows Server 2008 R2。 主机是带有中央RAID5存储的英特尔刀片式服务器,可以访问英特尔共享LUN。 中央存储器与刀片服务器之一物理连接,并包含虚拟机的所有磁盘映像。 这些虚拟机的磁盘镜像通过中央NFS存储由VM主机访问。 由于这个NFS主机只有一台机器,所以我们无意中创build了一个单点故障。 例如,如果NFS主机由于某种原因无法启动,则所有虚拟机都无法访问其磁盘映像,也不会运行。

主要的问题是关于如何以及用什么软件把这个NFS存储位置转换成冗余的,可能同步到另一个存储设备,而不会对现有的VM磁盘映像造成任何损害。 它可能是一个故障切换系统,一个NFS主机被取消,另一个NFS主机接pipe。 什么是消除这个SPoF的最佳解决scheme?

冗余NFS(实际上, 任何冗余存储)并不是微不足道的。
如果你真的想让它工作的话,打算花费大量的时间(和资本)。

通常有两种select可供您使用:

选项1:购买冗余存储设备

这是最快的(通常是最昂贵的)选项。 select一个制造具有冗余function的存储设备的供应商,以满足您的需求,给他们公司的信用卡,尽量不要在发票上留下眼泪。

这条路线的两个主要优点是速度快(您可以按照手册获得一个预先构build的解决scheme),并且支持(如果有问题,请致电供应商并大声修复)。


选项2:自己构build

本站点使用Debian Linux构build冗余iSCSI / NFS群集有一个很好的概述 。 这是从2009年开始的,但是原则是完善的。
关于如何构build这种types的环境的具体分步说明超出了服务器错误的范围,但我可以给你一个你需要什么的粗略概述:

  • 共享(或复制)存储
    为了在存储层上拥有冗余,您需要从多个位置访问相同的数据 – 可以实时复制,也可以将所有数据连接到共享的磁盘池。
    SAN是满足共享存储要求的常用方法。 这仍然是一个单一的失败点,但是当你把所有的鸡蛋放在其中一个篮子,你确定它是一个非常好的篮子。
    DRBD或ZFS复制可以满足复制存储的要求,如果select这种方式 – 这可能比SAN更便宜,而且两种技术都已经发展到非常可靠的状态。
  • 多个“前端”系统
    现在您已经有了存储空间,您需要通过冗余的“前端”系统来访问这些存储空间 – 这些是运行NFS服务器的机器(或者用于向客户端提供磁盘的任何服务器)。
    您至less需要两个,运行高可用性/故障转移软件,以便在失去一个可以接pipe的情况下。 IP故障转移是这里的“简单”选项(如果一个盒子掉了,另一个盒子假定是“活的”IP地址)。
  • 存储的多条物理path
    如果一切都通过一根电线,世界上所有的存储冗余并不能帮助你。
    您需要确保客户端计算机有多条物理path可以返回到存储前端,否则,失败的交换机将为您提供相同的单点故障情况。

构build自己的冗余存储通常需要比供应商解决scheme更长的时间,而且您自己也支持(这意味着您需要熟悉所涉及的技术)。
主要优势是成本(您可以经常构build比供应商提供的解决scheme便宜的环境)和灵活性(您可以定制解决scheme以满足您的需求并与环境的其他部分(例如备份系统)集成)。


东西你需要任何一种方式

在生产之前,您需要一个testing计划*
理想的情况是,在开始构build之前,您应该拥有它(知道您所反对的失败会帮助您devise系统)。

您的testing目标是certificate最糟糕的故障汇总不会让您处于丢失数据的位置(并且理想情况下不会因为您的存储变得无法访问而导致中断)。
您可能无法find或testing每种可能的故障情况,但是写下所有您能想到的故障并确保对其进行testing。 您不希望等到您的第一天的实际生产使用,发现在备用机器中丢失一个磁盘可能导致主要崩溃 – 在这一点来解决它为时已晚。