易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 4252|回复: 1
收起左侧

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

[复制链接]
发表于 2018-5-9 17:33:03 来自手机 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
当遇到vmware环境下,datastore数据存储里只剩下*-flat.vmdk文件,虚机不能启动解决办法:
) }  \6 j( m& ^5 ?) i创建一个完整的虚机6 A; b) _+ [5 ~0 e+ y
名称和flat文件一样,创建的新磁盘需要和flat的文件大小一样,否则会失败,再把flat文件复制过去,启动虚机差不多问题就解决了!
7 N1 ^3 f- m& @# J  o3 @: x6 e6 S7 u3 x7 n, D" \- }  C* K. [5 G
1. 新建一虚拟机,不要创建硬盘& p9 a0 G* ~- U
2. 用ssh的方式登录host,查找xx-flat.vmdk文件所在位置及目录,9 S- T+ q4 w, r3 Y- |6 Z
3. 在新虚拟机目录下创建新xxx.vmdk文件,大小要和xx-flat.vmdk文件一样大,
1 u( e  b) [4 X) z! A) k' G( |用ls -la查看xx-flat.vmdk文件大小,
3 G! z: P$ S% j3 [: z% c! Y用vmkfstools -c 文件大小 -a lsilogic xxx.vmdk 来创建新磁盘文件
; i5 m5 c" _3 l& d# F4. 用原文件xx-flat.vmdk覆盖新建的xxx-flat.vmdk(注意一定是-flat.vmdk),使用mv命令
6 i9 n0 V, z/ `% q# t4 x1 M$ T% ^5. 将这个磁盘文件添加到新建的虚拟机中;; r7 r& K" f. W
6. 完成后开启虚拟机就可以了
 楼主| 发表于 2021-8-19 17:28:56 | 显示全部楼层
公司生产环境中的一台esxi虚拟机,访问不了,第一时间查看机器属性发现是一台虚拟机,登录vcenter定位宿主机位置。重置虚拟机电源后显示丢失vmdx文件。下面就开始通过flat.vmdk恢复esxi虚拟机。
" u9 n5 f/ M6 P% q4 t1 l
* O# k$ W) g9 i, G! u( j        一、需要开启esxi服务器的ssh远程访问
* H. a, ]6 t8 l; w
9 M& L9 P  q. n: W    开启esxi服务器方法有三种:0 p7 o+ L/ r0 q. U1 O  W! W
, ~. r# B4 I4 ~* @: O
    第一种方法:通过带外访问esxi5 u; E/ w9 u+ m$ w! ?8 n9 N

( V, E* Y9 c5 K3 N6 N        1,启动控制台                        9 ?) m, ]* w2 O- @+ N
, a. [2 Z2 `, I; J9 B& x4 I
        image.png
4 z) X9 ^% n- N( a7 }) l0 R" V0 o2 |5 [$ V5 p
        2、按F2输入root密码,回车。  B  U% H' Q( a* H

- p1 q0 r" P# d: n6 u0 C5 B        image.png
* H7 J* p7 ^$ j- A
# Q- D% l- S' g" ]        3、找到Troubleshoting Options回车
/ W, R- k: m  d2 X6 t& I0 T' b" G
: s# Z3 w' \5 e4 M        image.png2 e8 X# _0 o$ c6 O: @' O1 ]

$ _; T- |/ \1 Q$ N6 B        4、选择Enable SSH,回车,右侧显示SSH is Enabled即为开启了SSH
$ c2 l, S; A* G" l7 Z% G+ ]# g$ j5 x1 {) W& c) ^
        image.png# o; l) I1 u- P0 i& U6 g0 V& L

1 y" H0 p5 B/ B  ~        第二种方法:通过网页访问esxi服务器授权开启SSH服务器
: Z% K2 f$ e3 ^& m2 d( L
5 o" z/ U/ S, i6 F& |        访问esxi页面-->操作-->服务器-->启用安全Shell (SSH),即可通过客户端ssh远程访问esxi服务器。+ [/ I9 Q- }3 d. ?; h1 b8 U7 b- d  [
# B* S  q: E* R7 @
            image.png6 [" f  X* I- q; E$ m/ c
8 v# Y7 C. q* c- ]7 F; q
        第三种方法:通过vSphere Client设置esxi服务器开启SSH服务。
$ g4 I2 u* z" ^4 K4 v7 g9 v$ M+ s3 m" C1 U6 b+ f
        登录vSphere Client找到配置安全配置文件,右侧的服务属性。0 _+ i  C- |7 ^

' q1 s; o" v5 e- H' S! `- c5 F, \            image.png
/ z- C9 M( Y! J8 k
& _& C- h3 c7 g. R4 }  ~        找到SSH服务器点右下角的选项,启动服务器即可通过客户端连接esxi服务器
* s6 C1 Q- X$ p4 w9 i- p, O" r- Z6 k* p3 k# D. `
            image.png4 a+ Z7 y5 s3 I! ?7 [  j- \
# X. o, y# M! V, j$ e* C
        二、客户端连接esxi服务器
) k/ e% ^$ ]: [4 m) i; T4 h" m; j' e0 P0 R
        
9 e; f4 F+ d5 h( T
5 ?. C8 \% X- q& _8 Y; p) i            image.png  A& M/ }! L; @* w9 J* f

: ]' W- s; d( o. |+ N, z0 ?& F        这里我使用了本地PC安装了esxi服务器模拟故障,首先创建了一个虚拟机win7专业版,创建完成后,如下图% F# ]7 n0 c) F' ]7 {0 \" P

6 @1 h8 q) o; x$ p- a, ^            image.png
. t. o) c, u! u6 l
6 S  k' ?& s: W+ I4 Q. ]        开始模拟丢失vmdk配置文件   
/ y: z4 T* P1 }$ O% C
7 y! x' W- q* N0 V     image.png
& O# r, q+ V$ J$ K& W
" X. x" q$ V- L        这里模拟丢失vmdk文件,rm -rf win7.vmdk) E) L" z& H5 X/ ~

, k! c+ Q  e1 l            image.png   
: ^4 ]2 C6 x  ]: J$ x' ^2 p1 q; Q' i
        打开虚拟机电源,会报错如下图
; z# t3 |2 H5 W6 l- |/ ^# Q
, ^: D( {7 ]9 Q$ ?8 w0 G# v            image.png
! d* F9 A( [4 L/ L3 C" M& i+ o1 Z- `, y7 {/ ]8 T8 {0 M7 a
           
5 A' T% F3 D2 |8 w) A9 }, h6 W7 M  X! v3 Y# t, ~
    vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk
  {! w& y; r* k/ X3 j% [( x# X1 L/ ~, \* f1 ^$ O
    这条命令会创建一个vmdk虚拟机磁盘文件和vmdk配置文件
6 y, Z! ~( c! W/ R+ i6 }
4 [5 r  u; A! y5 ]- }( I    将temp.vmdk重命名为win7.vmdk
3 |3 l/ w" d+ H$ r- S2 x. a( e2 b2 f  T. o( E* ~
        image.png9 s  c  w% s/ g

) }+ E7 ?6 _/ i  t    编辑win7.vmdk,修改图中temp-flat.vmdk为win7-flat.vmdk,ddb.thinProvisioned = "1"注释或者删除。3 s% [: V0 ~3 @$ C- Y

( C( ]/ R0 @7 L" ^6 T/ W5 b        image.png   
+ K( @) N4 K; K# `% J* T! ]5 u
2 _! t0 t9 \' o& J0 |% e  {% u) C* M    修改完后,开启虚拟机win7
; Y7 F: Z" Q6 q) K' U. i/ X
- e  U7 D5 B% M/ }( R        image.png
% Q, k* v9 m5 _3 u1 V# K2 [, r" F: ?" I8 X1 u5 T5 t  X+ J& f  R; V
    正常启动5 i$ `9 W: A3 a# U( d

, j% ~/ j9 k1 r' z, R5 U* K6 d   
4 d! ]: Z- u# D9 y* }1 a$ ^7 c7 C6 Y: N; u( |. e! e2 u8 T
    延伸:如果你的虚拟机目录下只剩下一个flat.vmdk文件怎么办,是否也能恢复系统。
' a( D! D% G, H2 K
! a' m* Q2 p0 I8 G  V( N& C: M    这里一定要确保你esxi虚拟机的flat.vmdk文件存在而且没有被损坏,今天也测试了只有一个flat.vmdk文件也可以恢复系统。
' U! E9 X& N9 j' Z, o9 ?$ F2 z* [7 {
' U+ f) G) [( I3 R! I    前提是在原虚拟机目录。# ~/ H% N, z& Q* ]1 r: `

8 {5 W- H5 Y6 @' I1 c( V* B    执行:vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk生成配置文件
7 N3 O7 L, g; v& V1 {$ Z. v8 K
1 r& I  N' x+ P1 \* H7 P    配置文件的修改前面已经讲过,不会的请爬楼。5 A! b6 b% }, v) h, a( u, K
6 e* a) e0 `) p5 {
    你正常创建了一个虚拟机,自动创建虚拟机,添加现有的虚拟磁盘
; l* H8 I- x! q. K; n3 Q4 ]# v: r+ J3 G* `2 D1 x$ W; o
    image.png
' m) p6 B& m) q' k3 s
# _! L" h+ _( M    原目录只要有vmdk配置文件也能在新的虚拟机中添加虚拟磁盘(相当于迁移虚拟机了)
* f& c# i% r% d, N* _2 ?! V8 \
" N* y7 O6 }7 r! h. N; C; E/ b& V    image.png# z& c7 ?  p# Z, T% l9 f( J7 _

0 S% ?! p# D1 C. C    结果证明也可以恢复系统。
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 21:24 , Processed in 0.048644 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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