您的位置:首页 > 运维架构 > Linux

通过virsh修改虚拟机密码

2017-01-09 18:54 288 查看
如果在openstack平台上创建虚拟机时要传入密码则安装cloud-init即可。
若想要通过virsh命令上修改虚拟机的密码则需要安装qemu-guest-agent

安装以及配置方法
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Virtualization_Deployment_and_Administration_Guide/chap-QEMU_Guest_Agent.html

把镜像上传到openstack云平台(我是N版的Openstack)
openstack image create  centos7.3 --disk-format qcow2 --container-format bare --file  moban.qcow2 --property hw_qemu_guest_agent=yes  --public
or
glance image-create --progress --name 'centos7.3.raw' --container-format=bare --disk-format=raw --min-ram=1024 --property architecture=x86_64 --property os_distro=linux  --property os_version=7.3 --property vol_size=24 --property hw_qemu_guest_agent=yes --file centos7.3.raw


注意
务必设置property的
hw_qemu_guest_agent=yes
,否则libvert启动虚拟机时不会生成qemu-ga配置项导致虚拟机内部的qemu-ga由于找不到对应的虚拟串行字符设备而启动失败提示找不到channel。
创建完虚拟机后若忘记了虚拟机的密码则可以直接修改
virsh set-user-password <domain> <user> <password>


下面是关于基于agent的几个命令小操作。
1. 关闭/重启虚拟机
# virsh shutdown/reboot domain --mode=agent
virsh shutdown/reboot  默认的方式是使用ACPI--mode=acpi可省略没有安装ACPI 的Linux虚拟机和Windows 虚拟机并不响应virsh shutdown/reboot domain 指令。使用--mode=agent方式QEMU guest agent 可以保证虚拟机完成关机/重启动作。


2. 稳定的快照
# virsh snapshot-create-as domain --disk-only --quiesce


通过qga虚拟机在创建快照之前会先flush I/O保证磁盘内容的高稳定性。

3. 冻结/恢复/整理文件系统
# virsh domfsfreeze/domfsthaw/domfstrim domain
4. 查询虚拟机IP
# virsh domifaddr domain --source agent


注qga 2.1.0 版本不支持该指令

5. 显示虚拟机挂载的文件系统
# virsh domfsinfo domain


注qga2.1.0 版本不支持该指令

TBD
6. 查询/设置虚拟机系统时间
# virsh domtime domain --pretty           #查询虚拟机时间
# virsh domtime domain --now             #设置虚拟机时间为宿主机当前时间


设置虚拟机时间有问题解决方法还在探索中。。。

7. 设置虚拟机用户密码
# virsh set-user-password <domain> <user> <password>
复制代码
该指令在qga 2.1.0 和 2.3.0 版本中都无法运行估计RedHat 7 中的qga 包版本比现有的centos 版本的更新一些。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux Windows 虚拟机