仮想マシンのレプリケーションがエラー NFC_SESSION_ERROR で失敗する
search cancel

仮想マシンのレプリケーションがエラー NFC_SESSION_ERROR で失敗する

book

Article ID: 434008

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免責事項:これは英文の記事 Virtual machine replication fails with error NFC_SESSION_ERROR の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

  • 仮想マシンのレプリケーションが NFC_SESSION_ERROR で失敗します。
  • このエラーは、Commvault やVMware vSphere Replication などのレプリケーション・アプライアンスを使用している環境で発生します。
  • /var/run/log/hostd.log には、以下のようなエラーログが記録されます:

    YYYY-MM-DDTHH:MM:SSZ info hostd[2103298] [Originator@6876 sub=Nfcsvc] NFC server scheduled
    YYYY-MM-DDTHH:MM:SSZ info hostd[2101410] [Originator@6876 sub=Libs opID=nbdmode-000000XXXX] Setting NFC log level to 1
    YYYY-MM-DDTHH:MM:SSZ warning hostd[2101254] [Originator@6876 sub=Libs opID=nbdmode-000000XXXX] [NFC ERROR]NfcCheckAndReserveMem: Cannot allocate anymore memory as NFC is already using 100663192 and allocating 168 will make it more than the maximum allocated: 100663296. Please close some sessions and try again.

Environment

VMware vSphere ESXi 7.x
VMware vSphere ESXi 8.x

Cause

NFC操作で使用するメモリが不足しています。この問題は通常、過度な再試行や、クリアされずに残った古いセッションによって、ホストのNFC用メモリが使い果たされたときに発生します。

Resolution

この問題を解決するには、hostdの設定ファイルを変更し、ホスト上のNFCセッション用メモリを増やす必要があります。

以前のバージョンでは /etc/vmware/hostd/config.xml を直接編集して変更できましたが、ESXi 7.0 U2 以降、サービス構成設定は専用の構成ストアデータベースに保存されるようになり、/bin/configstorecli を使用してアクセスする必要があります。

NFC設定を変更する手順は以下の通りです。

  1. 現在の構成を一時的な JSON ファイルにエクスポートします。
    $ /bin/configstorecli config current get -c esx -g services -k hostd -outfile tmp.json
  2. ファイルを編集します。
    $ vi tmp.json
  3. デフォルトでは maxMemory パラメータは 100663296 に設定されています。これを 150663296 に変更します(環境の要件に応じて値を調整してください)。
    <nfcsvc>
        <path>libnfcsvc.so</path>
        <enabled>true</enabled>
        <maxMemory>150663296</maxMemory>  <================= この値を増やします
        <maxStreamMemory>35651584</maxStreamMemory>
    </nfcsvc>
  4. 変更を保存して終了します。Esc キーを押し、:wq! を入力してエンター。
  5. 編集したファイルをデータベースに適用します。
    $ /bin/configstorecli config current set -c esx -g services -k hostd -infile tmp.json
  6. hostd サービスを再起動します。
    $ /etc/init.d/hostd restart

Additional Information

NFC操作のメモリ不足は、ESXiホストに対して同時に大量のNFCセッションリクエストが発生していることを示しています。

作成されるNFCセッション数を減らすことを検討してください。たとえば、NFC操作が仮想マシンのレプリケーションによるものである場合は、同時に実行するレプリケーション数を制限することが推奨されます。