将服务器虚拟化到 SAN 上的最佳实践?

Mat*_*ons 17 virtualization linux storage-area-network vmware-esxi dell-poweredge

好的,所以我想开始比以前更多地利用我的 SAN,同时利用 ESXi。

目前,我有一个 Dell PowerEdge 1955 刀片阵列连接到一个单机柜 EMC AX4-5 FC 存储阵列。我基本上将 SAN 用作 DAS。我在 SAN 上有指向特定物理机器的 LUN,这些机器将 LUN 用于任何用途(主要是数据库和 Samba/NFS 共享,取决于目标服务器)。

我有多个物理文件服务器,每个服务器都有一个 samba 配置设置来提供适当的共享。因为我从来没有让 RHCS 工作,所以一次只有一个文件服务器挂载了 LUN。如果文件服务器死机,我会手动对其进行围栏(通过卸载和取消显示驱动器、使用 navisphere 实用程序或通过 DRAC 关闭电源),然后使用 navisphere 实用程序在下一个竞争者上调出显示的 LUN(之后,启动 apache 和其他守护进程)。全部手工,现在。

我感觉有点像演奏单簧管的 Ferris Bueller。没上过课!

无论如何,我正在努力改进。我想要做的是在物理主机上安装 ESXi,然后创建 LUN 来保存两个文件服务器映像(以防一个损坏/fubar),其中一个是活动的,另一个是备用的。至少这样,我不会改进自动化(虽然我很快就会写一个脚本来切换“活动”服务器),但我觉得我增加了灵活性,而且我可以使用ESXi 主机来容纳其他虚拟机,并且不会像现在一样浪费硬件。

我的问题是:

1)我的计划有多愚蠢?

2)当谈到实际实现时,我应该在 LUN 上创建一个普通的 vmdk 映像,还是应该给它一个“原始”分区(如果 ESXi 甚至可以这样做?)

3)有没有一种“好”的方式来使用非集群文件服务器?

Gre*_*ork 7

你的计划并不疯狂。像往常一样,根据您要实现的目标以及如何保护您的数据,有多种方法可以对此进行攻击。

首先,您可以使用“原始设备映射”将原始 LUN 呈现给虚拟机。去做这个:

  • 将 LUN 提供给 ESXi 主机(或主机组,如果您要使用集群/HA)
  • 将磁盘添加到您的 VM,选择原始设备映射,指向 LUN
  • 重新扫描 VM 内的 SCSI 总线
  • fdisk,挂载并添加到fstab,就像普通磁盘一样。

优点:快速设置,快速使用,简单,如果您发现自己需要 V2P,可以将磁盘表示到物理主机

缺点:您可能会丢失一些基于 VMware 的快照/回滚选项,具体取决于您使用的是物理兼容模式还是虚拟兼容模式

另一种选择是在 LUN 上创建 VMFS 以创建数据存储,然后将 VMDK 磁盘添加到位于该数据存储上的 VM。

  • 好处:如果您购买了使用它的许可证,它对 Storage vMotion 很友好。这允许在 LUN 甚至 SAN 之间热迁移 VMDK 磁盘。

在这两种情况下,如果 VMware 或您的 VM 在故障期间吃掉文件系统,您将处于类似的风险位置;一个并不比另一个好得多,尽管可用的恢复选项会大不相同。

除非必须,否则我不会部署 RDM;我发现它们作为 VMDK 并没有给我带来太多的灵活性(而且我被一些错误所困扰,这些错误使它们在执行其他存储操作时变得不切实际(因为已修复 - 请参阅该链接中的 RDM 部分))


至于您的 VM,灵活性的最佳选择是将您的文件服务器的启动磁盘作为 VMDK 存储在 SAN 上,以便您可以在主机出现故障时让其他主机启动它。使用 VMware 的 HA 功能,在另一台主机上启动您的 VM 是自动的(VM 将在第二台主机上启动,就像电源已被拔掉一样;期望执行通常的 fsck 和魔法来启动它,就像在普通服务器的情况下一样)。请注意,HA 是一项许可功能。

为了缓解 VM 故障,您可以构建文件服务器的轻量级克隆,其中包含启动和让 SAMBA 在配置状态下启动所需的最低限度,并将其存储在每个主机的本地磁盘上,等待您从发生故障的 VM 并打开电源。

在 SAN 故障的情况下,这可能会也可能不会为您提供额外的选择;最好的情况是,您的数据存储将需要 fsck 或其他修复,但至少您不必修复、重建或配置虚拟机。最坏的情况是,您丢失了数据,需要返回磁带……但无论如何您已经处于那种状态。