Nova实现虚拟机密码重置功能
qga是一个运行在虚拟机内部的普通应用程序(可执行文件名称默认为qemu-ga),其目的是实现一种宿主机和虚拟机进行交互的方式,这种方式不依赖于网络,而是依赖于virtio-serial(默认首选方式)或者isa-serial,而QEMU则提供了串口设备的模拟及数据交换的通道,最终呈现出来的是一个串口设备(虚拟机内部)和一个unix socket文件(宿主机上)。qga通过读写串口设备与宿主机上的
qga是一个运行在虚拟机内部的普通应用程序(可执行文件名称默认为qemu-ga),其目的是实现一种宿主机和虚拟机进行交互的方式,这种方式不依赖于网络,而是依赖于virtio-serial(默认首选方式)或者isa-serial,而QEMU则提供了串口设备的模拟及数据交换的通道,最终呈现出来的是一个串口设备(虚拟机内部)和一个unix socket文件(宿主机上)。qga通过读写串口设备与宿主机上的socket通道进行交互,宿主机上可以使用普通的unix socket读写方式对socket文件进行读写,最终实现与qga的交互,交互的协议与qmp(QEMU Monitor Protocol)相同(简单来说就是使用JSON格式进行数据交换),串口设备的速率通常都较低,所以比较适合小数据量的交换。
如下就是利用qemu-ga修改linux虚拟机密码的过程:
环境准备:
- 计算节点libvirt 需要1.2.16及以上版本
- 虚拟机镜像上安装qemu-guest-agent,版本在2.3.0及以上
实验步骤:
- 给虚拟机注册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
nova boot test-password --nic net-id=net-uuid --image centos7 --flavor 5
- 修改虚拟机密码
nova set-password dfaaa6fc-8107-4ed7-9f86-2dcb28d8b86b
输如两次123456
再去虚拟机登陆即可
更多推荐
所有评论(0)