最近在MOS上游荡,突然发现了一些中文article,后来得之是Oracle中文社区翻译的,看了下觉得翻译的不错,这里贴出来方便一下别人,同时也做个记录,方便以后查阅。该篇文档很长,而博文最长字符不能超过2万,因此我只能将该文档按顺序分四部分贴出来,以下为第一部分:
Applies to:
Oracle Database - Enterprise Edition - Version 10.2.0.1 to 11.2.0.3 [Release 10.2 to 11.2]
Information in this document applies to any platform.
Purpose
最佳实践和初学者指南之 Oracle Real Application Clusters (RAC) 系列,主要目标是为了帮助客户快速了解实施、升级与维护 Oracle RAC 系统的通用的以及针对特定平台的最佳实践,Oracle 根据自己的经验及其全球 RAC 客户的反馈编写和维护本文档。
本初学者指南的目的不在于取代 Oracle 文档集,而是作为它的补充,对于本文没有明确解决的任何问题,还应仔细阅读、理解和参考 Oracle 文档,以从中寻找答案。
您的运营团队应仔细审核所有建议,且只有通过了相应的风险评估后方能实施,风险评估只能由具备丰富的系统、应用和企业环境方面知识的人员来执行。
由于每个客户环境都是独一无二的,因此 Oracle Database 实施(包括 Oracle RAC 实施)的成功源于成功的测试环境。对于本文中的任一建议,在生产环境中加以实施之前,务必要在作为目标生产环境复制品的测试环境中进行充分的测试和验证,以确保不会产生与所实施建议相关的负面影响。
Scope
本文章适用于所有新的和现有 RAC 实施以及 RAC 升级。
Details
RAC 平台特定的入门套件和最佳实践
本文档重点介绍与平台无关(通用)的 RAC 最佳实践,以下文档则包含了平台特定的具体最佳实践(包括分步安装说明)。
Document 811306.1 RAC and Oracle Clusterware Best Practices and Starter Kit (Linux)
Document 811280.1 RAC and Oracle Clusterware Best Practices and Starter Kit (Solaris)
Document 811271.1 RAC and Oracle Clusterware Best Practices and Starter Kit (Windows)
Document 811293.1 RAC and Oracle Clusterware Best Practices and Starter Kit (AIX)
Document 811303.1 RAC and Oracle Clusterware Best Practices and Starter Kit (HP-UX)
RAC 平台通用的负载测试和系统测试计划概述
所有成功实施(特别是关键业务的最大可用性环境)的关键任务是测试,对于 RAC 环境,测试应包含负载生成和故障注入测试。通过负载测试,可衡量系统在负载繁重时的反应,而故障注入测试则有助于确保系统在发生不可避免的硬件和(或)软件故障时能够按照设计进行反应,下面的文档将介绍执行此重要测试时应遵循的指南。
单击此处,获取可用的 RAC 系统负载测试工具的白皮书
单击此处,获取针对 10gR2 和 11gR1 的平台通用 RAC 系统测试计划概述
单击此处,获取针对 11gR2 的平台通用 RAC 系统测试计划概述
这些文档用于验证您的系统设置和配置,也可以作为练习应对某种故障的处理过程的一种方法。
RACcheck 是一款 RAC 配置审核工具,主要用于审核 Real Application Clusters (RAC)、Oracle Clusterware (CRS)、Automatic Storage Management (ASM) 和 Grid Infrastructure 环境中各个重要的配置设置。此实用程序用于验证由 RAC Assurance 开发和支持团队维护的 Oracle Real Application Clusters (RAC) 最佳实践和初学者指南文档系列定义的最佳实践和成功要素。目前,RACcheck 支持 Linux(x86 和 x86_64)、Solais SPARC 和 AIX(使用 bash shell)平台。我们强烈建议在 RACcheck 支持的平台上运行 RAC 的客户使用此工具找出会影响集群稳定性的潜在配置问题。Document 1268927.1 RACcheck - RAC Configuration Audit Tool
注意: Oracle 会根据全球客户的反馈不断生成和维护最佳实践和成功因素。因此,RACcheck 实用程序会经常根据此信息进行更新,也就是说,建议您在执行审核前先确定自己要使用的 RACcheck 版本。
保持 RAC 集群环境稳定当前必须要做的 11 件事
为了积极预防集群因为常见的已知问题出现不稳定的情况,Oracle RAC Proactive Support 团队编写了一个包含会影响 RAC 集群稳定性的最常见的11 个问题的列表。虽然所有这些建议都包含在最佳实践和入门套件系列中,我们还是强烈建议您阅读以下文档,因为我们认为这些文档是非常重要的成功因素。Document 1344678.1 Top 11 Things to do NOW to Stabilize your RAC Cluster Environment
设计注意事项
以下“设计注意事项”提供与 Infrastructure(平台无关)相关的指南和最佳实践信息,以支持 Oracle RAC 实施。此信息不仅适用于新安装和升级,也能为那些支持现有 RAC 的实施提供有用信息。
一般设计注意事项
- 为简化系统的复杂度和与第三方软件之间的交互,Oracle 建议避免使用第三方集群管理软件,除非实在需要。
- 推荐将 Automatic Storage Management (ASM) 用于数据库存储。有关 ASM 的其他信息,请参见Document 265633.1
- 检查产品支持矩阵,以确保产品、版本和平台组合的可支持性,或了解在某些组合中需要额外完成的所有特定步骤,请参见Document 337737.1
- 与磁盘供应商联系,确认节点数、OS 版本、RAC 版本、CRS 版本、网络结构和补丁是否经过认证,因为有些存储/San 供应商可能要求针对特定的节点数进行专门认证。
- 计划并记录容量要求。与服务器供应商合作,制定详细的容量计划和系统配置,但请注意:使用正常的容量计划流程估计运行工作负载所需的 CPU 数。随着 CPU 数量的增加,SMP 和 RAC 集群的成本会同步增加。如果 CPU 数量较少,通常是 SMP 的伸缩性较好;如果 CPU 数量较多,RAC 集群的伸缩性通常要比 SMP 好。标准同步成本:5-20%。
- 消除架构中的所有单一故障点。示例包括(但不限于):集群私网冗余(NIC 绑定等)、存储的多路存取路径、使用 2 个或多个 HBA 或发起程序和多路径软件、磁盘镜像/RAID。其他详细信息请见后文描述。
- 使用经过证实的最大可用性策略。RAC 是最大可用性整体架构中的一个组件。查看 Oracle 的最大可用性架构蓝图,网址:http://www.oracle.com/technetwork/database/features/availability/maa-096107.html
- 使用系统测试计划帮助制定意外停机的计划并将其付诸实践,这个步骤非常重要。本文档附有“系统测试计划概述”示例,可指导您进行系统测试,以便为潜在的计划外故障做准备。
- 强烈建议用于生产的RAC 实例不与 DEV、TEST、QA 或 TRAINING 实例共享一个节点。这些额外的实例通常会给生产环境带来意外的性能改变。同时,强烈建议测试环境尽可能地接近生产环境的镜像。
- 如能为 RAC 项目实施制定分步计划,那将会非常有帮助。下面的 OTN 文章中包含了示例项目概述:http://www.oracle.com/technetwork/articles/haskins-rac-project-guide-099429.html
- 根据RFC952 - DoD 主机列表说明,在主机名或域名中不使用下划线。这条规则也适用于 Net(网络)、Host(主机)、Gateway(网关)或 Domain(域)名。
- VIP 和 SCAN VIP 应与公网在同一个子网上。有关其他信息,请参见Understanding SCAN VIP white paper.
- 默认网关必须与 VIP(包括 SCAN VIP)在同一个子网上,以防止出现 VIP 启动/停止/故障转移问题。在 11gR2 中,OUI 会检测出并报告此问题,如果忽略检查,此问题将导致无法启动 VIP,从而导致安装自身也出现故障。
- 建议通过 DNS,按round-robin方式将 SCAN 名称(11gR2 和更高版本)至少解析为 3 个 IP 地址,无论集群大小如何。有关其他信息,请参见Understanding SCAN VIP white paper.
- 为避免名称解析出现问题,请确保 HOSTS 文件和 DNS 中提供了 VIP 与公共主机名。SCAN 不得位于 HOSTS 文件中,因为 HOSTS 文件只能显示 1:1 主机到 IP 的映射。
- 网络接口必须在所��节点上使用相同的名称(如 eth1 -> eth1 支持 VIP,eth2 -> eth2 支持专用私网网络)。
- 网络接口卡 (NIC) 名称中不得包含 "." 。
- 私网使用 Jumbo Frames 是提高 Cache Fusion 操作性能的最佳实践。请参考Document 341788.1
- 对私网使用non-routable的网络地址;A 类:10.0.0.0 到 10.255.255.255,B 类:172.16.0.0 到 172.31.255.255,C 类:192.168.0.0 到 192.168.255.255。有关其他信息,请参考RFC1918 和Document 338924.1
- 请确保根据速度、双工等正确配置网络接口。可用于监视和测试网络的各种工具有:ethtool、iperf、netperf、spray 和 tcp。请参考Document 563566.1
- 为避免公网或私网出现单一故障点,Oracle 强烈建议在每个集群节点上配置公共网络接口卡 (Network Interface Card, NIC) 和私网 NIC 的冗余集。请参考Document 787420.1。从 11.2.0.2 开始,Oracle Grid Infrastructure 可为私网(不是公网)提供冗余和负载均衡,对于 11.2.0.2(必须使用 11.2.0.2 Database),这是 NIC 冗余的首选方法。更多信息,请参考Document 1210883.1。
- 注意: 如果使用 11.2.0.2 Redundant Interconnect/HAIP 功能,目前要求所有私网要在不同的子网上。如果全部接口在同一个子网上,且从路由表的第一个 NIC 中拔出电缆,则将发生GI stacks重启或节点重启的情况。有关此要求的技术说明,请参见Document 1481481.1。
- 如果希望对发现硬件的可预测性更强,请将 HBA 和 NIC 卡插入 Grid 中每台服务器上的同一对应插槽中。
- 私网连接需要使用交换机,或冗余交换机(不支持交叉线直连)。
- 由于在交换机上部署私有网络(甚至在使用 VLAN 时)可能会使私网链路在大型 IP 网络拓扑中遭遇拥堵并变得不稳定,因此强烈建议为私网使用专用冗余交换机。如果在 VLAN 上部署私网,则在 VLAN 和non-routable的子网之间应该有一个 1:1 映射,并且 VLAN 不应该跨越多个 VLAN(已标记)或多个交换机。此环境中的部署问题包括在大型 IP 网络拓扑更改时的“Spanning Tree ”环、可能导致数据包洪流的不对称路由以及缺乏对 VLAN/端口的细粒度监视。请参考Bug 9761210。
- 如果在 VLAN 上部署集群私网,请查看Oracle RAC and Clusterware Interconnect Virtual Local Area Networks (VLANs)白皮书中的注意事项。
- 考虑对有高流量要求的工作负载的私网使用 Infiniband。Infiniband 还可以通过降低延迟来提高性能。实施 Infiniband 后,可以使用 RDS 协议进一步降低延迟。请参见Document 751343.1了解详细信息。
- 请注意,RAC 目前尚不支持 IPv6 寻址。有关详细信息,请参见Oracle Database IPv6 State of Direction white paper(Oracle Database IPv6 发展方向白皮书)。
- 对于Grid Infrastructure版本 11.2.0.2,私网必须在子网 230.0.1.0支持多播传输(multicast)。Oracle Grid Infrastructure 11.2.0.2 的Patch: 9974223 (包含在 GI PSU 11.2.0.2.1 和更高版本中)对私网上的 224.0.0.251 多播地址启用了多播功能。必须允许这两个地址中的其中一个所对应的私网使用多播(假设已应用补丁程序)。Document 1212703.1中提供了测试多播功能的其他信息和程序。