VMware Global Community
nitta0814
Enthusiast
Enthusiast

vCenter上でストレージプロバイダーの同期をコマンドで実施する方法について

現在、全システムの自動シャットダウンおよび自動スタートアップを行った後、

下記のKBが発生しました。

VMの作成が失敗し、「スキーマネームスペース(VSAN)のVASAプロバイダが見つかりません」というエラーが表示される(52286)

VMware Knowledge Base

そのため、スタートアップのPowerCLIスクリプトに、

以下の手動作業を組み込みたいと考えております。

----------------------------------------------------

  • ページ内の同期のアイコンをクリックして、vSANストレージプロバイダーの同期を開始します。

vCenter Server > 構成 > ストレージプロバイダー

----------------------------------------------------

ストレージプロバイダーの同期をPowerCLIで実施する方法をご教示頂けないでしょうか。

宜しくお願いいたします。

6 Replies
kawaman
Leadership
Leadership

恐らく、Get-VasaProvider で -Refresh オプションを付ければできるかと思います。
※記載いただいた状況下で試したわけではなく、正常状態のクラスタで確認した記録は以下となりますが、LastSyncTime は更新されているので恐らくこれかな、と。

PS C:\Users\Administrator> Get-VasaProvider -Name 'VMware vSAN'

Name                 Status       VasaVersion LastSyncTime           Namespace            Url

----                 ------       ----------- ------------           ---------            ---

VMware vSAN          online       3.0         2019/02/14 10:23:06    VSAN                 https://vcsa.test.local:443/...

PS C:\Users\Administrator> Get-VasaProvider -Name 'VMware vSAN' -Refresh

Name                 Status       VasaVersion LastSyncTime           Namespace            Url

----                 ------       ----------- ------------           ---------            ---

VMware vSAN          online       3.0         2019/03/01 11:44:06    VSAN                 https://vcsa.test.local:443/...

ちなみに、vSANクラスタの全シャットダウン、全起動を実施された際、

vCenterは別の管理クラスタなどに存在している状況でしょうか?

または、vSANクラスタ上にいて、自動起動の設定で起動させておりますか?

nitta0814
Enthusiast
Enthusiast

ご回答ありがとうございます。

午後に試して見たいと思います。

今回の場合は、vCenterは管理専用ESXiに配置し、

vSANクラスタは2台ESXiで実行しております。

今回は、停電を想定して管理ノードとvSANノードをすべて停止、起動を行います。

起動時の流れは以下のとおりです。

1.ESX3台の起動開始

2.管理ノードの自動起動制御でvCenterを起動

3.管理ノードの自動起動制御でスクリプト実行サーバを起動し、10分後にPowerCLIでvCenterにログインし、

 Witness,vSANのメンテナンスを解除します。

4.vSAN上の仮想マシンをスクリプトで起動します。

今回の場合は、3と4の間に「プロバイダーの同期」のコマンドを入れたいと思います。

また、kawaman様はどのようにコマンドを調べているかを教えて頂けないでしょうか。

宜しくお願いいたします。

Reply
0 Kudos
kawaman
Leadership
Leadership

2Node vSAN 構成での起動時の処理とのこと、理解しました。

私の場合、調べものする際は、

Google検索 → Community検索 → LucDさんなどの著名な人のコメントやBlogを検索、

その後に正規の手順を調べる際は、Vmware Code 内の PowerCLI のリファレンスでそれっぽいキーワードで検索して、

PowerCLI起動してコマンド打ってヘルプを確認、こんな感じです。

後は、先日ご紹介したようなPowerCLI Cook Bookや、その他ebook含めたドキュメントを片っ端からPCやGoogle Driveに入れておき、

全文検索で有益な情報が引っかかるか試したりもしています。

ご参考まで、、、

nitta0814
Enthusiast
Enthusiast

ご返信頂きありがとうございました。

調べ方参考にさせて頂きます。

教えて頂いたコマンドを実行したところ、

-Name のところがエラーになり実行出来ませんでした。

Get-VasaProviderで出力されたNameを入れてもだめでした。

'IOFILTER Provider dmhsvfs01.domainA.xxx.go.jp online 1.5'

-Nameで指定する値を教えて頂けないでしょうか。

◆以下コマンド結果

------------------------------

PS C:\WINDOWS\system32> Get-VasaProvider -Name 'VMware vSAN'

Get-VasaProvider : 2019/03/01 14:13:22  Get-VasaProvider                VasaProvider with name 'VMware vSAN' was not found using the s

pecified filter(s).

発生場所 行:1 文字:1

+ Get-VasaProvider -Name 'VMware vSAN'

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : ObjectNotFound: (:) [Get-VasaProvider], VimException

    + FullyQualifiedErrorId : Core_OutputHelper_WriteNotFoundError,VMware.VimAutomation.Storage.Commands.Cmdlets.Sms.G

   etVasaProvider

PS C:\WINDOWS\system32> Get-VasaProvider --help

Get-VasaProvider : 2019/03/01 14:13:37  Get-VasaProvider                VasaProvider with name '--help' was not found using the specif

ied filter(s).

発生場所 行:1 文字:1

+ Get-VasaProvider --help

+ ~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : ObjectNotFound: (:) [Get-VasaProvider], VimException

    + FullyQualifiedErrorId : Core_OutputHelper_WriteNotFoundError,VMware.VimAutomation.Storage.Commands.Cmdlets.Sms.G

   etVasaProvider

PS C:\WINDOWS\system32> Get-VasaProvider ?

PS C:\WINDOWS\system32> Get-VasaProvider

Name                 Status       VasaVersion LastSyncTime           Namespace            Url

----                 ------       ----------- ------------           ---------            ---

IOFILTER Provider... online       1.5         2019/03/01 13:53:09    IOFILTERS            https://dmhsvfs01.domainA...

IOFILTER Provider... online       1.5         2019/03/01 13:53:09    IOFILTERS            https://dmmvwn01.domainA....

IOFILTER Provider... online       1.5         2019/03/01 13:53:09    IOFILTERS            https://dmhsvfs02.domainA...

PS C:\WINDOWS\system32> Get-VasaProvider | Format-Table -AutoSize -Wrap

Name                                           Status VasaVersion LastSyncTime        Namespace Url

----                                           ------ ----------- ------------        --------- ---

IOFILTER Provider dmhsvfs01.domainA.xxx.go.jp online 1.5         2019/03/01 13:53:09 IOFILTERS https://dmhsvfs01.medi

                                                                                                cal.xxx.go.jp:9080/vers

                                                                                                ion.xml

IOFILTER Provider dmmvwn01.domainA.xxx.go.jp  online 1.5         2019/03/01 13:53:09 IOFILTERS https://dmmvwn01.medic

                                                                                                al.xxx.go.jp:9080/versi

                                                                                                on.xml

IOFILTER Provider dmhsvfs02.domainA.xxx.go.jp online 1.5         2019/03/01 13:53:09 IOFILTERS https://dmhsvfs02.medi

                                                                                                cal.xxx.go.jp:9080/vers

                                                                                                ion.xml

PS C:\WINDOWS\system32> Get-VasaProvider -Name 'IOFILTER Provider dmhsvfs01.domainA.xxx.go.jp online 1.5'

Get-VasaProvider : 2019/03/01 14:17:37  Get-VasaProvider                VasaProvider with name 'IOFILTER Provider dmhsvfs01.domainA.q

st.go.jp online 1.5' was not found using the specified filter(s).

発生場所 行:1 文字:1

+ Get-VasaProvider -Name 'IOFILTER Provider dmhsvfs01.domainA.xxx.go.j ...

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : ObjectNotFound: (:) [Get-VasaProvider], VimException

    + FullyQualifiedErrorId : Core_OutputHelper_WriteNotFoundError,VMware.VimAutomation.Storage.Commands.Cmdlets.Sms.G

   etVasaProvider

PS C:\WINDOWS\system32>

------------------------------

Reply
0 Kudos
kawaman
Leadership
Leadership

本来、Get-VasaProvider だけで実行すると以下のようにリストされ、vSAN と 各ホストの情報が出てくるはずでした。

PS C:\Users\Administrator> Get-VasaProvider

Name                 Status       VasaVersion LastSyncTime           Namespace            Url

----                 ------       ----------- ------------           ---------            ---

IOFILTER Provider... online       1.5         2019/02/14 10:45:39    IOFILTERS            https://esx01.test.local:9

IOFILTER Provider... online       1.5         2019/02/14 10:55:29    IOFILTERS            https://esx03.test.local:9

VMware vSAN          online       3.0         2019/02/14 10:23:06    VSAN                 https://vcsa.test.local:443/

IOFILTER Provider... online       1.5         2019/02/14 11:04:42    IOFILTERS            https://esx04.test.local:9

IOFILTER Provider... online       1.5         2019/02/14 10:33:33    IOFILTERS            https://esx03.test.local:9

最初に掲載いただいたKBの状態の時 Creating VM fails with error: "No VASA Provider for schema namespace (VSAN) found" (52286)

"No VASA Provider for schema namespace (VSAN) found"

とあるので、今回の "VMware vSAN" そのものが見えなくなっている状況なのかもしれません。

KBにある手動での再同期の実施や、vCenterの再起動で事象は改善されますでしょうか?

以下のKBも参照いただければと思います。

VASA プロバイダ登録のトラブルシューティング (49798)

全シャットダウンからの起動時に、KBに記載のある 「Make sure at least one host is working when starting vCenter Server.」を考慮して、

vCenterの起動前にESXiのメンテナンスモードを解除するなど、スクリプトの作り込みが可能であれば事象が回避できるかもしれません。

nitta0814
Enthusiast
Enthusiast

ご返信ありがとうございます。

ご案内頂いたページに記載されていた「etc/init.d/vsanvpd 」が関係しそうなため、

サービスの再起動で改善しないか確認してみたいと思います。

また、既存の仮想マシンは起動出来るため、

運用対処も検討しております。

Reply
0 Kudos