Gitlabが「嘘をつく」、基地が破壊される(復元される)

画像 昨日、1月31日、Gitlabサービスは本番データベースを誤って破壊しました(gitリポジトリ自体は影響を受けませんでした)。

こんな感じでした。

何らかの理由で、ホットスタンバイデータベースレプリカ(PostgreSQL)が遅れ始めました(レプリカが唯一のものでした)。 しばらくの間、gitlabの従業員がさまざまな設定などで状況に影響を与えようとした後、すべてを消去してレプリカを再び注ぐことを決めました。 レプリカのデータフォルダーを消去しようとしましたが、サーバーを混同してウィザードで消去しました(db2.cluster.gitlab.comではなくdb1.cluster.gitlab.comでrm -rfを実行しました)。

興味深いことに、システムには5種類のバックアップ/レプリカがありましたが、どれも機能しませんでした。 秋の6時間前に偶然作成されたLVMスナップショットしかありませんでした。

ここで、私は彼らの文書から要約された引用を引用します。 見つかった問題:

1)デフォルトでは、LVMスナップショットは24時間に1回のみ取得されます。
2)YPはまだそれらの保存場所を把握できていませんが、定期的なバックアップも24時間に1回しか行われていないようです。
3)Azureのディスクスナップショットは、NFSサーバーでは有効になりますが、DBサーバーでは有効になりません。
4)同期プロセスは、データをステージングに同期すると、webhookを削除します。 過去24時間の定期的なバックアップからこれらを取得できない場合、それらは失われます。
5)複製手順は非常に壊れやすく、エラーが発生しやすく、少数のランダムなシェルスクリプトに依存しており、文書化が不十分です。
6)S3へのバックアップも明らかに機能しません。バケットは空です
7)バックアップが失敗したときのアラート/ページングは​​ありません。これは開発ホストでも見られます。

したがって、彼らは、5つのバックアップ/レプリケーション技術のうち、gitlabを結論づけ、何も確実に機能しなかったので、当然のように=>したがって、ランダムに作成された6時間のバックアップからの回復が進行中です

文書の全文はこちら

Source: https://habr.com/ru/post/J320988/


All Articles