问题:
esxi 的主机重启后出现以下错误:
网上主要的说法是服务器意外关机导致的, 解决办法,重装 esxi 系统。 在安装过程中可以选择不覆盖原存储盘,那以前的虚拟机和文件都不会丢失。
但是这样太麻烦了, 通过研究发现esxi有两个250M左右的盘,其中一个就是包含了文件 state.tgz, 把这个文件copy出来,解压,发现文件尾部有错误,这正是导致无法正常启动系统的原因。所以我就想,通过修复解压的错误来解决问题,经过尝试后发现是可行的。
解决办法:
-
解压 state.tgz 到 state, 里面有一个local.tgz, 一样,尾部错误
-
解压 local.tgz 到 local, 删除 local.tgz
-
压缩 local 成 local.tgz
-
压缩外层目录 state 成 state.tgz
-
将自己重新压缩的 state.tgz 拷贝到 esxi 的系统目录中 (原来 copy 出来的地方, 覆盖原来的文件)
扩展:
-
linux 系统:可以直接通过 tar -zxvf 来解压, tar -zcvf 来压缩。
-
window系统:可以使用 7z 来处理 。 解压: 先解压成 *.tar 文件,再解压成目录。 压缩: 先压缩成 *.tar, 再压缩成 *.tgz
再重启机器,发现可以正常启动。 state.tgz 是存储配置文件的,所以不完整的 state.tgz 导致 了系统的配置丢失,所以需要重新配置,例如ip等。
配置完成后,进入控制台,里面的虚拟机都没有 了,但是存储盘还在,原来的文件也都在。 新建虚拟机,然后选择已经 存在的文件目录, 就可以把原来的虚拟机在控制台弄回来了。