執行 Tableau Server 的完整備份和還原
您可以使用以下步驟來備份 Tableau Server 部署。具體而言,這些步驟介紹如何透過備份資料和資產的集合復原伺服器的再製。
附註:備份過程可能會長時間執行。由於備份在執行時無法執行其他作業,因此我們建議您在非工作時間執行備份。
Tableau Server 可以產生兩種類型的備份資料。如果您必須在復原方案中還原伺服器,我們建議對每種類型都執行定期備份:
Tableau Server管理的資料:包含 Tableau PostgreSQL 資料庫或存放庫和檔案存放區,其中含有工作簿和使用者中繼資料、資料擷取檔案以及站台設定資料。使用 TSM 建立備份時,所有這些資料都儲存在一個副檔名為 .tsbak 的檔案中。此資料使用
tsm maintenance backup
命令進行備份。附註:設定外部檔案存放區時,無法使用
tsm maintenance backup
命令來備份 Tableau Server 資料。有關如何備份這些資料的資訊,請參閱使用外部檔案存放區進行備份與還原。您只能從識別身分存放區與執行伺服器類型相同的備份中進行還原。例如,使用本機驗證的伺服器中的備份只能還原到使用本機驗證初始化的 Tableau Server,但使用 Active Directory 驗證的伺服器中的備份無法還原到使用本機驗證初始化的伺服器。
- 只能將備份檔案還原到 Tableau Server 版本,該版本與建立備份的版本相同或更新。無法還原到 Tableau 的舊版本。
重要資訊: 如果使用 tsm 維護(備份和還原)方法執行藍/綠升級或手動升級 Tableau Server 2021.4(或更早版本),則在還原到 Tableau Server 2022.1(或更高版本)之前必須啟用
legacy-identity-mode
。有關詳情,請參閱對身份移轉問題進行疑難排解。從版本 2022.3 開始,不支援使用 tabadmin 建立的備份(「TSM 之前的備份」)。無法將 TSM 之前的備份還原到 Tableau Server 版本 2022.3 或更高版本。
設定和拓撲資料:包括完全復原伺服器所需的大多數伺服器設定資訊。SMTP、通知和一些驗證資產,都是可匯出進行備份的組態資料的範例。拓撲資料定義 Tableau Server 處理序在單伺服器和多節點部署中的設定方式。設定和拓撲資料使用
tsm settings export
命令進行備份。
附註:您可以變更 tsm maintenance backup
命令使用的檔路徑的預設值。有關詳情,請參閱tsm File Paths。
某些設定資料未包括在 tsm settings export
命令中,因此必須手動記錄和還原。tsm settings export
操作中會排除以下設定資料。在備份維護過程中,您應記錄以下 Tableau Server 設定資料:
系統使用者帳戶。Tableau Server 安裝程式會建立非特權使用者帳戶
tableau
。此帳戶用於存取 Tableau Server 資源。可在安裝期間變更此帳戶。如果您未變更此帳戶,則無需記錄它。TSM 群組成員身分。Tableau Server 會建立兩個組:
tableau
和tsmadmin
。如果在安裝 Tableau Server 時設定了替代群組,則您將需要記錄群組名稱。在所有情況下,您都應記錄這些群組中的使用者帳戶。若要查看群組中的成員身分,請執行以下命令:
grep <group_name> /etc/group
。協調服務部署組態。如果執行多節點叢集,請記錄哪些叢集在執行協調服務處理序。若要查看節點上的處理序組態,請執行
tsm topology list-nodes -v
。自訂設定。如果組織為 Tableau Server 網頁使用自訂標題或登入標誌,您應隨備份組合一起包括這些資產的副本。請參閱tsm customize。
大部分的驗證資產。雖然檔案的位置可能包含在匯出的
settings.json
檔案中,但 TSM 不會備份大多數憑證檔案、金鑰檔案、Keytab 檔案或其他與驗證相關的資產不由 TSM 備份。驗證不需要重新建立您嘗試移動的任何資產。有三個例外:
- 備份內部 PostgreSQL 資料庫(若啟用)的公共憑證和私密金鑰。
- 外部 SSL 的憑證和金鑰會備份並包含在組態資料中。
- 備份由 tsm security custom-cert add(若新增)安裝的自訂憑證。
但是,將不會備份所有其他驗證相關資產。舉例來說,如果您使用 tsm data-access repository-access enable 命令啟用了對 PostgreSQL 資料庫的存取,請確保記錄您設定的每個帳戶的名稱/密碼對。將不會備份這些認證。備份中不包含相互 SSL 的憑證和金鑰。
LDAP 資產。TSM 不會備份金鑰表檔、設定檔或者其他 LDAP 相關資產。
內部伺服器密文和存放庫密碼是不會匯出的加密相關設定。不過,您無需記錄設定值。在還原過程中初始化新實例時,將會建立新的密文。
Tableau Server 包括一些命令,您可以執行這些命令來產生 Tableau Server 的備份資料。
附註:在備份 Linux 版 Tableau Server 時,非特權使用者必須對在其中寫入備份檔案的網路共用具有寫入存取權限。否則備份將失敗。
若要備份伺服器拓撲與設定資料,請使用 tsm settings 命令。
執行
tsm settings export
命令時,拓撲與設定資料都會包括在內。資料以 json 檔形式匯出。透過執行以下命令來指定 json 檔的名稱和位置:tsm settings export -f <filename>.json
附註:由於備份包含密文,因此我們建議您對備份進行加密,並將其存放在安全的地方。有關 Tableau Server 密文詳情,請參閱管理伺服器密文。
備份存放庫和檔案存放區資料。存放庫資料使用
tsm maintenance backup
命令進行備份。透過執行以下命令來指定備份檔案的名稱和位置:tsm maintenance backup -f <filename>.tsbak -d
備份檔案會在資料目錄中的臨時位置組合,然後寫入 TSM 變數中定義的目錄
basefilepath.backuprestore
:/var/opt/tableau/tableau_server/data/tabsvc/files/backups/
<filename>.tsbak
有關備份檔案寫入位置以及其修改方式的詳情,請參閱 tsm File Paths。附註:即使您變更備份位置,備份程序也會使用資料目錄中的臨時位置來組合備份檔案。
附註:檔案存放區設定為 Tableau Server 外部時,您就無法使用 tsm 維護備份命令來備份 Tableau Serve 資料。有關如何備份此資料的詳情,請參閱使用外部檔案存放區進行備份與還原。
在復原方案中,以下過程使用前兩個部分中的資產重建 Tableau Server。
附註:如果只需要復原其他方面功能正常的 Tableau Server 上的存放庫,請參閱還原備份內容。如果執行分散式部署,並且初始節點已出現故障,請參閱從初始節點故障中復原。
拓撲和設定備份資料必須來自於 Linux 版 Tableau Server。您無法透過在 Windows 版 Tableau Server 中產生的備份檔案還原設定資料。若要將透過 Windows 版 Tableau Server 產生的備份還原到 Linux 版 Tableau Server,請參閱將 Tableau Server 從 Windows 移轉到 Linux。
您必須準備好以下資產:
拓撲和設定資料:這是
tsm settings export
命令產生的 json 檔案。存放庫備份檔案:這是
tsm maintenance backup
命令產生的檔案,副檔名為 .tsbak。您只能從識別身分存放區與執行伺服器類型相同的備份中進行還原。例如,使用本機驗證的伺服器中的備份只能還原到使用本機驗證初始化的 Tableau Server,但使用 Active Directory 驗證的伺服器中的備份無法還原到使用本機驗證初始化的伺服器。
使用
tsm maintenance restore
還原 Tableau 資料時,備份檔案 (.tsbak
) 中的內容會覆寫資料擷取檔案和 PostgreSQL 資料庫的內容。如果正在執行 Tableau Server的分散式安裝,請在執行 TSM 控制器的節點(通常是初始節點)上執行還原。備份資產:如前一部分中所述,這些資產包括記錄的設定的清單。
如果以前的伺服器設定為具有以下功能,則您將需要在還原的伺服器上重新啟用和重新設定這些功能:
驗證解決方案:OpenID、外部 SSL 和受信任的驗證。請參閱驗證。
網站自訂項:請參閱tsm customize。
啟用對 PostgreSQL 存放庫的存取:請參閱tsm data-access repository-access enable。
還原後重新加密擷取
或者,如果您使用空閒時擷取加密功能,則在還原備份之後,可以使用不同的加密金鑰重新加密擷取。請參閱靜態擷取加密。
執行 tabcmd reencryptextracts <site-name>
以重新加密指定網站上的擷取。有關詳情,請參閱 reencryptextracts。在您要儲存加密擷取的每個網站上執行此命令。根據網站上的加密擷取數目,此作業可能會耗用大量的伺服器處理負載。請考慮在營業時間以外執行此作業。