ESXi 数据存储下的软件 RAID

car*_*ett 8 raid storage vmware-esxi

我正在为一家小型企业构建一个虚拟环境。它基于单个 ESXi 5.1 主机,该主机将托管六个左右的虚拟机。不过,我对如何实现存储有一些疑问。我自然希望数据存储具有容错性,但我无法获得用于单独存储机器的资金,也无法获得昂贵的硬件 RAID 解决方案,因此我想使用一些软件 RAID(最有可能是 lvm/mdadm)。如何实施?到目前为止,我唯一的想法是创建一个将存储适配器作为直通的虚拟机,将一些软件 RAID 放在磁盘顶部,然后将生成的卷“返回”给 ESXi 主机,然后创建一个数据存储,其他虚拟机可以从中创建数据存储展示他们的存储空间。

这似乎有点迂回,我有更好的选择吗?根据我的研究,passthrough 似乎有很多缺点,例如没有暂停/恢复等。

Cho*_*er3 16

ESXi 不是通用操作系统,不应被视为通用操作系统 - 绝对遵守硬件兼容性列表,因此使用经过测试和批准的硬件 RAID 适配器。选择做其他任何事情,你就会加入其他人的行列,他们走捷径并最终回到这里抱怨他们的系统不工作或他们丢失了数据——我们得到了很多这样的人。

  • +1,如果您真的想在管理程序主机上使用软件 raid,那么 ESXi 不是正确的产品。就像@Chopper3 所说的那样,使用 kvm 获取通用操作系统,例如 Windows Server 2012 或 Linux。 (7认同)
  • 包括 SAS 控制器在内的所有硬件都在 HCL 上,但我想这可能会超出兼容性测试的范围…… (2认同)

use*_*391 7

这似乎有点迂回,我有更好的选择吗?

你的总体想法是正确的。我个人建议将 ZFS 与 Solaris 或 FreeBSD 一起使用,但 mdadm 也可能有效。也许你没有得到我在这篇文章中写的所有优点,所以把它作为免责声明。这篇文章会很长,我提前为文字墙道歉。

根据我的研究,passthrough 似乎有很多缺点,例如没有暂停/恢复等。

有一些,特别是:

  1. 仅适用于 CPU (Intel) 或 CPU+板 (AMD) 上的 vt-d(或 AMD IOMMU)支持:没问题,今天很难获得没有它的服务器,因为除了 Atoms 之外的每个 Intel CPU 都有它(甚至在 HP、Dell 和其他公司的基本系统中)
  2. 无法创建具有传递元素的所有 VM 的 VMware 快照:理论上这是一个问题,但这只会影响您的存储 VM,它的配置设置最少,仅用于其他用途。您可以在存储级别创建快照,它们更快、更便宜并且不会减慢系统速度。此外,您可以毫无问题地对主机上的所有其他 VM 进行快照(甚至将其与文件系统快照结合起来,以获得强大的恢复选项和长期状态存档)。
  3. 您的内部复杂性在某些方面增加了:乍一看,这是真的 - 您添加了一个额外的层,您需要管理更多的东西,比如您新的内部 SAN(VMware 中的网络/VLAN 设置)或您的存储 VM 本身(更新等等)。但另一方面,您也具有简单性和灵活性:
    • 可以使用一些简单的脚本自动创建正在运行的虚拟机的一致备份,并且完全免费。它们也可以存储在另一台机器、磁盘或云(加密)上,而无需任何额外的昂贵软件解决方案。
    • 如果您的服务器死机,只需购买另一个现成的替代品,安装 ESXi,启用直通,配置您的网络,添加您的磁盘并启动您的存储虚拟机。启动后,重新扫描您的存储,就像刚刚断电一样,您的所有数据都是安全的并且您知道这一点(而不是使用 HW RAID,您希望如此)。
    • 可以在需要时以最小的更改满足特殊要求。企业拥有需要本地磁盘进行备份的旧应用程序?只需配置 iSCSI 并透明地呈现您的存储。他们经历了增长并需要更多存储空间?只需使用更多磁盘扩展池,然后直接通过 iSCSI 或通过 VMware(NFS 或 iSCSI 与 vmdk 顶部)呈现它们。他们想在强大的独立服务器上使用数据库吗?只需在另一个 LAN/VLAN 上打开您的 NFS 并将其作为“真正的”SAN 提供给新服务器。
  4. GPU 直通仅适用于昂贵的 Nvidia 卡和所有 AMD 卡:目前确实如此,但您的存储虚拟机在任何情况下都不需要专用 GPU。

还有一些与直通无关的普遍烦恼:

  1. 要重启存储虚拟机,需要先关闭所有依赖它的其他虚拟机:这个明显的问题很少被提及,但在我看来是最烦人的。当然,更新 ESXi 本身也需要完全重启,但由于您现在有两个系统,时间可能无法完美同步。我推荐一个稳定的操作系统,并在两个系统之间排列非关键更新。此外,您应该将存储 VM 限制在其自己的内部虚拟 LAN 中,从而进一步减少在修复发布后立即应用的需求。请注意,这也适用于从 GUI 意外重新启动存储 VM。
  2. 底层堆栈中的错误导致您的整个机器无法运行:与仅 ESXi 相比,这种风险会增加,因为现在您有两个系统和两个网络堆栈。从好的方面来说,您的存储虚拟机和 ESXi 通常应该是稳定的,并且错误应该很少。尽管如此,我建议在发布后几天/几周安排更新,以便您可以查看其他人是否遇到问题。另一方面,不更改配置意味着它非常稳定,这对 SME 来说是一个加分项(需要较少的支持)。
  3. 3rd 方支持人员不知道解决方案:这是一种非常罕见的设置,因此您的随机替换从一开始就无需您的文档就能解决问题的可能性很小 - 这可能是一个问题或优势,具体取决于您的业务目标。可以通过一些解释设置结构的基本文档(使用图片/图表!)、与传统 RAID 设置的比较以及在常见问题案例(备份、恢复、磁盘更换、更新、网络更改、硬件扩展)。

撇开技术问题不谈,您必须考虑您的目标以及实现这些目标的方法。这决定了您选择的解决方案的实用性及其优缺点,以及您的总体结果(成功或失败)。这在很大程度上取决于业务本身的需求。从业务角度支持或反对您提出的解决方案的一些考虑因素:

  • 预算:有些企业可以证明每年为几乎从未使用过的支持合同支付数千美元是合理的,因为使用一次,对他们来说价值更高。有些企业只能为即时价值付费,并且可以非常便宜/灵活地应对意外停机,因此资金将被浪费。
  • 安全要求:有些企业无法选择 10 年前损坏或损坏的单个文件,而有些企业甚至完全丢失所有当前数据也只是一种不便。备份、快照等的需求取决于此而变化。
  • 支持结构:有些企业想要购买一台机器,设置它然后(几乎)永远运行它,根本不需要任何支持,还有一些企业想要并需要他们信任的人的持续更改、升级和直接支持。
  • 灵活性要求:有些企业变化如此之快,以至于您无法提前看到他们的需求,这可能是也可能不是更灵活设置的论据。另一方面,有些人永远不会改变,并且重视稳定性和可预测性。

在任何情况下,您都应该牢记这些要点。只有达到目标,您的解决方案才能成功,大多数人的选择是什么并不重要,重要的是 a) 在技术上可行,b) 在预算范围内,c) 实现业务目标。如果所有这些点都得到满足而您仍然必须做出决定,请选择更简单/不太复杂的解决方案 (KISS)。如果它们同样容易,请决定为您带来更多金钱和/或幸福的那个。