为ESXi中增加NFS存储,并且通过NFS进行VMotion
想将一个虚拟机从A宿主机迁移到B宿主机,但A和B没法设置共享的存储,在不想修改物理拓扑的情况下,决定用临时的NFS存储来解决一下中转的问题。
1)找一台虚拟机,定义成两个宿主机都可以访问的网络地址。
2)因为此虚拟机上安装了Windows 2008 R2,在其上安装NFS服务。Windows 2008 R2中的增加“文件服务器”角色,复选其中的“网络文件系统服务”
3)在服务器新建一个文件夹,在此文件夹中点右键,能看到多一个Tab页“NFS共享”
4)配置NFS权限
如图,先点击“管理NFS共享”,进入“NFS高级共享”,按图选中相关复选框,再点“权限”进入“NFS共享权限”,访问类型改成“读写”,并复选“允许根目录访问”,这里有一个误区,原来我以为是这个可不选,结果是加载总是出错。选中后,才可正常使用。
5)配置“安全”选项
在目录的“安全”选项页中,增加Everyone,权限修改为“完全控制”。
这样NFS服务已经配置好了。
6)在vSphere Client中,选中需要增加存储的宿主机,在“配置”-“网络”中,找一个可以访问NFS文件服务器的网段,比如,上例中,我的NFS文件服务器是192.168.4.248,所以我找一个可访问4网段的vSwitch,在其中增加一个VMKernel,定义一个IP,比如192.168.4.249,然后确定退出。因为我这里这是临时使用,所以也没有关注性能、负载之类,只要能访问就可以了。
7)点击“配置”-“存储器”,“存储器类型”选择“网络文件系统”,然后配置NFS
下一步后就会增加一个存储。
上面511.9GB其实是整个硬盘的大小,我想这也正是需要访问根目录权限的原因。
以上就完成了NFS存储的增加,但是具体到我自己的应用发现在迁移到70%左右时总是中断,中断后NFS盘就找不到了,但一刷新又能找到了,应该是网络传输过程中的临时中断。
想到我们的SAN用的是FAS 2040,其中支持NFS功能的,于是进入NetApp的管理界面中
按上面相同的方法,在vShpere Client的两个宿主机中挂上了NFS文件,试着Stroage vMotion,发现
又是无法访问文件,这次是权限问题了
编辑权限,原来是Grant access to root users on all clients to the share directory,修改成Grant root access to all hosts,就可以了。
因为是热迁移,为了安全,手工分步进行,先是在本机上进行存储迁移,一切很顺利,但是进行主机迁移时出现了“由于 ESX 主机无法通过 vMotion 网络进行连接,vMotion 迁移失败。请检查 vMotion 网络设置和物理网络配置。”
想了想可能的问题,我的目标主机上,原来有一个管理网络,我将设置了vMotion启用选项,此网段为11网段,尽管我在加NFS时,在4网段的VMKernel上也启用了vMotion选项,但可能迁移还是找到原来的路径,这样vMotion网络就认为是不通了。
于是找到目标主机上,将对应的vMotion启用选项去掉,只保留在能连通NFS的VMKernel上的vMotion启用选项。这下可以了。
再从此次的目标主机上迁移到另外的机器上时,再把关闭的vMotion选项启用,麻烦一点,但是总算可行。