|
|
楼主 |
发表于 2021-8-19 17:28:56
|
显示全部楼层
公司生产环境中的一台esxi虚拟机,访问不了,第一时间查看机器属性发现是一台虚拟机,登录vcenter定位宿主机位置。重置虚拟机电源后显示丢失vmdx文件。下面就开始通过flat.vmdk恢复esxi虚拟机。
# d5 r" H9 k1 z8 H, U" S; d1 m+ U) n
一、需要开启esxi服务器的ssh远程访问
7 G. Y8 H' h* k9 x ^9 P7 H2 P9 c6 j0 n2 ? x5 S% X6 s# e k
开启esxi服务器方法有三种:
5 ]6 m+ _# Q+ m3 E7 l+ ~' D h& ? T6 Y6 P" {* k# s
第一种方法:通过带外访问esxi0 N7 g, n( T" e
5 s# ?9 O3 i2 K, C 1,启动控制台
. V' ~8 \+ g/ S+ o Y
' Y# p' K1 o, q image.png8 K; _0 b4 p! ?9 x2 y
2 [" U! R3 A/ I% q5 K1 Q 2、按F2输入root密码,回车。
# s* c7 W R, `8 `5 P$ G5 c) u. i7 G2 X/ C: P, p
image.png4 P P, U' q' i5 Q* j! R
. Z. M. S4 W! W9 S4 X- [( R% X& d
3、找到Troubleshoting Options回车3 z% W+ J' {5 p
v( {9 E3 v3 q6 e3 }. |! N, R image.png& X5 T. L0 m6 k/ ?* h: J0 }1 Y9 a
* t6 O6 j$ w8 c Y( M; v( J: ] 4、选择Enable SSH,回车,右侧显示SSH is Enabled即为开启了SSH
& U- F/ s6 |/ o/ E( B) w( b/ A t5 [6 t8 z" O" G) z, Y$ [( G, d
image.png
( i" G% B* c. B: Y3 U
. ^' Z( r; L; a' M4 X1 u" G 第二种方法:通过网页访问esxi服务器授权开启SSH服务器
1 W8 n( K- `# I# {! x
* _0 |' H8 i3 v, y% R* s 访问esxi页面-->操作-->服务器-->启用安全Shell (SSH),即可通过客户端ssh远程访问esxi服务器。: R- W7 G6 L& V- S
3 O3 J, N" D- H# Y7 g
image.png
5 H" K0 D6 T+ d& z$ _1 Z& I# y" K; f C* o; T# w3 z: s# n$ K; v: O
第三种方法:通过vSphere Client设置esxi服务器开启SSH服务。
- R. c* m7 m: j5 u2 w% g1 u
5 X. @* k9 b4 l [ 登录vSphere Client找到配置安全配置文件,右侧的服务属性。9 U& y3 {# I/ S' ^
' g ]: ]( U$ D3 R
image.png, e0 u7 S. W) y# u' h" A+ M+ k
& s& v/ y( H4 ^9 N0 A
找到SSH服务器点右下角的选项,启动服务器即可通过客户端连接esxi服务器- d. V- @2 b5 _' s5 q& T
. e: R( t6 t; r( Q( |' W
image.png
$ }3 A! H( c! }4 }3 s& @6 r X3 V- A9 Q8 q
二、客户端连接esxi服务器
/ r& h/ N& K2 j
# j( C: J. w/ H# t0 l , I$ T, y: R* K9 e6 z" O
Z. H" _1 K2 ^4 ~ t* [/ K0 q
image.png( e8 r3 O/ _7 @ C* `' I# h
3 e1 E1 |3 ]* b
这里我使用了本地PC安装了esxi服务器模拟故障,首先创建了一个虚拟机win7专业版,创建完成后,如下图. i$ [" r* A" F# x5 i
! Y, v& h6 i' I* X. S9 R/ ? image.png: n( u9 R/ A7 g: q" R' P5 q
/ P8 b5 a d0 x& f; w' c
开始模拟丢失vmdk配置文件 8 x& M! d( g5 V( b
% |/ G$ }% k3 a& [8 d% F0 u image.png& p1 |. o [' n3 B: Q8 @
& S" ^- o) f% c- j9 n" ]
这里模拟丢失vmdk文件,rm -rf win7.vmdk
& h) u) W* h% y" t( c8 _$ e% ] l3 q2 J N
image.png
2 y# k' {/ o* }5 k8 Z; b( c0 G! L5 o* z- \* a- ^7 j# l, h7 |
打开虚拟机电源,会报错如下图4 e; D; T% j+ G3 A) [2 r1 s2 B
, s( n& |) p' o, N image.png
( v% |6 k( R" F; u, ]. m
4 D- ^$ E$ `# H. h( k ' l2 r+ D4 _/ K7 R3 B* `
+ t! O8 _* u; k* r vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk1 l/ |% ]/ ~+ q. m. _2 Y4 c: U
" G/ J! B1 A0 K! Y4 a5 M/ C- X
这条命令会创建一个vmdk虚拟机磁盘文件和vmdk配置文件0 }1 a' Z- `+ F% N7 ]& N2 ]4 _" O. W
* F, G. e( R7 {8 c9 I V9 Y6 O
将temp.vmdk重命名为win7.vmdk% t( u+ E) B1 A! L
6 c& E: b( _- X) x0 O image.png
( @& i, r: d- Y+ J0 k8 D, b0 F
( T c/ P @3 y. b* p: e" ^ 编辑win7.vmdk,修改图中temp-flat.vmdk为win7-flat.vmdk,ddb.thinProvisioned = "1"注释或者删除。
& w5 p# F& i& b- V$ @4 O' ]; B2 H4 @7 U( E- C
image.png . h0 N; @* s9 P9 _/ ~
1 M t; v- M5 ~( I
修改完后,开启虚拟机win7
6 |) D4 G |: }; c5 Y9 ^
7 H7 I6 O" V9 r9 d image.png( n! {/ k. v& t5 I
# B5 s- h Y5 S9 o5 Z% E 正常启动9 c5 f# w5 ]5 l1 E, Z5 ?2 l2 L
; Y% {5 K$ \" x8 S8 n2 {; C; f0 a
/ i* z" }# n4 z, V
: q0 t/ r3 `$ N1 |( B 延伸:如果你的虚拟机目录下只剩下一个flat.vmdk文件怎么办,是否也能恢复系统。4 S! }( @$ d* O
7 w& @6 e: i! `4 N6 ^
这里一定要确保你esxi虚拟机的flat.vmdk文件存在而且没有被损坏,今天也测试了只有一个flat.vmdk文件也可以恢复系统。' u; t! M) R5 [7 P
6 _; H: f* J& q/ {( w" }# B 前提是在原虚拟机目录。
7 o4 D" Q; h# D* `0 J1 O0 X1 l& ?
执行:vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk生成配置文件1 g+ O& z5 h4 e' D+ V
! m4 z. f) a$ G* k" @) g
配置文件的修改前面已经讲过,不会的请爬楼。: o3 f6 J" _* `# V2 a- s! n, K
5 H$ O2 E! a8 G2 R
你正常创建了一个虚拟机,自动创建虚拟机,添加现有的虚拟磁盘2 r6 k2 f9 I+ X! c
# `+ ~, s& j( c5 _( F8 F* {! b image.png
+ }0 O) g- V6 w" {+ T, z' F' g+ H6 Z) Q; ?+ o; P6 Z
原目录只要有vmdk配置文件也能在新的虚拟机中添加虚拟磁盘(相当于迁移虚拟机了)9 t" [7 ` c5 w- x+ w: F5 S
3 W. N( N1 V/ \ S; C
image.png6 I( |0 | }9 ^7 v- _5 \) R
, y& |; `/ I" p& y! o. Z 结果证明也可以恢复系统。 |
|