我正在为思科和VMware构build一个家庭实验室环境,这个环境也将成为一个NAS。 该系统运行ESXi v6.0裸机。 我的devise的一部分是我有一个带有LSI2008的联想TS440,我曾经使用VT-d给客人,而且客户机运行带有LIO的ZFS,提供一个LUN,然后我可以使用它作为其他VM的数据存储。
这个devise灵感来自于这个:
将ZFS服务器作为虚拟来宾进行托pipe
performance是惊人的,它运行得很好。 但是我遇到的一个问题是,如果我重新引导ESXi主机(有时候我会这样做,因为这是一个实验室环境),那么使用iSCSI数据存储的虚拟机就不能上来了(它们是灰色的并显示无法访问。)
每次重新启动后,我都必须重新添加数据存储来修复它,不仅如此,而且启动阶段花费更长的时间,因为它试图到达iSCSI目标并失败。
主要的问题是这样的:
在尝试加载任何数据存储之前,可以configurationESXi以等待给定的虚拟机联机吗? 如果不是,我有什么select? 我知道我可以使用更大的ESXi启动磁盘,但是我宁愿能够对vmdisk进行ZFS化。
AFAIK在安装数据存储之前,您不能让ESXi等待虚拟机启动。 我可能是错的。
数据存储在任何虚拟机启动之前挂载。
一般情况下,如果在存储虚拟机引导后重新扫描iSCSI sw适配器,则iSCSI会立即连接(重新扫描它比NFS更好,如果它在一段时间内断开/不活动,可能需要一段时间才能重新扫描甚至重试连接)
您可以尝试在存储虚拟机上编写一个bash脚本,在客户机操作系统和服务启动之后,它将通过SSH连接到ESXi,并发出一个iscsi适配器重新扫描命令,以便ESXi将会看到并挂载iscsi数据存储。
尽pipe如此,这还不够完美,因为您必须手动启动所有剩下的虚拟机,之后才能访问。