Esc*_*Esc 2 virtualization qemu linux-kvm
我的主机是CentOs6.8,内核是3.10.0-957.el7.x86_64。我已经在其上安装了 KVM,并使用 KVM 创建我的来宾。我的客人工作得很好。
现在,我在我的客人上运行一些软件或代码。我收到这样的错误:
Run Code Online (Sandbox Code Playgroud)/opt/cloudera/parcels/CDH-5.13.0-1.cdh5.13.0.p0.29/lib/kudu/sbin/kudu-tserver --tserver_master_addrs=sz-5-centos224,sz-5-centos238 --flagfile=/opt/cm-5.13.0/run/cloudera-scm-agent/process/8442-kudu-KUDU_TSERVER/gflagfile WARNING: Logging before InitGoogleLogging() is written to STDERR F0802 17:24:26.397984 5041 init.cc:84] Check failed: _s.ok() Bad status: Not implemented: The CPU on this system (QEMU Virtual CPU version (cpu64-rhel6)) does not support the SSE4.2 instruction set which is required for running Kudu. If you are running inside a VM, you may need to enable SSE4.2 pass-through.`
从错误中我可以看出,导致客人没有sse4.2,那么,如何让客人启用sse4.2呢?请帮我。谢谢。
小智 5
我遇到了和你一样的问题,以下步骤解决了我的问题:
我为 qemu64 cpu 启用了 sse4.2:
qemu-system-x86_64 -enable-kvm -cpu qemu64,+ssse3,+sse4.1,+sse4.2
通过将以下元素添加到 vm xml 来确保来宾使用 qemu64 cpu 进行虚拟化:
<cpu mode='custom' match='exact' check='partial'>
<model fallback='allow'>qemu64</model>
<feature policy='require' name='sse4.2'/>
<feature policy='disable' name='svm'/>
</cpu>
我必须禁用 svm,因为我的主机不支持它。您可以用来编辑 vm xml 的命令是virsh edit vm_name
销毁虚拟机并从头开始构建它:
virsh destroy vm_name
virsh start vm_name
请注意,virsh 关闭或重新启动虚拟机不会将 xml 更改应用到虚拟机。您必须销毁它才能使更改生效
使用lscpu或cat /proc/cpuinfo/在标志部分中,您可以确保在您的来宾上启用 sse4.2。
有用的链接: - https://ahelpme.com/howto/qemu-full-virtualization-cpu-emulations-enable-disable-cpu-flags-instruction-sets/ - http://www.linux-kvm.org/page /Tuning_KVM - https://github.com/vagrant-libvirt/vagrant-libvirt/issues/667
| 归档时间: |
|
| 查看次数: |
8957 次 |
| 最近记录: |