在 Oracle Cloud Infrastructure 上使用远程同步块复制
使用远程同步块存储复制,提供块存储卷的容错能力。
许多企业面临的典型挑战包括:基于数据库运行的应用、访问底层块设备的应用,以及零服务延迟的业务需求。
以支付处理公司为例。由于付款处理的延迟会对客户眼中的声誉和品牌名称产生负面影响,因此他们需要采用高可用性技术来提供真正的容错能力(即,在单个组件发生故障时,零服务中断)。
体系结构
此架构在 Oracle Cloud Infrastructure (OCI) 上实施了高可用性块设备,可完全容忍业务应用级别的故障。对于需要同时保持连续性的性能敏感型应用,请使用此架构。
此体系结构将向用户提供单个实体 iSCSI 块设备。无论单组件故障如何,此设备将始终可用。将对用户隐藏任何其他体系结构组件。架构在发生故障或切换时是完全自动化的。如果发生故障或切换,用户将注意到的唯一影响是 iSCSI 设备在 1 或 2 秒内性能下降约 50%。
实现始终可用的单个块设备需要满足以下要求。
- 三个计算实例、虚拟机或裸金属 (bare metal,BM)。后者可能更可取,因为它们具有稳定的性能。
- 两个 VCN:一个是公共的,一个是专用。
- 目标始终可用的设备的两个块存储卷。
- (建议)具有至少 10 个 VPU 的块存储卷。您可能需要考虑更高的 IOPS,具体取决于您的 I/O 吞吐量的攻击性以及镜像主机(和块存储卷)之间的距离。
因此,实施始终可用的块设备的成本是计算实例成本的三倍,也是设备本身成本的两倍。
下图说明了此引用体系结构。
remote-synchronous-block-replication-diagram-oracle.zip
该体系结构具有以下组件:
- 分布式复制块设备
分布式复制块设备 (Distributed Replicated Block Device,DRBD) 是一个 Linux 内核驱动程序,它在远程 Linux 实例上的两个块设备之间维护网络连接,并将 I/O 操作从源实例复制到目标实例。
- Pacemaker
Pacemaker 是一个开源的高可用性集群资源管理器,常用于 Linux 环境。它可以检测故障并在集群中的其他节点上自动重新启动或重新定位服务,从而确保应用、服务或资源在最短的停机时间内持续运行。
- 同步
Corosync 是一款开源软件产品,它扩展了 Pacemaker,在大脑分裂的情况下具有恢复语义。
- iSCSI 启动器和目标
iSCSI 是通过网络提供 SCSI 设备的客户机和服务器软件组件。
推荐
- VCN
创建 VCN 时,请根据您计划附加到 VCN 中子网的资源数量,确定所需的 CIDR 块数和每个块的大小。使用标准专用 IP 地址空间内的 CIDR 块。
选择不与要设置专用连接的任何其他网络(在 Oracle Cloud Infrastructure 、您的内部部署数据中心或其他云提供商中)重叠的 CIDR 块。
创建 VCN 后,您可以更改、添加和删除其 CIDR 块。
设计子网时,请考虑流量和安全要求。将特定层或角色中的所有资源附加到可以用作安全边界的同一子网。
- Cloud Guard
克隆和定制 Oracle 提供的默认配方,以创建定制检测器和响应器配方。通过这些配方,您可以指定哪种类型的安全违规会生成警告,以及允许对它们执行哪些操作。例如,您可能希望检测可见性设置为公共的对象存储桶。
在租户级别应用 Cloud Guard,以涵盖最广泛的范围并减轻维护多个配置的管理负担。
还可以使用“托管列表”功能将某些配置应用于检测器。
- 安全区域
对于需要最高安全性的资源,Oracle 建议您使用安全区域。安全区域是与 Oracle 定义的基于优秀实践的安全策略配方关联的区间。例如,安全区域中的资源必须无法从公共 Internet 访问,并且必须使用客户管理的密钥对它们进行加密。在安全区域中创建和更新资源时,Oracle Cloud Infrastructure 会根据安全区域配方中的策略验证操作,并拒绝违反任何策略的操作。
- 网络安全组 (NSG)
可以使用 NSG 定义一组适用于特定 VNIC 的入站和出站规则。我们建议使用 NSG 而非安全列表,因为 NSG 使您能够将 VCN 的子网体系结构与应用的安全要求分开。
- 负载平衡器带宽
创建负载平衡器时,您可以选择提供固定带宽的预定义配置,也可以指定定制(灵活)配置,在其中设置带宽范围并允许服务根据流量模式自动扩展带宽。通过任一方法,您都可以在创建负载平衡器后随时更改配置。