
1 根据虚拟机命令获取虚拟机XML文件,并解析出MAC地址
virsh dumpxml vm-name | sed -n '/mac address/p'| awk -F "[']" '{print $2}'
2 根据mac查询ip
grep $mac -rn /var/lib/libvirt/dnsmasq | awk '{print $2,$3}'
3 一条命令搞定
for mac in `virsh dumpxml vm-name | sed -n '/mac address/p'| awk -F "[']" '{print $2}'` do grep $mac -rn ./| awk '{print $2,$3}' done
vm-name为虚拟机名字,自行修改。如果有多个nat网卡,可以获取到多个ip,要求虚拟机开机,且正确获取IP地址。
通过ip地址,ssh到某虚拟机的某端口如22。这个一般是运维人员或者管理人员最常用的方式,这种方式常见的安全认证是输入密码,也可以设置为密钥方式免密登录。
通过OpenStack客户端,找到OpenStacK找到虚机管理,找到控制台登录按钮,进入控制台,使用用户密码登录即可。当然这是以web界面控制台方式,通过虚拟机所在物理机的服务端也是可以登录的。
首先 ,找到虚拟机所在的物理机及其instance信息。nova list --all-t --host <host_id> 查看指定主机上的虚拟机;nova show <vmid> 查看虚拟机的详细信息,获取flavor,instance_id。
然后 ,通过控制节点ssh到虚拟机所在物理机,使用virsh list命令查到该计算节点上所有虚机的instance信息。
最后 ,通过virsh console instance-id登录虚机。virsh console后,按下enter,输入用户名和密码登录。退出console,按下ctrl + ],即可回到计算节点。
服务端console登录方式,可以看到虚拟机停止和启动打印到屏幕上的所有信息。web界面console方式也可以看到,但只限固定大小的屏幕。前者可以复制粘贴屏幕上的信息,后者就不可以。
当然商用场景下,服务端也不是所有人可以随便登录的,web界面console方式显得更加安全和便捷。但某些特殊场景下,虚拟机所有网络被禁掉且要实现自动化时,服务端console方式能更好的胜任。
注意,console口只能被一个人登录。如果console口被其它人使用, 可以使用–force参数进行抢占。
通过console方式登录比ip方式有3个场景的优势:用户不需要知道ip信息;有可能该虚拟机ip和调试机网络不通;该虚拟机的所有网络被禁掉了。
当虚拟机服务端无法virsh console登录时,比如win *** 作系统的虚拟机,virsh console配置出错的虚拟机和已经死机的虚拟机,这些情况下都可以通过vnc console登录。Windows虚拟机是可以通过web界面控制台方式登录的。
Windows下mstsc,远程登录界面上输入ip,如果有端口跳转,输入ip:port,填写用户名和密码即可。
参考资料
https://www.cnblogs.com/lifei02/p/9892626.html
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)