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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-5-9 17:33:03 来自手机 | 显示全部楼层 |阅读模式
当遇到vmware环境下,datastore数据存储里只剩下*-flat.vmdk文件,虚机不能启动解决办法:  c0 Z- q9 ~$ ?, z! k! C& L/ i
创建一个完整的虚机2 F9 q3 I( Z# F% N* |" F' f
名称和flat文件一样,创建的新磁盘需要和flat的文件大小一样,否则会失败,再把flat文件复制过去,启动虚机差不多问题就解决了!' V9 E" O5 `2 h6 O
9 A. H" s, ?  y1 H
1. 新建一虚拟机,不要创建硬盘+ m$ D4 Z) T; K/ F4 s& U$ c
2. 用ssh的方式登录host,查找xx-flat.vmdk文件所在位置及目录,
4 l8 Y: B) p5 D  ^  j, k3. 在新虚拟机目录下创建新xxx.vmdk文件,大小要和xx-flat.vmdk文件一样大,
( }: q8 o( y( W- O用ls -la查看xx-flat.vmdk文件大小,
- T* a0 `+ p! h% o" q9 g1 c用vmkfstools -c 文件大小 -a lsilogic xxx.vmdk 来创建新磁盘文件# l2 O% J8 T7 z% w4 C" ^) P
4. 用原文件xx-flat.vmdk覆盖新建的xxx-flat.vmdk(注意一定是-flat.vmdk),使用mv命令+ C- ^7 r, f2 {' ]/ o( {
5. 将这个磁盘文件添加到新建的虚拟机中;
1 k& Z  L7 E5 o1 U7 j: f8 Y) ^( i  P7 G6. 完成后开启虚拟机就可以了

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-8-19 17:28:56 | 显示全部楼层
公司生产环境中的一台esxi虚拟机,访问不了,第一时间查看机器属性发现是一台虚拟机,登录vcenter定位宿主机位置。重置虚拟机电源后显示丢失vmdx文件。下面就开始通过flat.vmdk恢复esxi虚拟机。
1 {/ D) t3 ?' k6 J) Z# m  n% V5 H! ]3 V( z7 X
        一、需要开启esxi服务器的ssh远程访问
( [9 I# u  J) E$ M2 y: A
( O- C9 E7 k9 P' E5 z    开启esxi服务器方法有三种:
+ d+ y/ o/ E7 P( [
3 F$ w( r, O& R% x. J1 K    第一种方法:通过带外访问esxi
& m, U# R% Z3 m8 u* l
" J. F( Z1 @! I, X1 S        1,启动控制台                        % |$ h8 g  s0 `+ S' H. Y

: C3 Y& G6 k* |$ h        image.png
1 a% [/ Z  F: G- ]& f  K
& G6 M! d3 v' I* O( e6 O4 _9 G        2、按F2输入root密码,回车。" v1 o7 t+ w1 @! E5 G" o3 J6 @
5 m% S1 W+ B: R  J5 w/ O
        image.png
. E; e2 ^6 K, V2 I& j0 @* O# p7 E: A1 J( ?6 F
        3、找到Troubleshoting Options回车' |; J% I/ q2 m) P; {" u9 j' G

9 P# D: ~: ]7 c, ^! W! A        image.png
* n1 ~* z& Q% i& M5 c+ g
3 D2 p8 V. x: h4 @2 U        4、选择Enable SSH,回车,右侧显示SSH is Enabled即为开启了SSH
( j/ d, }8 d4 l  T& B# ^, C- {. V# q2 L+ I3 r1 P* J
        image.png' \; F3 c. ^  x; S. ?: ]. B

6 A; @8 r/ h& ?        第二种方法:通过网页访问esxi服务器授权开启SSH服务器
" R: d$ |3 ~4 N8 K
$ J, L6 c, y0 i8 B* G8 Z        访问esxi页面-->操作-->服务器-->启用安全Shell (SSH),即可通过客户端ssh远程访问esxi服务器。
) r! G5 J3 ~5 a% e' c' |( O! l! i8 t1 D* i( B7 _1 e+ s
            image.png
4 R6 [( F. u3 D! q* H2 Y; o$ j8 ?! A- B" z5 n) B
        第三种方法:通过vSphere Client设置esxi服务器开启SSH服务。  j: C; u* H8 d9 [8 ^+ {1 p  P

5 |; ^* G. X( l  Y: w: b        登录vSphere Client找到配置安全配置文件,右侧的服务属性。* }  i4 D- k) X( v% S, M" ?
* X2 S: F' A# h3 P
            image.png- z' w- L2 C2 |: g  c

! z  M) @# R) S. [( F5 U( C        找到SSH服务器点右下角的选项,启动服务器即可通过客户端连接esxi服务器
4 a+ w) u4 `' M7 \& L$ G  n8 f5 J$ `1 t/ F; `
            image.png
2 t  r+ U2 |) x4 h* l  L, x) _& M" W5 c) O2 g1 Z
        二、客户端连接esxi服务器/ ?) F, |7 a! L) b( D

8 e; r' o1 o: A6 J+ A        
( c) v$ w% z5 R% B! X; W0 W* s! L$ d* o, l: r0 M" {# N
            image.png
8 x/ l8 m. S6 f* k
# D; @) d% \. Z( W7 [- Z% Q        这里我使用了本地PC安装了esxi服务器模拟故障,首先创建了一个虚拟机win7专业版,创建完成后,如下图
( _" ?8 ]! s7 T- P" A0 j$ H( c" h# ]# w- H- k2 j4 n, v0 W
            image.png6 J+ A/ a: V" A/ C" {: r

  [% a2 B; V$ D- X; ]6 [        开始模拟丢失vmdk配置文件   5 n. a) b" P* P: g' Y% C

$ i0 q! M8 \3 b2 C' P+ P4 m     image.png, L: p+ ]2 U  u+ h. O0 n0 O9 p2 n

" E; H( r9 e& N8 N# J, s        这里模拟丢失vmdk文件,rm -rf win7.vmdk3 \5 @/ \, F  [2 \% n. E% V

8 \: Q: M9 z! K6 Q% ^, @- o. ]            image.png    # p5 P( v# R- l6 u1 ~+ z, O0 d

, E. F5 z0 f7 l. M3 r$ m$ Z" _$ S: R6 m! R        打开虚拟机电源,会报错如下图' b: t7 U/ s0 ~4 v
( l8 ^8 L) z5 K6 i, h* M
            image.png/ @8 ^* d; w" |- B6 i5 L) m+ @3 Z
  y) {; B0 d# F3 Y, T& Y
            % F. w/ U, F1 ~  W$ o' J6 q, j' t

' ^6 {1 }# ~, H& ~    vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk
9 C5 B! V8 A% ]; ~5 m3 O& P* F; c) ^' Q9 g1 H# ~# t' [
    这条命令会创建一个vmdk虚拟机磁盘文件和vmdk配置文件# I! H6 q$ a+ [* h% U9 u: T* u

3 o% r( g& q/ F4 |    将temp.vmdk重命名为win7.vmdk1 ^& U4 ^4 G1 |3 D' D2 b" ~  I
3 H! n) |$ z. [0 q6 O# A8 t0 U
        image.png
" U3 H4 s8 `2 W, ~7 J: Q2 f+ \3 t# v
    编辑win7.vmdk,修改图中temp-flat.vmdk为win7-flat.vmdk,ddb.thinProvisioned = "1"注释或者删除。
: v  S/ X# V5 F; G% m5 C
. P/ R& w  f; G  l5 w        image.png   
% I* ]' F: G# ?) U* Y$ Y/ P" N/ _, H2 N; R  \9 ~
    修改完后,开启虚拟机win7
8 C/ v4 V: N$ T; K! W% p/ }, F6 ?. k; r8 f
        image.png
  z4 T: A; w- ~! n9 q- a. Z* b6 }" |8 o8 a7 l
    正常启动
# A0 h) p: ^: y6 ?: E) i0 Y
5 T! }7 s" `9 D% a  l( ^/ D) q; W   
5 o$ v6 o! n/ A, M" e8 i( R8 U! L
    延伸:如果你的虚拟机目录下只剩下一个flat.vmdk文件怎么办,是否也能恢复系统。" T' R% I% \% Y- N
) l2 I+ Z. c8 f" @
    这里一定要确保你esxi虚拟机的flat.vmdk文件存在而且没有被损坏,今天也测试了只有一个flat.vmdk文件也可以恢复系统。* U. ~# f5 u  ~+ o" y1 ^
, G. H- P" b- c$ x- Z+ n  N
    前提是在原虚拟机目录。( Y0 @6 R+ V* v, _2 {2 ^& d/ V

; l/ M2 r0 N( C    执行:vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk生成配置文件) E! \0 S7 \, i8 I$ D6 r

# ^) q$ n9 [, n( }, T    配置文件的修改前面已经讲过,不会的请爬楼。
+ [3 ~* O( f( H  |
4 d5 O7 K  B+ K5 [2 Y0 Y; |    你正常创建了一个虚拟机,自动创建虚拟机,添加现有的虚拟磁盘6 L8 n9 [$ W3 I, x8 N1 ]

+ E& ~& _; T' H& {. h. {6 {    image.png" X# a( d" m' }! {

7 E# d6 `1 k, U, H( I; {  P( w    原目录只要有vmdk配置文件也能在新的虚拟机中添加虚拟磁盘(相当于迁移虚拟机了)+ d$ k2 ?3 D# }# A( K' S6 {0 G
6 o, D5 M8 G' f6 N5 b3 z7 E
    image.png
) O4 g7 c" C# s4 H0 O! I4 ?- K, _" F0 |, x0 u
    结果证明也可以恢复系统。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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