Dell Unity:証明書エラーによりUnityをVASAストレージ プロバイダーとして使用できない
概要: この記事では、UnityをVirtual Storage Application Programming Interface (API) for Storage Awareness (VASA)ストレージ プロバイダーとして使用するのを妨げる証明書エラーを削除するために必要な手順について説明します。(ユーザー修正可能)(英語)」
現象
VASAストレージ プロバイダーとしてすでに登録されているUnityのIPアドレスを変更する
UnityがVASAストレージ プロバイダーとして機能するUnityでvCenterを変更する。
vCenterでの証明書の更新後、VASAストレージ プロバイダーを再度セットアップしようとすると、ストレージ側に次のエラーが表示されました。
Failed: The imported certificate cannot be save. (Error Code:0x600944) Rollback Result: Task was rolled back and marked as failed. This is because some tasks failed or SP rebooted during task execution. (Error Code:0x100a)
UnityをVASAストレージ プロバイダーとして登録すると、次のエラーが表示されます。
The "Register new storage provider" operation failed for the entity with the following error message. The provider certificate is invalid. It is either empty, malformed, expired, not yet valid, revoked, or fails host name verification.
原因
証明書が古いUnity vCenterに登録されていますが、証明書の有効期限が切れています。
ストレージ上の証明書の場所が間違った構造で存在し、システムが証明書を更新できない可能性があります。
解決方法
以下は、vSphereからVASAストレージ プロバイダーとして追加する新しいUnity証明書を取得する手順です。
- Unity CLIにログインします(サービス アカウントを使用)。
- 次のコマンドを使用して、Unity上でVASAの既存の証明書を表示します。
uemcli -u local/admin -p <password of Unity admin account> /sys/cert show -detail
service@Unity spa:~/user# uemcli -u admin -securepassword /sys/cert show -detail 1: ID = vasa_http-vc1-cacert-1 Type = CA Service = VASA_HTTP Scope = Certificate ID = vasa_http-vc1-cacert-1 Trust anchor = Yes Version = 3 Serial number = XX:XX:XX:XX:XX:XX:XX:XX Signature algorithm = SHA256WithRSAEncryption Issuer name = OU=VMware Engineering,O=photon-machine,ST=California,C=US,DC=local,DC=vsphere,CN=CA Valid from = 2019-09-23 12:15:08 Valid to = 2029-09-20 12:15:08 Subject name = OU=VMware Engineering,O=photon-machine,ST=California,C=US,DC=local,DC=vsphere,CN=CA Subject alternative name = email:example@vmware.com, IP Address:127.0.0.1 Public key algorithm = RSA Key length = 2048 Thumbprint algorithm = SHA1 Thumbprint = XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX Private key available = No 2: ID = vasa_http-vc1-servercert-1 Type = Server Service = VASA_HTTP Scope = Certificate ID = vasa_http-vc1-servercert-1 Trust anchor = Yes Version = 3 Serial number =XX:XX:XX:XX:XX:XX:XX:XX Signature algorithm = SHA256WithRSAEncryption Issuer name = OU=VMware Engineering,O=photon-machine,ST=California,C=US,DC=local,DC=vsphere,CN=CA Valid from = 2021-02-24 08:59:13 Valid to = 2022-02-25 08:59:13 Subject name = CN=EMC VASA Vendor Provider Subject alternative name = IP Address:10.xx.xx.xx <<<<< Unity Management IP will be present here. Public key algorithm = RSA Key length = 2048 Thumbprint algorithm = SHA1 Thumbprint = XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX Private key available = Yes
- 次のコマンドを使用して、現在のすべての証明書を1つずつ削除します。
uemcli -u local/admin -p <password of Unity admin account> /sys/cert -id <value> delete
service@Unity spa:~/user# uemcli -u admin -securepassword /sys/cert -id vasa_http-vc1-servercert-1 delete Operation completed successfully.
service@Unity spa:~/user# uemcli -u admin -securepassword /sys/cert -id vasa_http-vc1-servercert-1 delete Operation failed. Error code: 0x6000940 The certificate does not exist. (Error Code:0x6000940)
- UnityをVASAストレージ プロバイダーとしてvSphereに追加します。
追加のメモ:
証明書の有効期限が切れている場合は例外があります。削除後の vasa_http-vc1-servercert-1 Unityでは、デフォルトの証明書 valid to に戻す 1970-01-01の詳細を確認してください。これにより、証明書エラーが返され、ストレージ プロバイダーの再登録が妨げられる可能性があります。
場合によっては、UnityとvCenterで証明書を更新し、証明書が有効であり、両方のサービスに存在することを確認した後で接続を更新しようとすると、システムがVASA接続の更新に失敗することがあります。vCenterが、Unityアレイから証明書をインポートできないことを示している場合があります。
これらの問題のいずれかが発生した場合は、 Dellテクニカル サポートまたはサービス プロバイダーに連絡し、このDell記事を参考として引用してください。
その他の情報
上記の手順の例:
- 次の方法でログインします。
service - 既存の証明書を表示します。
uemcli -d 10.xx.xxx.xx -u local/admin -p XXX /sys/cert -service VASA_HTTP show -detail Storage system address: 10.xx.xxx.xx Storage system port: 443 HTTPS connection 1: Type = CA Service = VASA_HTTP Scope = Certificate ID = vasa_http-vc1-cacert-2 Trust anchor = Yes Version = 3 Serial number = XX:XX:XX:XX:XX:XX:XX:XX Signature algorithm = SHA256WithRSAEncryption Issuer name = XXXXX Valid from = 2016-09-19 12:04:02 Valid to = 2026-09-17 12:04:02 Subject name = XXXX Subject alternative name = XXXX, IP Address:120.x.x.x Public key algorithm = RSA Key length = 2048 Thumbprint algorithm = SHA1 Thumbprint = XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX Private key available = No 2: Type = Server Service = VASA_HTTP Scope = Certificate ID = vasa_http-vc1-servercert-1 Trust anchor = No Version = 3 Serial number = XX:XX:XX:XX:XX:XX:XX:XX Signature algorithm = SHA256WithRSAEncryption Issuer name = XXXX Valid from = 2016-09-21 13:13:35 Valid to = 1970-01-01 00:00:00 >>>>>>>>>>>>>> this might prevent from adding storage provider from vsphere because the certificate is invalid Subject name = Subject alternative name = Public key algorithm = RSA Key length = 2048 Thumbprint algorithm = SHA1 Thumbprint = Private key available = Yes
- 最初の証明書を削除します。
uemcli -d 10.xx.xxx.xx -u local/admin -p XXX /sys/cert -id vasa_http-vc1-cacert-2 delete - vSphereからUnityをVASAストレージ プロバイダーとして登録します。
- vSphere Web Clientのホーム画面で、[vCenter]をクリックします
- [インベントリー リスト]セクションで、[vCenter Servers]をクリックします
- 左ペインで[vCenter Server]を選択します。
- 右ペインで[Manage]タブをクリックします。
- 右ペインで[Storage Provider]をクリックします。
- 緑色のプラス記号をクリックします。