Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ストレージ障害後にレプリカを復旧する方法

正常なレプリカから access 設定をコピーする

ローカルユーザーを含む access フォルダの内容を、正常なレプリカからコピーします。

/var/lib/clickhouse/access

正常なレプリカから metadata フォルダをバックアップする

  1. ClickHouse の data directory に移動します。
cd /var/lib/clickhouse
  1. metadata フォルダのバックアップを作成します (symbolic link を含む) 。metadata directory にはデータベースおよびテーブルの DDLs が含まれています。 database directory には /var/lib/clickhouse/store/.. への symlink があり、そこにすべてのテーブル DDLs が格納されています。
{ find metadata -type f; find metadata -type l; find metadata -type l | xargs readlink -f; } | tar -cPf backup.tar --files-from=-

障害のあるレプリカで metadata を復元する

  1. 生成された backup.tar ファイルを障害のあるレプリカにコピーします。
  2. それを ClickHouse の data directory に展開します。
cd /var/lib/clickhouse/
tar -xvPf backup.tar

force restore フラグを作成する

他のレプリカからの自動データ同期をトリガーするには、次のフラグを作成します。

sudo -u clickhouse touch /var/lib/clickhouse/flags/force_restore_data

障害のあるレプリカを再起動する

  1. 障害のある node 上の ClickHouse server を再起動します。
  2. server logs を確認すると、正常なレプリカからパーツがダウンロードされていることを確認できるはずです。
2025.11.02 00:00:04.047097 [ 682 ] {} <Debug> analytics.events_local (...) (Fetcher): Downloading files 23
2025.11.02 00:00:04.055542 [ 682 ] {} <Debug> analytics.events_local (...) (Fetcher): Download of part 202511_0_0_0 onto disk disk2 finished.
2025.11.02 00:00:04.101888 [ 687 ] {} <Debug> warehouse.customers_local (...) (Fetcher): Downloading part 2025_0_0_1 onto disk default.
2025.11.02 00:00:04.102005 [ 687 ] {} <Debug> warehouse.customers_local (...) (Fetcher): Downloading files 11
2025.11.02 00:00:04.102210 [ 690 ] {} <Debug> warehouse.customers_local (...) (Fetcher): Downloading part 2022_0_0_1 onto disk disk1.
2025.11.02 00:00:04.102247 [ 688 ] {} <Debug> warehouse.customers_local (...) (Fetcher): Downloading part 2021_0_0_1 onto disk disk2.
2025.11.02 00:00:04.102331 [ 690 ] {} <Debug> warehouse.customers_local (...) (Fetcher): Downloading files 11
Navigation