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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-5-9 17:33:03 来自手机 | 显示全部楼层 |阅读模式
当遇到vmware环境下,datastore数据存储里只剩下*-flat.vmdk文件,虚机不能启动解决办法:
7 Q6 f' v& v# M% I创建一个完整的虚机! O! G6 y0 r$ P
名称和flat文件一样,创建的新磁盘需要和flat的文件大小一样,否则会失败,再把flat文件复制过去,启动虚机差不多问题就解决了!, x, c6 J1 g+ m  U- Q% H) n

3 c- X) x( w# c' t  O1. 新建一虚拟机,不要创建硬盘5 p/ T! U8 p& i) N& Z: ^
2. 用ssh的方式登录host,查找xx-flat.vmdk文件所在位置及目录,) O$ \$ B0 z9 W0 x
3. 在新虚拟机目录下创建新xxx.vmdk文件,大小要和xx-flat.vmdk文件一样大,
  x) @% Y& |$ z! j6 U用ls -la查看xx-flat.vmdk文件大小,
- ?( H) j/ q6 b2 i用vmkfstools -c 文件大小 -a lsilogic xxx.vmdk 来创建新磁盘文件
  \+ [5 Z( q7 T) M! j; Q4 L4. 用原文件xx-flat.vmdk覆盖新建的xxx-flat.vmdk(注意一定是-flat.vmdk),使用mv命令3 t, @: y0 V5 X; Z; \
5. 将这个磁盘文件添加到新建的虚拟机中;5 l* k, v6 N, _: g0 f
6. 完成后开启虚拟机就可以了

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-8-19 17:28:56 | 显示全部楼层
公司生产环境中的一台esxi虚拟机,访问不了,第一时间查看机器属性发现是一台虚拟机,登录vcenter定位宿主机位置。重置虚拟机电源后显示丢失vmdx文件。下面就开始通过flat.vmdk恢复esxi虚拟机。! D. q0 k" \2 d- q; P
2 n0 A9 j" M  H$ k- G% c, t
        一、需要开启esxi服务器的ssh远程访问
7 f& c! Z$ i! |8 N7 t1 L6 V+ Y
/ U+ u- y$ s! \8 S0 Y    开启esxi服务器方法有三种:; T' j; B% k2 Z+ N. l

& ]" y! l- y; Z    第一种方法:通过带外访问esxi! L" X' n- ?$ d; @
7 s- x4 u# ^6 R' |# H
        1,启动控制台                        
# P5 K7 q8 K5 `& H0 k- m9 u: ^7 V+ B6 ^# Q' w5 {
        image.png- k5 i$ e) Z( t) V0 c

# F; k: T5 K7 Z2 e1 R6 C' d2 x        2、按F2输入root密码,回车。2 `8 B3 [2 T4 y* r
& u! A  O& x6 l: ^
        image.png
3 E+ W2 Z8 L2 [: H) I1 C0 m% F$ _4 ]2 s& K
        3、找到Troubleshoting Options回车
: Q! {/ r' o0 ^$ B7 |& ?$ _6 }3 o( M# Q# x4 s/ w# T
        image.png2 [% z8 I& C/ i+ J/ ^% i/ q
- K( U8 C) z; `& @0 {8 C" ^+ e" i
        4、选择Enable SSH,回车,右侧显示SSH is Enabled即为开启了SSH
6 ^) B" A' \+ b7 I, f
# `/ ~5 b' ~; g* z        image.png% B6 l/ R2 ]& V) T
: `& r6 a/ p# R6 O+ O
        第二种方法:通过网页访问esxi服务器授权开启SSH服务器+ R& P- m( S; C) U6 L: K( I

& Q% S6 u) Y, e        访问esxi页面-->操作-->服务器-->启用安全Shell (SSH),即可通过客户端ssh远程访问esxi服务器。( s1 t8 p$ e6 E7 |
7 x* @. ~6 F  Y7 ^& n
            image.png. y: X' w* q+ l; u

" E( j* l, ?( t6 ?        第三种方法:通过vSphere Client设置esxi服务器开启SSH服务。
7 e/ R* i' Q' X/ n! I2 b1 f' O& B; K+ x, C/ p
        登录vSphere Client找到配置安全配置文件,右侧的服务属性。
* f) d9 q; P! }2 I
; \1 b  B. ]7 _; S4 J- w6 z            image.png7 C, O( a8 C6 o7 `3 |' J3 k
7 w+ W: T9 e7 l& g( V" R
        找到SSH服务器点右下角的选项,启动服务器即可通过客户端连接esxi服务器( k1 F9 B/ o) `6 I+ ~% z
5 m& m3 h. l: z( E! O" c) X
            image.png( z8 J! w# F/ H1 q% p

! I1 `2 D& U/ I/ g/ P2 c9 w: S        二、客户端连接esxi服务器
9 F# y6 r% }7 l9 v: ]0 H4 ^
; w9 s9 y9 B' K& H* ?        
3 x9 P4 }) I3 G* i% z
0 g( a- b" M+ ~$ k# T1 l, t            image.png1 P7 C. P2 k& k7 C
" u0 n% z6 `1 \# \/ y, \" A( g8 e
        这里我使用了本地PC安装了esxi服务器模拟故障,首先创建了一个虚拟机win7专业版,创建完成后,如下图
. h8 {! o, L( }0 X' d* D0 {# s1 Y, A7 \
            image.png$ e' G  }7 Y9 P; [. c* j
5 d4 e! h$ Z$ ~
        开始模拟丢失vmdk配置文件   2 E8 E& v1 z; E# V1 n6 C7 X

: G0 T1 W0 Q$ c" ]+ p; G" \5 w" O     image.png
# z3 L2 v; j9 Y# \
" |' ^$ `+ w' u3 y. j! W- e, L5 j        这里模拟丢失vmdk文件,rm -rf win7.vmdk& v$ w( f1 ^  K

4 |1 H) {; Z$ `$ k            image.png    7 n' `6 j  v6 Q9 P
- @' }; a& c0 ~, Y9 Y5 L! Z7 T
        打开虚拟机电源,会报错如下图
( B1 s5 B1 ?4 m( d( |& N; M
/ g- k2 Q+ |9 d            image.png: L0 H, [8 b9 b0 \. S" t: H
8 f0 ?0 l  n0 D) v+ h+ ?
           
) z  I/ ~! m+ l" n% [
9 Z% L5 ~  L- M1 Q! l( c    vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk
0 H# G4 _& M1 H  _" n' O% z( ^' B2 t8 L# Q1 K/ i
    这条命令会创建一个vmdk虚拟机磁盘文件和vmdk配置文件
' X, v1 {3 e! [0 y5 c0 f% w7 p$ ?1 L- I
    将temp.vmdk重命名为win7.vmdk/ I" N4 p$ B5 r' W& ], l

$ T$ U8 D2 }) {% \. W" y        image.png) Q: A3 C  j) x3 Z* Z9 u1 \
% e' |! k, F" S+ [/ O* q4 p
    编辑win7.vmdk,修改图中temp-flat.vmdk为win7-flat.vmdk,ddb.thinProvisioned = "1"注释或者删除。
( T6 N3 S$ g# _- @8 U+ ]; t1 P3 k/ M* d
        image.png   $ c7 g' z4 g) f' u
1 g# i. k7 X9 J* _' t
    修改完后,开启虚拟机win7
. X/ V& \+ U( t& D2 S( d+ D- `0 R4 x9 K7 e  P. X
        image.png8 t) ~& b8 J" A9 q( }5 j

% r; y$ n) [4 Q' Y+ p2 ~    正常启动
$ }) L3 f$ w% a& \, s. o* `6 |5 c4 G. p3 g" R
    ' _. X0 H- W5 r  F8 Y7 ]1 Q
9 G- E7 A3 J1 s' C* L0 o" z6 o* H
    延伸:如果你的虚拟机目录下只剩下一个flat.vmdk文件怎么办,是否也能恢复系统。
3 S. [) e* h6 T% n" {9 T. O$ f" g& `
    这里一定要确保你esxi虚拟机的flat.vmdk文件存在而且没有被损坏,今天也测试了只有一个flat.vmdk文件也可以恢复系统。' V* t  l/ _& ~
8 q- q6 |- _* H0 s3 s" q
    前提是在原虚拟机目录。
. Z+ k5 y. s% Q: y* `  Q0 T$ y& [6 `" S* Z  u# W2 [
    执行:vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk生成配置文件
2 Y, L5 t& {5 A, ^: e; ?: C$ ~1 [, t( C+ r
    配置文件的修改前面已经讲过,不会的请爬楼。; [* b4 u& f. {) F; I2 R
# x. a* l7 U0 w4 a; X0 D% x5 X
    你正常创建了一个虚拟机,自动创建虚拟机,添加现有的虚拟磁盘
# Q6 O2 O  z; d  M- d6 h- H
% v# ?" [1 ~& J5 y/ J9 y: \' f    image.png
& ]; q, @  r5 P9 D( @7 n9 V8 U$ o1 y& F
    原目录只要有vmdk配置文件也能在新的虚拟机中添加虚拟磁盘(相当于迁移虚拟机了)) ]5 w- l! B; \
' k3 }% P0 i7 v3 Z
    image.png
. d* i. o. a  i" K2 y
- b$ ?; Y8 E, O    结果证明也可以恢复系统。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 00:26 , Processed in 0.016958 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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