- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|

楼主 |
发表于 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 结果证明也可以恢复系统。 |
|