首页 » ESXI » 搭建 ESXi 6.7 部署黑群晖 DS3617xs 并启用硬盘直通

搭建 ESXi 6.7 部署黑群晖 DS3617xs 并启用硬盘直通

时间:2021-03-08作者:岁月十三鹰分类:ESXI评论:0

前言

近期又买了一台主机,部署了 ESXi6.7 并在平台中搭建了黑群晖(Synology)和家庭共用的远程桌面,踩了很多坑但最终搞清了各种存在的问题。由于 ESXi 的问题主要是兼容性问题,每个人的问题都是五花八门,所以网上的教程大多数存在于论坛和讨论帖,完整的教程文章较少,故写此篇作为记录。
撰写本篇时我已完成且将会在此记录的内容包括:

  1. ESXi 的部署
  2. 黑群晖的部署(Synology DS3617xs)
  3. 白群晖中的数据盘以直通(Passthrough)的形式接入黑群晖虚拟机,开启 SMART 等硬盘信息
  4. 黑群晖光纤卡直通
    由于篇幅问题,我会再写一篇记录:5. Windows10 的部署与显卡直通设置 太简单了,不单独写了。创建一个虚拟机,安装 Windows,直通 PCI 设备中选择 N 卡,虚拟机高级设置中添加一条 Hypervisor.CPUID.v0 = “FALSE”。开机后直接去装 N 卡驱动即可,之后接上 N 卡上的 HDMI 接口和显示设备,下一次重启后即可直接使用显示器来看这个 Windows 虚拟机了。不能用 Intel 的核显,因为 ESXi 的问题,核显虽然能用到,但不能 HDMI 输出。

     

    教程提示

    本篇教程为幼儿园级,照着做绝对没问题,但也因此看上去很啰嗦。如果你是有经验的人,只是想在这篇文章中找到一些关键点的信息可以直接按标题往下跳跃阅读。若发现任何错误或没有说清楚的地方,可以在下方留言,我会及时更新修改。

     

    配置环境

  • CPU: I5-7600
  • 主板:华擎 B250 Pro4 (不推荐此型号)
  • 内存:32G (DDR4 2400 8Gx4)
  • 显卡:GTX 1650 (不推荐此型号)
  • 主板网卡:Intel I219-LM
  • 光纤卡:Intel 82599EB
  • ESXi 6.7
  • Synology DSM 6.2

ESXi 的部署

其实这部分没有什么特别需要讲的,在 VMWare 官网的 ESXi 下载中心选择你需要的版本下载后使用类似于 UltrISO 这样的软件将镜像写入 U 盘后,在物理机上以 U 盘位启动项进入安装程序。在安装时建议只装上一个硬盘,可以方便确定安装盘。安装步骤中没有其它需要注意的内容,按照安装程序的步骤提示即可完成。安装完后在主机上打开 ESXi 的 SSH 调试功能。

部署黑群晖的准备工作

无论是在怎样的平台中部署黑群晖,主要步骤都可以分为 “镜像准备” 和 “设备准备”。本步骤中需要使用两个软件:OSFMount 用于编辑引导盘中的配置文件;StarWind 用于将引导盘转化为 ESXi 虚拟盘文件。你可以在公网中寻找这两个软件的安装包,也可以在下方直接下载。
 OSFMount x64  StarWind Converter

镜像下载

黑群晖的安装文件分为两个,第一部分为引导项,第二部分为系统镜像。每个版本的引导项支持的群晖系统版本有限,较低版本的引导项可能无法引导较新的系统镜像,导致无法进入系统,所以在选择引导盘时需要注意其是否支持你准备安装的群晖版本。你可以在 Jun 大的帖子中获取到所有的引导项下载链接。
在我的部署过程中,我选择了 DS3617xs,引导版本为 v1.03b,群晖系统版本为 DSM6.2 23739,如果你并不追求绝对最新可用的版本的话可以考虑我使用的这个组合。群晖系统的安装镜像可以直接从群晖的官方下载中心获取到,比如说这里的 23739 版本就可以访问 https://archive.synology.com/download/DSM/release/6.2/23739/ 获取到各个型号的 23739 版本安装镜像。

挂载引导项

打开 OSFMount,点击左下角的 “Mount New”,在新窗口中选择刚刚下载的引导项文件,在新弹出的窗口中选择 15MB 大小的分区 0 并确定,之后将 Mount Options 区域中的只读设置 “Read-only drive” 取消勾选,最后点击确定按钮即可将这个引导项挂载为一个系统分区盘,盘符为 Mount Options 中的 Driver Letter 设置项。在点击确定前,你的挂载设置应和下图类似:

webp

编辑引导项

在被挂载的引导项分区中,进入 grub 目录,以 Notepad++ 之类的工具编辑 grub.cfg 文件,主要需要编辑的是以下这一片区域

  • set vid=0x058f
  • set pid=0x6387
  • set sn=A8ORT0596Z
  • set mac1=0019422CA803
  • set rootdev=/dev/md0
  • set netif_num=1
  • #set extra_args_3617=’earlycon=uart8250,io,0x3f8,115200n8 earlyprintk loglevel=15′
  • set extra_args_3617=

在这一部分中,你可能需要修改以下:

  • vid, pid:群晖引导盘的识别号,用于 U 盘引导黑群晖。我们是虚拟机安装黑群晖,不需要修改
  • sn:群晖的 Serial Number,如果你不需要洗白则可以不修改
  • mac1:引导盘的 MAC 地址,如果引导盘的 MAC 和此处不吻合则无法开机,如果需要洗白则也必须是特定的 MAC 地址。此处写下的 MAC 地址需要在其它地方记录一次,因为在创建黑群晖虚拟机时仍需使用
  • mac2, mac3, mac4…:如果你需要更多的网络适配器,无论是物理卡直通还是虚拟卡,都需要在这里提前写好 MAC 地址,否则群晖不会识别那些网络适配器,MAC 地址顺序没有影响。
  • set extra_args_3617=”:这一行请复制下面一行的内容并覆盖,这是用于隐藏引导分区和启用群晖对直通硬盘 S.M.A.R.T 信息的读取的。
  • set extra_args_3617=‘DiskIdxMap=100400 SataPortMap=148’

SataPortMap 是表示群晖 SATA 控制器设置,28 表示第一个 SATA 控制器有 2 个接口(引导盘和那个 16G 盘所在的控制器),第二个 SATA 控制器有 8 个接口(直通的主板集成 SATA 控制器,有 8 个 SATA 接口)
DiskIdxMap:是表示 SATA 控制器接口的起始位置,1000 中前二位是表示第一个 SATA 控制器的起始位置,十六进制 10 转成十进制就是 16,表示从第 16 个接口开始,3617 只有能显示 12 个接口,所以可以达到隐藏引导盘与 16G 盘的目的。后二位 00 表示第二个 SATA 控制器接口的起始位置,这里是 0,表示从 0 开始。
最终你的配置文件应该和下图类似(仅供参考,切勿直抄)

webp-1

关闭你的编辑器,回到 OSFMount,点击下方的 Dismount all & Exit 即可保存你的修改到引导文件中。

转换引导文件格式

接下来我们需要将这个 img 格式的引导文件转化为 VMWare 虚拟硬盘文件,使其成为引导盘。

  1. 打开 StarWind,选择文件来源为本地文件(local file)webp-2
  2. 选中你的引导文件webp-3
  3. 选择 VMWare pre-allocated imagewebp-4
  4. 保持 IDE 格式的选中
  5. 确定,转化格式webp-5
  6. 你将会得到两个 vmdk 文件,这就是我们所需要的

上传引导盘

  • 进入 ESXi 网页后台
  • 点击左侧你一个可用的储存空间(默认名为 datastore1,也就是你 ESXi 系统被安装的那个硬盘)
  • 点击主界面上方的 “数据储存浏览器”,你将可以看到这个硬盘下的目录
  • 创建一个用于储存系统镜像的目录,然后点击 “上载”
  • 上传刚刚生成的两个 VMDK 格式的文件,将他们放在同一个目录webp-6
  • 注意:文件名包含 flat 的那个 vmdk 文件不会在这里被显示,但你需要关注上传进度条以确保它已经被上传。如果不放心,这里的上传步骤可以使用 SSH 进行。 

    创建虚拟机

  • 进入 ESXi 虚拟机板块,点击创建虚拟机
  • 选择创建新的虚拟机webp-7
  • 名称自行决定,兼容性选择默认的 “ESXi 6.7 虚拟机”,操作系统系列选择 “Linux”,操作系统版本选择 “Debian GNU/Linux 9 (64 位)”
  • 保持默认的储存空间,继续下一步
  • 进入 “自定义设置” 页面,直接删除默认产生的硬盘,SCSI 控制器,CD 驱动器
  • CPU 设置按你想法,更多 CPU 的核心代表更多性能,这一项修改没有风险,任何设置都是可行的
  • 内存设置也按照各自决定,对于这里的 DS3617xs,4G~8G 内存较为适宜,具体可根据个人用途来决定
  • 如果你需要连接任何 PCI 直通设备,需要将内存设置中的 “预留所有客户机内存(全部锁定)” 这一项选中webp-7
  • 点击下方默认产生的 “网络适配器 1” 的详细设置
  • 将 “适配器类型” 修改为 E1000e
  • 将 “MAC 地址” 的自动改为手动,在后面一格中输入我们刚刚在编辑引导文件时输入的 MAC1,但注意这里需要以冒号进行间隔webp-7
  • 点击 “添加硬盘”,具体选择为 “现有硬盘”
  • 在你的储存空间中找到你刚刚上传的 vmdk 文件,选中并确定,这使我们成功添加了黑群晖的引导盘webp-8
  • 注意确保这一个硬盘的 “控制器位置” 为 “SATA 控制器 0” 和 “SATA (0:0)”
  • 选择 “添加其它设备” 中的 “SATA 控制器”,webp-9
  • 再次选择添加 “添加硬盘” 中的 “新标准硬盘”,这是用于储存群晖安装系统的默认硬盘,空间保持为默认的 16G 即可
  • 打开这个新添加的硬盘的详细设置,将 “控制器位置” 选择为 “SATA 控制器 1” 和 “SATA (1:0)” (这一步格外需要确认,和其它所有教程都不一样)
  • 如果你需要添加诸如网络适配器之类的 PCI 物理硬件直通,在这一页面选择 “添加其他设备” 中的 “PCI 设备” 并做选择即可
  • 我在这里选择了光纤卡,因为有两个网口,所以有两个网络适配器,均添加至群晖(注意群晖只认 Intel 的光纤卡)webp-9
  • 点击下一步,完成虚拟机配置 

    安装黑群晖

  • 启动虚拟机,打开预览,可以看到已经进入群晖的引导系统webp-10
  • 访问 http://find.synology.com,这会自动帮你寻找局域网下的群晖。若没找到则多刷新几次
  • 注意:如果像我一样提前在此时就连接了额外的网络适配器,则一个群晖设备会显示成多个,每个显示不同的 IP 地址,所以需要注意分辨选择合适的 IP 网关下的群晖webp-10
  • 选择开始部署群晖webp-10
  • 选择 “Manual Install”,人工安装,避免引导盘自动下载安装最新版 DSM 导致无法引导webp-11
  • 选择你电脑上提前下载好的群晖系统镜像(.pat 文件)webp-12
  • 选择开始安装,同意清除数据(此时我们没有连接数据盘,所以没有数据丢失问题)webp-12
  • 等待安装完成即可,会有系统自动提醒的提示webp-12

    群晖系统设置

  • 重新访问黑群晖后台地址,稍等片刻等待部署完成
  • 为你的群晖系统设置相关信息webp-12
  • 选择不自动安装更新,防止群晖自动更新后无法被引导webp-12
  • 如果没有洗白,选择跳过 quickconnect 设置;已经洗白的按照要求填写设置即可webp-13
  • 最终确定,进入群晖系统后台
  • 如果你像我一样添加了额外的网络适配器,且在引导文件中正确输入了 MAC 地址,并在虚拟机中启用了被直通的 PCI 接口网卡,此时你可以在网络设置中看到你的网卡。如下图,我的 10G 光纤卡已经被识别。webp-14

    硬盘直通设置

     

    关于 RDM 和 Passthrough 的区别

    如果你提前搜过资料可能会发现很多 ESXi 上安装黑群晖的教程中会提到以 “RDM 来把硬盘直通给群晖”,这实际上很扯淡的,因为 RDM 和设备直通是完全两个独立的概念。
    一些有玩虚拟机经验的人简单看一下那些 RDM 硬盘直通教程就能发现问题,RDM 是将物理硬件虚拟化后再传递给虚拟机,也就是由 ESXi 读取设备后生成一个新的虚拟设备再传递给虚拟机。而硬件直通(Passthrough)是将物理主机上的设备直接规划给虚拟机独立使用,ESXi 系统不会再利用这个物理硬件。
    这也就是为什么使用 RDM 虽然可以让群晖读到那么一整个硬盘,但硬盘名称总是 “VMWare 虚拟硬盘”,而使用 Passthrough 的硬盘永远都可以显示出正确的硬盘信息。在黑群晖中,使用 Passthrough 直通硬盘允许群晖系统对硬盘直接进行管理,包括但不限于硬盘休眠和硬盘健康度监测,这些功能使用 RDM 是不可能做到了,RDM 也仅仅做到了让虚拟机读到一个完整的硬盘。

  • PCI 直通可以首先参考我的文章:ESXi 6.7 下开启硬件直通的方法和常见问题,硬盘直通的核心方法就是将 SATA 控制器直通给虚拟机
  • 首先你需要一个物理 SATA 控制器,以 Marvell 88SE9215 为核心的 SATA 卡是被广泛兼容的且价格不高,一般几十块钱就可以买到
  • 在你的引导文件中将 grub.cfg 中写入以下句段(如果你按照我上面所说的方式创建了引导盘,则可以无视这次)
  • set extra_args_3617=‘DiskIdxMap=1000 SataPortMap=28’
  • 将物理硬盘接到 SATA 控制器中,在 ESXi 后台将 SATA 控制器直通给黑群晖虚拟机webp-15
  • 将黑群晖开机,进入后台主界面,你会看到有一个 “无法访问分区系统” 的错误提示,说明你的硬盘已经加载成功
  • 进入储存空间管理员,看到具体错误,但实际上你也能看到了你的硬盘容量之类的信息webp-16
  • 点击上方的 “修复” 并确认,瞬间这个错误就会消失,且系统显示分区正常
  • 此时,你已经能完整地查看硬盘信息,说明硬盘直通成功webp-17