使用 BMC AMI 云数据将大型机数据备份并存档到 Amazon S3 - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 BMC AMI 云数据将大型机数据备份并存档到 Amazon S3

由 Santosh Kumar Singh (AWS)、Mikhael Liberman(Model9 大型机软件)、Gilberto Biondo (AWS) 和 Maggie Li (AWS) 创建

环境:PoC 或试点

源:大型机

目标:Amazon S3

R 类型:不适用

技术:大型机;存储和备份;现代化

Amazon Web Services: Amazon EC2;Amazon EFS;Amazon S3;AWS Direct Connect

Summary

此模式演示了如何将大型机数据直接备份和存档到亚马逊简单存储服务 (Amazon S3) Service,然后使用 BMC AMI 云数据(以前称为 Model9 Manager)将这些数据调回并恢复到大型机。如果您正在寻找一种方法来实现备份和存档解决方案的现代化,以此作为大型机现代化项目的一部分,或者为了满足合规性要求,那么这种模式可以帮助实现这些目标。

通常,在大型机上运行核心业务应用程序的组织使用虚拟磁带库 (VTL) 来备份文件和日志等数据存储。这种方法可能很昂贵,因为它消耗了可计费的 MIPS,而且存储在大型机之外的磁带上的数据无法访问。为避免这些问题,您可以使用 BMC AMI Cloud Data 快速且经济高效地将大型机的运营和历史数据直接传输到 Amazon S3。您可以使用 BMC AMI Cloud Data 通过 TCP/IP 备份和存档数据, AWS 同时利用 IBM z 集成信息处理器 (ZiIP) 引擎来降低成本、并行性和传输时间。

先决条件和限制

先决条件

  • 一个有效的 Amazon Web Services account

  • 带有有效许可证密钥的 BMC AMI 云数据

  • 大型机和 AWS 之间的 TCP/IP 连接

  • 用于对 S3 存储桶进行读/写访问的 AWS Identity and Access Management (IAM) 角色

  • 提供大型机安全产品 (RACF) 访问权限以运行 BMC AMI Cloud 流程

  • 具有可用网络端口、允许访问 S3 存储桶的防火墙规则和专用 z/FS 文件系统的 BMC AMI Cloud z/OS 代理(Java 版本 8 64 位 SR5 FP16 或更高版本)

  • 已满足 BMC AMI 云管理服务器的@@ 要求

限制

  • BMC AMI Cloud Data 将其操作数据存储在 PostgreSQL 数据库中,该数据库作为 Docker 容器在与管理服务器相同的亚马逊弹性计算云 (Amazon EC2) 实例上运行。目前不支持将亚马逊关系数据库服务(Amazon RDS)作为 BMC AMI 云数据的后端。有关最新产品更新的更多信息,请参阅新增内容? 在 BMC 文档中。

  • 这种模式仅备份和存档 z/OS 大型机数据。BMC AMI 云数据仅备份和存档大型机文件。

  • 此模式不会将数据转换为标准的开放格式,例如 JSON 或 CSV。使用其他转换服务,例如 BMC AMI Cloud Analytics(以前称为 Model9 Gravity),将数据转换为标准的开放格式。云原生应用程序和数据分析工具可以在数据写入云端后对其进行访问。

产品版本

  • BMC AMI 云数据版本 2.x

架构

源技术堆栈

  • 运行 z/OS 的大型机

  • 大型机文件,例如数据集和 z/OS UNIX 系统服务 (USS) 文件

  • 大型机磁盘,例如直接访问存储设备 (DASD)

  • 大型机磁带(虚拟或物理磁带库)

目标技术堆栈

  • Amazon S3

  • 虚拟私有云(VPC)中的 Amazon EC2 实例

  • AWS Direct Connect

  • Amazon Elastic File System (Amazon EFS)

目标架构

下图显示了一个参考架构,在该架构中,大型机上的 BMC AMI Cloud Data 软件代理驱动将数据存储在 Amazon S3 中的传统数据备份和存档流程。

大型机上的 BMC AMI Cloud Data 软件代理推动传统的数据备份和存档流程

图表显示了以下工作流:

  1. BMC AMI 云数据软件代理在大型机逻辑分区 (LPAR) 上运行。软件代理通过 TCP/IP 将大型机数据从 DASD 或磁带直接读写到 Amazon S3。

  2. AWS Direct Connect 在本地网络和之间建立物理隔离连接 AWS。为了增强安全性,请在上面运行 site-to-site VPN AWS Direct Connect 来加密传输中的数据。

  3. S3 存储桶将大型机文件存储为对象存储数据,而 BMC AMI Cloud Data 代理直接与 S3 存储桶通信。证书用于对代理与 Amazon S3 之间的所有通信进行 HTTPS 加密。Amazon S3 数据加密功能用于加密和保护静态数据。

  4. BMC AMI 云数据管理服务器作为 EC2 实例上的 Docker 容器运行。这些实例与在大型机 LPAR 和 S3 存储桶上运行的代理通信。

  5. Amazon EFS 安装在主动和被动 EC2 实例,用于共享 Network File System (NFS) 存储。这是为了确保与在管理服务器上创建的策略相关的元数据不会在故障转移时丢失。如果主动服务器进行故障转移,则可以访问被动服务器而不会丢失任何数据。如果被动服务器出现故障,则可以在不丢失任何数据的情况下访问主动服务器。

工具

Amazon Web Services

BMC 工具

  • BMC AMI 云管理服务器是一个 GUI 应用程序,作为 Docker 容器在亚马逊 EC2 的亚马逊 Linux 亚马逊系统映像 (AMI) 上运行。管理服务器提供管理 BMC AMI Cloud 活动的功能,例如报告、创建和管理策略、运行存档以及执行备份、召回和恢复。

  • BMC AMI Cloud 代理在本地大型机 LPAR 上运行,该主机使用 TCP/IP 将文件直接读取和写入到对象存储。已启动的任务在大型机 LPAR 上运行,负责在 Amazon S3 中读取和写入备份和存档数据。

  • BMC AMI Cloud 大型机命令行界面 (M9CLI) 为您提供了一组命令,可直接从 TSO/E 或批量操作中执行 BMC AMI Cloud 操作,无需依赖管理服务器。

操作说明

任务描述所需技能

创建 S3 存储桶。

创建 S3 存储桶,以存储大型机环境中待备份和待存档的文件和卷。

常规 AWS

创建一个 IAM 策略。

所有 BMC AMI Cloud 管理服务器和代理都需要访问您在上一步中创建的 S3 存储桶。

若要授予所需访问权限,请创建以下 IAM policy:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Listfolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:ListBucketVersions" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::<Bucket Name>" ] }, { "Sid": "Objectaccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObjectAcl", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:PutObjectAcl", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::<Bucket Name>/*" ] } ] }
常规 AWS
任务描述所需技能

获取 BMC AMI Cloud 软件许可证。

要获取软件许可密钥,请联系 BMC AMI Cloud 团队。z/OS D M=CPU 命令的输出是生成许可证的必要条件。

构建 lead

下载 BMC AMI Cloud 软件和许可密钥。

按照 BMC 文档中的说明获取安装文件和许可证密钥。

大型机基础架构管理员
任务描述所需技能

安装 BMC AMI Cloud 软件代理。

  1. 在开始安装过程之前,请验证是否已满足代理的最低软件和硬件要求

  2. 要安装代理,请按照 BMC 文档中的说明进行操作。

  3. 代理开始在大型机 LPAR 上运行后,检查后台中的 ZM91000I MODEL9 BACKUP AGENT INITIALIZED 消息。通过在代理的 STDOUT 中查找Object store connectivity has been established successfully消息,验证代理与 S3 存储桶之间是否成功建立了连接。

大型机基础架构管理员
任务描述所需技能

创建 Amazon EC2 Linux 2 实例。

按照亚马逊 EC2 文档中步骤 1:启动实例中的说明,在不同的可用区启动两个 Amazon EC2 Linux 2 实例。

该实例必须满足以下推荐的硬件和软件要求:

  • CPU – 至少 4 核

  • RAM – 最低 8GB

  • 驱动器 – 40 GB

  • 推荐的 EC2 实例 – C5.xlarge

  • 操作系统 – Linux

  • 软件 – Docker、unzip、vi/vim

  • 网络带宽-至少 1 GB

有关更多信息,请参阅 BMC 文档

云架构师、云管理员

创建 Amazon EFS 文件系统。

按照 Amazon EFS 文档中的步骤 1:创建 Amazon EFS 文件系统中的说明创建 Amazon EFS 文件系统。

创建文件系统时,请执行以下操作:

  • 选择标准存储类。

  • 选择用于 EC2 实例的同一 VPC。

云管理员、云架构师

安装 Docker 并配置管理服务器。

连接到您的 EC2 实例:

按照 Amazon EC2 文档中连接至您的 Linux 实例中的说明连接至您的 EC2 实例。

配置您的 EC2 实例:

对于每个 EC2 实例,请执行以下操作:

  1. 要安装 Docker,请运行以下命令:

    sudo yum install docker
  2. 要启动 Docker,请运行以下命令:

    sudo service docker start
  3. 要验证 Docker 的状态,请运行以下命令:

    sudo service docker status
  4. /etc/selinux 文件夹在,将 config 文件更改为 SELINUX=permissive

  5. model9-v2.x.y_build_build-id-server.zipVerificationScripts.zip文件(您之前下载的)上传到其中一个 EC2 实例中的临时文件夹(例如,上传到您的实例中的/var/tmp文件夹)。

  6. 要转到该tmp文件夹,请运行以下命令:

    cd/var/tmp
  7. 要解压缩验证脚本,请运行以下命令:

    unzip VerificationScripts.zip
  8. 要更改目录,请运行以下命令:

    cd /var/tmp/sysutils/PrereqsScripts
  9. 要运行验证脚本,请运行以下命令:

    ./M9VerifyPrereqs.sh
  10. 验证脚本提示输入后,输入 Amazon S3 网址和端口号。然后,输入 z/OS IP/DNS 与端口号。

    注意:该脚本运行检查以确认 EC2 实例可以连接到大型机上运行的 S3 存储桶和代理。如果连接已建立,则会显示一条成功消息。

云架构师、云管理员

安装管理服务器软件。

  1. 在您计划使其成为活动服务器的 EC2 实例的根目录(例如 /data/model9)中创建文件夹和子文件夹。

  2. 要安装amazon-efs-utils软件包并挂载之前创建的 Amazon EFS 文件系统,请运行以下命令:

    sudo yum install -y amazon-efs-utils sudo mount -t efs -o tls <File System ID>:/ /data/model9
  3. 要使用 Amazon EFS /etc/fstab 文件系统的条目更新 EC2 实例的文件(以便在 Amazon EC2 重启时自动重新挂载 Amazon EFS),请运行以下命令:

    <Amazon-EFS-file-system-id>:/ /data/model9 efs defaults,_netdev 0 0
  4. 要定义 BMC AMI Cloud 安装文件的路径和目标安装位置,请运行以下命令导出变量:

    export MODEL9_HOME=/data/model9 export M9INSTALL=/var/tmp

    请注意:我们建议您将此类 EXPORT 命令添加至 .bashrc 脚本。

  5. 若要更改目录,请运行 cd $MODEL9_HOME 命令,然后通过运行 mkdir diag 命令创建另一个子目录。

  6. 要解压缩安装文件,请运行以下命令:

    unzip $M9INSTALL/model9-<v2.x.y>_build_<build-id>-server.zip

    请注意:用您的值替换 x.y(版本)和 build-id

  7. 若要部署应用程序,请运行以下命令:

    docker load -i $MODEL9_HOME/model9-<v2.x.y>_build_<build-id>.docker docker load -i $MODEL9_HOME/postgres-12.10-x86.docker.gz

    请注意:用您的值替换 v2.x.y(版本)和 build-id

  8. $MODEL9_HOME/conf文件夹中,更新 model9-local.yml 文件。

    请注意:某些参数存在默认值,则其他参数可根据需要更新。有关更多信息,请参阅 model9-local.yml 文件中的说明。

  9. 创建一个名为的文件 $MODEL9_HOME/conf,然后在该文件中添加以下参数:

    TZ=America/New_York EXTRA_JVM_ARGS=-Xmx2048m
  10. 要创建 Docker 网桥,请运行以下命令:

    docker network create -d bridge model9network
  11. 要启动适用于 BMC AMI Cloud 的 PostgreSQL 数据库容器,请运行以下命令:

    docker run -p 127.0.0.1:5432:5432 \ -v $MODEL9_HOME/db/data:/var/lib/postgresql/data:z \ --name model9db --restart unless-stopped \ --network model9network \ -e POSTGRES_PASSWORD=model9 -e POSTGRES_DB=model9 -d postgres:12.10
  12. PostgreSQL 容器开始运行后,运行以下命令,以启动应用程序服务器:

    docker run -d -p 0.0.0.0:443:443 -p 0.0.0.0:80:80 \ --sysctl net.ipv4.tcp_keepalive_time=600 \ --sysctl net.ipv4.tcp_keepalive_intvl=30 \ --sysctl net.ipv4.tcp_keepalive_probes=10 \ -v $MODEL9_HOME:/model9:z -h $(hostname) --restart unless-stopped \ --env-file $MODEL9_HOME/conf/model9.env \ --network model9network \ --name model9-v2.x.y model9:<v2.x.y>.<build-id>

    请注意:用您的值替换 v2.x.y(版本)和 build-id

  13. 要检查两个容器的运行状况,请运行以下命令:

    docker ps -a
  14. 要在被动 EC2 实例上安装管理服务器,请重复步骤 1—4、7 和 10—13。

请注意:要排查问题,请前往存储在 /data/model9/logs/ 文件夹中的日志。有关更多信息,请参阅 BMC 文档

云架构师、云管理员
任务描述所需技能

添加新代理。

在添加新代理之前,请确认以下事项:

  • BMC AMI Cloud 代理正在大型机 LPAR 上运行,并且已完全初始化。通过在缓冲池中查找ZM91000I MODEL9 BACKUP AGENT INITIALIZED初始化消息来识别代理。

  • 管理服务器的 Docker 容器已完全初始化并正在运行。

在定义任何备份和存档策略之前,必须在管理服务器上创建代理。若要创建代理,请执行以下操作:

  1. 使用 Web 浏览器访问部署在 Amazon EC2 计算机上的管理服务器,然后使用您的大型机凭证登录。

  2. 选择代理选项卡,然后选择添加新代理

  3. 对于名称,请输入代理名称。

  4. 在 “主机名/IP 地址” 中,输入您的大型机的主机名或 IP 地址。

  5. 对于端口,请输入端口号。

  6. 选择测试链接。如果连接成功建立,则会看到一条成功消息。

  7. 选择 CREATE(创建)。

创建代理后,您将在表格中出现的新窗口中看到对象存储和大型机代理的连接状态。

大型机存储管理员或开发人员

创建备份或存档策略。

  1. 选择策略

  2. 选择创建策略

  3. 创建新策略页面上,输入您的策略规范。

    注意:有关可用规范的更多信息,请参阅 BMC 文档中的创建新策略

  4. 选择 Finish (结束)

  5. 现在以表格形式列出新策略。若要查看此表,请选择策略选项卡。

大型机存储管理员或开发人员
任务描述所需技能

运行备份或存档策略。

手动或自动(根据计划)运行您之前在管理服务器上创建的数据备份或存档策略。要手动运行策略,请执行以下操作:

  1. 从导航菜单中,选择策略

  2. 在要运行的策略的表格右侧,选择三点菜单。

  3. 选择立即运行

  4. 在弹出的确认窗口中,选择是,立即运行策略

  5. 策略运行后,在“策略活动”部分验证运行状态。

  6. 对于已运行的策略,选择三点菜单,然后选择查看运行日志以查看日志。

  7. 要验证备份是否已创建,请检查 S3 存储桶。

大型机存储管理员或开发人员

恢复备份或存档策略。

  1. 在导航菜单上,选择策略选项卡。

  2. 选择用于运行还原过程的策略。这将列出过去针对该特定策略运行的所有备份或存档活动。

  3. 若要选择待还原备份,请选择 Date-time 列。file/Volume/Storage 组名显示了策略的运行详细信息。

  4. 在表格右侧,选择三点菜单,然后选择 “恢复”。

  5. 在弹出窗口中,输入目标名称、卷和存储组,然后选择还原

  6. 输入大型机凭证,然后再次选择恢复

  7. 要验证恢复是否成功,请检查日志或大型机。

大型机存储管理员或开发人员
任务描述所需技能

使用 M9CLI 运行备份或存档策略。

使用 M9CLI 从 TSO/E、REXX 或 JCL 执行备份和还原过程,无需在 BMC AMI Cloud 管理服务器上设置规则。

使用 TSO/E:

如果您使用 TSO/E,请确保将其连接M9CLI REXX到。TSO要通过 TSO/E 备份数据集,请使用命令。TSO M9CLI BACKDSN <DSNAME>

注意:有关 M9CLI 命令的更多信息,请参阅 BMC 文档中的 CLI 参考

使用 JCL:

若要使用 JCL 运行备份与存档策略,请运行 M9CLI 命令。

使用批量操作:

以下示例说明如何通过批量运行M9CLI命令来存档数据集:

//JOBNAME JOB … //M9CLI EXEC PGM=IKJEFT01 //STEPLIB DD DISP=SHR,DSN=<MODEL9 LOADLIB> //SYSEXEC DD DISP=SHR,DSN=<MODEL9 EXEC LIB> //SYSTSPRT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSTSIN DD TSO M9CLI ARCHIVE M9CLI ARCHIVE <DSNNAME OR DSN PATTERN> /
大型机存储管理员或开发人员

在 JCL 批处理中运行备份或存档策略。

BMC AMI Cloud 提供了一个名为 M9SAPIJ 的 JCL 例程示例。 您可以自定义 M9SAPIJ,使其运行使用 JCL 在管理服务器上创建的特定策略。此任务亦可作为批处理计划程序的一部分,用于自动运行备份和还原过程。

批处理任务需要提供以下必需值:

  • 管理服务器 IP 地址/主机名

  • 端口号

  • 策略 ID 或策略名称(在管理服务器上创建)

注意:您也可以按照示例作业中的说明更改其他值。

大型机存储管理员或开发人员

相关资源