vCenter Server 7.0.0c で CPU 使用率が高騰する

追記: 7.0.0d で修正済み

本件の修正を含んだ 7.0.0d がリリースされました。

Resolved Issues にも本件と思われる問題が記載されています。

After an upgrade to vCenter Server 7.0.0c, you see high CPU usage
After you upgrade your vCenter Server system to vCenter Server 7.0.0c, CPU usage continuously stays high. On a single core, CPU usage might spike up to 100% for hours. The Workload Control Plane service causes the issue, even if you do not have Workload Management enabled in your environment.
This issue is resolved in this release.

VMware vCenter Server 7.0.0d Release Notes

手元の環境でも、ワークアラウンドを元に戻して事象を再現させた状態で 7.0.0d にアップデートし、事象が再現しなくなったことが確認できました。

TL;DR

  • vCenter Server のワークロード制御プレーン(Workload Control Plane, WCP)サービスの既知の問題
  • 今後リリースされる Express Patch 1(EP1)で修正される予定
  • 以下の二つの条件が許容できるなら、問題のサービスを止めれば抑制できる
    • vSphere with Kubernetes 関連の機能が使えなくなる
    • ホストをメンテナンスモードにできなくなる
  • 上記の二つの条件が許容できない場合は、EP1 のリリースまで 7.0.0b のままにするか、CPU の高騰を許容する必要がある

7.0.0c 化後、突然の CPU 使用率の高騰

vCenter Server を 7.0.0c にしてしばらく放っておいたら、どうにも空冷ファンがいつもよりもうるさいままで、おかしいなあ、みたいな。見たらこうなっていました。

topSHIFT + P するとこんな。

/usr/lib/vmware-wcp/wcpsvc なるプロセスが張り付いていました。

top - 01:00:58 up  1:43,  1 user,  load average: 1.49, 1.73, 1.72
Tasks: 290 total,   1 running, 289 sleeping,   0 stopped,   0 zombie
%Cpu0  :  99.3/0.7   100[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||]
%Cpu1  :   4.7/3.4     8[||||||||                                                                                            ]
GiB Mem : 73.5/11.7     [                                                                                                    ]
GiB Swap:  0.3/26.0     [                                                                                                    ]

  PID USER      PR  NI    VIRT    RES  %CPU  %MEM     TIME+ S COMMAND
29354 root      20   0  505.5m  84.2m  98.7   0.7  81:36.55 S /usr/lib/vmware-wcp/wcpsvc --port 8920 --logfile /var/log/vmware/wcp/wcpsvc.l+
 1196 root      20   0 2495.5m  30.6m   2.6   0.3   4:39.03 S /usr/java/jre-vmware/bin/java -XX:+UseStringDeduplication -XX:+OptimizeString+
 1318 vdtc      20   0  181.4m   3.2m   0.7   0.0   0:32.24 S /usr/lib/vmware-vdtc/vdtc
 7965 vsphere+  20   0 2683.7m 851.8m   0.7   7.1   1:53.38 S /usr/java/jre-vmware/bin/vsphere-ui.launcher -Xmx597m -XX:CompressedClassSpac+
10455 root      20   0  133.3m  14.3m   0.7   0.1   0:21.22 S /usr/lib/vmware-vmon/vapi/vmon-vapi-provider -p 8900 -l info
    1 root      20   0   92.6m   7.7m   0.0   0.1   0:01.54 S /lib/systemd/systemd --switched-root --system --deserialize 17
    2 root      20   0    0.0m   0.0m   0.0   0.0   0:00.00 S [kthreadd]
...

原因と暫定対策

調べると、既知の問題のようです。

vSphere with Kubernetes 関係のサービスのようですね。VAMI から止められるとのことなので、止めてみます。

日本語だと ワークロード制御プレーン、英語だと Workload Control Plane のようです。選択していちばん上の [停止] を押すだけ。シェルで vmon-cli -k wcp でもよいですね。

きれいにおさまりました。

なお、この方法でのサービス停止は一時的なものなので、vCenter Server が再起動するとこの問題は再発するようです。

つまり、再起動後もこのサービスを止めたままにするには、シェルに入って、

root@record [ ~ ]# vmon-cli -s wcp
Name: wcp
Starttype: AUTOMATIC
RunState: STOPPED
RunAsUser: root
CurrentRunStateDuration(ms): 885398
HealthState: UNHEALTHY
FailStop: FALSE
MainProcessId: N/A

root@record [ ~ ]# vmon-cli -S DISABLED -U wcp
Completed Service State Update request.

root@record [ ~ ]# vmon-cli -s wcp
Name: wcp
Starttype: DISABLED
RunState: STOPPED
RunAsUser: root
CurrentRunStateDuration(ms): 910637
HealthState: UNHEALTHY
FailStop: FALSE

な感じで、自動起動をオフにする必要があります。オンに戻すときは DISABLED を指定しているところで AUTOMATIC にします。

暫定対策の副作用

vSphere with Kubernetes 関連のサービスなので、K8s 関連の機能は動かなくなりそうです(どこまで動かなくなるのかは試していません……)。

また、それだけでなく、先のリンク先には、WCP を止めると メンテナンスモードにできなくなる と書いてあります。試してみたら、確かに以下のエラーでメンテナンスモードへの切り替えに失敗しました。

その操作は、現在の状態では実行できません。
ノードで名前空間のメンテナンス モードへの切り替えに失敗したため、ホストをメンテナンス モードに切り替えることができません。

メンテナンスモードにできないとなると、vLCM(旧 VUM)でのアップデートの時などに困りそうです。となると、必要な時は一時的にサービスを上げるのがよいのかもですね。もしくはおとなしく 7.0.0b の頃のバックアップをリストアするか……。

恒久対策

コミュニティでのやりとりしか情報がないですが、次に出る EP1(Express Patch 1)での修正が予定されているようです。待ちましょう。わりと近いうちに出そうな気はするけれど、どうでしょう。

修正されるまでは、7.0.0c の適用は見送る(7.0.0b のままにしておく)判断もアリになりそうです。

@kurokobo

くろいです。ギターアンサンブルやら音響やらがフィールドの IT やさんなアルトギター弾き。たまこう 48 期ぎたさん、SFC '07 おんぞう、新日本ギターアンサンブル、Rubinetto。今は野良気味。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です