集群应用程序简介
集群应用程序具有各种级别的成熟度和功能。它们包括:
- 高性能 集群也称为并行集群或计算集群,通常用于那些支持大量计算处理的系统。在这些集群中,并行文件系统在节点间分配处理资源,因而允许每个节点通过并发的读写同时访问同一文件。NASA 在二十世纪九十年代初期开发的 Beowulf Linux 集群就是最常见的示例。
- 高可用性 (HA) 集群专门为容错或冗余而设计。因为这些集群通常使用一个或多个服务器进行处理,所以当一个或多个服务器停机时,这些服务器能够承担其他服务器的处理职责。
- 负载平衡 或负载均衡 集群在多个服务器(通常是 web 服务器)间尽可能平均地分配负载。
- 存储 集群用于 SAN 和具有不同操作系统的服务器之间,提供对通用存储介质上的数据块的共享访问。
- 数据库 集群将 Oracle RAC 作为平台,把许多集群文件系统特性引入到应用程序本身中。
这些集群应用程序具有重叠的特性,其中一个或多个特性通常可在单个集群应用程序中找到 — 尤其是在 HA 和负载均衡集群中。例如,Oracle RAC 可以安装在 HA 集群文件系统上,从而将数据库集群的优点引入 HA 集群应用程序,如:
- 共享资源 — 包括数据、存储器、硬盘和元数据 — 从而使多个节点看上去就像单一文件系统。它们允许集群的所有成员同时读写文件系统。
- 将存储设备集合到单个磁盘卷中,从而因无需进行数据复制而提高了性能
- 可伸缩的容量、带宽和连接性
- 单个系统映像,为所有节点提供相同的数据视图。
现在让我们来看一些可以选用的支持 Oracle RAC 并具有集群感知的 Linux 文件系统,以及它们如何完善 Oracle RAC 的功能。
可以运行 Oracle 的集群文件系统
Oracle RAC 技术已经提供了诸如负载均衡、冗余、故障切换、可伸缩性、高速缓存和锁定等特性,因此当 Oracle 数据文件位于安装有传统 Linux 文件系统(如 ext2/ext3)的块设备上时会出现功能的重复。在这种情况下性能降低了,因为 Oracle 和文件系统的高速缓存消耗了内存资源。
到写本文时为止,除了第三方集群文件系统之外,还有四种可选用的运行 Oracle RAC 的文件系统。按 Oracle 的推荐顺序,它们依次为:
- Oracle 自动存储管理
- Oracle 集群文件系统
- 网络文件系统
- 原始设备。
Oracle 自动存储管理 (ASM) Oracle 的一个特点就是,无论它在哪种环境中运行,一旦您获得一个 Oracle API,则所有的外观、体验和操作都相同。Oracle ASM是 Oracle 数据库 10g 的一个特性,它将这种一致的环境扩展到存储管理方面,使用 SQL 语句、Oracle Enterprise Manager 网格控制或数据库配置助手程序来创建和管理存储内容和元数据。将 ASM 用于 Oracle 数据库 10g 数据文件存储被认为是最佳方法。
ASM 中的基本数据结构是磁盘组,它由一个或多个磁盘组成。在该语境中,“磁盘”可以是一个磁盘分区、一个完整的磁盘、一个级联磁盘、一个存储设备的分区或者一个完整的存储设备。
IXDBA.NET社区论坛
一定要认识到,ASM 并非通用集群文件系统。相反,ASM 是一个具有集群感知的文件系统,专门为处理 Oracle 数据库文件、控制文件和日志文件而设计。ASM 不应与逻辑卷管理器 (LVM) 共用,这是因为后者会使 ASM 无法识别磁盘。
ASM 执行以下功能:
- 通过磁盘头中的 ASM ID 识别磁盘。
- 在磁盘组中的所有存储器间动态分配数据,提供可选的冗余保护,并且具有集群感知能力。
- 允许在 Oracle 数据库处于完全运转状态时进行主要的存储操作 — 无需停机即可添加、删除、甚至将磁盘组移到新的存储阵列(尽管少见)
- 当添加或删除磁盘时,进行自动负载均衡和重新均衡
- 通过使用故障组,提供额外的冗余保护