|
|
楼主 |
发表于 2021-8-19 17:28:56
|
显示全部楼层
公司生产环境中的一台esxi虚拟机,访问不了,第一时间查看机器属性发现是一台虚拟机,登录vcenter定位宿主机位置。重置虚拟机电源后显示丢失vmdx文件。下面就开始通过flat.vmdk恢复esxi虚拟机。8 y4 x& b/ v p( |: i" j, j" ^6 U
6 k% {6 |7 ]3 H0 ~, M
一、需要开启esxi服务器的ssh远程访问
! f3 g$ X z& [ t( y1 v% \# E2 y/ b5 m& c& v* W) `
开启esxi服务器方法有三种:) }: ^+ Y4 |& ^' a' d
! b( P% E" `4 P6 Z8 x d9 Q' v 第一种方法:通过带外访问esxi+ ~, X4 g7 y6 z. j
. r9 T; q; O) n t 1,启动控制台
( X: ]3 V% @ L$ j4 R2 q; o( I3 E' _+ c2 W. n
image.png, y. H7 I1 e4 P4 g( h y0 Q7 I- Q
* y! o+ p: S0 v6 A! p8 D7 F9 R* Y
2、按F2输入root密码,回车。
1 o7 ?$ d: d& g, P' n ]) Z
0 [9 L' H+ H$ f2 \/ h7 U image.png
. l0 l @# g* P
* F% W3 B/ x, Z% Q1 S0 Y 3、找到Troubleshoting Options回车
; j9 d3 _% H6 F. G- k, ?( Y% m H6 k9 F: P# E, \2 ~
image.png2 O" \- C: p* ]: H: Z
; |# K) e0 U% i/ ~2 F! ?3 _ 4、选择Enable SSH,回车,右侧显示SSH is Enabled即为开启了SSH
7 E8 }3 p" x% Q
3 W" T8 D: O. S2 r5 R4 ^ image.png5 j; P y) g0 l5 V& H1 h
+ w7 w( Y2 b" ^ W5 k
第二种方法:通过网页访问esxi服务器授权开启SSH服务器
. C' ]" X2 F) r9 d' k
7 B* e0 Q4 @9 @ 访问esxi页面-->操作-->服务器-->启用安全Shell (SSH),即可通过客户端ssh远程访问esxi服务器。) p' L, b. [% y" X+ q K
( ^: W' l2 j* s: K0 C image.png1 G7 y, _+ j6 z8 l0 z! q+ q, u
$ j3 z% L: o8 C: ^0 l" Q# g
第三种方法:通过vSphere Client设置esxi服务器开启SSH服务。0 e3 M& P6 x# T% k/ |6 w
B2 y2 {' L$ K! U 登录vSphere Client找到配置安全配置文件,右侧的服务属性。. y7 U+ X) r+ |
( P4 u- L$ |4 K1 G$ Y image.png- L8 Y1 o0 X- \1 b1 y6 d& a
, V0 {* [1 [9 T5 W+ K; o1 W
找到SSH服务器点右下角的选项,启动服务器即可通过客户端连接esxi服务器$ M" D! G8 m9 Q. z
( t. q! A+ y5 O3 D: F
image.png
+ _( Z% W F3 D- t
! W- I/ V6 E% h1 I2 `0 o 二、客户端连接esxi服务器
& U! i% h' C% Z7 r& q! |* i
9 |) ?& {% S1 L
6 F' @9 e, \( G: p& B5 h" Z: w3 u2 a0 e0 @
image.png
3 y0 z9 g1 ?# n
3 k1 ^9 p" l2 I, k/ Y) g 这里我使用了本地PC安装了esxi服务器模拟故障,首先创建了一个虚拟机win7专业版,创建完成后,如下图
$ E3 ]2 v2 ^' u( d2 ]2 b
7 m! ]) b! I$ d- t image.png
5 Y2 ?, e4 d. Z) F |- u* P$ e; q- e9 L" u2 c
开始模拟丢失vmdk配置文件
5 ^7 r4 B! o* a* Y, x, v. h9 J1 |8 I- B- _
image.png$ e( A9 D0 F9 [4 y$ A! G7 d$ A2 I
, ^8 V5 f" F; }* [5 L, t; V 这里模拟丢失vmdk文件,rm -rf win7.vmdk* s' x: s1 I2 I: i! o
8 s2 R9 S- T: F9 p& K
image.png 2 @6 j" c' ~5 e4 k7 U: S3 S
( K0 J% Y d# v; k 打开虚拟机电源,会报错如下图3 w1 Q. e# n! G
# A' N5 S( l x/ p a$ ]' e image.png" `& I2 M5 p# {! H# G3 P
5 z) l( S9 j# S9 R& m) g; w3 x& N4 O
. O( Z. w3 i3 _/ k6 K% \9 L7 [0 g
, e, ?3 Z& w5 A/ v2 E1 e
vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk i9 j2 G7 z& ]) u$ b
: x' m6 y! o" }1 O1 y 这条命令会创建一个vmdk虚拟机磁盘文件和vmdk配置文件
* B# c$ z0 P. S p5 r$ [8 h2 p" i9 u( M9 ]8 S8 P
将temp.vmdk重命名为win7.vmdk) q5 K; `2 t! B. {9 E' z
: w/ a* J0 I9 A
image.png
) Z5 y2 u$ t! F3 c4 R" \3 Z0 T7 y- ^# ^
编辑win7.vmdk,修改图中temp-flat.vmdk为win7-flat.vmdk,ddb.thinProvisioned = "1"注释或者删除。
: T' s7 t1 Z( g- H/ U2 y$ l
# r8 s) k! ~& O! r$ l: k image.png / l$ z% O( |' P& K5 b# U
& E3 W0 J& r8 j B8 _: B$ l
修改完后,开启虚拟机win7
! `' Z, M! P% q) g) r& N4 [
) j% i" V P3 h- }9 P image.png& `4 ?$ b1 o4 x' |$ V6 |5 U
( U8 H! G3 ?5 e" `/ e& f {
正常启动
! [" x. P9 v: f, \& \3 p( i5 i% {
2 K* K% W0 n% @; G" _, Y0 R1 [0 I5 l- ~7 M
延伸:如果你的虚拟机目录下只剩下一个flat.vmdk文件怎么办,是否也能恢复系统。
# p) \, t% o* V: Z$ b
& W7 o- j& l' D' W! B6 N8 a 这里一定要确保你esxi虚拟机的flat.vmdk文件存在而且没有被损坏,今天也测试了只有一个flat.vmdk文件也可以恢复系统。
# a0 R: h1 T* Z; b1 P; X7 H+ B3 S( X+ t1 x4 J9 r. x! D+ p
前提是在原虚拟机目录。. A9 ~% [- c+ K! K" L% d2 V: X
* V4 {% L" d- k 执行:vmkfstools -c 107374182400 -a lsilogic -d thin temp.vmdk生成配置文件" A) h: u! K% W( _( F+ P) M, I
6 u+ l1 ]' D1 t. ^+ f* Q/ q& B1 Q- q
配置文件的修改前面已经讲过,不会的请爬楼。
# ?& |& B* b' H4 C0 B$ ~8 u a# k5 E
你正常创建了一个虚拟机,自动创建虚拟机,添加现有的虚拟磁盘# Q$ Z+ A0 m; n3 C t! W
, v1 l* l+ e. W J$ \- h
image.png" A5 |8 n# O9 c0 R4 u$ [* t8 v
$ E8 Z0 ]$ n, T# Q& b1 F7 b 原目录只要有vmdk配置文件也能在新的虚拟机中添加虚拟磁盘(相当于迁移虚拟机了)
& b. ?7 e) D' v: y/ t4 M, s$ E# a9 k c* C* F G
image.png
. L: D) e8 f' v8 ?& G, A5 N
5 q- y* A* V5 c7 s: x6 O! m! U 结果证明也可以恢复系统。 |
|