Gen8安装Exsi绕坑总结和方案选择

考虑到目前黑群晖 Hyper-V 的引导遥遥无期,而且被 Chiphell 上各位大神各种安利,加上确实 Windows Server 作为 Gen8 的宿主机太浪费资源,因此摸索着给 Gen8 上了 Esxi 系统,其中遇到了不少坎坷,在此做个总结,后续准备写一个关于 Gen8 上的系列教程,便于后人踩坑。

硬件方案选择

目前在 Gen8 上部署 Esxi 的话,大致有如下几个核心方案可供选择:

  • Gen8 自带的 B120i 使用模式的选择:AHCI or Raid?
  • 虚拟机存储使用 VMFS or RDM or 直通?
  • 是否需要加 HBA 卡?

其实这两个问题有一些先后关联关系,要回答这些问题,就不得不说下 Gen8 上面的一些 Esxi 的坑了……

第一个坑

就是 Gen8 上 B120i Raid 驱动的性能问题,目前从各大论坛(不论中外)上大致都能搜索到非常多的 Gen8 Esxi Raid 驱动导致的磁盘性能低下的问题,在 Esxi 6.0和5.5系统上,解决方案基本都是把驱动进行降级,但是到了6.5的系统会发现老的驱动和系统并不兼容,也就是说除非 HP 官方给出新的驱动(目前最新的102版本的驱动尚未解决这个问题),否则在 Esxi 6.5 系统上,B120i 使用 Raid 模式是无解的,所以第一个问题解决了,那就是 B120i 只能使用 AHCI 模式。

第二个坑

就是 Esxi 6.5开始自带的新的 AHCI 的 Native 驱动存在性能问题,我也真是醉了,好歹大家都是企业级的大厂,一个驱动都解决不好……参考了 NXHut 的解决方案(点击这里查看原文),在 Esxi 的 SSH 中使用如下命令禁用 Native 的 AHCI 驱动,即可暂时解决这个问题,也不知道 Vmware 能否在下个 Update 来修复。

esxcli system module set --enabled=false --module=vmw_ahci

第三个坑

就是 HP 定制的 Esxi 官方镜像和 RDM 的兼容性问题。参考网友的一些反馈和我自己的亲身经历……我一开始期望使用 RDM 这种“假直通”的方式来把我 Gen8 中的硬盘给到群晖使用,但是每次都出现虚拟机直接卡死的状况,这个时候连 Esxi 都没有办法正常关机,只能通过按住电源键强制关机的方式来解决这个问题(根据网友的测试,使用 Vmware 原版镜像就 OK,但是这样就没有集成 HP 的一些驱动和优化),因此针对第二个问题,RDM 这条路也是走不通了。

基于上面这些坑,那就还剩下一个问题需要回答,那就是使用 Vmware 的 VMFS 还是直通,如果选择直通就意味着你必须要购买一张 HBA 卡(因为 Esxi 的限制只能直通整个设备而非某个硬盘,如果 Gen8 直通 SATA 管理器的话,那你就没有硬盘可以用来作为存储池安装虚拟机了)。

这个问题的选择就没有坑的限制了,如果你希望先以节约成本体验整个模式,那么完全可以用 VMFS 解决这个问题,只是在性能上会有一些损耗,如果你有一些预算(其实不贵,目前一张 Lsi 9211-8i 的卡在淘宝上大约在400人民币左右),那么还是建议你购买一张 HBA 卡然后直通给你的虚拟机用,这样一来硬盘拆下来直接换其他机器也能用,二来性能得到了最优的发挥。

总结

我最终选择的硬件方案如下:

  • Gen8 B120i 工作在 AHCI 模式,并购买了一个 SAS 转 SATA 的线把 SSD 放到了 Port1(目的是为了享受 SATA3 的接口速度),记得要在 Gen8 的 Bios 中打开 Write Cache,否则写入性能会很差
  • 购买了 HBA 卡(LSI 9211-8i),刷了 IT 模式,把 Gen8 的四个硬盘接到 HBA 卡上,后续直通给虚拟机

存储方案选择

存储方案的选择,目前大概有两种方案:

  • 直接使用群晖搭建存储中心
  • 使用 ZFS 搭建存储中心,群晖作为应用服务,使用 NFS 来挂载 ZFS 上的存储

说到这里,不得不谈下 ZFS 这个牛逼的文件系统了,ZFS是SUN为Solaris操作系统开发的一个高级的文件系统,可以用相对简单的方式提供安全的冗余存储服务。我对ZFS的理解也不深,只能借用网上的介绍:“ZFS 文件系统是一个革命性的全新的文件系统,它从根本上改变了文件系统的管理方式,这个文件系统的特色和其带来的好处至今没有其他文件系统可以与之媲美,ZFS 被设计成强大的、可升级并易于管理的”。简而言之,反正就是很高大上就对了。

但是,这里必须要说的就是但是……ZFS 不论从可靠性、性能等层面,都是数一数二的,但是会有一个致命的问题,那就是对内存的大量需求,目前 ZFS 官方推荐的每 TB 的存储需要搭配至少 1G 的内存才能发挥出最大的优势,最佳的配比是 1TB 存储配 6G 内存,这个对于内存非常紧张的 Gen8 来说就有一些捉襟见肘了。

因此最终,我选择了直接使用群晖来搭建整个存储中心,把 HBA 卡直通给群晖,系统中的4+4+3+3的10T 存储交给群晖做了 SHR 的 Raid,并使用一块硬盘作为数据冗余,这样实际可用的空间大概是9T 左右。

P.S. 如果后续针对存储这块有比较大的扩展需求的话,我会考虑再购买一台 Gen8,直接搭建 ZFS 存储系统,把16G 内存全部丢给它,相信一定可以发挥出 ZFS 的最佳性能。