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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-5-9 17:33:03 来自手机 | 显示全部楼层 |阅读模式
当遇到vmware环境下,datastore数据存储里只剩下*-flat.vmdk文件,虚机不能启动解决办法:4 d* A' `, N. Q, Y
创建一个完整的虚机. L+ H, u# w9 L. |5 ?8 O6 U2 c; L7 s
名称和flat文件一样,创建的新磁盘需要和flat的文件大小一样,否则会失败,再把flat文件复制过去,启动虚机差不多问题就解决了!
* ?1 v7 ?9 h0 I% l: b4 |! Z
- `! B2 X. p+ z6 ^3 S, S1. 新建一虚拟机,不要创建硬盘% p# O5 W2 F8 [% R
2. 用ssh的方式登录host,查找xx-flat.vmdk文件所在位置及目录,! t9 H' h2 K/ M
3. 在新虚拟机目录下创建新xxx.vmdk文件,大小要和xx-flat.vmdk文件一样大,: s4 z" e6 Y" I* v. d% f# K
用ls -la查看xx-flat.vmdk文件大小,% x4 \0 j. `) N+ c0 R, Q- |
用vmkfstools -c 文件大小 -a lsilogic xxx.vmdk 来创建新磁盘文件' \* C) E4 K, v( x( w8 }# |
4. 用原文件xx-flat.vmdk覆盖新建的xxx-flat.vmdk(注意一定是-flat.vmdk),使用mv命令9 R/ r/ H' X8 C( N5 r
5. 将这个磁盘文件添加到新建的虚拟机中;
( y' U, |& X! ^% t! y: k) |6. 完成后开启虚拟机就可以了

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-8-19 17:28:56 | 显示全部楼层
公司生产环境中的一台esxi虚拟机,访问不了,第一时间查看机器属性发现是一台虚拟机,登录vcenter定位宿主机位置。重置虚拟机电源后显示丢失vmdx文件。下面就开始通过flat.vmdk恢复esxi虚拟机。
7 s+ b+ A( M: J% l1 V- m5 S5 G3 |
9 y; y3 Z2 h& t! V        一、需要开启esxi服务器的ssh远程访问9 [4 p. B  b) h  o

& d: u. i( H7 x1 U5 Y2 c! v    开启esxi服务器方法有三种:- d) T/ J+ X& }& \$ ]4 v
1 c+ S* }3 X/ S% B6 |
    第一种方法:通过带外访问esxi
3 ^' L) f& R# r" {: ?, b
% `8 z6 F1 q4 X& f' H8 i        1,启动控制台                        
6 b, s) ]: `8 u$ t$ f0 T! k  A2 j
# c' {  S; Z. r; x  Z& ?  v        image.png
) R' Z; O& z; c' A5 T6 \+ ~+ B
6 j2 `$ T7 V0 X+ {        2、按F2输入root密码,回车。* r- x2 W3 h7 [2 B# u) w) P
  d8 q' B. {! K$ u$ d$ [+ X
        image.png
+ z: j/ [' H8 Y) R! E
. F. l- \6 v% b. S1 q+ b        3、找到Troubleshoting Options回车  T' }- S6 A; t3 _3 |4 l

" h& m/ O0 c& F% T* ~        image.png
! D+ [9 }. J. e  e% d
% b) Q0 m  E* _4 Q" R* {1 |( |+ z( {        4、选择Enable SSH,回车,右侧显示SSH is Enabled即为开启了SSH9 ^5 z. |4 j: I7 B" H+ Q

9 ?; [# J! Q  d. k        image.png
+ B2 p% Y/ H) _% Z: I, y6 d
* D! K, k/ x+ r9 |2 N' ?5 w: g3 W0 y        第二种方法:通过网页访问esxi服务器授权开启SSH服务器
1 k6 _/ a, c6 C9 R1 g; ]3 j& p3 [6 d
        访问esxi页面-->操作-->服务器-->启用安全Shell (SSH),即可通过客户端ssh远程访问esxi服务器。- s1 p/ c4 [' d, s8 Y
- t8 c/ r; G) q  y1 u
            image.png% C& F/ G9 e+ D: `0 ?' m0 O
$ J+ m# R& D$ S/ B" J% H$ L$ P
        第三种方法:通过vSphere Client设置esxi服务器开启SSH服务。
* A2 `+ u2 t! r: i% h8 L# [
' c. E. ^$ Q8 u        登录vSphere Client找到配置安全配置文件,右侧的服务属性。6 s2 w! C% o% Y7 G' }( x9 F
' A  ~2 j1 U+ R) P/ f; @$ x
            image.png
" V! e0 Q/ ]/ x+ _$ @! Z. h6 M& n4 A
1 p0 G- ?& N0 a" T+ r% O- H        找到SSH服务器点右下角的选项,启动服务器即可通过客户端连接esxi服务器
! ]* V, [% b% U5 w8 Y7 k
0 x0 Q8 J. o' v2 k2 u            image.png
; h) T6 g& d1 p8 o9 i
( U; G$ [& |+ d1 P, d        二、客户端连接esxi服务器
4 y/ E+ p( I) p+ L+ w) Q
8 V' s( M, S1 |4 z        9 _* t  H# O9 y6 w" m# U

6 U3 C! a( h" E7 K* ]5 Z$ Y            image.png/ Y' i( c8 ^8 {- ^, X  e1 u. q/ T$ H* F
1 M+ l: z1 ~7 x; U; Q+ @
        这里我使用了本地PC安装了esxi服务器模拟故障,首先创建了一个虚拟机win7专业版,创建完成后,如下图9 ]; `& H7 _! F" k
5 \8 N/ M# o; I6 {, a6 i! t, Y
            image.png
2 t+ G/ d) k! |
  b& a/ m% n0 Z/ }0 f4 P9 y        开始模拟丢失vmdk配置文件   
7 ], c& W1 Z) T$ m% e) |9 X! K2 u/ J/ j" `6 L+ y  V' \" f3 g2 I
     image.png
  V' }- x' E' G: m+ D+ d
: D( [! z% S$ F* i        这里模拟丢失vmdk文件,rm -rf win7.vmdk
! j& f1 A* `* T) G; N/ n9 q% ]7 Z: r
            image.png   
8 b# Q& U9 C/ R
$ e$ \2 Y) N! f0 ]$ d. _        打开虚拟机电源,会报错如下图6 C  Y- [5 I$ [" m/ I( }

6 c. ~. Y; q0 @            image.png
3 }6 M6 f% J( d" Q& F, Z
9 ~. C0 \* Y$ q. ]' u            7 p' D& j* L+ M/ H7 n  L- ^

9 G" f6 F; s( V8 t8 v  s    vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk, U- F0 p1 v2 R! b! s

( q1 O6 L& s/ W6 Y0 i    这条命令会创建一个vmdk虚拟机磁盘文件和vmdk配置文件! g& Z8 _( M7 `+ [2 ]7 I

. w$ y8 k2 f$ l- ~8 X1 I    将temp.vmdk重命名为win7.vmdk
4 p2 Z5 R3 u' E: l" d
9 U3 r3 R- y( Z, o7 K( a7 d# H        image.png
; U0 u  @# ]# v! M2 [
: U; W) v- C' R" ?! a' V5 W( r    编辑win7.vmdk,修改图中temp-flat.vmdk为win7-flat.vmdk,ddb.thinProvisioned = "1"注释或者删除。
) i( F) F7 _. Q1 ?0 X# |3 ]' ?/ v) I
        image.png   
5 x$ C  v  k3 e0 e. [6 C" u: @0 R
$ k! d1 h8 m" q+ n$ H; _  z; E* W- L    修改完后,开启虚拟机win79 E) C! R7 U, Y2 Z* c0 A4 [" [, ~

  O6 l1 w( R9 w: b% _( g        image.png1 A. c$ P+ d3 d% |! n% I
; j4 I+ O5 u0 H( a% g) v% ~
    正常启动0 F7 U6 b8 G& E5 L/ G& R
& i: `4 D# M: B2 x) x
    % S' v5 }4 N( J9 V. d; K
' k6 T& Y9 Y1 E4 |
    延伸:如果你的虚拟机目录下只剩下一个flat.vmdk文件怎么办,是否也能恢复系统。
# P' i: g, y0 P7 M
1 i2 F8 G0 D6 Q4 E  u    这里一定要确保你esxi虚拟机的flat.vmdk文件存在而且没有被损坏,今天也测试了只有一个flat.vmdk文件也可以恢复系统。, |" a2 H' g7 D* M( d. e7 l, [& M

$ U; j8 S3 [+ q+ o    前提是在原虚拟机目录。
& H% }! w4 O* m8 L4 |4 M( S1 B7 f; k* n* e2 ?
    执行:vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk生成配置文件
9 }4 [6 }1 L6 d8 P7 d, E: p7 O
  c' Z2 O6 N3 W    配置文件的修改前面已经讲过,不会的请爬楼。+ D) Z  q0 [: d& N

" H7 ~1 z- H- e2 b    你正常创建了一个虚拟机,自动创建虚拟机,添加现有的虚拟磁盘
5 M2 A3 L8 H7 N( C* Q: o) f  n6 _2 t+ t
    image.png
. d1 I( g2 Z  j, E
  ^8 ^1 F+ w, C& P, ?$ R" Z    原目录只要有vmdk配置文件也能在新的虚拟机中添加虚拟磁盘(相当于迁移虚拟机了)
( J# F. r6 s  J# w- j; ?; V& p, O* |0 ]2 Y6 r
    image.png* g6 u: W- h! N# L* ^
! O/ J( `/ H2 {& Q: U" o
    结果证明也可以恢复系统。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 00:31 , Processed in 0.014976 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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