この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

これは未公開の文書です SUSE® Storage 1.12 (Dev).

リビジョンカウンター

リビジョンカウンターは、SUSE Storageが各レプリカの更新を追跡するために使用するメカニズムです。

レプリカの作成中に、SUSE Storageは初期カウンターが0に設定された`revision.counter`ファイルを作成します。レプリカへの書き込みごとに、`revision.counter`ファイルのカウンターは1増加します。

SUSE Storageエンジンは、起動時にレプリカ間で最善の整合性を達成するためのヒューリスティックとしてこれらのカウンターを使用します。SUSE Storageの書き込みIOが並行しているため、リビジョンカウンターを有効にしてもデータの整合性は保証されません。SUSE Storageは、自動回復中に最新の更新を持つレプリカを特定するためにこれらのカウンターも使用します。

リビジョンカウンターを無効にすることは、レプリカ上のすべての書き込みが追跡されないオプションです。この設定を使用すると、パフォーマンスが向上します。このオプションは、より高いパフォーマンスを好み、十分なCPUリソースを持つ安定したネットワークインフラストラクチャ(例:内部ネットワーク)がある場合に役立ちます。リビジョンカウンターが無効になっている場合、Longhorn Engineは起動時にすべてのレプリカのリビジョンカウンターのチェックをスキップします。ただし、自動回復は機能し続けます。なぜなら、SUSE Storageはレプリカのヘッダーファイルの状態を使用して回復に使用するレプリカを特定できるからです。リビジョンカウンターなしで自動回復がどのように機能するかについての詳細は、リビジョンカウンター無効時の自動回復サポートを参照してください。

デフォルトでは、リビジョンカウンターは無効になっています。

「サルベージ」とは、SUSE Storageが故障状態のボリュームを回復しようとすることです。Longhorn Engineがすべてのレプリカとの接続を失い、すべてのレプリカがエラー状態としてマークされているとき、ボリュームは故障状態にあります。

リビジョンカウンターを無効にする

SUSE Storage UIを使用する

SUSE Storage UIからリビジョンカウンターを無効または有効にするには、設定  リビジョンカウンターを無効にするをクリックします。

一般設定に対してカスタマイズされた設定を持つ個別のボリュームを作成するには、*ボリューム*ページに移動し、*ボリュームを作成*をクリックします。

マニフェストファイルを使用する

`StorageClass`は`disableRevisionCounter`パラメータを追加するようにカスタマイズできます。

デフォルトでは、`disableRevisionCounter`はfalseであり、リビジョンカウンターが有効になっています。

リビジョンカウンターを無効にするには、`disableRevisionCounter`をtrueに設定します:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: best-effort-longhorn
provisioner: driver.longhorn.io
allowVolumeExpansion: true
parameters:
  numberOfReplicas: "1"
  disableRevisionCounter: "true"
  staleReplicaTimeout: "2880" # 48 hours in minutes
  fromBackup: ""

リビジョンカウンターが無効な場合の自動サルベージサポート

リビジョンカウンターが無効な場合、自動回復のロジックは異なります。

リビジョンカウンターが有効で、ボリューム内のすべてのレプリカが’ERR’状態にある場合、エンジンコントローラーは故障状態になり、ボリュームを回復するために、最も大きなリビジョンカウンターを持つレプリカを’真実のソース’として取得し、他のレプリカを再構築します。

この場合、リビジョンカウンターが無効になっていると、エンジンコントローラーはすべてのレプリカの`volume-head-xxx.img`最終更新時刻とヘッドファイルサイズを取得します。次のステップも実行します:

  1. `volume-head-xxx.img`が最終更新された時点に基づいて、最も最近の最終更新タイムスタンプを持つレプリカを特定します。

  2. 上記のレプリカの最終更新タイムスタンプから5秒以内に最終更新タイムスタンプを持つすべてのレプリカを選択します。

  3. 上記のステップからのレプリカ候補の中で、候補のヘッドファイルサイズを比較し、最も大きなファイルサイズを持つものを選びます。

  4. 上記のステップからのレプリカ候補の中で、最も最近の更新タイムスタンプを持つ最良のレプリカを選びます。

  5. 最良のレプリカを’RW’モードに変更し、他のレプリカは’ERR’モードとしてマークされます。エラーのあるレプリカは、最良のレプリカに基づいて再構築されます。