Nova实现虚拟机密码重置功能

qga是一个运行在虚拟机内部的普通应用程序(可执行文件名称默认为qemu-ga),其目的是实现一种宿主机和虚拟机进行交互的方式,这种方式不依赖于网络,而是依赖于virtio-serial(默认首选方式)或者isa-serial,而QEMU则提供了串口设备的模拟及数据交换的通道,最终呈现出来的是一个串口设备(虚拟机内部)和一个unix socket文件(宿主机上)。qga通过读写串口设备与宿主机上的socket通道进行交互,宿主机上可以使用普通的unix socket读写方式对socket文件进行读写,最终实现与qga的交互,交互的协议与qmp(QEMU Monitor Protocol)相同(简单来说就是使用JSON格式进行数据交换),串口设备的速率通常都较低,所以比较适合小数据量的交换。

如下就是利用qemu-ga修改linux虚拟机密码的过程:

环境准备:

  1. 计算节点libvirt 需要1.2.16及以上版本
  2. 虚拟机镜像上安装qemu-guest-agent,版本在2.3.0及以上

实验步骤:

  1. 给虚拟机注册hw_qemu_guest_agent属性,创建时注册,或者通过update

glance image-create --name centos7 \

--disk-format qcow2 \

--container-format bare \

--file centos7.qcow2 \

--is-public True \

--property hw_qemu_guest_agent=yes \

--progress

glance image-update  53ca6748-cae2-44a7-9dbb-baa310869ef2 \

--property hw_qemu_guest_agent=yes

 

  1. 启动虚拟机

nova boot test-password --nic  net-id=net-uuid --image centos7  --flavor 5

  1. 修改虚拟机密码

nova set-password  dfaaa6fc-8107-4ed7-9f86-2dcb28d8b86b

 

输如两次123456

再去虚拟机登陆即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值