Dell VxRail:vSphere Web Client 中缺少 vSAN 插件

Summary: vSphere Web Client 中缺少 vSAN 插件

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

vSphere Web Client 中缺少 vSAN 插件。
客户无法管理 vSAN 群集。

vsphere_client_virgo.log
[2023-11-13T09:01:38.054Z] [INFO ] async-task-executor-pool-230  com.vmware.vise.plugin.download.PluginDownloadServiceImpl         Downloading plug-in package from https://xxxxx.xxxxxx.local:443/vsanHealth/plugins/vsan-h5-client.zip (no proxy defined) 
[2023-11-13T09:01:38.070Z] [ERROR] async-task-executor-pool-230  com.vmware.vise.plugin.download.PluginDownloadServiceImpl         Downloading plug-in package: com.vmware.vsphere.client.h5vsan:7.0.2.200 has failed. Cannot connect to host: https://xxxxx.xxxxxx.local:443/vsanHealth/plugins/vsan-h5-client.zip java.io.IOException: Server returned HTTP response code: 500 for URL: https://xxxxx.xxxxxx.local:443/vsanHealth/plugins/vsan-h5-client.zip
    at sun.reflect.GeneratedConstructorAccessor312.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1950)
    at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1945)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1944)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1514)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
    at com.vmware.vise.util.http.ConnectionManager.getResponseBodyAsStream(ConnectionManager.java:341)
    at com.vmware.vise.util.http.SimpleHttpClient.executeMethodResponseAsStream(SimpleHttpClient.java:223)
    at com.vmware.vise.plugin.download.PluginDownloadServiceImpl.downloadPackageInfo(PluginDownloadServiceImpl.java:285)
    at com.vmware.vise.plugin.download.PluginDownloadServiceImpl.writeToFile(PluginDownloadServiceImpl.java:251)
    at com.vmware.vise.plugin.download.PluginDownloadServiceImpl.download(PluginDownloadServiceImpl.java:133)
    at com.vmware.vise.plugin.async.task.PluginDownloadTask.run(PluginDownloadTask.java:73)
    at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640)
    at com.vmware.vise.util.concurrent.QueuingCachedThreadPool$2.call(QueuingCachedThreadPool.java:873)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at com.vmware.vise.util.concurrent.QueuingCachedThreadPool$QueueProcessor.run(QueuingCachedThreadPool.java:1271)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at com.vmware.vise.util.concurrent.WorkerThreadFactory$1.run(WorkerThreadFactory.java:64)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: https://xxxxx.xxxxxx.local:443/vsanHealth/plugins/vsan-h5-client.zip
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1900)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:352)
    at com.vmware.vise.util.http.ConnectionManager.connect(ConnectionManager.java:284)
    at com.vmware.vise.util.http.SimpleHttpClient.connect(SimpleHttpClient.java:354)
    at com.vmware.vise.util.http.SimpleHttpClient.connect(SimpleHttpClient.java:324)
    at com.vmware.vise.util.http.SimpleHttpClient.executeMethodResponseAsStream(SimpleHttpClient.java:222)
    ... 14 common frames omitted


Cause

路径位置缺少 vSAN 插件:
/usr/lib/vmware-vpx/vsan-health/ui-plugins/ 
当 vCenter Server 重新启动时,它会从以下文件夹加载 vSAN 插件: 
/etc/vmware/vsphere-ui/vc-packages/vsphere-client-serenity/
它将 vSAN html5 软件包解压缩为:
 /etc/vmware/vsphere-ui/vc-packages/vsphere-client-serenity/





Resolution

要解决此问题:

从另一个具有相同内部版本号的 vCenter Server 复制 vSAN 插件。如果使用不同的 vCenter 内部版本号,将导致 vSAN 插件无法加载。 
root@vcsa01 [ ~ ]# mkdir -p /etc/vmware/vsphere-ui/vc-packages/vsphere-client-serenity/com.vmware.vsphere.client.h5vsan-<get vCenter build from from vsphere_client_virgo.log >

mkdir -p /etc/vmware/vsphere-ui/vc-packages/vsphere-client-serenity/com.vmware.vsphere.client.h5vsan-7.0.2.200

root@vcsa01 [ ~ ]# unzip vsan-h5-client.zip -d /etc/vmware/vsphere-ui/vc-packages/vsphere-client-serenity/com.vmware.vsphere.client.h5vsan-6.7.0.13000

unzip vsan-h5-client.zip -d /etc/vmware/vsphere-ui/vc-packages/vsphere-client-serenity/com.vmware.vsphere.client.h5vsan-7.0.2.200

root@vcsa01 [ ~ ]# service-control --stop vsphere-ui
root@vcsa01 [ ~ ]# service-control --start vsphere-ui
或者,将临时 vCenter 部署到客户环境,并从该虚拟机中提取插件。

Products

VxRail
Article Properties
Article Number: 000219820
Article Type: Solution
Last Modified: 18 Dec 2023
Version:  1
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.