当位于 vCenter Server 中的 ESXi 主机之间无共享存储,仅具有本地存储时,如果我需要安装虚拟机操纵系统,那可以将操纵系统 ISO 镜像文件上传到主机的本地文件存储内,这时在这台主机上执行安装的虚拟机只需要在虚拟机的 CD/DVD 光驱装备上挂载并从本地存储文件内选择需要的 ISO 镜像文件皆可。如果我想在另外一台 ESXi 主机上安装虚拟机并使用之前主机上的同一个 ISO 镜像文件(如下图所示),但是又不想重新上传一份到主机的本地文件存储,那有什么办法呢?
这个时间你说可以设置一个共享存储,让双方主机都能访问到不就可以了吗?使用客户端 VMRC 工具挂载本地 ISO 镜像文件不也可以吗?当然可以,但是这不是本篇文章的本意,而是讨论在没有上述前提下,ESXi主机之间如何共享本地存储ISO文件的场景。
当然你也可以使用文件存储当中的“复制到”功能(如下图),将 ISO 镜像文件 Copy 到另外一台主机的本地文件存储当中,但是,这仅限于当前 vCenter Server,如果要实现跨 vCenter Server 共享呢?答案是:使用内容库订阅。
如今,我们去内容库中创建内容库,并通过订阅的方式让虚拟机 VM1 使用到 ISO 镜像文件。导航到 vSphere Client->内容库,点击“创建”。
这里就以 ESXi 主机的本地存储的名称定名内容库名称。
选择本地内容库并勾选“启用发布”,如果有身份验证需求,可以把“启用身份验证”功能开启。
不应用安全策略。
选择 ISO 镜像地点的存储位置。
点击完成。
创建完成后,进入该内容库,点击操纵选择“导入项目”,选择本地 ISO 镜像文件,点击导入即可。
如果你的 ISO 镜像文件已经上传到 ESXi 主机的本地存储文件中,而且比力大的话,下面有一个小技巧,可以直接把已经导入到存储文件中的 ISO 镜像文件转到内容库中。首先,你需要在本地创建一个非常小的 ISO 镜像文件,好比新建一个文本文件并将后缀改成 ISO 格式,然后使用上面方式选择“导入项目”将该文件导入到内容库,应该非常快~
然后到内容库使用的地点文件存储当中,可以看到“contentlib......”就是我们创建的内容库“esxi-a1”的文件夹,点击进去,可以看到有一个子文件夹,子文件夹里面的文件就是刚刚我们上传的 ISO 文件。这里你需要将这个ISO文件的“名称”全部复制下来,然后将该文件删除掉。
找到你已经上传的 ISO 镜像文件,并将该文件的名称“重定名”为刚刚复制的文件名称,然后选择“移至”到 esxi-a1 内容库的子文件夹中去。
此时,你再回到内容库当中去,虽然你看到文件的巨细没有改变,但是你已经可以使用替换后的 ISO 镜像了。