当虚拟服务器需要 iSCSI 存储时,最佳 NIC 配置是什么?

当虚拟服务器需要 iSCSI 存储时,最佳 NIC 配置是什么?

我有一台运行 Hyper-V 的 Windows 2008 服务器。服务器上有 6 个 NIC,配置如下:

  • NIC01 和 NIC02:组合管理接口(RDP、mgmt 等)
  • NIC03:连接到 iSCSI VLAN #1
  • NIC04:连接到 iSCSI VLAN #2
  • NIC05:专用于虚拟机的一个虚拟交换机
  • NIC06:专用于虚拟机的另一个虚拟交换机

iSCSI NIC 显然用于存储以托管虚拟机。我将主机上的一半虚拟机放在分配给 NIC05 的交换机上,另一半放在分配给 NIC06 的交换机上。我们有多个虚拟机可以出现的生产网络,因此 NIC05 和 NIC06 所连接的交换机端口是中继的,然后我们将虚拟机上的 NIC 标记为适当的 VLAN。此主机上没有集群。

现在我希望将一些 iSCSI 存储直接分配给虚拟机。在我看来,我有两个选择:

  1. 将 iSCSI VLAN 添加到中继端口(NIC05 和 NIC06),将两个 NIC 添加到需要 iSCSI 存储的虚拟机,并为它们添加 iSCSI VLAN 标记

  2. 在主机上创建两个额外的虚拟交换机。将一个分配给 NIC03,另一个分配给 NIC04。将两个 NIC 添加到需要 iSCSI 存储的虚拟机,并让它们与主机共享到 SAN 的路径。

我想知道 Hyper-V 中的 VLAN 标记有多少开销,但还没有看到任何关于这方面的讨论。我还有点担心 iSCSI 连接的 VM 上的某些异常可能会导致 iSCSI NIC 饱和或导致其他问题,从而威胁整个主机的存储访问,这将是糟糕的。

有什么想法或建议吗?当虚拟机直接连接到 iSCSI 时,如何配置主机?

答案1

使用 VMware ESXi(至少),您的 iSCSI 存储以 VMFS 数据存储的形式抽象到您的客户机,因此实际上除了通过 VI Client 为客户机分配更多存储之外,没有太多其他操作。虽然更易于管理,但这也为您提供了一层额外的主机安全性,因为您的客户机无法直接访问物理存储层。

但是如果您有正当的理由这样做,我认为实现此目的的最佳方法是将您的客户虚拟机放在与您的 iSCSI 设备相同的 VLAN 上,如#1 中所述。

答案2

对于iscsi,我们经常会进行一些特殊的配置:

  • 启用巨型帧(mtu 9000)
  • 激活流量控制
  • 为 iscsi 网络使用专用物理交换机
  • 禁用生成树
  • ....

所以我不会将生产网络与数据网络(iscsi)混合。

例如,如果您通过存储执行快照,则在 VM 上授予对存储的直接 iscsi 访问权限会很有帮助。(Equallogic 提供 SQL/Exchange 和 equallogic 快照之间的集成)。

答案3

将 iSCSI 目标附加到 Hyper-V 主机,然后使其成为相应客户的直通驱动器。

相关内容