|
|
1、首先在制作镜像的时候需要给镜像安装上qemu-guest-agent$ H/ F; Q( n# ]% ]* c
/ V; L- F* G" A2 L' g$ h$ q% ]yum -y install qemu-guest-agent3 n, N1 N" {/ q" ?8 ]
2 I' _. v f9 f4 E# v( F- ]
systemctl enable qemu-guest-agent
8 x M8 z0 r$ q' N1 d8 x
: J( z% h) n; s: q- q2、然后在创建虚拟机镜像的时候需要指定一个属性hw_qemu_guest_agent=yes,这样创建出来的虚拟机的xml文件就会包含对应的channel
% p1 k& e3 A4 }9 |6 o, D
/ r& D. Y# F/ |# o9 c- S3、这样我们发出来的虚拟机就可以使用virsh命令重置密码了
6 y' H* N2 F# N N- ^8 U: @% ~: z/ T: ^3 {$ E! y) x) d) Z* e
在宿主机上执行4 t% P$ R* _& y: m1 J; G
+ s% D0 W1 e p* o. y% d3 s
virsh set-user-password --domain instance-00000001 --user root --password 12345' ~4 ?: R8 j+ U1 P8 X
3 G/ p& c( E+ U# x! }( y
. M% }1 u* C" b' z2 s
! D0 L0 M, a. H/ i1 H
! R; D- `# T E; U
8 |& y' j3 d) m6 t% h: ?6 h
4、通过qga往虚拟机内部写入文件2 \3 R( C( D4 I. s; p7 f; e
9 X6 \8 s, y3 R) _: \) z& ?, |/ \
进入虚拟机内部,然后vim /etc/sysconfig/qemu-ga
6 O( _, \: B/ F9 N% {将BLACKLIST_RPC="guest-file-open,guest-file-close,guest-file-read,guest-file-write,guest-file-seek,guest-file-flush"# ^+ z* U' T. N/ D# k2 n4 b$ b4 ^
中的guest-file-open,guest-file-close,guest-file-read,guest-file-write去掉,然后重启qga
/ b2 b0 T, I% bsystemctl restart qemu-guest-agent,启动失败没关系,在环境上才能启动成功。7 y% L/ X/ L; M3 j4 b/ Z
) A( N; d: y8 z+ a3 t6 ~第一步 在宿主机上打开文件
N0 E$ ^0 u \* y5 O, ]9 q3 {virsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-open","arguments":{"path":"/home/aa/bb.txt","mode":"w+"}}'6 A: N( ~+ X2 D5 ~6 i
3 W; L; Y. o5 h8 g0 {/ N, F5 B/ l5 _9 z0 d
第二步 写入(需要base64加密)" g% j/ e4 l8 U$ U# W& F
virsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-write","arguments":{"handle":1004,"buf-b64":"dGVzdOa1i+ivlTEyMzQ1"}}'
: d0 S( O& y2 b6 g7 S; P2 J3 _8 t! ~! S
" P/ D5 b5 ^! O% T5 ]' P( I第三步 关闭文件
5 A# ^2 t: S( k6 k+ u# T9 vvirsh qemu-agent-command instance-000000a2 '{"execute":"guest-file-close","arguments":{"handle":1004}}'
2 Q8 o7 s* ^6 z. f
; [6 X! d( a7 b) E0 d- b |
|