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