找回密码
 注册
查看: 4262|回复: 1

vmware虚机目录下只剩下一个*flat.vmdk文件时恢复方法

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-5-9 17:33:03 来自手机 | 显示全部楼层 |阅读模式
当遇到vmware环境下,datastore数据存储里只剩下*-flat.vmdk文件,虚机不能启动解决办法:" M. [/ q& S) A4 F7 n9 `
创建一个完整的虚机0 S3 r' L' D; Z0 b
名称和flat文件一样,创建的新磁盘需要和flat的文件大小一样,否则会失败,再把flat文件复制过去,启动虚机差不多问题就解决了!
6 O0 ~; m  \; S
9 c* m3 V+ p% U. b# ?0 [; d5 J" O1. 新建一虚拟机,不要创建硬盘3 T3 ]) g0 u$ C  j& z
2. 用ssh的方式登录host,查找xx-flat.vmdk文件所在位置及目录,
$ d2 q' f+ ?" }* _& b, |- N% I+ E3. 在新虚拟机目录下创建新xxx.vmdk文件,大小要和xx-flat.vmdk文件一样大,
7 P. Y7 z7 c$ u; [, j用ls -la查看xx-flat.vmdk文件大小,9 X% q$ P4 m" F! ?+ i' _1 f
用vmkfstools -c 文件大小 -a lsilogic xxx.vmdk 来创建新磁盘文件/ S" j8 b; O7 C7 `
4. 用原文件xx-flat.vmdk覆盖新建的xxx-flat.vmdk(注意一定是-flat.vmdk),使用mv命令
3 N' A- H) T5 m2 w7 ]  ~* {5. 将这个磁盘文件添加到新建的虚拟机中;0 L0 D0 r; \- s4 K) L
6. 完成后开启虚拟机就可以了

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-8-19 17:28:56 | 显示全部楼层
公司生产环境中的一台esxi虚拟机,访问不了,第一时间查看机器属性发现是一台虚拟机,登录vcenter定位宿主机位置。重置虚拟机电源后显示丢失vmdx文件。下面就开始通过flat.vmdk恢复esxi虚拟机。8 y4 x& b/ v  p( |: i" j, j" ^6 U
6 k% {6 |7 ]3 H0 ~, M
        一、需要开启esxi服务器的ssh远程访问
! f3 g$ X  z& [  t( y1 v% \# E2 y/ b5 m& c& v* W) `
    开启esxi服务器方法有三种:) }: ^+ Y4 |& ^' a' d

! b( P% E" `4 P6 Z8 x  d9 Q' v    第一种方法:通过带外访问esxi+ ~, X4 g7 y6 z. j

. r9 T; q; O) n  t        1,启动控制台                        
( X: ]3 V% @  L$ j4 R2 q; o( I3 E' _+ c2 W. n
        image.png, y. H7 I1 e4 P4 g( h  y0 Q7 I- Q
* y! o+ p: S0 v6 A! p8 D7 F9 R* Y
        2、按F2输入root密码,回车。
1 o7 ?$ d: d& g, P' n  ]) Z
0 [9 L' H+ H$ f2 \/ h7 U        image.png
. l0 l  @# g* P
* F% W3 B/ x, Z% Q1 S0 Y        3、找到Troubleshoting Options回车
; j9 d3 _% H6 F. G- k, ?( Y% m  H6 k9 F: P# E, \2 ~
        image.png2 O" \- C: p* ]: H: Z

; |# K) e0 U% i/ ~2 F! ?3 _        4、选择Enable SSH,回车,右侧显示SSH is Enabled即为开启了SSH
7 E8 }3 p" x% Q
3 W" T8 D: O. S2 r5 R4 ^        image.png5 j; P  y) g0 l5 V& H1 h
+ w7 w( Y2 b" ^  W5 k
        第二种方法:通过网页访问esxi服务器授权开启SSH服务器
. C' ]" X2 F) r9 d' k
7 B* e0 Q4 @9 @        访问esxi页面-->操作-->服务器-->启用安全Shell (SSH),即可通过客户端ssh远程访问esxi服务器。) p' L, b. [% y" X+ q  K

( ^: W' l2 j* s: K0 C            image.png1 G7 y, _+ j6 z8 l0 z! q+ q, u
$ j3 z% L: o8 C: ^0 l" Q# g
        第三种方法:通过vSphere Client设置esxi服务器开启SSH服务。0 e3 M& P6 x# T% k/ |6 w

  B2 y2 {' L$ K! U        登录vSphere Client找到配置安全配置文件,右侧的服务属性。. y7 U+ X) r+ |

( P4 u- L$ |4 K1 G$ Y            image.png- L8 Y1 o0 X- \1 b1 y6 d& a
, V0 {* [1 [9 T5 W+ K; o1 W
        找到SSH服务器点右下角的选项,启动服务器即可通过客户端连接esxi服务器$ M" D! G8 m9 Q. z
( t. q! A+ y5 O3 D: F
            image.png
+ _( Z% W  F3 D- t
! W- I/ V6 E% h1 I2 `0 o        二、客户端连接esxi服务器
& U! i% h' C% Z7 r& q! |* i
9 |) ?& {% S1 L        
6 F' @9 e, \( G: p& B5 h" Z: w3 u2 a0 e0 @
            image.png
3 y0 z9 g1 ?# n
3 k1 ^9 p" l2 I, k/ Y) g        这里我使用了本地PC安装了esxi服务器模拟故障,首先创建了一个虚拟机win7专业版,创建完成后,如下图
$ E3 ]2 v2 ^' u( d2 ]2 b
7 m! ]) b! I$ d- t            image.png
5 Y2 ?, e4 d. Z) F  |- u* P$ e; q- e9 L" u2 c
        开始模拟丢失vmdk配置文件   
5 ^7 r4 B! o* a* Y, x, v. h9 J1 |8 I- B- _
     image.png$ e( A9 D0 F9 [4 y$ A! G7 d$ A2 I

, ^8 V5 f" F; }* [5 L, t; V        这里模拟丢失vmdk文件,rm -rf win7.vmdk* s' x: s1 I2 I: i! o
8 s2 R9 S- T: F9 p& K
            image.png    2 @6 j" c' ~5 e4 k7 U: S3 S

( K0 J% Y  d# v; k        打开虚拟机电源,会报错如下图3 w1 Q. e# n! G

# A' N5 S( l  x/ p  a$ ]' e            image.png" `& I2 M5 p# {! H# G3 P
5 z) l( S9 j# S9 R& m) g; w3 x& N4 O
            . O( Z. w3 i3 _/ k6 K% \9 L7 [0 g
, e, ?3 Z& w5 A/ v2 E1 e
    vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk  i9 j2 G7 z& ]) u$ b

: x' m6 y! o" }1 O1 y    这条命令会创建一个vmdk虚拟机磁盘文件和vmdk配置文件
* B# c$ z0 P. S  p5 r$ [8 h2 p" i9 u( M9 ]8 S8 P
    将temp.vmdk重命名为win7.vmdk) q5 K; `2 t! B. {9 E' z
: w/ a* J0 I9 A
        image.png
) Z5 y2 u$ t! F3 c4 R" \3 Z0 T7 y- ^# ^
    编辑win7.vmdk,修改图中temp-flat.vmdk为win7-flat.vmdk,ddb.thinProvisioned = "1"注释或者删除。
: T' s7 t1 Z( g- H/ U2 y$ l
# r8 s) k! ~& O! r$ l: k        image.png   / l$ z% O( |' P& K5 b# U
& E3 W0 J& r8 j  B8 _: B$ l
    修改完后,开启虚拟机win7
! `' Z, M! P% q) g) r& N4 [
) j% i" V  P3 h- }9 P        image.png& `4 ?$ b1 o4 x' |$ V6 |5 U
( U8 H! G3 ?5 e" `/ e& f  {
    正常启动
! [" x. P9 v: f, \& \3 p( i5 i% {
   
2 K* K% W0 n% @; G" _, Y0 R1 [0 I5 l- ~7 M
    延伸:如果你的虚拟机目录下只剩下一个flat.vmdk文件怎么办,是否也能恢复系统。
# p) \, t% o* V: Z$ b
& W7 o- j& l' D' W! B6 N8 a    这里一定要确保你esxi虚拟机的flat.vmdk文件存在而且没有被损坏,今天也测试了只有一个flat.vmdk文件也可以恢复系统。
# a0 R: h1 T* Z; b1 P; X7 H+ B3 S( X+ t1 x4 J9 r. x! D+ p
    前提是在原虚拟机目录。. A9 ~% [- c+ K! K" L% d2 V: X

* V4 {% L" d- k    执行:vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk生成配置文件" A) h: u! K% W( _( F+ P) M, I
6 u+ l1 ]' D1 t. ^+ f* Q/ q& B1 Q- q
    配置文件的修改前面已经讲过,不会的请爬楼。
# ?& |& B* b' H4 C0 B$ ~8 u  a# k5 E
    你正常创建了一个虚拟机,自动创建虚拟机,添加现有的虚拟磁盘# Q$ Z+ A0 m; n3 C  t! W
, v1 l* l+ e. W  J$ \- h
    image.png" A5 |8 n# O9 c0 R4 u$ [* t8 v

$ E8 Z0 ]$ n, T# Q& b1 F7 b    原目录只要有vmdk配置文件也能在新的虚拟机中添加虚拟磁盘(相当于迁移虚拟机了)
& b. ?7 e) D' v: y/ t4 M, s$ E# a9 k  c* C* F  G
    image.png
. L: D) e8 f' v8 ?& G, A5 N
5 q- y* A* V5 c7 s: x6 O! m! U    结果证明也可以恢复系统。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 01:19 , Processed in 0.014241 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表