执行 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 maintenance(备份和还原)方法执行蓝/绿升级或手动升级 Tableau Server 2021.4(或更低版本),则必须启用 legacy-identity-mode,然后才能还原到 Tableau Server 2022.1(或更高版本)。有关详细信息,请参见对身份迁移问题进行故障排除

    • 从版本 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 会创建两个组:tableautsmadmin。如果在安装 Tableau Server 时配置了替代组,则您将需要记录组名称。

    在所有情况下,您都应记录这些组中的用户帐户。若要查看组中的成员身份,请运行以下命令:grep <group_name> /etc/group

  • 协调服务部署配置。如果运行多节点群集,请记录哪些群集在运行协调服务进程。若要查看节点上的进程配置,请运行 tsm topology list-nodes -v

  • 自定义设置。如果组织为 Tableau Server 网页使用自定义标题或登录徽标,您应随备份组合一起包括这些资产的副本。请参见tsm customize

  • 大多数身份验证资产。虽然文件的位置可能包含在导出的 settings.json 文件中,但 TSM 不会备份大多数证书文件、密钥文件、密钥表文件或者其他身份验证相关资产。验证您尝试移动的任何资产是否都不需要重新创建。

    有三种例外情况:

    • 将对内部 PostgreSQL 数据库(如果启用)的公共证书和私钥进行备份。
    • 将对外部 SSL 的证书和密钥进行备份并包括在配置数据中。
    • 将对通过 tsm security custom-cert add(如果添加)安装的自定义证书进行备份。

    但是,将不会备份所有其他身份验证相关资产。举例来说,如果您使用 tsm data-access repository-access enable 命令启用了对 PostgreSQL 数据库的访问,请确保记录您配置的每个帐户的名称/密码对。将不会备份这些凭据。相互 SSL 的证书和密钥不会包括在备份中。

  • LDAP 资产。TSM 不会备份密钥表文件、配置文件或者其他 LDAP 相关资产。

内部服务器密文和存储库密码是不会导出的加密相关配置。不过,您无需记录配置值。在还原过程中初始化新实例时,将会创建新的密文。

为恢复备份 Tableau Server

Tableau Server 包括一些命令,您可以运行这些命令来生成 Tableau Server 的备份数据。

注意:在备份 Linux 版 Tableau Server 时,非特权用户必须对在其中写入备份文件的网络共享具有写入访问权限。否则备份将失败。

若要备份服务器拓扑和配置数据,请使用 tsm settings 命令。

  1. 运行 tsm settings export 命令时,拓扑和配置数据都会包括在内。数据以 json 文件形式导出。通过运行以下命令来指定 json 文件的名称和位置:

    tsm settings export -f <filename>.json

    注意:由于备份包含密文,因此我们建议您对备份进行加密,并将其存储在安全的地方。有关 Tableau Server 密文的详细信息,请参见管理服务器密文

  2. 备份存储库和文件存储数据。存储库数据使用 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 maintenance backup 命令来备份 Tableau Server 数据。有关如何备份此数据的详细信息,请参见使用外部文件存储进行备份和还原

还原核心 Tableau Server 功能

在恢复方案中,以下过程使用前两个部分中的资产重建 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 控制器的节点(通常是初始节点)上执行还原。

  • 备份资产:如前一部分中所述,这些资产包括记录的配置的列表。

还原独立 Tableau Server
  1. 在要还原 Tableau Server 的计算机上,安装和初始化 TSM。如果您的组织使用非默认系统用户帐户(如本主题的前面部分中所述),则您必须在此步骤中指定用户。

  2. 激活并注册 Tableau Server

  3. (可选)。配置本地防火墙

  4. (可选)。验证 LDAP。

  5. 初始化 Tableau Server。请参见配置初始节点设置

  6. 导入拓扑和配置数据。将拓扑和配置 json 备份文件复制到计算机。通过运行以下命令来导入 json 文件:

    tsm settings import -f <filename>.json

  7. (可选)。应用待处理的更改。在命令提示符处,运行:

    tsm pending-changes apply

  8. 重新启动 Tableau Server。在命令提示符处,运行:

    tsm restart

  9. 还原存储库数据。请参见还原备份内容

  10. (可选)。重新填充 TSM 组成员身份。使用此命令向组中添加用户:

    sudo usermod -G <group_name> -a <username>

还原 Tableau Server 群集
  1. 在初始节点上,安装和初始化 TSM。如果您的组织使用非默认系统用户帐户(如本主题的前面部分中所述),则您必须在此步骤中指定用户。

  2. 在初始节点上,激活并注册 Tableau Server

  3. (可选)。在初始节点上,配置本地防火墙

  4. 在初始节点上,验证 LDAP(可选),并初始化 Tableau Server。请参见配置初始节点设置

  5. 在初始节点上,运行 tsm topology nodes get-bootstrap-file --file <path\file>.json

  6. 将 bootstrap.json 文件复制到群集中的所有附加节点。

  7. 在群集中的每个附加节点上:

    1. 安装 Tableau Server 软件包。

    2. 导航到脚本目录。

    3. 在初始节点和附加节点之间发起通信:

      sudo ./initialize-tsm -b <path-to-bootstrap>.json -u <admin-user-on-first-node> --accepteula

  8. 在初始节点上,运行 tsm topology list-nodes -v,并确保节点名称在导出的拓扑设置中未更改。如果节点名称已更改,则应使用新名称手动更新拓扑设置,或者应手动配置进程

  9. 每个节点上都需要群集控制器进程,并且需要显式添加。从初始节点中,向每个附加节点添加一个群集控制器实例,其中 <nodeID> 是附加节点之一的 ID。将进程分别添加到每个节点。在本例中,我们将群集控制器添加到节点 2 和 3:

    tsm topology set-process -n node2 -pr clustercontroller -c 1
    tsm topology set-process -n node3 -pr clustercontroller -c 1
    tsm pending-changes apply
  10. 从初始节点中部署协调服务整体。整体配置必须与以前的配置匹配。

  11. 在初始节点上,导入拓扑和配置数据。将拓扑和配置 json 备份文件复制到计算机。通过运行以下命令来导入 json 文件:

    tsm settings import -f <filename>.json

  12. 在初始节点上,应用未完成的更改。在命令提示符处,运行:

    tsm pending-changes apply

  13. 在初始节点上,重新启动 Tableau Server。在命令提示符处,运行:

    tsm restart

  14. 在初始节点上,还原存储库数据。请参见还原备份内容

  15. 在初始节点上,重新填充 TSM 组成员身份。使用此命令向组中添加用户:

    sudo usermod -G <group_name> -a <username>

还原其他功能

如果以前的服务器配置为具有以下功能,则您将需要在还原的服务器上重新启用和重新配置这些功能:

在还原之后重新加密数据提取

(可选)如果要使用静态数据提取加密功能,您可以在还原备份之后使用不同的加密密钥对数据提取进行重新加密。请参见静态数据提取加密

运行 tabcmd reencryptextracts <site-name> 以对给定站点上的数据提取进行重新加密。有关详细信息,请参见reencryptextracts。在您存储加密数据提取的每个站点上运行此命令。根据站点上加密数据提取的数量,此操作可能会占用大量的服务器处理负载。考虑在工作时间以外运行此操作。

感谢您的反馈!您的反馈已成功提交。谢谢!