建立備份

如果 Looker 執行個體是由 Looker 代管,系統會自動定期備份執行個體。詳情請參閱「Looker 代管執行個體的自動備份」一節。

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

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

系統會每隔 24 小時自動備份一次 Looker 代管執行個體。每個備份都包含執行個體內部資料庫和執行個體檔案伺服器中的所有資料記錄,也就是 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 極少 用於向 Git 驗證的 SSH 金鑰,適用於以 Looker 4.6 或更舊版本建立的 LookML 專案
looker/.cache 常用聯絡人 暫存快取檔案
looker/.db 是,除非後端資料庫已遷移至 MySQL 常用聯絡人 Looker 內部資料庫
looker/.snapshots On Update 更新期間,Looker JAR 和 .db 目錄的備份副本會儲存在這裡
looker/.ssl 不確定 極少 自行簽署的 SSL 憑證 (請參閱附註)
looker/.tmp 常用聯絡人 暫存檔案
looker/deploy_keys 極少 用於向 Git 驗證的 SSH 金鑰,適用於以 Looker 4.8 以上版本建立的 LookML 專案
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 的備份,請按照下列步驟操作:

  1. 停止 Looker:

    cd looker
    ./looker stop
    

    如果 Looker 執行個體已叢集化,請務必先停止所有節點,再繼續操作。

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

    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 建立檔案的名稱,之後 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 執行個體的備份。

如要還原這個與金鑰存放區無關的備份,您需要先前建立的新金鑰檔案。

還原備份

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

後續步驟

設定備份後,即可確保 Looker 執行個體可以存取必要服務