易陆发现互联网技术论坛

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

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

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

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

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

x
当遇到vmware环境下,datastore数据存储里只剩下*-flat.vmdk文件,虚机不能启动解决办法:$ D$ h& `( o% ]
创建一个完整的虚机
3 G" s5 z6 p" O9 E! ~6 q5 Z名称和flat文件一样,创建的新磁盘需要和flat的文件大小一样,否则会失败,再把flat文件复制过去,启动虚机差不多问题就解决了!9 _8 k5 o( `! u9 o0 @; e7 ~

1 G: Y, `1 v7 ?! p9 H1. 新建一虚拟机,不要创建硬盘& i2 i0 n' H7 I6 L; b4 ]! b  p6 U, K
2. 用ssh的方式登录host,查找xx-flat.vmdk文件所在位置及目录,' l- t1 k8 M+ i6 i7 m/ b0 ?
3. 在新虚拟机目录下创建新xxx.vmdk文件,大小要和xx-flat.vmdk文件一样大,! ^" u; Q0 C& Q2 n) w# f9 h* W4 [
用ls -la查看xx-flat.vmdk文件大小,
3 k1 E8 D1 Y0 x% C用vmkfstools -c 文件大小 -a lsilogic xxx.vmdk 来创建新磁盘文件! ^$ Q! X- \7 K7 u
4. 用原文件xx-flat.vmdk覆盖新建的xxx-flat.vmdk(注意一定是-flat.vmdk),使用mv命令
* F1 x# S7 M+ |( K# }5. 将这个磁盘文件添加到新建的虚拟机中;
6 u' O% y! A- n' w6. 完成后开启虚拟机就可以了
 楼主| 发表于 2021-8-19 17:28:56 | 显示全部楼层
公司生产环境中的一台esxi虚拟机,访问不了,第一时间查看机器属性发现是一台虚拟机,登录vcenter定位宿主机位置。重置虚拟机电源后显示丢失vmdx文件。下面就开始通过flat.vmdk恢复esxi虚拟机。. u; ?( |: {8 R6 H+ w3 r8 m7 B" |& o

% y  k' t% ]6 g9 w6 w        一、需要开启esxi服务器的ssh远程访问+ l6 T0 i& `4 {; X
. P0 f  v3 S! U6 \7 F
    开启esxi服务器方法有三种:
' Q) ^8 I, e5 a, W/ H4 f& [. `
( y# D# g. _( x: N! h" ^    第一种方法:通过带外访问esxi" ^1 M. F0 q7 A$ U

' y% `& p! c/ X: W1 X0 X        1,启动控制台                        # }0 f# N3 Z6 }% p

- _! r# J! K/ q0 L. O        image.png
/ Y: G9 \% T; l7 P
$ |& y: A, w3 s; e; f+ ~        2、按F2输入root密码,回车。& D- A5 |! m5 a( @5 F9 }
  d+ U& B5 \% U$ ~' K3 C" a
        image.png5 n" }/ W# e, {) O4 U/ }

8 U. T4 z0 ^# I9 U        3、找到Troubleshoting Options回车
' h# Q+ ~0 D" B' r2 {# t' t+ |2 P+ b
        image.png3 v* D% k9 U+ o" Z, n; g: y  R
6 k2 t+ K; Q, B9 l( {5 Y
        4、选择Enable SSH,回车,右侧显示SSH is Enabled即为开启了SSH: d, L9 y: P0 C# z# v5 n
5 I3 X6 q. A6 D9 i
        image.png
8 W1 ]" m% ^5 h( O% q( a5 Y. l% L' |3 [1 e- \6 `0 h" J/ i7 p
        第二种方法:通过网页访问esxi服务器授权开启SSH服务器) j) g6 Z$ O! h3 v

5 g/ w, Y* b5 M2 b. L4 q. a        访问esxi页面-->操作-->服务器-->启用安全Shell (SSH),即可通过客户端ssh远程访问esxi服务器。
% D6 X% L6 t7 E: ?+ E; C
* q" i8 j% z( }- j$ b: A! e2 h0 A            image.png
2 I7 V$ p1 C+ y6 g+ @. ~5 D% `  `, ~3 p; @/ h. e
        第三种方法:通过vSphere Client设置esxi服务器开启SSH服务。/ G- l5 U. L! c
# V; l1 h" R1 Z# O1 v
        登录vSphere Client找到配置安全配置文件,右侧的服务属性。
1 m" E* D9 _4 [8 Q5 X' M# z/ ^1 M2 ]) H& q1 y1 m- ^
            image.png1 U; {" I! U* P8 U( Z! e1 R( g
) d- o! |/ D/ a  X. Y1 `/ }, f
        找到SSH服务器点右下角的选项,启动服务器即可通过客户端连接esxi服务器
$ R- m1 F1 D7 ^# @! G) j
  W0 @  ~5 W5 p0 G* p            image.png
# u/ f# A& z; J5 \8 t8 V; s& e$ n' B2 t8 |: i7 z, l
        二、客户端连接esxi服务器: h/ h) M- ^4 l# h$ c* j
( k* M8 P5 Z; i7 t- G% Z* J+ R8 B
        
/ x  ?& e4 a) V8 \
; n; J2 F0 q" m' _/ s" O( n6 Z; ]# S            image.png
/ H! B) _  {2 ]. @0 r8 f2 f7 R  b- S3 N. N) O. m4 t4 D# R( N
        这里我使用了本地PC安装了esxi服务器模拟故障,首先创建了一个虚拟机win7专业版,创建完成后,如下图" ~0 V; `3 h. K& I  H

; z1 J: {0 b  p0 P9 u! l  H$ I$ I' X7 z            image.png
1 x* K6 A2 e) V0 T9 ]% F6 {6 }: I8 u8 X. y4 E1 q/ E% [# W# D' b. i
        开始模拟丢失vmdk配置文件   ' V5 K5 X. x- x
- v' g* o5 g. u
     image.png+ t# W5 |0 ?; Y# |2 n
3 G2 e! h' y& z5 b, C
        这里模拟丢失vmdk文件,rm -rf win7.vmdk# T! k6 C2 b. ^. i- n8 F$ J9 z
7 L5 E) u! n- C8 Y4 W7 L$ r5 Z
            image.png   
! a' q+ m) n/ R1 i4 S9 L. U
: b0 q& [  Q. p8 C$ c) y5 T        打开虚拟机电源,会报错如下图; D% R, S0 u- e& U

2 C) [: Q* q' M* t1 u7 U' _' B  y            image.png
, L- Z6 @7 p; I; I$ V  j& B* P; I6 A- j4 y0 `5 n3 l8 P
            % k/ r2 d2 e8 a! e* _- w/ h* E
8 y! X' E1 g6 D3 ^; a& H
    vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk. U1 V) p# v, A- h) ^6 ?

/ _* `5 v% g: G/ W7 q& u3 @    这条命令会创建一个vmdk虚拟机磁盘文件和vmdk配置文件
6 l7 v( P7 o0 T$ f) I6 e
; I% S# U0 A. c/ O) q    将temp.vmdk重命名为win7.vmdk# n) |5 v7 I& H  o1 m- d7 m* Y7 E3 {
* u4 n; h' z; ~3 s* W7 L
        image.png
; V$ k9 I! m* H% G) Z( i
+ n) `6 V4 d5 g3 O    编辑win7.vmdk,修改图中temp-flat.vmdk为win7-flat.vmdk,ddb.thinProvisioned = "1"注释或者删除。! u( M. C, V9 R. K* J0 z5 |7 K

( V; }  {- r5 [+ Y# o) ]        image.png   * m! }% ^; Q! H0 M; p7 C

' M) {9 U% {9 w9 n0 w    修改完后,开启虚拟机win7
6 _) h  j  [+ `+ g7 G! Z
& `, I, r2 o1 J) r* |! o- J        image.png1 ]8 E/ j. B/ ~9 V

4 l, |9 R# j* U( {4 E    正常启动
5 B$ x! W$ B1 p6 Q- t1 D# K( M& j5 I5 U
    3 r* J" \( o- w, T' b5 \: z* ~/ A0 g

* i( p+ c6 P" L9 _, [) q    延伸:如果你的虚拟机目录下只剩下一个flat.vmdk文件怎么办,是否也能恢复系统。
; o7 Y0 @$ l' i  |8 b7 @2 l* D5 @; a3 F1 m* _* J% v5 C) C! D5 n
    这里一定要确保你esxi虚拟机的flat.vmdk文件存在而且没有被损坏,今天也测试了只有一个flat.vmdk文件也可以恢复系统。4 D7 k5 B5 y) _$ x+ Z( O8 B2 U
7 Z! s$ ?1 d8 A! f! @8 l8 E
    前提是在原虚拟机目录。5 C+ z- w1 [2 B# A: R, |
* z  K- E2 i3 f4 [( N
    执行:vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk生成配置文件1 T2 r) i5 s( m+ n

# J0 U: y0 w& N    配置文件的修改前面已经讲过,不会的请爬楼。+ {& c& x# d4 @; |, D
) K" f- j  @, c9 o/ G! A6 I
    你正常创建了一个虚拟机,自动创建虚拟机,添加现有的虚拟磁盘* A: K3 y4 \  M7 ]

- M; h9 K( T. b5 X* G' c! y' r    image.png
- J( Q; c) J6 g4 i! ~( k# }2 K( h8 Q0 L- D- k: x
    原目录只要有vmdk配置文件也能在新的虚拟机中添加虚拟磁盘(相当于迁移虚拟机了)- v+ \/ d5 {8 F! U/ v  T5 Q$ ?" h
% j. p2 ?5 A6 L2 r' D
    image.png
3 P% s- q' L7 V6 Y6 ~) X7 V' O9 N% W  w0 Y# d+ m8 X8 U
    结果证明也可以恢复系统。
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

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

GMT+8, 2026-4-8 21:18 , Processed in 0.049199 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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