SLOGが失われた場合にZFSをZIL SLOGと一貫性にする方法は?

SLOGが失われた場合にZFSをZIL SLOGと一貫性にする方法は?

HDDにはZFSがあり、SSDにはZIL SLOGがあります。

関連がある場合は、SSDにLARCキャッシュもあります。

write()SSD障害が原因でデータの不整合が発生しないようにするには(どのように単一のスレッドで2つのタスクの内容を混合して1つずつ実行するなどのPOSIXファイルシステム呼び出しの結果ルールに準拠しない)、どのように再構成する必要がありますか?

SSDを復元せずにHDDのバックアップスナップショットを復元する場合は、ZFSのPosgreSQL DBが一貫していないことを確認したいと思います。 (私はPostgreSQLを同期するための措置を講じました(Postgreにバグがないと仮定します)。

ベストアンサー1

ZILには、安定したディスクへの短期コミットされていない書き込みのみが含まれると想定されます。停電とSSDエラーが同時に発生すると問題になる可能性があります。ただし、通常のSSDにエラーが発生した場合、zfsはraid書き込み保存と同等のモードからraid write-throughモードに切り替える必要があります。パフォーマンスが低下する可能性がありますが、すぐに破損することはありません。

ZILの鍵は、変更を不揮発性ストレージにすばやく記録し、アプリケーションが続行するようにすばやく指示できるようにすることです。これらのデータが安定したストレージ(ディスク)に書き込まれる前に電源が切れると、次に電源が供給された後にzfsボリュームがマウントされると、ZILから安定したストレージにコピーされます。

ファイルシステムスナップショットの要点は、現在作成されていないファイルシステムの安定版をコピーできることです。スナップショットは書き込み可能ではないため、ZILには保留中の書き込みがないため、これはZILとは関係ありません。

しかし、postgreSQLはファイルシステムのスナップショットを復元するのが好きではないかもしれません。 ZFSスナップショットの前にpostgreSQLにスナップショットを撮るか一時停止するように指示されていない場合は、zfsスナップショットにいくつかの部分的なpostgreSQL書き込みが含まれる可能性があり、これは問題になる可能性があります。 postgreSQLデータベースを正しくバックアップする方法について別の質問をしたいかもしれません。 (…他の人がここでこの内容を扱いたくない限り)

おすすめ記事