我们有一台 64 位虚拟机(CentOS),我们想在 64 位主机上运行它(可以在任何操作系统下运行),但是该主机不支持硬件虚拟化,您知道,这应该是用于在其中运行 64 位虚拟机。
我尝试了 VirtualBox 和 VMware Player,但它们都存在非硬件虚拟化处理器的问题。我想也许另一个虚拟化系统可能会有所帮助,比如 OpenVZ 或 XEN 或 KVM?您觉得呢?
在 Stackoverflow 上,有人建议我使用 Qemu。OpenVZ、XEN 或 KVM 不行吗?我们只是想试试这些软件,看看它们能否解决这个问题。
谢谢!
答案1
可能不是,或者至少没有简单的、得到良好支持的方法。
看http://en.wikipedia.org/wiki/X86_virtualization#Software-based_virtualization意思是
x86-64 的初始版本 (AMD64) 不允许纯软件完全虚拟化,因为在长模式下缺乏分段支持,这使得无法保护虚拟机管理程序的内存,尤其是无法保护在客户机内核地址空间中运行的陷阱处理程序。[12][13]:11 和 20 修订版 D 以及更高版本的 64 位 AMD 处理器(根据经验,那些在 90 nm 或更低温度下制造的处理器)在长模式下添加了对分段的基本支持,从而可以通过二进制翻译在 64 位主机中运行 64 位客户机。英特尔没有为其 x86-64 实现(英特尔 64)添加分段支持,因此无法在英特尔 CPU 上实现 64 位纯软件虚拟化,
答案2
答案3
看看 LXC 或 OpenVZ。
它提供基于容器的虚拟化,无需带有 VT 指令的处理器。这种虚拟化几乎不产生任何开销。
LXC 与 OpenVZ 非常相似,VM 与这两种技术兼容。LXC 是一个较新的项目。
http://en.wikipedia.org/wiki/Operating_system-level_virtualization
http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines