我想最终花一点钱升级我公司的虚拟化基础架构,但我已经研究了几个星期的硬件,我不太确定什么适合我们的需求。除了购买一些实际的服务器硬件外,我还想用 VMware ESXi 替换我们当前的 VMware Server。初始预算可能在 2000 美元左右,但如果我们以后需要调整性能,最终可能会增加到 3000 美元。
在 StorageReview 上阅读了一些有关 RAM 错误和硬盘故障率的令人担忧的文章后(并且在我自己处理了几次磁盘故障之后),我想转向 ECC RAM,并且我想将我们的虚拟机存储在冗余的 ZFS 卷上,以防止静默数据损坏和数据丢失。
注意:我知道已经有关于VMware ESXi和虚拟文件系统硬件建议,但我找不到有关 VMware ESXi 与存储在 ZFS 上的虚拟机的性能的任何讨论。
当前配置
- Windows 2003 上的 VMware 服务器
- 速龙X2
- 8 GB 内存
- 2x250 GB SATA 镜像(动态磁盘)
- 2x640 GB SATA 镜像(动态磁盘)
目前,我们在一台配备 8 GB RAM 的 Athlon X2 上全天候运行 4 台虚拟机。有时我们需要启动一两台额外的虚拟机,但性能会受到影响。我们还想虚拟化几台额外的服务器,但我认为在未来几年内我们不需要超过十几台。我读到 VMware ESXi 的扩展性更好,因为它是一个裸机虚拟机管理程序,并且具有各种性能优化。
虚拟机:
- 2 GB RAM,Win2003(运行 Fogbugz,包括 MS SQL Server)
- 512 MB RAM、Fedora Linux(运行 MediaWiki、RT 和 Bugzilla 等旧系统)
- 2 GB RAM,WinXP(常用于软件开发和测试)
- 1 GB RAM,WinXP 64 位(仅偶尔用于测试)
- 1 GB RAM,WinXP 日文版(仅偶尔用于测试)
- 1 GB RAM、CentOS Linux(常用于软件开发和测试)
计划配置
ESXi 服务器:
- 入门级戴尔或惠普四核 Xeon 服务器
- 双四核 Xeon 55xx(最初是一个 CPU——Nehalem 值得多花钱吗?)
- 8-16 GB ECC RAM(最大容量至少为 32 GB RAM)
我估计如果我从 NewEgg 单独购买 RAM,将花费我 1000 到 1500 美元,但我不确定是应该把更多的钱花在新一代 Xeon 上,还是应该把钱花在第二个 CPU 上,或者我是否应该暂时把它存起来。
其他虚拟机:
- 1.5 GB RAM,Windows 2003 Small Business Server(当前仅用作域控制器;可能很快会重建/更换)
- 2 GB RAM、Windows 2003 Server(不常用的终端服务器,以及用于我们开发环境不同部分的各种许可证服务器)
- 偶尔用于测试的一些其他 Windows 和 Linux 工作站虚拟机
ZFS 服务器:
我认为我可以通过安装一个免费的 Solaris 衍生产品将当前的 Athlon X2 服务器重新用作 ZFS 服务器。(感谢 MarkM 指出,几周前 Oracle 停止支持后,OpenSolaris 小组就解散了——我必须关注Illumos'开源分支)。我计划通过直接千兆以太网链路通过 iSCSI 向 ESXi 提供存储。
主板支持 8 个 SATA 驱动器,我想我将添加一个额外的 4 或 8 驱动器 eSATA 外壳,这样我就可以拥有多个 ZFS 镜像或 raidz2 卷。
我可能会用 ECC RAM 替换内存以确保数据完整性,并且可能会为 ZIL/L2ARC 添加 SSD 来提高 ZFS 性能,但我不确定花在 SSD 上的钱是否最好花在 SAS 驱动器上。
有什么建议么?
鉴于这些规格,我是否正确地确定了服务器的大小?SSD 和消费级/“企业级” 7200 RPN SATA 驱动器的混合能否为我们提供足够的磁盘性能,还是我们真的需要升级到 SAS?我需要注意哪些问题?我是否遗漏了重要的东西?
最重要的是,是否有人有设置类似配置的经验 - 如果有,其性能如何?
答案1
由于 OpenSolaris 已经死亡,Solaris 11 还要 6 个月才能推出,而 Illumos 仍在开发中,你应该考虑Nexenta 核心平台(nexenta.org 不是 nexenta.com)。如果您已经熟悉 Ubuntu 或 Debian Linux,那么 Solaris 内核加上 debian (apt) 用户空间很容易学习。如果您决定以后切换到 Solaris 11/FreeBSD,则可以带上您的 ZFS 池。我从 Linux 下的 ZFS-Fuse 开始,然后迁移到 OpenSolaris,然后迁移到 Nexenta:CP,所有这些都使用同一个池。
我家里的设置与您建议的 ZFS 存储服务器类似。我发现双核 @ 2.8Ghz(Core i5-650)、8GB ECC Ram 和 4x2TB(WD RE4 7200RPM)镜像 zpool(没有 SSD)性能相当不错。ESXi 通过 NFS 或 iSCSI 连接,而 Win/Mac 客户端通过 CIFS 连接。我可以轻松饱和单个千兆位连接(~95MB/秒),磁盘在本地的吞吐量甚至更高。老实说,我家里没有足够的网络设备或 IOPS 负载来查看 ZIL 和 L2Arc 的 SSD 可以减少多少延迟,但很快就会为 L2Arc 添加更多 RAM 和 SSD,看看我是否真的可以让重复数据删除快速运行。
我认为,只要有足够的 RAM(8GB+)、不错的 SAS 卡和镜像池,您的 Athlon X2 盒就可能胜任这项任务。在我看来,除非您计划利用多路径/智能 SAS 机箱或只能使用 4-6 个驱动器托架,否则在 10k/15k SAS 上花费的钱对 ZFS 来说是一种浪费。您提到了 eSATA;请考虑使用多通道 SAS (4x) 作为机箱连接的替代方案。除非您计划将 esata 端口与驱动器进行 1:1 连接,否则您将需要 4to1/5to1 eSATA 端口倍增器,以在一个通道上多路复用多个驱动器。多通道 SAS (SFF 8088/SFF-8470) 是每条电缆有四个真正的 SAS/SATA 通道,根据您的卡和机箱,一端/两端都有分支电缆。LSI SAS 非 RAID这些卡非常适合 ZFS,甚至高端的 500 美元 LSI SAS 9200-16e(四路 6Gbps SAS 4x 端口)也受 Nexenta 支持。
至于 ESXi 盒,任何大型供应商的 4/6 核服务器都可以满足您目前的需求,但不要指望将来能够填补第二个处理器插槽,升级价格可能不合理甚至不可用(我对此感到很失望)。如果您要使用白盒 ESXi(用于 DR 的第二个盒?),最大的问题是确保您在 ESXi HCL 上有一个 NIC。英特尔服务器 NIC 可能会工作,但许多板载英特尔 e1000 和 RealTek 不会。除非找到受支持的 NIC,否则 ESXi 甚至不会启动/安装。支持的最便宜的 PCIe 附加 NIC 是 30 美元的 PCIe x1英特尔千兆 Ct 台式机 (EXPI9301ct),但如果这是您的主 esx 盒,您绝对应该选择更高端的多端口英特尔 NIC,可能带有 iSCSI TOE。遗憾的是,据我所知,ZFS 端(OpenSolaris/Nexenta)根本不支持 TOE。
老实说,我认为你走在正确的道路上。为 ESXi 构建一个穷人版 ZFS SAN 可能正好满足你的需求,并为你提供一些发展空间,特别是如果你坚持使用镜像(而非 RAIDZ)池。一旦你的 IO 需求超过 2xGigE 或你获得第二个 ESXi 主机,事情就会变得更加棘手(L3 交换机、10gigE、4Gig FC 等),但当你遇到它时,你会越过那座桥梁。哦,是的,别忘了,尽管 ZFS 非常稳定,快照功能强大,但它不能替代适当的备份。
顺便说一句,谢谢你的链接我之前的回答在你的问题中。
答案2
就像 notpeter 所说,您在低预算设置方面走在了正确的道路上。
我给你的建议(这是我从痛苦中学到的):
- 不要把所有鸡蛋都放在一个篮子里。你应该认真考虑拥有一个额外的 ESXi 服务器,以防出现硬件错误——这就是虚拟化的目的
- 购买大量的 RAM。虚拟机性能更好,并且您的存储不需要太忙于为客户机写入/读取交换文件。
- 除非你对 IOPS 有绝对的要求,否则低预算的 SATA 7200 rpm 设置就可以了