在 KVM 中,可以从主机访问客户机。例如,您可以通过 SSH 连接到主机,然后通过 访问客户机 VM virsh console vm_name
。
在云中可以实现吗?如果可以,怎么做?如果不可以,为什么?
编辑:我的意思是如果你是云提供商,而不是客户。或者如果你是 OpenStack 等私有云的管理员。
答案1
有关如何从带外访问您最喜欢的计算机租赁服务的详细信息,请参阅其文档。通常称为控制台访问,文本版本称为串行控制台。好的文档将包含如何通过串行连接或通过 VNC 或 SPICE 显示图形的示例。
由于这些不能依赖于客户机工作中的 IP,因此通常通过附加串行控制台或显示到(虚拟化)硬件。有时通过主机到客户机的命令通道,例如使用 VMware 工具。
您在 VM 主机上使用 virsh 可能是通过 UNIX 套接字连接到 libvirt,在本例中,libvirt 管理本地 kvm 客户端。这恰好是开箱即用的,当然 ssh 是安全传输的已知量。但请注意,它的也可以连接到远程 libvirt damons或其他虚拟机管理程序主机。
多租户设计通常不应允许在客户机中执行操作的用户登录虚拟机管理程序。VM 主机很敏感,因此允许通过互联网通过 ssh 进入它们不是一个好主意。需要限制它们接触不该接触的客户机。而且用户需要知道要使用哪个计算主机。
实际上,云具有用于远程访问服务的 API 和代理。例如,请参见OpenStack 远程控制台配置。仍然使用相同的技术让虚拟机管理程序公开串行控制台,但设计为应用程序。
答案2
在 KVM 中,可以从主机访问客户机。
不。KVM 转到主机。话虽如此 - 在大多数虚拟机管理程序中,主机都有带外访问的可能性。这取决于主机虚拟化器 - RTFM 是唯一的解决方案,因为您没有告诉我们这一点。
示例中的 Hyper-V 既有用于上传文件的客户端服务(甚至无需登录),也有作为监视器连接到 VM 的图形应用程序(在主机上运行),还有通过 VM 级客户端服务的 powershell 登录(因此不需要网络)。
答案3
在云中,可以从主机访问客户虚拟机吗?
是的当然。
主机、虚拟机管理程序对虚拟机具有完全控制权,并且云提供商对虚拟机管理程序以及虚拟机具有完全控制权。
虚拟机管理程序控制虚拟机在启动时附带虚拟控制台、虚拟硬盘、虚拟串行端口、一个或多个虚拟网卡等。
云提供商经常会授予使用该云服务器的客户对虚拟控制台的远程访问权限,以进行带外管理。(顺便说一下,这不需要访问虚拟机管理程序。)
除了 SLA、合同和隐私协议之外,没有什么可以阻止云提供商连接到该虚拟控制台,无论是直接从虚拟机管理程序连接到虚拟控制台,还是通过他们授予客户访问权限的相同方法连接到虚拟控制台。
(这与在主机托管数据中心托管物理服务器没有什么不同。在那里,提供商也可以插入显示器、键盘和鼠标,插入 USB 拇指驱动器或 CD,然后查看您的操作系统显示的内容。)