配置用于安装 Oracle RAC 的私有云

您可以在私有云中部署 Oracle Real Application Clusters (RAC)。本文档介绍如何为 Oracle RAC 解决方案部署新集群和优化虚拟机 (VM)。完成这些步骤后,您可以安装和配置 Oracle RAC。

存储政策

要成功实现 Oracle RAC,需要集群中有足够数量的节点。在 vSAN 存储政策中,系统无法对用于存储数据库、日志和重做磁盘的数据磁盘进行容错(FTT)计算。有效容错所需的节点数为 2N+1,其中 N 是 FTT 的值。

例如,如果所需的 FTT 为 2,则集群中的节点总数必须为 2*2+1 = 5

部署概览

以下部分介绍了如何为 Oracle RAC 设置私有云环境。

磁盘配置的最佳做法

我们建议的磁盘配置有专用磁盘和共享磁盘。 仅在单个虚拟机 (VM) 上装载操作系统和软件安装磁盘。在 Oracle RAC 集群中共享执行特定功能的其他磁盘。

Oracle 磁盘概览。

下表介绍了本文档后面显示的示例配置中使用的磁盘。

磁盘 用途 共享磁盘
操作系统 操作系统磁盘
GRID Oracle Grid 软件的安装位置
数据库 Oracle 数据库软件的安装位置
ORAHOME Oracle 数据库二进制文件的基本位置
DATA1、DATA2、DATA3、DATA4 存储 Oracle 数据库文件的磁盘
REDO1、REDO2、REDO3、REDO4、REDO5、REDO6 重做日志磁盘
OCR1、OCR2、OCR3、OCR4、OCR5 表决磁盘
FRA1、FRA2 快速恢复区域磁盘

虚拟机配置

  • 使用四个 SCSI 控制器配置每个虚拟机。
  • 将 SCSI 控制器类型设置为 VMware paravirtual
  • 创建多个虚拟磁盘 (.vmdk)。
  • 将每个磁盘装载在不同的 SCSI 控制器上。
  • 为共享集群磁盘设置多写入者共享类型。
  • 定义 vSAN 存储政策以确保磁盘高可用性。

操作系统和软件磁盘配置

针对主机操作系统、交换、软件安装和其他操作系统功能,使用多个磁盘配置每个 Oracle 虚拟机。这些磁盘不会在虚拟机之间共享。

  • 对于每个 Oracle RAC 虚拟机,请配置并装载三个虚拟磁盘:
    1. 操作系统磁盘
    2. 用于存储 Oracle Grid 安装文件的磁盘
    3. 用于存储 Oracle 数据库安装文件的磁盘
  • 将磁盘配置为自动精简预配
  • 在第一个 SCSI 控制器(SCSI0)上装载每个磁盘。
  • 将共享设置为不共享
  • 使用 vSAN 政策来定义存储上的冗余。

Oracle RAC 物理磁盘。

数据磁盘配置

数据磁盘主要用于存储数据库文件。

  • 每个 Oracle RAC 虚拟机,配置和装载四个虚拟磁盘。
  • 将每个磁盘装载在不同的 SCSI 控制器上。
  • 将每个虚拟磁盘配置为后置备置零
  • 将共享设置为多写入者
  • 将磁盘配置为存储空间自动管理(ASM) 磁盘组。
  • 使用 vSAN 政策来定义存储上的冗余。
  • 将 ASM 冗余设置为外部

Oracle RAC 数据磁盘。

重做日志磁盘配置

还原日志文件会存储对数据库所做的更改的副本。如果您需要在发生任何故障后恢复数据,请使用日志文件。

  • 每个 Oracle RAC 虚拟机,配置和装载六个虚拟磁盘。
  • 将每个磁盘装载在不同的 SCSI 控制器上。
  • 将每个虚拟磁盘配置为后置备置零
  • 将共享设置为多写入者
  • 将重做日志磁盘配置为两个 ASM 磁盘组,每个组三个磁盘。
  • 将 ASM 冗余设置为正常
  • 在每个 ASM 重做日志组中创建五个重做日志文件。
SQL > alter database add logfile thread 1 ('+ORCLRAC_REDO1','+ORCLRAC_REDO2') size 1G;
SQL > alter database add logfile thread 1 ('+ORCLRAC_REDO1','+ORCLRAC_REDO2') size 1G;
SQL > alter database add logfile thread 1 ('+ORCLRAC_REDO1','+ORCLRAC_REDO2') size 1G;
SQL > alter database add logfile thread 1 ('+ORCLRAC_REDO1','+ORCLRAC_REDO2') size 1G;
SQL > alter database add logfile thread 1 ('+ORCLRAC_REDO1','+ORCLRAC_REDO2') size 1G;
SQL > alter database add logfile thread 2 ('+ORCLRAC_REDO1','+ORCLRAC_REDO2') size 1G;
SQL > alter database add logfile thread 2 ('+ORCLRAC_REDO1','+ORCLRAC_REDO2') size 1G;
SQL > alter database add logfile thread 2 ('+ORCLRAC_REDO1','+ORCLRAC_REDO2') size 1G;
SQL > alter database add logfile thread 2 ('+ORCLRAC_REDO1','+ORCLRAC_REDO2') size 1G;
SQL > alter database add logfile thread 2 ('+ORCLRAC_REDO1','+ORCLRAC_REDO2') size 1G;

Oracle RAC 重做磁盘。

Oracle 表决磁盘配置

如果两个节点彼此失去连接,同时导致错误独立运行(假设另一个节点无法正常运行),则 Oracle RAC 集群中可能会出现问题。表决磁盘提供了额外的通信渠道,有助于避免此问题。

  • 每个 Oracle RAC 虚拟机,配置和装载五个虚拟磁盘。
  • 在一个 SCSI 控制器上装载所有磁盘。
  • 将每个虚拟磁盘配置为后置备置零
  • 将共享设置为多写入者
  • 将磁盘配置为 ASM 磁盘组。
  • 将 ASM 冗余设置为

Oracle RAC 表决磁盘。

Oracle 快速恢复区域磁盘配置(可选)

快速恢复区域 (FRA) 文件系统由 Oracle ASM 磁盘组管理。FRA 为备份和恢复文件提供共享存储位置。 Oracle 在 FRA 中创建归档日志和闪回日志。Oracle 恢复管理器 (RMAN) 可以选择将其备份集和映像副本存储在 FRA 中,以便在媒体恢复期间恢复文件。

  • 每个 Oracle RAC 虚拟机,配置和装载两个虚拟磁盘。
  • 将每个磁盘装载在不同的 SCSI 控制器上。
  • 将每个虚拟磁盘配置为后置备置零
  • 将共享设置为多写入者
  • 将磁盘配置为 ASM 磁盘组。
  • 将 ASM 冗余设置为外部

Oracle RAC FRA 磁盘。

部署私有云 vSphere 集群

要在您的私有云上部署一个 vSphere 集群,请按照以下流程操作:

  1. 为您的私有云创建主管理集群。从 Google Cloud 控制台创建私有云。Google 在新的私有云中创建名为 CloudOwner 的默认 vCenter 用户。如需了解默认私有云用户和权限模型,请参阅私有云权限模型
  2. 在门户中,通过添加集群向私有云添加节点。此集群用于部署 Oracle RAC。根据所需的 FTT 选择节点数。至少使用三个节点。

为 Oracle RAC 设置网络

在私有云中,创建两个子网,一个用于 Oracle 公共网络,另一个用于 Oracle 专用网络。分配适当的子网 CIDR。

设置 vSAN 存储政策

vSAN 政策定义了存储在虚拟机磁盘上的数据的 FTT 和磁盘条带。您创建的存储政策必须在创建虚拟机时应用于虚拟机磁盘。

  1. 登录到私有云的 vSphere 客户端
  2. 选择政策和配置文件
  3. 选择虚拟机存储政策,然后选择创建虚拟机存储政策
  4. 为政策输入一个有意义的名称,然后点击下一步
  5. 政策结构下,选择为 vSAN 存储启用规则,然后点击下一步
  6. vSAN > 可用性部分中,为网站灾难容忍度选择
  7. 对于容错,请为所需的 FTT 选择RAID - 镜像选项。
  8. 高级下,选择每个对象的磁盘带数量。
  9. 对于对象空间预留,请选择厚置备
  10. 选择停用对象校验。点击下一步
  11. 按照屏幕上的说明查看兼容的 vSAN 数据存储区列表,检查设置并完成设置。

为 Oracle 创建 Oracle 虚拟机并创建共享虚拟机磁盘

要为 Oracle 创建虚拟机,您可以克隆现有虚拟机或创建新虚拟机。本部分介绍如何创建新虚拟机,以及然后如何在安装基本操作系统后克隆该虚拟机以创建第二个虚拟机。创建虚拟机后,您可以为其创建和添加磁盘。Oracle 集群使用共享磁盘来存储数据、日志和重做日志。

创建虚拟机

  1. 在 vCenter 中,点击主机和集群图标。选择您为 Oracle 创建的集群。
  2. 右键点击该集群,然后选择新建虚拟机
  3. 选择创建新虚拟机,然后点击下一步
  4. 为机器命名,选择 Oracle 虚拟机的位置,然后点击下一步
  5. 选择集群资源,然后点击下一步
  6. 为集群选择 vSAN 数据存储区,然后点击下一步
  7. 保留默认的 ESX 6.5 兼容性选择,然后点击下一步
  8. 为要创建的虚拟机选择 ISO 的访客操作系统,然后点击下一步
  9. 选择安装操作系统所需的硬盘大小。
  10. 要在其他设备上安装应用,请点击添加新设备
  11. 选择网络选项并分配您为公共网络创建的分布式端口组。
  12. 要添加网络接口,请点击添加新设备,然后选择您为专用网络创建的分布式端口组。
  13. 对于新建 DC/DVD 驱动器,请选择包含首选操作系统安装的 ISO 的数据存储区 ISO 文件。选择之前上传到 ISO 和模板文件夹的文件,然后点击确定
  14. 查看设置,然后点击确定以创建新虚拟机。
  15. 启动虚拟机。安装操作系统和所有必需的更新。

安装操作系统后,您可以克隆第二个虚拟机。 右键点击虚拟机条目,然后选择克隆选项。

为虚拟机创建共享磁盘

Oracle 使用共享磁盘来存储数据、日志和重做日志文件。您可以在 vCenter 上创建共享磁盘,并将其装载到两个虚拟机上。为了提高性能,请将数据磁盘放在不同的 SCSI 控制器上。以下步骤显示了如何在 vCenter 上创建共享磁盘,然后将其挂接到虚拟机。使用 vCenter Flash 客户端修改虚拟机属性。

在第一个虚拟机上创建磁盘

  1. 在指南中,右键点击一个 Oracle 虚拟机,然后选择修改设置
  2. 新设备部分,选择 SCSI 控制器,然后点击添加
  3. 新设备部分,选择新建硬盘,然后点击添加
  4. 展开“新硬盘”的属性。
  5. 指定硬盘的大小。
  6. 将虚拟机存储政策指定为您在设置 vSan 存储政策中定义的 vSAN 存储政策。
  7. 选择该位置,将其作为 vSAN 数据存储区上的文件夹。该位置有助于浏览磁盘并将磁盘挂接到第二个虚拟机。
  8. 如需进行磁盘预配,请选择厚置备置零
  9. 要进行共享,请指定多个写入者
  10. 对于虚拟设备节点,选择第 2 步中创建的新 SCSI 控制器。

对 Oracle 数据,日志和重做日志文件所需的所有新磁盘重复步骤 2-10。

将磁盘挂接到第二个虚拟机

  1. 在指南中,右键点击一个 Oracle 虚拟机,然后选择修改设置
  2. 新设备部分,选择 SCSI 控制器,然后点击添加
  3. 新设备部分,选择现有硬盘,然后点击添加
  4. 浏览到为第一个虚拟机创建磁盘的位置,然后选择 VMDK 文件。
  5. 将虚拟机存储政策指定为您在设置 vSan 存储政策中定义的 vSAN 存储政策。
  6. 如需进行磁盘预配,请选择厚置备置零
  7. 要进行共享,请指定多个写入者
  8. 对于虚拟设备节点,选择第 2 步中创建的新 SCSI 控制器。

对 Oracle 数据,日志和重做日志文件所需的所有新磁盘重复步骤 2-7。

设置虚拟机到主机的相似性规则

虚拟机到主机的相似性规则可确保虚拟机在所需的主机上运行。您可以在 vCenter 上定义规则,以使 Oracle 虚拟机在具有足够资源的主机上运行,并满足任何特定的许可要求。

  1. 在 Google Cloud 控制台中,提升 CloudOwner 用户的权限
  2. 登录到私有云的 vSphere 客户端
  3. 在 vSphere 客户端中,选择要部署 Oracle 虚拟机的集群,然后点击配置
  4. 在“配置”下,选择虚拟机/主机组
  5. 点击添加
  6. 添加虚拟机组。
    1. 选择虚拟机组作为类型。
    2. 输入群组的名称。
    3. 选择虚拟机,然后点击确定以创建组。
  7. 添加主机组。
    1. 选择主机组作为类型。
    2. 输入群组的名称。
    3. 选择将运行虚拟机的主机,然后点击确定以创建组。
  8. 要创建规则,请点击虚拟机/主机规则
  9. 点击 + 添加
    1. 输入规则的名称并选中启用
    2. 对于规则类型,请选择虚拟机到主机
    3. 选择包含 Oracle 虚拟机的虚拟机组。
    4. 选择在此组中的主机上运行
    5. 选择您创建的主机组。
  10. 点击确定以创建规则。

参考

后续步骤