NetBackup™ for Apache Cassandra 管理指南
前提条件和最佳做法
确保 NetBackup 支持安装的 Cassandra 版本。有关更多信息,请参考软件兼容性列表。
从 NetBackup 版本 10.5 开始,Cassandra 节点所需的最低操作系统版本必须是 RHEL 8.6。
仅 RHEL 平台支持备份主机、数据暂存服务器和 Cassandra。
NetBackup 要求数据暂存服务器 (DSS) 群集与受保护的生产群集具有相同的 Apache/DataStax 发行版和版本。
NetBackup 支持对 DSS 和生产环境中的 DataStax Cassandra 群集进行基于 yum 和 tar 的部署。DSS 群集和生产群集必须具有相同类型的部署。
NetBackup 要求数据中心大约 20% 的节点作为 DSS 进行保护。
Apache Cassandra 不支持 SSL 身份验证。
Apache Cassandra 不支持 Tarball 部署。
DSS 应添加到备份环境,以便 NetBackup 可以执行以下操作:
将数据暂存到 DSS。
对保存到备份存储的数据进行重复数据删除。
将数据复制到 NetBackup 介质服务器。
DSS 应具有与 Cassandra 生产群集相同的 Cassandra 版本。
对于 NetBackup 10.3 及更高版本,在添加 DSS 和 Cassandra 生产群集之前,必须在 NetBackup 凭据管理控制台中添加 DSS 和 Cassandra 生产凭据。然后,在 DSS 和 Cassandra 生产群集添加工作流程中,我们必须从现有凭据列表中选择所需的凭据。
NetBackup 支持 SSL、LDAP 和 DataStax Cassandra 使用简易身份验证。使用数据库用户名和密码连接 Cassandra,并运行类似 cqlsh 和 nodetool utils 的命令。在 DSS 群集配置和 Cassandra 群集配置期间,在 NetBackup 凭据中配置 Cassandra。
在所有 Cassandra 节点和 DSS 节点上启用 SSH。
确保 Cassandra 节点、DSS 和备份主机上的本地时间与 NTP 服务器同步。
在 NetBackup 凭据管理中配置数据暂存服务器群集的非 root 主机用户帐户。
注意:
非 root 主机用户帐户可以是单独帐户,也可以是相同帐户。它必须是有效帐户,具有主文件夹和使用
ssh连接到相应节点的权限。在相应节点上的sudoers文件中添加主机用户。DSS 和应用程序群集上的数据库用户名和密码必须相同。运行 Cassandra 备份或还原之前,请确保从所有数据暂存服务器成功收到对 Cassandra 节点和备份主机的 ping 响应。
选择并更新防火墙设置,以便备份主机、数据暂存服务器和 Cassandra 节点能够进行通信。
确保 DSS 群集配置中的指定路径存在于所有 DSS 和 Cassandra 节点上。
每当升级 Cassandra 或对架构进行任何更改(如删除键空间或列族)时,都应先启动完全备份,然后再执行任何增量式备份作业。
确保为群集指定的主机用户帐户对 DSS 群集配置中的指定文件夹具有读写访问权限。
必须根据 IP 首选项完成主机映射。
确保 SStableloader 实用程序在生产节点和数据暂存服务器之间正常工作。
确保 DSS 上的可用空间和内存比 Cassandra 群集中的列族大三倍。在所有 DSS 节点上保持相似的内存大小。
注意:
DSS 上的压缩操作需要更多的内存。在 DSS 节点上部署更高的 RAM 会提升备份和还原性能。
备份操作期间,在 Cassandra 节点上至少维持 20% 的可用空间。
根据要还原的数据大小,确保还原过程中目标群集节点上有足够的可用空间。
在还原之前,请确保目标 Cassandra 版本与从中执行备份操作的版本相同。
在还原之前,确保已在 NetBackup 中完全配置目标群集和目标数据暂存服务器群集。
取消复合式还原作业中的父作业不会取消子还原作业。必须手动取消子还原作业。
对于 DataStax Cassandra 备份,确保在 DSS 设置中将“每主机连接数 (cph)”的值设置为 1。
Cassandra 角色的 RBAC 权限:
确保分配创建和更新权限以执行下列操作:
添加 DSS 群集。
添加 Apache Cassandra 群集。
添加 DSS 节点。
编辑 Apache Cassandra 群集。
DSS 群集的数据库凭据应与 Cassandra 生产群集相同。
必须通过在
sudoers文件中将 Defaults requiretty 替换为 Defaults !requiretty 来全局禁用 requiretty 选项。注意:
此操作将更改全局
sudo配置。对于基于
tarball的安装,必须始终从tarball installationbin 路径位置启动 Cassandra 服务。对于数据库用户帐户,如果
dse.yaml文件中authentication_options的default_scheme为,则指定内部身份验证用户。如果该default_scheme设置为 ,则指定 LDAP 用户帐户。对于从 10.2.1 之前的版本升级的 NetBackup 版本,需要为 DSS 和生产群集手动触发发现操作。
在 NetBackup 中为以下项配置的数据库用户帐户必须在群集中具有所有必需权限:
DSS 群集
Cassandra 生产群集的备份和还原。
用户必须能够创建、查看、更新和删除群集中的任何资源。在 DSS 群集上,可以提供特定权限或为配置的数据库用户帐户分配超级用户角色。
确保 Cassandra 配置下的 DSS 分发、工作目录和脚本主目录路径不同。
注意:
工作目录路径不能设置为
/root。在
/etc/sudoers文件中,确保使用 Java 可执行路径更新secure_path列表。如果在列族上启用了数据屏蔽,请更新 DSS
Cassandra.yaml文件,在其中包含 dynamic_data_masking_enabled: true。修改
cassandra.yaml文件,以在所有 DSS 节点上设置以下参数:参数
描述/值
cluster_name
群集名称。
cluster_name: <提供 DSS 群集的名称>
num_tokens
将 num_tokens 设置为 1。
num_tokens: 1
initial_token
使用以下命令计算并设置 initial_token:
python -c "print [str(((2**64 / number_of_nodes_in_cluster) * i) - 2**63) for i in range(number_of_nodes_in_cluster)]" initial_token: <To be calculated>
incremental_backups
禁用 incremental_backups。
incremental_backups:false
snapshot_before_compaction
在每次压缩之前禁用创建快照。
snapshot_before_compaction: false
auto_snapshot
禁用自动快照。
auto_snapshot: false
compaction_throughput_mb_per_sec
禁用压缩限制。
compaction_throughput_mb_per_sec: 0
注意:
对于 Cassandra 4.1 及更高版本,将参数及其值更新为 compaction_throughput: 0MiB/s
hinted_handoff_enabled
禁用提示的交接。
hinted_handoff_enabled: false
cdc_enabled
禁用 CDC 功能。
cdc_enabled: false
enable_user_defined_functions
启用用户定义的功能。
enable_user_defined_functions: true
注意:
对于 Cassandra 4.1 及更高版本,将参数及其值更新为 user_defined_functions_enabled: true
enable_scripted_user_defined_functions
启用脚本化的用户定义的功能。
enable_scripted_user_defined_functions: true
注意:
对于 Cassandra 4.1,将参数及其值更新为 scripted_user_defined_functions_enabled: true
但是,对于 Cassandra 5.0 及更高版本,请勿更新该参数。