当使用虚拟 CPU (virtual CPU, VCPU) 的内核区域正在运行时,VCPU 线程绑定到物理 CPU 集。此要求可能会阻止将 CPU 添加到处理器集或 CPU 动态重新配置 (dynamic reconfiguration, DR)。
在 SPARC 系统上,当绑定意外丢失时将终止此类内核区域。例如,创建包含内核区域 VCPU 线程正在使用的所有逻辑 CPU 的池时,可能会毁坏内核区域。
创建处理器集时显示以下错误消息:
# psrset -c 0
created processor set 1 psrset: cannot assign processor 0: Device busy
Oracle VM Server for SPARC DR 过程中显示以下错误消息:
# ldm set-vcpu 10 ldom
Removal of cpu 10 failed, error: cpu has bound threads Domain ldom didn't allow removal of any VCPU Resource modification failed
创建池时显示以下错误消息:
# grep affinity /var/log/zones/vcpu.messages
2014-05-07 22:44:18 main error: vcpu 9 has lost all affinity. 2014-05-07 22:44:18 main error: VCPU error: lost affinity 2014-05-07 22:44:28 main error: vcpu 15 has lost all affinity. 2014-05-07 22:44:28 main error: VCPU error: lost affinity
解决方法:在创建处理器集或池或者尝试 CPU DR 之前,暂停可能受影响的内核区域。