ITPub博客

首页 > IT基础架构 > 服务器/存储 > 在Amazon EVS上使用FSx for ONTAP逐步部署Oracle数据库 | Amazon Web Services

在Amazon EVS上使用FSx for ONTAP逐步部署Oracle数据库 | Amazon Web Services

服务器/存储 作者:ITPUB社群 时间:1970-01-01 08:33:46 0 删除 编辑

本文提供在 Amazon Elastic VMware Service(Amazon EVS)上部署 Oracle Database 的分步操作流程,并使用 Amazon FSx for NetApp ONTAP 作为 NFS 数据存储。您将配置存储卷、挂载 NFS 数据存储、安装 Oracle,并配置 SnapMirror 复制以实现跨区域灾难恢复。

在 VMware 上运行 Oracle 数据库的企业希望迁移到 AWS,同时保留其现有运维工作流,无需重新架构和重新培训。在相关文章《在 Amazon EVS 和 FSx for ONTAP 上架构高可用 Oracle Database》中,我们介绍了如何设计该环境:选择 Amazon Elastic Compute Cloud(Amazon EC2)裸金属实例、规划 VM 规格、在 vSAN 和 FSx for NetApp ONTAP 之间分配存储,以及规划用于跨区域灾难恢复的 SnapMirror 复制。

本文从架构设计之后继续展开。我们提供部署整个技术栈的分步操作流程——从配置第一台 Oracle VM 和创建 FSx for ONTAP 卷,到挂载 NFS 数据存储、安装 Oracle 19c,以及配置 SnapMirror 和 SnapCenter。我们还介绍了将现有本地 Oracle 工作负载迁移到 EVS 的四条迁移路径,以及包括快照备份、时间点恢复和数据库克隆在内的日常运维操作。

有关架构决策、实例类型选择、存储设计依据和高可用规划,请参阅我们的相关文章:《在 Amazon EVS 和 FSx for ONTAP 上架构高可用 Oracle Database》。

分步部署流程

本节将介绍端到端部署工作流:配置 Oracle VM、创建 FSx for ONTAP 存储卷、在 vSphere 中挂载 NFS 数据存储、安装 Oracle 19c,以及配置 SnapMirror 以实现跨区域灾难恢复。请先完成先决条件,然后按顺序执行步骤 1 到步骤 8。

先决条件

  • 已部署 Amazon EVS 环境(VCF 9.1、ESXi 9.1。使用 VCF 9.x 时,Amazon EVS 负责配置裸金属基础设施和 VLAN,您使用 Broadcom 的 VCF Installer 部署 VCF)。

  • 每个集群至少 4 台主机。建议为 Oracle 使用专用数据库集群。

  • 已配置包含 Route Server 端点、AWS Transit Gateway 和 AWS Direct Connect 的虚拟私有云(VPC)。

  • 具有用于 FSx for ONTAP 配置的 AWS Identity and Access Management(IAM)权限。

  • VCF 许可证授权(来自 Broadcom 的 BYOL)。

步骤 1:在 EVS 上部署 Oracle VM

  • 登录连接到 EVS vCenter 的 vSphere Client。

  • 在 Production DB Cluster 中创建新的虚拟机:Guest OS:Red Hat Enterprise Linux 8(64 位)或 Oracle Linux 8。vCPU:根据 Oracle 工作负载确定规格(通常为 8–32 vCPU)内存:根据 SGA/PGA 需求配置 32–256 GiB。磁盘:在 vSAN 数据存储上配置 100 GiB(操作系统 + Oracle Home + swap + 临时表空间)网络:连接到 prod-trusted Tier-1 网关上的 DB 网段。

  • 启动 VM 并配置 Guest OS:

# Set hostname
hostnamectl set-hostname ora-db1

# Create swap on vSAN-backed disk (local NVMe, single-digit ms latency)
# The vSAN datastore is already available as the VM's primary disk
# Allocate a dedicated partition or LV for swap
lvcreate -L 16G -n swap vgos
mkswap /dev/vgos/swap
swapon /dev/vgos/swap
echo "/dev/vgos/swap swap swap defaults 0 0" >> /etc/fstab

# Install Oracle prerequisites
sudo yum install -y oracle-database-preinstall-19c python3

对于 HA/DR,请考虑复制整个 Oracle VM,而不是在 DR 集群中维护单独的已授权实例(请参阅架构文章中的 DR Licensing Consideration)。

Oracle 许可注意事项:实例类型选择会影响 Oracle 许可成本,这是需要考虑的重要因素。我们建议申请 AWS Optimization and Licensing Assessment (AWS OLA) 以获取进一步指导。

步骤 2:预置 FSx for NetApp ONTAP

  • 打开 Amazon FSx 控制台,选择 Create file system,然后选择 Amazon FSx for NetApp ONTAP。

  • 选择 Standard create 并进行配置:

| 设置 | 值 |
| --- | --- |
| 部署类型 | Single-AZ(EVS 必需) |
| SSD 存储容量 | 按 Oracle 数据 + 日志 + 20% 余量规划 |
| 吞吐量容量 | 512–2,048 MB/s(按写入工作负载规划。参见非对称性说明) |
| IOPS | 自动(3/GiB)或用户预置(最高 80,000) |
| VPC | 与 EVS 环境相同的 VPC |
| 子网 | EVS 服务访问子网,与数据库集群位于同一 AZ |
| 安全组 | 允许来自 EVS 管理 VLAN 的 NFS(TCP 2049、111、635) |
  • 设置 fsxadmin 密码(ONTAP CLI 自动化所需)。

  • 创建 SVM(Storage Virtual Machine),并设置 vsadmin 密码。

  • 禁用自动每日备份。改用 SnapCenter 进行 Oracle 感知的调度。

  • 创建后,选择 SVM,选择 Endpoints,然后复制 NFS DNS 名称。

步骤 3:创建 Oracle 数据库卷

使用 SSH(ssh fsxadmin@management-endpoint)连接到 FSx for ONTAP 集群并创建卷:

# Oracle binary volume
vol create -volume oradb1bin -aggregate aggr1 -size 50G \
  -state online -policy default -tiering-policy none \
  -junction-path /oradb1bin

# Oracle data volume
vol create -volume oradb1data -aggregate aggr1 -size 500G \
  -state online -policy default -tiering-policy none \
  -junction-path /oradb1data

# Oracle log volume (redo + archive)
vol create -volume oradb1log -aggregate aggr1 -size 250G \
  -state online -policy default -tiering-policy none \
  -junction-path /oradb1log

设置 -tiering-policy none 以将所有数据固定到 SSD 层。按 24 小时的归档日志量规划日志卷大小。

步骤 4:在 vSphere 中将 FSx for ONTAP 挂载为 NFS 数据存储

  • 在 vSphere Client 中,选择 DB Cluster,然后选择 Configure > Storage > New Datastore。

  • 选择 NFS,然后选择 NFS 3。

  • 输入:Server: svm-id.fs-id.fsx.region.amazonaws.com Folder: /oradb1data Datastore name: fsx-ora-db1-data

  • 对 binary(/oradb1bin)和 log(/oradb1log)卷重复上述操作。

  • 验证所有三个数据存储都在集群存储视图中显示正确的容量。

步骤 5:在 FSx for ONTAP 数据存储上创建 Oracle VMDK

在 ESXi 主机级别挂载 NFS 数据存储后(步骤 4),在这些数据存储上为 Oracle 创建虚拟磁盘:

  • 在 vSphere Client 中,选择 Oracle VM,选择 Edit Settings,然后选择 Add New Device > Hard Disk。

  • 创建以下 VMDK:

| VMDK | 数据存储 | 大小 | 客户机挂载点 | 用途 |
| --- | --- | --- | --- | --- |
| Hard Disk 2 | fsx-ora-db1-data | 500 GiB | /u02 | Oracle 数据文件 |
| Hard Disk 3 | fsx-ora-db1-log | 250 GiB | /u03 | Oracle redo + 归档日志 |
| Hard Disk 4 | fsx-ora-db1-bin | 50 GiB | /u01 | Oracle Home 二进制文件 |
  • 为数据和日志 VMDK 选择 Thick Provision, Eager Zeroed(最佳 Oracle 性能)。

Oracle Database 可以创建在 Oracle ASM 或文件系统(本地/NFS)上。本安装基于在本地 XFS 文件系统上创建 Oracle 数据库。

在 Oracle VM 客户机操作系统内,对新磁盘进行分区并挂载:

# Identify new disks
lsblk

# Create filesystem on each disk (example: /dev/sdb for data)
mkfs.xfs /dev/sdb
mkfs.xfs /dev/sdc
mkfs.xfs /dev/sdd

# Create mount points
mkdir -p /u01 /u02 /u03

# Mount
mount /dev/sdd /u01   # Oracle Home (binaries)
mount /dev/sdb /u02   # Oracle data files
mount /dev/sdc /u03   # Oracle redo + archive logs

# Persist in /etc/fstab
cat >> /etc/fstab <<EOF
/dev/sdb /u02 xfs defaults,noatime 0 0
/dev/sdc /u03 xfs defaults,noatime 0 0
/dev/sdd /u01 xfs defaults,noatime 0 0
EOF

# Set ownership
chown -R oracle:oinstall /u01 /u02 /u03

关键洞察:Oracle VM 将 /u02 和 /u03 作为本地 XFS 块设备访问。它并不知道底层存储是由 FSx for ONTAP 支持的 NFS 数据存储。所有 NFS 通信都发生在 ESXi 主机级别,每台主机使用自己的网络路径连接到 FSx for ONTAP。

步骤 6:安装并配置 Oracle 19c

# As oracle user
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
cd $ORACLE_HOME
./runInstaller -silent -responseFile /path/to/db_install.rsp

创建数据库,数据存放在 /u02,日志存放在 /u03:

CREATE DATABASE orcl
  DATAFILE '/u02/oradata/orcl/system01.dbf' SIZE 1G
  LOGFILE
    GROUP 1 '/u03/oralogs/orcl/redo01.log' SIZE 512M,
    GROUP 2 '/u03/oralogs/orcl/redo02.log' SIZE 512M,
    GROUP 3 '/u03/oralogs/orcl/redo03.log' SIZE 512M;

Oracle 将 /u02 和 /u03 作为本地 XFS 文件系统访问。适用标准的 Oracle ASM 或基于文件系统的存储管理。无需进行 NFS 特定的 Oracle 配置,因为 NFS 层由 ESXi 虚拟机监控程序抽象。

步骤 7:为跨区域灾难恢复设置 SnapMirror

对等集群(生产 → 灾难恢复):

cluster peer create -peer-addrs\
  -username fsxadmin -initial-allowed-vserver-peers *
vserver peer create -vserver svm-prod -peer-vserver svm-dr \
  -peer-cluster FSxDR -applications snapmirror

在 DR FSx for ONTAP 上创建 DP 卷:

vol create -volume oradb1bin -aggregate aggr1 -size 50G -state online -type DP
vol create -volume oradb1data -aggregate aggr1 -size 500G -state online -type DP
vol create -volume oradb1log -aggregate aggr1 -size 250G -state online -type DP

创建并初始化 SnapMirror:

snapmirror create -source-path svm-prod:oradb1data \
  -destination-path svm-dr:oradb1data -throttle unlimited \
  -policy MirrorAllSnapshots -type DP

snapmirror create -source-path svm-prod:oradb1log \
  -destination-path svm-dr:oradb1log -throttle unlimited \
  -policy MirrorAllSnapshots -type DP

snapmirror create -source-path svm-prod:oradb1bin \
  -destination-path svm-dr:oradb1bin -throttle unlimited \
  -policy MirrorAllSnapshots -type DP

# Initialize
snapmirror initialize -destination-path svm-dr:oradb1data
snapmirror initialize -destination-path svm-dr:oradb1log
snapmirror initialize -destination-path svm-dr:oradb1bin
重要提示:在规划灾难恢复(DR)策略时,请考虑 Oracle 许可要求。另一种方案是通过 NetApp SnapMirror 将 Oracle 虚拟机从生产环境复制到灾难恢复环境。在宣布故障转移事件之前,将灾难恢复复制卷保留为数据保护(DP)卷,不要将其作为 NFS 数据存储挂载到灾难恢复主机上,以避免 Oracle 双重许可。只有在宣布故障转移后,才断开 SnapMirror,将 NFS 数据存储挂载到灾难恢复主机上,并启动虚拟机。预先将 SnapMirror 卷挂载为数据存储——即使没有虚拟机开机——也意味着 Oracle 二进制文件在这些主机上可访问,Oracle 可能将其视为需要在整个灾难恢复集群范围内获得许可的“安装”。我们建议申请 AWS 优化与许可评估(AWS OLA)以获取进一步指导。

步骤 8:配置 SnapCenter 备份

  • 部署 SnapCenter Server(或使用 SnapCenter SaaS)。

  • 使用集群管理 IP 添加 FSx for ONTAP 存储系统。

  • 在每个 Oracle 虚拟机上安装 SnapCenter Plugin for Oracle。

  • 创建备份策略:

| 策略 | 范围 | 频率 | SnapMirror 更新 |
| --- | --- | --- | --- |
| 完整数据库备份 | 数据 + 控制文件 + 归档日志 | 每 4–6 小时 | 是 |
| 归档日志 | 仅归档日志 | 每 10–15 分钟 | 是 |
  • 创建资源组、分配策略并设置计划。

从本地 VMware 迁移数据库到 EVS

方案 1:VMware HCX 实时迁移

适用于已有本地 VMware 的企业:

  • 在本地部署 HCX Connector,在 EVS 上部署 HCX Cloud Manager。

  • 创建站点配对和网络扩展(L2 延伸)。

  • 使用 HCX vMotion(零停机)或批量迁移来迁移 Oracle 虚拟机。

  • 迁移后:使用存储 vMotion 将 Oracle VMDK 从 vSAN 迁移到 FSx for ONTAP NFS 数据存储,以获得快照/复制能力。

方案 2:SnapMirror ONTAP 到 ONTAP

如果本地 Oracle 已使用 NetApp ONTAP 存储:

  • 在本地 ONTAP 与 AWS FSx for ONTAP 之间建立 SnapMirror。

  • 增量复制直到切换。

  • 切换时:静默 Oracle,刷新归档日志,执行最终 SnapMirror 同步,断开镜像。

  • 在 EVS Oracle VM 上挂载 FSx for ONTAP 卷,恢复数据库,开放服务。

选项 3:Oracle PDB 重定位(多租户)

对于已采用 PDB/CDB 多租户模式的 Oracle 数据库:

  • 在 EVS 上创建目标 CDB,并使用 FSx for ONTAP 存储。

  • 使用 PDB 热克隆将 PDB 从本地 CDB 重定位到 AWS CDB。

  • 服务中断最小化。仅最终切换需要短暂停机。

选项 4:RMAN 备份/恢复(本地非 ONTAP)

如果 Oracle 在本地运行于非 ONTAP 存储上:

  • 创建 RMAN 备份,使用 AWS DataSync 或 AWS Direct Connect 暂存到 Amazon Simple Storage Service(Amazon S3)。

  • 在 EVS 上配置 Oracle VM,挂载 FSx for ONTAP 卷。

  • 从 RMAN 备份恢复,应用归档日志。

  • 打开数据库并重定向应用程序。

Day-2 运维

快照备份

SnapCenter 将完整数据库快照作为存储层操作进行管理,提供高效的备份能力。

时间点恢复

在 SnapCenter 中,选择 SCN 或时间戳,挂载日志快照,恢复数据快照,应用归档日志,并使用 RESETLOGS 打开。

数据库克隆

SnapCenter FlexClone 可创建空间高效的数据库副本。克隆与源共享未更改的块,仅对增量部分消耗存储。适用于开发/测试、补丁验证和报表场景。

HA 故障转移流程

  • 中断 DR 卷上的 SnapMirror。

  • 将 SnapMirror 卷作为 NFS 数据存储挂载到 DR ESXi 主机上,然后启动 Oracle VM。

  • 恢复到最近可用的归档日志。

  • 打开数据库。更新 DNS/连接字符串。

清理

要在测试此部署后停止产生费用,请按以下顺序移除资源:

  • Oracle VM — 关闭电源并从 vSphere 清单中删除 Oracle 数据库 VM。

  • NFS 数据存储 — 在 vSphere 中从 ESXi 主机卸载 FSx for ONTAP 数据存储。

  • SnapMirror 关系 — 在 DR FSx for ONTAP 文件系统上删除 SnapMirror 关系和 DP 卷。

  • FSx for ONTAP 文件系统 — 从 Amazon FSx 控制台删除生产文件系统和 DR 文件系统。此操作将删除这些文件系统上的所有卷和数据。

  • Amazon EVS 环境 — 从 Amazon EVS 控制台删除 EVS 环境。这将终止底层 EC2 裸机实例。

  • 网络 — 如果 Transit Gateway 连接、VPC Route Server 配置和 Direct Connect 连接是仅为该部署创建的,请将其移除。

重要提示:删除 FSx for ONTAP 文件系统将永久移除所有数据。在继续操作之前,请确认您已备份所需的所有数据。

结论

在本文中,我们介绍了如何在 Amazon Elastic VMware Service (Amazon EVS) 上部署 Oracle Database,并使用 Amazon FSx for NetApp ONTAP 作为 NFS 数据存储。您配置了 Oracle VM,创建了 FSx for ONTAP 卷,在 vSphere 中挂载了 NFS 数据存储,安装了 Oracle 19c,并配置了 SnapMirror 以实现跨区域灾难恢复,以及 SnapCenter 以实现 Oracle 感知备份。我们还介绍了现有本地 Oracle 工作负载的四种迁移路径,以及备份、时间点恢复和克隆的日常运维操作。

要开始使用,请查看 Amazon EVS 用户指南和将 FSx for ONTAP 配置为 EVS 的 NFS 数据存储,然后在 Amazon EVS 上部署您的第一个 Oracle VM。有关此部署背后的架构决策,请参阅我们的相关文章《在 Amazon EVS 和 FSx for ONTAP 上构建高可用 Oracle Database》。欢迎在评论区分享您的反馈和问题。

其他资源

  • Amazon EVS 用户指南

  • EVS 支持的 VCF 版本和实例类型

  • 将 FSx for ONTAP 配置为 EVS 的 NFS 数据存储

  • 将 FSx for NetApp ONTAP 与 EVS 配合使用

  • Amazon EVS 定价

  • 推出 Amazon EVS — AWS 博客

  • 适用于 Oracle 的 NetApp 自动化工具包


转载声明:本文为转载整理,原文版权归原作者及原站点所有。

原文来源:AWS Architecture Blog

原创地址:https://aws.amazon.com/blogs/architecture/deploy-oracle-database-step-by-step-on-amazon-evs-with-fsx-for-ontap/

原文作者:Satish Bhoi;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-11-21

  • 博文量
    1122
  • 访问量
    547201