當使用虛擬 CPU (VCPU) 的核心區域執行時,VCPU 的執行緒會連結到多組實體 CPU。此需求可防止 CPU 被新增至處理器集或 CPU 動態重新配置 (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 之前,請將可能會受影響的核心區域暫停。