Oracle 数据库部署需要考虑的因素
公共云为计算和存储提供了许多选择,使用正确类型的计算实例和存储引擎是数据库部署的良好起点。您还应该选择针对 Oracle 数据库优化的计算和存储配置。
以下部分介绍了在具有 FSx 存储在 AWS 公共云的 EC2 实例上部署 Oracle 数据库时的主要注意事项。
虚拟机性能
选择正确的虚拟机大小对于公共云中关系数据库的最佳性能非常重要。为了获得更好的性能, NetApp建议使用 EC2 M5 系列实例进行 Oracle 部署,该实例针对数据库工作负载进行了优化。相同的实例类型也用于为 AWS 的 Oracle RDS 实例提供支持。
-
根据工作负载特征选择正确的 vCPU 和 RAM 组合。
-
向虚拟机添加交换空间。默认的 EC2 实例部署不会创建交换空间,这对于数据库来说不是最佳的。
存储布局和设置
NetApp建议采用以下存储布局:
-
对于 NFS 存储,建议的卷布局为三个卷:一个用于 Oracle 二进制文件;一个用于 Oracle 数据和重复控制文件;一个用于 Oracle 活动日志、存档日志和控制文件。
-
对于 iSCSI 存储,建议的卷布局为三个卷:一个用于 Oracle 二进制文件;一个用于 Oracle 数据和重复控制文件;一个用于 Oracle 活动日志、存档日志和控制文件。但是,每个数据和日志卷理想情况下应该包含四个 LUN。 LUN 在 HA 集群节点上达到理想平衡。
-
对于存储 IOPS 和吞吐量,您可以选择 FSx 存储集群的预配置 IOPS 和吞吐量的阈值,并且可以在工作负载发生变化时随时调整这些参数。
-
自动 IOPS 设置是每 GiB 分配的存储容量或用户定义的存储 3 个 IOPS,最多 80,000 个。
-
吞吐量级别按以下方式递增:128、256、512、1024、2045 MBps。
-
回顾"Amazon FSx ONTAP性能"确定吞吐量和 IOPS 大小时的文档。
NFS 配置
Linux 是最常见的操作系统,包含原生 NFS 功能。 Oracle 提供与 Oracle 原生集成的直接 NFS (dNFS) 客户端。 Oracle 已支持 NFSv3 超过 20 年。所有版本的 Oracle 均支持 dNFS 和 NFSv3。所有遵循 NFSv4 标准的操作系统都支持 NFSv4。dNFS 对 NFSv4 的支持需要 Oracle 12.1.0.2 或更高版本。NFSv4.1 需要特定的操作系统支持。有关受支持的操作系统,请查阅NetApp互操作性矩阵工具 (IMT)。dNFS 对 NFSv4.1 的支持需要 Oracle 版本 19.3.0.0 或更高版本。
使用NetApp自动化工具包的自动化 Oracle 部署会自动在 NFSv3 上配置 dNFS。
其他需要考虑的因素:
-
TCP 插槽表相当于 NFS 中的主机总线适配器 (HBA) 队列深度。这些表控制任意时间同时存在的未处理 NFS 操作的数量。默认值通常为 16,数值太低无法实现最佳性能。在较新的 Linux 内核上会出现相反的问题,它会自动将 TCP 插槽表限制增加到使 NFS 服务器充满请求的级别。
为了获得最佳性能并防止出现性能问题,请将控制 TCP 槽表的内核参数调整为 128。
sysctl -a | grep tcp.*.slot_table
-
下表提供了针对 Linux NFSv3(单实例)推荐的 NFS 挂载选项。
|
在使用 dNFS 之前,请验证是否安装了 Oracle Doc 1495104.1 中描述的补丁。 NetApp针对 NFSv3 和 NFSv4 的支持矩阵不包含特定的操作系统。支持所有遵循 RFC 的操作系统。在在线 IMT 中搜索 NFSv3 或 NFSv4 支持时,请勿选择特定的操作系统,因为不会显示任何匹配项。常规策略隐式支持所有操作系统。 |
高可用性
正如解决方案架构所示,HA 建立在存储级别复制之上。因此,Oracle 的启动和可用性取决于计算和存储的启动和恢复速度。请参阅以下关键因素:
-
准备好备用计算实例,并通过对两个主机进行 Ansible 并行更新使其与主计算实例同步。
-
从主服务器复制二进制卷以供备用,这样您就不需要在最后一刻安装 Oracle 并弄清楚需要安装和修补什么。
-
复制频率决定了 Oracle 数据库恢复服务的速度。复制频率和存储消耗之间存在权衡。
-
利用自动化技术实现快速恢复和切换到待机状态,并且不会出现人为错误。 NetApp为此提供了自动化工具包。