建立備份

如果 Looker 執行個體由 Looker 代管,Looker 會自動為執行個體執行例行備份。詳情請參閱「Looker 代管執行個體的自動備份」一節。

如果您的執行個體是客戶代管的,則需要自行建立備份。詳情請參閱「客戶代管執行個體的備份策略」一節。

Looker 代管執行個體的自動備份

Looker 代管的執行個體會每隔 24 小時自動備份一次。每個備份都包含執行個體內部資料庫和檔案伺服器中的所有資料記錄,也就是 Looker 執行個體的大部分作業資料。不過,系統不會備份「Elite System Activity」的資料。

備份資料會保留 30 天。如要存取及還原備份,請與支援團隊聯絡

客戶代管執行個體的備份策略

對於客戶代管的執行個體,您只需複製 Looker 使用者的主目錄 (包括所有一般和隱藏的子目錄),即可建立基本 Looker 安裝作業的備份。您可以使用 scprsync 或任何標準備份應用程式。同樣地,還原基本 Looker 安裝作業只需要還原檔案並啟動 Looker。

在某些設定 (包括叢集環境) 中,Looker 會使用外部 MySQL 資料庫來儲存應用程式設定、使用者帳戶和其他資料。在這種情況下,除了 Looker 主目錄之外,建議您建立 MySQL 資料庫的備份。

我們強烈建議您每天建立這些備份。另外,我們也建議每季執行一次測試還原作業。

目錄結構

以下說明 Looker 使用者主目錄 (通常為 /home/looker) 下的標準子目錄。

  • 主畫面
    • looker
    • .ssh
    • looker
      • .cache
      • .db
      • .ssl
      • .tmp
      • deploy_keys
      • 記錄
      • 個模型
      • models-user-1
目錄 需要備份 變更頻率 說明
.ssh 極少 用於透過 Looker 4.6 以下版本建立的 LookML 專案,向 Git 進行驗證的 SSH 金鑰
looker/.cache 常用聯絡人 暫時快取檔案
looker/.db 是的,除非後端資料庫已遷移至 MySQL 常用聯絡人 Looker 內部資料庫
looker/.snapshots On Update 更新期間,Looker jar 和 .db 目錄的備份副本會儲存在此處
looker/.ssl 不確定 極少 自行簽署的 SSL 憑證 (請參閱附註)
looker/.tmp 常用聯絡人 暫存檔案
looker/deploy_keys 極少 使用 Looker 4.8 以上版本建立的 LookML 專案,用於向 Git 進行驗證的 SSH 金鑰
looker/log 不確定 常用聯絡人 記錄檔;只有在保留政策要求時才需要
looker/models 變數 從來源存放區 (通常是 GitHub) 複製的正式版模型
looker/models-user-* 變數 每位使用者的開發模型會儲存在使用者 ID 號碼的單獨目錄中

SSL 注意事項:根據預設,SSL 目錄只包含自行簽署的 SSL 憑證,因此不需要保留。不過,如果您在這個目錄中儲存其他檔案 (例如由憑證授權機構簽署的 SSL 憑證),則應將這個目錄加入備份。

以下是 Looker 主目錄以外的檔案,應加入備份:

目錄 需要備份 變更頻率 說明
/etc/init.d/looker 極少 Looker 的系統啟動指令碼
安全資料傳輸層 (SSL) 憑證 極少 如果您使用 SSL 憑證,請確認已納入所有必要檔案

雖然這通常不會造成問題,但部分客戶回報,如果備份檔案中包含 looker/.db/looker.lck 檔案,就會發生問題。您可以視需要安全地排除這個檔案。

建立備份

您可以使用任何標準備份應用程式,以及 rsync 等指令列工具,建立 Looker 執行個體的備份。

建議在應用程式使用量最少時執行備份程序。除了一般使用者互動之外,請考量排定的 Look 可能執行的時間、衍生表可能重建的時間等。

叢集環境

叢集 Looker 執行個體會將應用程式設定、使用者帳戶和其他資料儲存在外部 MySQL 資料庫中。建議您在建立 Looker 應用程式的同時,也建立這個資料庫的備份。如要進一步瞭解如何備份 MySQL 資料庫,請參閱 MySQL 說明文件

產生不依附 KeyStore 的備份

如果客戶代管的已遷移至 AES-256 GCM 加密,且未使用 AWS KMS,則可以使用這個程序建立 Looker 例項的備份,而該備份不受本地客戶主金鑰 (CMK) 影響。本程序說明如何將客戶代管的執行個體遷移至 Looker 代管的執行個體,而無須提供 CMK,或是將客戶代管的執行個體遷移至無法存取相同本機 KeyStore 的新主機。

如要建立不依附 KeyStore 的備份,請按照下列步驟操作:

  1. 停止 Looker:

    cd looker
    ./looker stop
    

    如果 Looker 例項是叢集,請務必先停止每個節點再繼續操作。

  2. 請確認 Looker 執行個體可存取 CMK。如果 CMEK 儲存在檔案中,您可以使用環境變數 LKR_MASTER_KEY_FILE 指向 CMEK 檔案的路徑:

    export LKR_MASTER_KEY_FILE=<path_to_CMK_file>
    

    或者,如要直接在環境變數中提供 CMK,您可以使用 LKR_MASTER_KEY_ENV 環境變數:

    export LKR_MASTER_KEY_ENV=<CMK_value>
    
  3. 產生新的金鑰檔案,用於重新加密金鑰加密金鑰 (KEK):

    ./looker generate_keyfile_for_backup <key_file_name>
    

    其中 <key_file_name> 是 Looker 建立的檔案名稱,用於寫入新金鑰。

    新金鑰檔案的內容如下所示:

    {"dbmk":"vr1LUwO3q6weY8iS3JykVljSjiD4m6eGk227Cs7Qu9Q=\n","backup_uid":"XCXvRa38mNeqT6+HRBCo2Q=="}
    

    其中 dbmk 的值是 Base64 編碼 256 位元加密金鑰,而 backup_uid 是儲存金鑰至資料庫時使用的專屬名稱。

  4. 使用新的鍵檔案,在 Looker 的內部資料庫中建立新的鍵項目:

    ./looker keystore_independent_recrypt <key_file_name>
    

    其中 <key_file_name> 是先前建立的金鑰檔案。

    這會使用 CMK 解密內部資料庫中的 KEK,然後使用新金鑰重新加密 KEK,並將該加密值儲存至資料庫。

  5. 使用一般備份方法建立 Looker 執行個體的備份。

如要還原這個不依附於 KeyStore 的備份,您需要先前建立的新金鑰檔案。

還原備份

如要還原 Looker 執行個體的備份,請參閱「還原備份」說明文件頁面。

後續步驟

設定備份後,您就可以確保 Looker 例項可存取必要的服務