Skip to main content
BeeGFS on NetApp with E-Series Storage
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

ファイルノードアダプタファームウェアの更新

共同作成者 mcwhiteside

次の手順に従って、ファイルノードのConnectX-7アダプタを最新のファームウェアに更新します。

概要

新しいMLNX_OFEDドライバのサポート、新機能の有効化、バグの修正には、ConnectX-7アダプタファームウェアの更新が必要になる場合があります。このガイドでは、使いやすさと効率性を考慮して、アダプタのアップデートにNVIDIAのユーティリティを使用し `mlxfwmanager`ます。

アップグレード時の考慮事項

このガイドでは、ConnectX-7アダプタのファームウェアを更新する2つの方法(ローリング更新と2ノードクラスタ更新)について説明します。クラスタのサイズに応じて、適切な更新方法を選択します。ファームウェアの更新を実行する前に、次のことを確認します。

  • サポートされているMLNX_OFEDドライバがインストールされている場合は、を参照してください。"テクノロジ要件"

  • BeeGFSファイルシステムおよびPacemakerクラスタ構成に対して有効なバックアップが存在します。

  • クラスタは正常な状態です。

ファームウェアアップデートの準備

NVIDIAのユーティリティを使用して、NVIDIAのMLNX_OFEDドライバにバンドルされているノードのアダプタファームウェアを更新することを推奨し `mlxfwmanager`ます。アップデートを開始する前に、アダプタのファームウェアイメージをからダウンロードし"NVIDIAのサポートサイト"、各ファイルノードに保存します。

ヒント Lenovo ConnectX-7アダプタの場合は、NVIDIAのページにあるツールを"OEM ファームウェア"使用します mlxfwmanager_LES

ローリング更新アプローチ

ノードが3つ以上のHAクラスタでは、この方法が推奨されます。このアプローチでは、一度に1つのファイルノードのアダプタファームウェアを更新して、HAクラスタが要求の処理を継続できるようにしますが、この間はI/Oの処理を行わないことを推奨します。

  1. 各BeeGFSサービスが優先ノードで実行され、クラスタが最適な状態であることを確認します。詳細については、を参照してください "クラスタの状態を確認します"

  2. 更新するファイルノードを選択し、スタンバイモードにします。スタンバイモードでは、そのノードからすべてのBeeGFSサービスが削除(または移動)されます。

    pcs node standby <HOSTNAME>
  3. 次のコマンドを実行して、ノードのサービスが削除されたことを確認します。

    pcs status

    スタンバイ状態のノードでサービスがとして報告されていないことを確認します Started

    メモ クラスタのサイズによっては、BeeGFSサービスが姉妹ノードに移動するまでに数秒から数分かかることがあります。姉妹ノードでBeeGFSサービスが開始されない場合は、を参照してください"トラブルシューティングガイド"
  4. を使用してアダプタファームウェアを更新し `mlxfwmanager`ます。

     mlxfwmanager -i <path/to/firmware.bin> -u

    ファームウェアのアップデートを受信している各アダプタのをメモします PCI Device Name

  5. ユーティリティを使用して各アダプタをリセットし、 `mlxfwreset`新しいファームウェアを適用します。

    メモ 一部のファームウェアアップデートでは、アップデートを適用するために再起動が必要になる場合があります。詳細については、を参照してください"NVIDIAのmlxfwresetの制限事項"。リブートが必要な場合は、アダプタをリセットする代わりにリブートを実行します。
    1. opensmサービスを停止します。

      systemctl stop opensm
    2. 前述の各コマンドについて、次のコマンドを実行し `PCI Device Name`ます。

      mlxfwreset -d <pci_device_name> reset -y
    3. opensmサービスを開始します。

      systemctl start opensm
    4. 再起動する eseries_nvme_ib.service

      systemctl restart eseries_nvme_ib.service
    5. E シリーズ ストレージ アレイのボリュームが存在することを確認します。

multipath -ll
  1. を実行し ibstat、すべてのアダプタが目的のファームウェアバージョンで実行されていることを確認します。

    ibstat
  2. ノードでPacemakerクラスタサービスを開始します。

    pcs cluster start <HOSTNAME>
  3. ノードのスタンバイを解除します。

    pcs node unstandby <HOSTNAME>
  4. すべてのBeeGFSサービスを優先ノードに再配置します。

    pcs resource relocate run

すべてのアダプタが更新されるまで、クラスタ内のファイルノードごとに上記の手順を繰り返します。

2ノードクラスタ更新アプローチ

この方法は、ノードが2つだけのHAクラスタの場合に推奨されます。このアプローチはローリング更新に似ていますが、1つのノードのクラスタサービスが停止しているときにサービスのダウンタイムを回避するための手順が追加されています。

  1. 各BeeGFSサービスが優先ノードで実行され、クラスタが最適な状態であることを確認します。詳細については、を参照してください "クラスタの状態を確認します"

  2. 更新するファイルノードを選択し、ノードをスタンバイモードにします。スタンバイモードでは、そのノードからすべてのBeeGFSサービスが削除(または移動)されます。

    pcs node standby <HOSTNAME>
  3. 次のコマンドを実行して、ノードのリソースが枯渇したことを確認します。

    pcs status

    スタンバイ状態のノードでサービスがとして報告されていないことを確認します Started

    ヒント クラスタのサイズによっては、BeeGFSサービスが姉妹ノードとして報告されるまでに数秒から数分かかることがあります Started。BeeGFSサービスが起動しない場合は、を参照してください"トラブルシューティングガイド"
  4. クラスタをメンテナンスモードにします。

    pcs property set maintenance-mode=true
  5. を使用してアダプタファームウェアを更新し `mlxfwmanager`ます。

     mlxfwmanager -i <path/to/firmware.bin> -u

    ファームウェアのアップデートを受信している各アダプタのをメモします PCI Device Name

  6. ユーティリティを使用して各アダプタをリセットし、 `mlxfwreset`新しいファームウェアを適用します。

    メモ 一部のファームウェアアップデートでは、アップデートを適用するために再起動が必要になる場合があります。詳細については、を参照してください"NVIDIAのmlxfwresetの制限事項"。リブートが必要な場合は、アダプタをリセットする代わりにリブートを実行します。
    1. opensmサービスを停止します。

      systemctl stop opensm
    2. 前述の各コマンドについて、次のコマンドを実行し `PCI Device Name`ます。

      mlxfwreset -d <pci_device_name> reset -y
    3. opensmサービスを開始します。

      systemctl start opensm
  7. を実行し ibstat、すべてのアダプタが目的のファームウェアバージョンで実行されていることを確認します。

    ibstat
  8. ノードでPacemakerクラスタサービスを開始します。

    pcs cluster start <HOSTNAME>
  9. ノードのスタンバイを解除します。

    pcs node unstandby <HOSTNAME>
  10. クラスタのメンテナンスモードを終了します。

    pcs property set maintenance-mode=false
  11. すべてのBeeGFSサービスを優先ノードに再配置します。

    pcs resource relocate run

すべてのアダプタが更新されるまで、クラスタ内のファイルノードごとに上記の手順を繰り返します。