暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
OpenShift中的NBU数据备份
1024
17页
3次
2020-07-08
5墨值下载
架构师岗岗位学习教程
OpenShift中的NBU
数据备份
课程出品人:许庆宇
Veritas
首席架构师
1 VERITAS全方位数据管理
Veritas推出了屡获殊荣、集洞察性、可用性和保护性于一体的组合式企业数据管理解决方案,使全球
成千上万的客户从中获益。您可以根据实际情况部署这些解决方案,从而满足数据管理的各种要求,同时还
能获得全球首屈一指的技术支持和客户服务,免除您的后顾之忧。
Veritas目前正在这个成熟可靠的基础平台上打造前沿的全方位数据管理,通过集成式解决方案进一步提
高简便性、一致性和运营效率。更为重要的是,这些解决方案全都采用了我们业内领先的Veritas NetBackup™
产品系列,因为并不仅仅着眼于适用于云、虚拟和物理环境的备份和恢复功能,而要进一步立足成为统一数
据保护的基础性平台。客户能凭借新的集成式解决方案,将其现有NetBackup用作全方位数据管理的基础:
2 OpenShift下NBU数据备份
为了保护部署在容器中的应用程序,Veritas现推出可作为容器部署的NetBackup Client。NetBackup
Client Container利用NetBackup策略来运行备份。根据所需的保护级别,NetBackup Client Container
通过以下方式保护容器化应用程序:
◎ 保护存储在永久卷上的应用程序数据
◎ 使用暂存区域保护应用程序数据
◎ 将应用程序部署在同一应用程序容器中,以执行应用程序一致性备份。
3 容器云中的NetBackup Client部署
容器环境时刻在变,而且会不定期添加或删除应用程序。例如,某个时刻在群集中某节点上运行的应用
程序在重新启动后可能在其他节点上运行。通常,编排程序会决定特定应用程序何时在哪个节点上运行。此
类环境中唯一不变的是存储和需要保护的关键应用数据。
3.1 获取NetBackup Client image
Veritas NetBackup为Docker认证的容器备份解决方案,可以通过如下方式获取NBU Client image。
3.2 部署方式一(Sidecar部署方式)
NetBackup Client Container可与应用程序共存并从应用程序运行所在的节点操作。为此,为每个应用
程序Pod部署一款NetBackup Client Container作为Sidecar。
在此方法中:
NetBackup Client Container作为应用程序Pod的一部分 的一起运行。这可确保应用程序和NetBack-
up Client Container的生命周期相同。
◎ 需要保护的PV卷必须同时可以被应用程序和NetBackup Client Container访问。
该解决方案可
◎ 简化备份管理员的管理操作。
◎ 优化网络备份性能。
◎ 有效利用NetBackup核心技术,例如Accelerator、Client Direct Backup等。
◎ 通过添加备份策略(policy)来分类不同应用程序数据。
◎ 一致的标准客户端数据恢复操作。
下图为Sidecar 的部署模式。
3.3 部署方式二(单一POD部署方式)
NetBackup Client Container 从可访问各卷的单个点保护永久存储。由此,仅需部署一个 NetBackup
Client Container 即可保护多个应用程序 Pod。
在以下情形中,可部署单一NetBackup Client Container保护多个应用程序Pod:
◎ 应用程序所有者不希望将NetBackup Client Container映像纳入到所有的Pod 中。
◎ 群集可用的外部 IP 接口的数量有限。
◎ 为了尽可能减少NetBackup在群集中的占用空间。
可在Kubernetes群集的每个节点部署一款NetBackup Client Container,或每个群集部署一款NetBack-
up Client Container,具体取决于:
永久卷的访问模式:“ReadWriteOnce”卷仅在一个节点上可用,而“ReadWriteMany”卷在群集的多
个节点上可用。
◎ 所需的客户端吞吐量。
在此方法中,在NetBackup Client Container中装入所有需要保护的卷(PV)。Pod启动后无法装入卷。
管理员必须提前了解需要保护的卷,且必须在创建Pod之前在NetBackup Client Container模板中定义这些卷。
所有受保护的应用程序被记录为相同的NetBackup客户端名称。因此,应该为每一个不同的应用程序创
建一项NetBackup策略(Backup Policy),并为该类应用程序指定特定的关键字,数据恢复时将可按该关键字
进行快速查找。
下图为单一POD部署模式
3.4 部署方式三(Dump & Sweep部署方式)
此外,还可通过装入转储卷在第二种部署模式中使用“Dump & Sweep”方式。
在“Dump & Sweep”方式中,需要保护的应用程序Pod不仅装入数据卷,还装入转储卷。应用程序所有
者将应用程序数据转储到转储卷。NetBackup使用NetBackup标准策略定期清除转储卷。
所有受保护的应用程序均记录相同的NetBackup客户端名称。因此,为每个应用程序创建一项
NetBackup 策略,并为该应用程序指定特定的关键字。
下图说明了为多个Pod 部署一款NetBackup Container时使用的“Dump & Sweep”方法。
4 部署实例
4.1 NetBackup环境
通常企业建设有独立的数据备份保护平台,备份平台里面包括:
1. 备份主服务器
2. 介质服务器(本案例中备份主服务器也充当介质服务器)
3. 备份客户端(在Pod中运行)
4.2 网络规划
本案例使用主机网络进行备份,NBU客户端部署文件中的时候使用的是HostNetwork设置为True,且对
外配置了1556和13724两个端口。
4.3 数据卷规划
NetBackup客户端和被保护的应用程序 Pod均挂载共享转储卷。该存储卷类型为HostPath ,该路径对应
到物理主机上的一个目录。
4.4 配置备份策略
NetBackup上需要配置Standard的备份策略,并配置对应的Schedule、Clients和BackupSelection等参数。
4.5 部署NBU客户端
在本案例中,客户端使用的NBU 8.1.2的标准image,该image需要用户提前下载准备。
部署yml文件中指定了部署节点为k8s,并在image脚本中通过命令行,指定 Masterserver为mast,客户
端名字为k8s。
为了重新部署方便,同时为NBU客户端创建一个nb-client-vol卷,类型为hostpath,对应到物理主机目
录,该目录下存放了所有的NBU客户端配置信息,通过重用该目录,可以避免在多次部署中需要重复从
MasterServer签发客户端安全通讯证书。
4.6 部署YML文件示例
4.7 部署客户端安全证书并检查
默认情况下客户端是需要通过证书才能与服务器端进行通讯。
当前支持两种模式:
1. 手工部署
2. 内置Secretkey,通过启动脚本自动部署
当前部署示例为手工部署。
登录到NBU客户端容器内,手工获取MASTER的CA证书。
手工获取客户端证书命令如下:
/usr/openv/netbackup/bin/nbcertcmd -getCertificate -host k8s -server mast -token YKLWCXG-
ZFNYTNGDX
注意:如果是再次获取需要ReissueToken,并添加-force参数
/usr/openv/netbackup/bin/nbcertcmd -getCertificate -host k8s -server mast -force -token YKL-
WCXGZFNYTNGDX
如果是再次部署,有nbu_client_volume卷的情况下,客户端证书已经存在,可以直接启动无需部署。
检查NBU客户端通讯情况,或在Master上检查。
通讯正常表示客户端和服务器端能够正常进行连接。
4.8 手工发起备份
/usr/openv/netbackup/bin/bpbackup -k “userbackupxxxx”/backupdata/*
-k 后面可以跟上关键字,便于查找和恢复
可以通过GUI界面观察到NBU备份情况
4.9 手工发起归档
/usr/openv/netbackup/bin/bparchive -k "userArchive /backupdata" /backupdata/*
4.10 手工恢复文件
/usr/openv/netbackup/bin/bprestore -A -s 06/01/2020 00:00:00 -e 07/01/2020 18:00:00 /back-
updata/*
4.11 GUI界面发起恢复
除命令行外,用户还可以通过多种方式发起备份,例如:命令行方式,RestfulAPI调用方式,Policy定
期发起方式。
5 参考
5.1 NetBackup Client Container 入口点
NetBackup Client Container 入口点为 entrypoint.sh。
命令
entrypoint.sh -c <client-name> [-i] [-M <master-server>] [-m <media-server- list>]
选项
-c <client-name>
必需参数。使用客户端 bp.conf 中配置的客户端名称。为此客户端名称生成证书。
-i
在交互式模式下运行容器。
-M <master-server>
第一次启动容器时需要,用于创建 bp.conf。在后续运行中为可选。
-m <media-server-list>
列举添加至客户端 bp.conf 介质服务器的空格分隔列表。必须为最后一个参数。
5.2 客户端部署证书
NetBackup遵循众多广泛的安全和加密标准,安全和加密可为NetBackup主服务器、介质服务器以及挂
接的客户端上的NetBackup操作的所有部分提供保护。此外还保护服务器和客户端使用的操作系统。通过加
密过程和保管来保护备份数据。通过网络发送的NetBackup数据受专用且安全的网络端口保护。详细请参考
《Veritas NetBackup™ 安全和加密指南》
客户端部署证书为安全和加密的一部分,证书可以快速在备份服务器和备份客户端间建立一个安全可靠
的数据保护通道。关于详细证书管理服务方式,请参考《Veritas NetBackup管理指南,第 I 卷》
两种证书的部署方式
1. 手动部署证书
2. 自动部署证书
使用密码部署证书,请遵循以下步骤进行操作。
1. 从 NetBackup 管理员处获取 NetBackup Client Container 主机名的 RSA 密钥和令牌。
2. 为rsa_key和令牌分别创建包含rsa_key和令牌的文件。
3. 创建密钥。运行下列命令:
kubectl create secret generic rsa-token-key --from- file=rsa_key=/rsa_key --from-file=token=/to-
ken
4. 通过YAML定义在NetBackup Client Container下的 /etc/nb-secret-vol中装载密钥。
下面是YAML的一个示例片段,假定密钥创建时的名称是rsa-ken-key
<snip: under NetBackup Client container> volumeMounts:
- mountPath: "/etc/nb-secret-vol"
name: client-secret-volume
</snip>
<snip: under volumes> volumes:
- name: client-secret-volume secret:
secretName: rsa-token-key
</snip>
注:删除Pod和永久卷之后,如果使用了NetBackup中已配置的相同客户端名称或IP,则使用重新发布
的令牌部署证书。
课程出品人
许庆宇,Veritas首席架构师。主要负责Veritas的云备份、云存储、云容灾等企业数据服务平台方案架
构设计和推广工作。专注于云计算、开源软件、容器技术以及OpenStack、OpenShift、DevOps解决方案和
与之对应的企业数据服务平台。超过15年的金融、企业、电信运营商等行业应用架构设计及优化评估经验,
当前专注于推动企业应用上云、云上容灾,云化备份等相关业务场景。精通各类国际与国内的企业数据管理
法规和规范,丰富的企业数据管理和企业数据治理的评估咨询服务经验。2020容器云职业技能大赛百位专
家委员会成员。
课程简介
近年来,随着越来越多的企业从传统经济向数字经济转型,云环境已经渐渐成为数据经济IT新常态。核
心业务系统上云,云上的业务创新,这些都产生了大量的业务数据,这些数据也成为了企业最重要的资产、
资源。
任何数据损失都可能对业务带来严重影响,比如勒索病毒,黑客攻击,人为误操作,运维失误,乃至机
房灾难的威胁随时可能带来数据损失。备份是数据保护的核心手段,更是等级保护,行业合规的硬性要求。
容器云同样面临这些挑战,IT一旦失去对企业数据的监控或管理,这严重后果可能会置企业于危险之地:
缺少监控:看不到就无法管理。缺少对容器云平台环境的清晰洞察,不了解容器云上存储的内容,您
就无法积极主动做出数据相关决策,例如,哪些数据该保留,哪些数据该删除或应该提供何种可用性或保护
服务。此时IT 就会像无头苍蝇一样盲目行动。
风险加剧:企业在管理数据方式上,很大程度上受到种种监管要求限制。企业必须能够证明,他们不
仅严格遵守当地和行业特定标准,而且严格遵从有关数据处理、隐私和数据拥有权等规定,并且,对于不合
规情况的经济处罚也越来越重。数据泄露的范围越来越广,企业不仅面临着巨大经济代价,而且可能遭受严
重的信誉损失。
成本浪费:很多IT 企业并未制定有效的数据策略,导致容器云永久地存储一切内容。这种行为不仅造
成效率低下,置企业于风险之地,而且需要不断购置存储,造成巨大的成本浪费。如果立即删除不需要的文
件,或将其移至云或各种品牌的商用驱动器等更便宜的存储环境,就能立即省出一大笔费用,但IT 一直不愿
意这样做,害怕这样会降低服务级别或丢失珍贵的文件。
这时就急需出台一个全新容器云解决方案,满足企业两全其美的要求。企业的需求是既要控制数据,将
其转换为战略优势,同时又要控制增长、风险和成本。
1 VERITAS全方位数据管理
Veritas推出了屡获殊荣、集洞察性、可用性和保护性于一体的组合式企业数据管理解决方案,使全球
成千上万的客户从中获益。您可以根据实际情况部署这些解决方案,从而满足数据管理的各种要求,同时还
能获得全球首屈一指的技术支持和客户服务,免除您的后顾之忧。
Veritas目前正在这个成熟可靠的基础平台上打造前沿的全方位数据管理,通过集成式解决方案进一步提
高简便性、一致性和运营效率。更为重要的是,这些解决方案全都采用了我们业内领先的Veritas NetBackup™
产品系列,因为并不仅仅着眼于适用于云、虚拟和物理环境的备份和恢复功能,而要进一步立足成为统一数
据保护的基础性平台。客户能凭借新的集成式解决方案,将其现有NetBackup用作全方位数据管理的基础:
2 OpenShift下NBU数据备份
为了保护部署在容器中的应用程序,Veritas现推出可作为容器部署的NetBackup Client。NetBackup
Client Container利用NetBackup策略来运行备份。根据所需的保护级别,NetBackup Client Container
通过以下方式保护容器化应用程序:
◎ 保护存储在永久卷上的应用程序数据
◎ 使用暂存区域保护应用程序数据
◎ 将应用程序部署在同一应用程序容器中,以执行应用程序一致性备份。
3 容器云中的NetBackup Client部署
容器环境时刻在变,而且会不定期添加或删除应用程序。例如,某个时刻在群集中某节点上运行的应用
程序在重新启动后可能在其他节点上运行。通常,编排程序会决定特定应用程序何时在哪个节点上运行。此
类环境中唯一不变的是存储和需要保护的关键应用数据。
3.1 获取NetBackup Client image
Veritas NetBackup为Docker认证的容器备份解决方案,可以通过如下方式获取NBU Client image。
3.2 部署方式一(Sidecar部署方式)
NetBackup Client Container可与应用程序共存并从应用程序运行所在的节点操作。为此,为每个应用
程序Pod部署一款NetBackup Client Container作为Sidecar。
在此方法中:
NetBackup Client Container作为应用程序Pod的一部分 的一起运行。这可确保应用程序和NetBack-
up Client Container的生命周期相同。
◎ 需要保护的PV卷必须同时可以被应用程序和NetBackup Client Container访问。
该解决方案可
◎ 简化备份管理员的管理操作。
◎ 优化网络备份性能。
◎ 有效利用NetBackup核心技术,例如Accelerator、Client Direct Backup等。
◎ 通过添加备份策略(policy)来分类不同应用程序数据。
◎ 一致的标准客户端数据恢复操作。
下图为Sidecar 的部署模式。
3.3 部署方式二(单一POD部署方式)
NetBackup Client Container 从可访问各卷的单个点保护永久存储。由此,仅需部署一个 NetBackup
Client Container 即可保护多个应用程序 Pod。
在以下情形中,可部署单一NetBackup Client Container保护多个应用程序Pod:
◎ 应用程序所有者不希望将NetBackup Client Container映像纳入到所有的Pod 中。
◎ 群集可用的外部 IP 接口的数量有限。
◎ 为了尽可能减少NetBackup在群集中的占用空间。
可在Kubernetes群集的每个节点部署一款NetBackup Client Container,或每个群集部署一款NetBack-
up Client Container,具体取决于:
永久卷的访问模式:“ReadWriteOnce”卷仅在一个节点上可用,而“ReadWriteMany”卷在群集的多
个节点上可用。
◎ 所需的客户端吞吐量。
在此方法中,在NetBackup Client Container中装入所有需要保护的卷(PV)。Pod启动后无法装入卷。
管理员必须提前了解需要保护的卷,且必须在创建Pod之前在NetBackup Client Container模板中定义这些卷。
所有受保护的应用程序被记录为相同的NetBackup客户端名称。因此,应该为每一个不同的应用程序创
建一项NetBackup策略(Backup Policy),并为该类应用程序指定特定的关键字,数据恢复时将可按该关键字
进行快速查找。
下图为单一POD部署模式
3.4 部署方式三(Dump & Sweep部署方式)
此外,还可通过装入转储卷在第二种部署模式中使用“Dump & Sweep”方式。
在“Dump & Sweep”方式中,需要保护的应用程序Pod不仅装入数据卷,还装入转储卷。应用程序所有
者将应用程序数据转储到转储卷。NetBackup使用NetBackup标准策略定期清除转储卷。
所有受保护的应用程序均记录相同的NetBackup客户端名称。因此,为每个应用程序创建一项
NetBackup 策略,并为该应用程序指定特定的关键字。
下图说明了为多个Pod 部署一款NetBackup Container时使用的“Dump & Sweep”方法。
4 部署实例
4.1 NetBackup环境
通常企业建设有独立的数据备份保护平台,备份平台里面包括:
1. 备份主服务器
2. 介质服务器(本案例中备份主服务器也充当介质服务器)
3. 备份客户端(在Pod中运行)
4.2 网络规划
本案例使用主机网络进行备份,NBU客户端部署文件中的时候使用的是HostNetwork设置为True,且对
外配置了1556和13724两个端口。
4.3 数据卷规划
NetBackup客户端和被保护的应用程序 Pod均挂载共享转储卷。该存储卷类型为HostPath ,该路径对应
到物理主机上的一个目录。
4.4 配置备份策略
NetBackup上需要配置Standard的备份策略,并配置对应的Schedule、Clients和BackupSelection等参数。
4.5 部署NBU客户端
在本案例中,客户端使用的NBU 8.1.2的标准image,该image需要用户提前下载准备。
部署yml文件中指定了部署节点为k8s,并在image脚本中通过命令行,指定 Masterserver为mast,客户
端名字为k8s。
为了重新部署方便,同时为NBU客户端创建一个nb-client-vol卷,类型为hostpath,对应到物理主机目
录,该目录下存放了所有的NBU客户端配置信息,通过重用该目录,可以避免在多次部署中需要重复从
MasterServer签发客户端安全通讯证书。
4.6 部署YML文件示例
4.7 部署客户端安全证书并检查
默认情况下客户端是需要通过证书才能与服务器端进行通讯。
当前支持两种模式:
1. 手工部署
2. 内置Secretkey,通过启动脚本自动部署
当前部署示例为手工部署。
登录到NBU客户端容器内,手工获取MASTER的CA证书。
手工获取客户端证书命令如下:
/usr/openv/netbackup/bin/nbcertcmd -getCertificate -host k8s -server mast -token YKLWCXG-
ZFNYTNGDX
注意:如果是再次获取需要ReissueToken,并添加-force参数
/usr/openv/netbackup/bin/nbcertcmd -getCertificate -host k8s -server mast -force -token YKL-
WCXGZFNYTNGDX
如果是再次部署,有nbu_client_volume卷的情况下,客户端证书已经存在,可以直接启动无需部署。
检查NBU客户端通讯情况,或在Master上检查。
通讯正常表示客户端和服务器端能够正常进行连接。
4.8 手工发起备份
/usr/openv/netbackup/bin/bpbackup -k “userbackupxxxx”/backupdata/*
-k 后面可以跟上关键字,便于查找和恢复
可以通过GUI界面观察到NBU备份情况
4.9 手工发起归档
/usr/openv/netbackup/bin/bparchive -k "userArchive /backupdata" /backupdata/*
4.10 手工恢复文件
/usr/openv/netbackup/bin/bprestore -A -s 06/01/2020 00:00:00 -e 07/01/2020 18:00:00 /back-
updata/*
4.11 GUI界面发起恢复
除命令行外,用户还可以通过多种方式发起备份,例如:命令行方式,RestfulAPI调用方式,Policy定
期发起方式。
5 参考
5.1 NetBackup Client Container 入口点
NetBackup Client Container 入口点为 entrypoint.sh。
命令
entrypoint.sh -c <client-name> [-i] [-M <master-server>] [-m <media-server- list>]
选项
-c <client-name>
必需参数。使用客户端 bp.conf 中配置的客户端名称。为此客户端名称生成证书。
-i
在交互式模式下运行容器。
-M <master-server>
第一次启动容器时需要,用于创建 bp.conf。在后续运行中为可选。
-m <media-server-list>
列举添加至客户端 bp.conf 介质服务器的空格分隔列表。必须为最后一个参数。
5.2 客户端部署证书
NetBackup遵循众多广泛的安全和加密标准,安全和加密可为NetBackup主服务器、介质服务器以及挂
接的客户端上的NetBackup操作的所有部分提供保护。此外还保护服务器和客户端使用的操作系统。通过加
密过程和保管来保护备份数据。通过网络发送的NetBackup数据受专用且安全的网络端口保护。详细请参考
《Veritas NetBackup™ 安全和加密指南》
客户端部署证书为安全和加密的一部分,证书可以快速在备份服务器和备份客户端间建立一个安全可靠
的数据保护通道。关于详细证书管理服务方式,请参考《Veritas NetBackup管理指南,第 I 卷》
两种证书的部署方式
1. 手动部署证书
2. 自动部署证书
使用密码部署证书,请遵循以下步骤进行操作。
1. 从 NetBackup 管理员处获取 NetBackup Client Container 主机名的 RSA 密钥和令牌。
2. 为rsa_key和令牌分别创建包含rsa_key和令牌的文件。
3. 创建密钥。运行下列命令:
kubectl create secret generic rsa-token-key --from- file=rsa_key=/rsa_key --from-file=token=/to-
ken
4. 通过YAML定义在NetBackup Client Container下的 /etc/nb-secret-vol中装载密钥。
下面是YAML的一个示例片段,假定密钥创建时的名称是rsa-ken-key
<snip: under NetBackup Client container> volumeMounts:
- mountPath: "/etc/nb-secret-vol"
name: client-secret-volume
</snip>
<snip: under volumes> volumes:
- name: client-secret-volume secret:
secretName: rsa-token-key
</snip>
注:删除Pod和永久卷之后,如果使用了NetBackup中已配置的相同客户端名称或IP,则使用重新发布
的令牌部署证书。
架构师岗岗位学习教程
of 17
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜