我有一个 VMware ESXi 4 服务器和 2 个存储服务器(通过 nfs 安装)。
存储服务器(Fedora 14)之间是一个 drbd 集群(双主)和 ocfs2 文件系统;此外,每个服务器都有一个带有 ext4 文件系统的本地分区,两者均通过 esxi 服务器上的 nfs 挂载。
当我尝试将虚拟机(自然是关闭的)从 ext4 分区复制到 ocfs2 分区时,vmdk 总文件大小不同,但 md5sum 相同。
在 ext4 分区上:
# ls -la
total 28492228
-rw------- 1 root root 42949672960 Jan 14 14:46 disk-flat.vmdk
# md5sum disk-flat.vmdk
0eaebe3138beb32f54ea5de6dfe5a987
在 ocfs2 分区上:
# ls -la
total 13974660
-rw------- 1 root root 42949672960 Jan 14 16:16 disk-flat.vmdk
# md5sum disk-flat.vmdk
0eaebe3138beb32f54ea5de6dfe5a987
当我从 ocfs2 分区启动虚拟机时,它不工作。我在虚拟机上安装了 Windows,它在 Windows 徽标后冻结。从 ext4 分区,虚拟机可以工作。
我使用 linux 进行了测试(在 ext4 分区上创建并安装,然后复制到 ocfs2),出现了同样的问题。
当我直接从 ocfs2 分区创建虚拟机时,没有任何问题。
我尝试通过 vSphere 客户端进行复制,但遇到了同样的问题。
有什么建议么?
答案1
如上所述:vmdk 文件很稀疏。也就是说,它们中有“空洞”。尝试使用“du”比较文件大小。
答案2
答案3
我认为尝试诊断此问题的一个好方法是在同一个 OCFS 分区上配置一个新的 VM,以查看 VMware 在该分区本地创建时的工作方式。这可能是 OCFS 或 NFS 权限的总体问题,而不是仅限于此特定 VM 数据的问题。此外,请确保 VMkernel 连接到 NFS 的 vSwitch 与实际 drbd 集群之间的 MTU 一致性。
此外,根据您粘贴的内容,文件大小是相同的。上面列出的“总计”数字不是您应该使用的;这是总块数,而不是文件大小。
-詹姆士