非常にアクティブな500G + MariaDB Galeraクラスターでバックアップを実行するには、どの方法が推奨されますか?
スロットルでmariabackup/innobackupex(Percona Xtrabackupのフォーク)を使用する。ロックが長く続く場合、クラスター全体に問題を引き起こす可能性があるFLUSH TABLES WITH READ LOCKについて考える必要があります。 Percona XtraDB Clusterを使用する場合、バックアップ用のロックテーブルがあるため、これは大きな問題ではありません。
ノードを非同期状態にして、バックアップを実行し、バックアップの完了後に非同期モードをオフにします。ここで潜在的な問題は、バックアップに時間がかかりすぎる場合であり、ノードが追いつくまでにしばらく時間がかかります。
スレーブを作成し、スレーブでバックアップを実行します。スレーブがマスターと同期していることを監視する必要があります。たまに一貫性チェックを実行しますか?
Mysqldumpを使用します。 mysqldumpを使用して500G +データベースのバックアップを取るのに時間がかかりすぎると思います。
あなたの意見を聞いて興味があります。
よろしく、マルコ
プランA:クラスターのノードのみを使用:
SET GLOBAL wsrep_desync = ON; SET GLOBAL wsrep_on = OFF;
( wsrep_desync および wsrep_on を参照してください。)SET GLOBAL wsrep_on = ON; SET GLOBAL wsrep_desync = OFF;
短所:しばらくの間ノードを失います-ステップ2と4は時間がかかります。
SSTではなくISTを可能にするのに十分な大きさのgcacheが必要です。
プランB:ノードの1つにスレーブを永続的に追加します。バックアップを取る場合は、そのスレーブをレプリケーションから除外します。その後、レプリケーションに戻します。
欠点:別のサーバーが必要です。
長所:プランAの短所ではありません。