备份 Tableau Server 数据

定期备份 Tableau Server 是正确管理和维护服务器的重要步骤。您可以使用 tsm maintenance restore 命令来还原使用 tsm maintenance backup 命令创建的 Tableau Server 备份 。在还原 Tableau Server 时,通过其他方式建立的数据库备份以及虚拟计算机快照是无效数据源,因此拥有最新的备份是至关重要的。

 

您只能从身份存储与运行服务器类型相同的备份中进行还原。例如,使用本地身份验证的服务器中的备份只能还原到使用本地身份验证初始化的 Tableau Server,但使用 Active Directory 身份验证的服务器中的备份无法还原到使用本地身份验证初始化的服务器。

Tableau Server 数据包括数据提取文件,以及 Tableau PostgreSQL 数据库,其中存储工作簿和用户元数据和服务器配置数据。使用 TSM 创建备份时,所有这些数据都保存在一个扩展名为 .tsbak 的文件中。如果您正在运行 Tableau Server 的分布式安装软件,则将备份来自所有节点的数据。

备份的频率取决于您的环境,包括服务器的使用量以及内容和用户变更量和频率。如果出现系统故障,则在备份之后发生的任何更改或更新将丢失,并且您需要还原 Tableau Server。存在的活动越多,就需要更频繁地对服务器进行备份。

除了定期计划的备份之外,您还应始终在升级到新版本的 Tableau Server 之前创建备份。升级过程不会创建备份,除非正在更新 PostGRES 版本,然后升级过程会创建一个仅供内部使用的 PostGRES 备份。

为了防止数据丢失,应该在创建备份后将 .tsbak 文件存储在不是 Tableau Server 安装一部分的计算机上。

备份的磁盘空间使用情况

创建备份所需的可用磁盘空间因 Tableau Server 存储库和文件存储服务中的数据量及其与 tabadmincontroller 服务的搭配而异。在备份过程中,用于清理旧数据提取的后台任务会暂停。这意味着,在备份持续时间内,数据提取刷新将会将额外文件保留在原处,从而增加磁盘空间使用量。如果您的备份需要很长时间,或者您的组织使用许多定期更新的数据提取,则可能会导致使用大量的临时磁盘空间。备份完成后,将移除这些临时文件。

下表列出了备份的磁盘空间要求,具体取决于节点是承载存储库、文件存储、控制器还是它们的某些组合。在多节点 Tableau Server 环境中,您需要估计每个节点上所需的磁盘空间。

存储库文件存储控制器所需的磁盘空间
  

存储库数据的 3 倍 + 250 MB

若要获取存储库数据的估计值,请检查 <data directory>/pgsql/data/base 目录的大小。

若要获取存储库数据的确切大小,请打开备份文件并使用 workgroup.pg_dump 文件的大小。

  

文件存储数据的 1.5 倍

若要获取文件存储数据(数据提取、流程等)的估计值,请检查 <data directory>/dataengine 目录的大小。

  存储库数据的 3 倍 + 250 MB + 文件存储数据的 2.5 倍
 存储库数据的 3 倍 + 250 MB + 文件存储数据的 1.5 倍
 存储库数据的 3 倍 + 250 MB + 文件存储数据的 1.5 倍
 存储库数据的 3 倍 + 250 MB + 文件存储数据的 2.5 倍
存储库数据的 3 倍 + 250 MB + 文件存储数据的 1.5 倍

优化 Tableau Server 备份

可通过若干方式来最大程度地提高备份效率。您的环境可能会对其中每种方式的效率产生影响,因此请使用您的数据进行测试,确定哪种方式效率最高。

使用拓扑配置进行优化:

  • 将文件存储与管理控制器放在同一节点上可以减少或消除备份过程中在节点之间传输数据的需要,从而缩短备份 Tableau Server 所需的时间。如果您的组织使用许多数据提取,则情况尤其如此。
  • 将存储库 (Pgsql) 与管理控制器节点放在同一位置也有助于缩短备份时间,但节省的时间不如文件存储显著。

管理控制器通常位于初始节点上,除非您遇到初始节点故障并且将控制器转移到另一节点。

使用备份策略进行优化:

备份是一个资源密集型过程。如果可能,在非高峰时段进行备份通常是一个很好的策略。但是,这取决于您的要求以及 Tableau Server 数据的更新频率以及您的还原要求。有关备份和灾难恢复的详细解释,请参见Tableau Server 灾难恢复。以下是一些备份策略,请采纳它们以适应您的需求

  • 存储类型:通常建议为备份使用固态磁盘。与传统旋转磁盘相比,SSD 可帮助您更快地完成备份。
  • 备份压缩:您可以选择在进行或不进行压缩的情况下运行备份。使用压缩进行备份时,备份大小将相对较小,但性能可能会变慢。因此,如果您的目标更注重速度,请选择 --skip-compression 选项:

    在备份 Tableau Server 时使用 --skip-compression 选项。这样,将会在不使用压缩的情况下创建备份,从而生成较大的备份文件,但可缩短备份完成所需的时间。有关详细信息,请参见tsm maintenance backup

  • 快照备份:仅当您将 Tableau Server 配置具有外部文件存储时,此选项才可用。尽管快照备份的性能取决于网络连接存储的类型,但一般快照备份比传统的 Tableau Server 备份要快。有关详细信息,请参见Tableau Server 外部文件存储

 

使用 TSM 命令行界面 (CLI) 创建备份

使用 tsm maintenance backup 命令创建由 Tableau Server 管理的数据的备份。此数据包括数据提取文件及 Tableau PostgreSQL 数据库,其中包含工作簿和用户元数据。

重要信息:生成备份时请勿使用 pg-only 选项,除非 Tableau 支持人员指示这样做。此选项将仅备份存储库,不能 用于还原您的服务器。它的主要用途是进行故障排除,Tableau 支持人员会要求您创建 --pg-only 备份(如有必要)。

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

若要备份服务器配置数据,请使用 tsm settings 命令。使用 tsm maintenance backup 命令时,会将当前日期附加到备份文件:

tsm maintenance backup -f <backup_file> -d

有关详细信息,请参见tsm maintenance backup

创建升级前备份

在升级 Tableau Server 之前,您应始终创建备份。您可以在 Tableau Server 运行时创建备份,最大程度地缩短服务器在升级期间不可用的时间。用于创建升级前备份的过程与用于创建定期备份的过程相同,但有一项针对分布式安装的额外注意事项。

注意:从未包括在新安装中的任何节点中卸载 Tableau Server,以避免旧节点与新安装发生冲突。

升级期间的备份

在 Tableau Server 升级期间,如有必要,可能会创建数据库的临时备份,以允许在升级过程中进行迁移。这是在升级期间完成的,大多数情况下不会对升级过程产生明显影响。在某些特殊情况下,可能会产生其他影响:

  • 从版本 2021.4(或更低版本)升级到 Tableau Server 2022.1(或更高版本) — 如果您使用 tsm maintenance(备份和还原)方法执行蓝/绿升级或手动升级 Tableau Server 2021.4(或更低版本),则必须启用 legacy-identity-mode,然后才能还原到 Tableau Server 2022.1(或更高版本)。有关详细信息,请参见对身份迁移问题进行故障排除
  • 主要版本 pgsql 更新 — 如果升级包括对用于 Tableau 存储库的数据库的主要版本更新,则会在不压缩的情况下完成内部升级备份,以便节省时间。这需要在升级过程中有额外的临时磁盘空间。

    Tableau Server 版本,包括主要版本数据库更新;2020.4。

计划和管理备份

从 2020.4.0 开始,您可以使用 tsm 命令来计划备份。您需要通过命令行执行此操作(没有用于计划备份的 TSM UI)。tsm maintenance backup 命令允许您创建和更新备份计划。tsm schedules 命令使您可以查看、删除、暂停、恢复和更新计划。

计划备份:

  1. 在初始节点(安装了 TSM 的节点)上以管理员身份打开命令提示符。

  2. 运行以下命令:

    tsm maintenance backup -f <backup-file> -sr <recurrence> -st <time-to-run> -sd <days-to-run> -sn <schedule-name>
    

    例如,若要创建名为“monthly-backup”(每月备份)的备份计划,该备份计划每月 15 日凌晨 2 点运行,并生成名为 <yyyy.mm.dd.hh.mm>-ts-mid_month_backup.tsbak 的文件:

    tsm maintenance backup -f ts-mid_month_backup -sr monthly -st 02:00 -sd 15 -sn monthly-backup
    

查看计划的备份:

  1. 在初始节点(安装了 TSM 的节点)上以管理员身份打开命令提示符。

  2. 运行以下命令:

    tsm schedules list 
    

    您可以使用 --next-run--schedule-name 选项,按计划运行时间、最早到最新时间或名称对计划进行排序。您可以使用 --schedule-id 选项交替显示单个计划的详细信息。当您查看单个计划时,您会看到有关它的其他详细信息,包括创建时间、运行次数以及运行时使用的特定选项。作业选项以 JSON 格式显示为“Job args”。

更新计划的备份:

  1. 在初始节点(安装了 TSM 的节点)上以管理员身份打开命令提示符。

  2. 运行以下命令:

    tsm schedules update --schedule-id <ID> --schedule-time <time-to-run> --schedule-recurrence <frequency> --schedule-days <day-to-run>
    

    注意:若要添加或更改名称,请使用 tsm-maintenance-backup 命令。

挂起或恢复备份计划:

  1. 在初始节点(安装了 TSM 的节点)上以管理员身份打开命令提示符。

  2. 运行以下命令之一:

    • 挂起计划:

      tsm schedules suspend --schedule-id <scheduleID>
      
    • 恢复挂起的计划:

      tsm schedules resume --schedule-id <scheduleID>
      

将备份过程编成脚本

如果您经常备份,您可能希望创建一个脚本来为您执行备份及相关任务。这些任务包括:

  • 在运行备份之前清理文件和文件夹。

  • 自行运行备份。

  • 将备份文件复制到单独的计算机以便妥善保管。

此部分讨论您可结合使用来执行备份及相关任务的 tsm 命令。

移除日志文件并清除临时文件夹

您可以清理旧日志文件和临时文件,以减少创建备份所需的时间,并确保备份文件尽可能小。

若要清理几天前的日志文件,请运行以下命令:

tsm maintenance cleanup

运行备份

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

若要创建备份,请使用 tsm maintenance backup 命令:

tsm maintenance backup --file <backup_file> --append-date

注意有关该命令的以下信息:

  • 向命令添加 --append-date 可以在备份文件名中包括日期。

  • 系统将在数据目录的临时位置中汇编备份文件,并将该文件写入 TSM basefilepath.backuprestore

    /var/opt/tableau/tableau_server/data/tabsvc/files/backups/<filename>.tsbak

    有关备份文件的写入位置以及如何更改该位置的详细信息,请参见tsm File Paths注意:即使您更改备份位置,备份过程也会使用数据目录中的临时位置来汇编备份文件。

将备份文件复制到另一台计算机

作为最佳做法,请在创建备份后将备份文件复制到独立于 Tableau Server 的另一个位置。

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