PowerScale OneFS:ソフトウェア ジャーナル ミラーリング(SJM)が有効な状態で書き込みを行うと、NFSがEIOにヒットする
概要: バージョン9.11のPowerScale OneFSに書き込むNetwork File System (NFS)クライアントでは、入力エラーまたは出力エラー(EIO)として現れるまれな書き込み操作の失敗が発生する可能性があります。
現象
ソフトウェア ジャーナル ミラーリング(SJM)と呼ばれる新しいOneFS 9.11の機能と、ダイレクト書き込み(NCIO)と呼ばれるOneFS 9.7の機能が組み合わされています。
SJM の詳細については、以下を参照してください。 https://infohub.delltechnologies.com/en-uk/l/powerscale-onefs-smartflash/software-journal-mirroring/
NCIO の詳細については、https://infohub.delltechnologies.com/en-au/l/powerscale-best-practices-for-semiconductor-eda-design-environments/direct-read-and-direct-write/ を参照してください。
この問題はまれであると予想されます (10 億回の操作で 10 回)。PowerScaleノードのメッセージ ログの次のエラーは、タイムスタンプで問題が発生したことを示しています。クラスター側のエラーのタイムスタンプは、クライアント側のエラーのタイムスタンプと一致する必要があります。
2026-03-03T17:00:28.344642-05:00 isilon-2(id2) /boot/kernel.amd64/kernel: [txn_participant.c:5806](pid 82988="kt: dxt17")(tid=106414) txn_p_dl_block_budrecs() txn(0x2:0x133bcad0d) requested from devid:2 not found
また、OneFS 9.11にアップグレードした後にEIOエラーが発生し、次のようなエラーがログ ファイルに表示され始めたかどうかを確認します。
# grep txn_p_dl_ /var/log/messages | cut -d":" -f 2- | cut -d" " -f 8 | sort | uniq -c
5112 txn_p_dl_block_budrecs()
3672 txn_p_dl_deltas_budrecs()
# grep txn_p_dl_ /var/log/messages | cut -d":" -f 2- | cut -d" " -f 8 | sort | uniq -c
5200 txn_p_dl_block_budrecs()
3712 txn_p_dl_deltas_budrecs()
原因
この問題を適用するには、影響を受けるクラスターでSJMとNCIOの両方を有効にする必要があります。これらの機能は、スレッドが必要なリソースにアクセスできなくなる可能性がある競合状態を引き起こします。
クラスターでSJMが有効になっているかどうかを確認するには、次のコマンドを実行します。
isi storagepool nodepools list -v | egrep "Name|SJM"
NCIOが有効になっているかどうかを確認するには、次のコマンドを実行します。どちらのコマンドも '1' NCIOが有効になっている場合は、すべてのノードで実行されます。
isi_for_array -s sysctl efs.lbm.ncio.write.enable isi_for_array -s sysctl efs.bam.bsw_send_direct
例:
(Confirms SJM is enabled) Isilon-1# isi storagepool nodepools list -v | egrep "Name|SJM" Name: f200_3.8tb-ssd_48gb SJM Enabled: Yes (Confirms NCIO is enabled. Both sets of output return '1' for all nodes, indicating NCIO is enabled) Isilon-1# isi_for_array -s sysctl efs.lbm.ncio.write.enable Isilon-1: efs.lbm.ncio.write.enable: 1 Isilon-2: efs.lbm.ncio.write.enable: 1 Isilon-3: efs.lbm.ncio.write.enable: 1 Isilon-1# isi_for_array -s sysctl efs.bam.bsw_send_direct Isilon-1: efs.bam.bsw_send_direct: 1 Isilon-2: efs.bam.bsw_send_direct: 1 Isilon-3: efs.bam.bsw_send_direct: 1
解決方法
回避策は、SJMまたはNCIOのいずれかを無効にすることです。両方を無効にする必要はありません。
SJMを無効にすると、ファイル システム ジャーナルのデータ保護と冗長性が次のように低下します。
SJMが有効なノード プール内のすべてのノードには一意のバディが動的に割り当てられ、ノード間のバックエンド ネットワーク接続は低レイテンシーのバルク データ フローのために最適化されます。SJMの自動リカバリー スキームでは、障害が発生した場合にバディ ジャーナルのミラーリングされたコンテンツを使用してプライマリー ノードのジャーナルを再形成できるため、コストのかかるノードのSmartFailプロセスを回避できます。SyncBackと呼ばれるこのリカバリー スキームは、障害が発生したジャーナル デバイスを物理的に交換する必要がある場合は、手動で適用することもできます。
出典:https://infohub.delltechnologies.com/en-uk/l/powerscale-onefs-smartflash/software-journal-mirroring/
NCIOを無効にすると、フラッシュ ノードでの書き込みパフォーマンスが約20%制限または低下する可能性があります。
SJM を無効にします。これは、ノード プールごとに実行する必要があります。
isi storagepool nodepools modify <nodepool name> --sjm-enabled=false
NCIOを無効にするには、次の手順を実行します。
isi_sysctl_cluster efs.lbm.ncio.write.enable=0
isi_sysctl_cluster efs.bam.bsw_send_direct=0
これらの機能を無効にすると、クラスターに影響を与える可能性があります。これは、クラスター ワークフローが影響を受けている場合にのみ適用する必要があります。質問または懸念事項がある場合は、Dellテクニカル サポートにお問い合わせください。