You are currently viewing Consul 備份及還原

Consul 備份及還原

說明

Consul 官方提供兩種方式進行備份還原:

  1. snapshot
  2. Consul Snapshot Agent (Enterprise)

用途是在發生 DR 時所使用,預設會透過 Leader 進行備份以下資料:

  1. Key/Value entries
  2. Service catalog
  3. Prepared queries
  4. Sessions
  5. ACLs

可以透過 -stale option 改變成透過 follower 進行備份,透過 Follower 進行備份可以減少 Leader 的 loading,但是有可能會遺失尚未同步的資料,此備份方法尤其在 Cluster 的 Leader 死亡時有效。

snapshot 建立方式

CLI

export CONSUL_HTTP_TOKEN=
consul snapshot save backup.snap

consul snapshot inspect backup.snap
 ID           27-61696-1675056853931
 Size         20529
 Index        61696
 Term         27
 Version      1

 Type                        Count      Size
 ----                        ----       ----
 Register                    11         7.8KB
 ConnectCAProviderState      2          3KB
 ACLToken                    6          2.3KB
 ConnectCA                   1          1.9KB
 ACLPolicy                   6          1.7KB
 ACLRole                     3          927B
 Index                       26         865B
 CoordinateBatchUpdate       4          722B
 FederationState             2          298B
 SystemMetadata              4          292B
 Autopilot                   1          199B
 ConnectCAConfig             1          197B
 ChunkingState               1          12B
 ----                        ----       ----
 Total                                  20KB

API

curl -X GET --header "X-Consul-Token: " -K \
    https://127.0.0.1:8501/v1/snapshot?dc=my-datacenter&stale=true \ 
    --output snapshot.snap

Backup Restore

CLI

consul snapshot restore backup.snap
[root@consul-client-1 ~]# consul snapshot restore backup.snap
Restored snapshot

API

curl -X PUT --header "X-Consul-Token: " -K \
    https://127.0.0.1:8501/v1/snapshot \ 
    --data-binary snapshot.snap

Beck Yeh

熱愛學習於 Linux 與 程式設計 在網站中分享各式各樣學習到的新知識

發佈留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料