Exadata存储服务器(又称Exadata存储单元)

news2024/9/23 17:16:34

存储单元可以说是让Exadata如此大规模普及并且使用效果优异的核心要素。

I/O性能问题始终是Exadata存储或者存储服务器尽力去解决的问题。

Exadata存储服务器概述

Exadata数据库一体机通常预装了3类硬件:

  • 数据库计算节点服务器
  • 存储服务器
  • 极速的InfiniBand存储交换机。

Exadata存储服务器也不像其他传统的SAN存储设备或者方便和满足存储需求的黑盒。它通过Exadata智能存储软件来提供存储单元的卸载处理(智能扫描)、存储索引、混合列压缩(HCC或者EHCC)、I/O资源管理(IORM)、智能闪存、快速文件创建等特有功能。在后续的章节里将详细介绍Exadata软件功能。

每个系列的Exadata数据库一体机都有多种型号配置。数据库计算节点的数据量和存储服务器的数量完全跟用户购买时选择的Exadata型号配置相关。

图3.1展示了不同型号配置的Exadata存储服务器的数量和空间占用情况,其中:

  • 1/4配包含2个数据库计算节点和3个存储服务器。
  • 半配包含4个数据库计算节点和7个存储服务器。
  • 满配包含8个数据库计算节点和14个存储服务器。

 

 

每台Exadata存储服务器都视作独立个体来管理和配置。节点控制命令行接口工具(CellCLI)用来管理本地服务器,分布式命令行接口工具(dcli)用来管理远端的Exadata存储服务器操作。CellCLI通常用来执行管理和维护本节点服务器上的大部分操作,dcli工具(非交互式)可以用来集中管理Exadata一体机内的所有存储节点服务器。

存储服务器架构

除了传统的存储服务器的必备组件:CPU、内存、网卡(NIC)、存储盘等之外,Exadata存储服务器还预装了OEL操作系统和Exadata智能存储软件。

 每台Exadata存储服务器配备了统一的12块高性能或者大容量物理磁盘、预装OEL操作系统、Exadata存储软件和3个关键的后台服务。存储服务器可以通过3种途径访问:本地登录、SSH登录和KVM设备登录。

存储节点软件的功能和管理

 Exadata存储节点的后台上运行着3个关键的软件,它们提供了存储服务器的核心功能:

  • 存储服务(CELLSRV):多线程的进程。
  • 管理服务(MS):通过CellCLI工具来提供标准的存储节点配置和管理功能。

定期解析/dev/disk/by-path中的符号链接对应FMOD的Flash硬盘(或称“闪存盘”),验证它们依然存在并对底层操作系统可见

追踪存储节点服务器上硬件层面的变化并且通过ioctl系统调用通知CELLSRV。

收集、计算和管理存储服务器状态指标。

在更换硬盘时重建虚拟驱动器。

一般来说,当一块硬盘性能不佳时,相关的Grid Disk和Cell Disk会被离线,并且MS服务会通知CELLSRV服务。

删除ADR目录、$LOG_HOME和历史指标中超过7天的文件。

在文件使用率达到80%时进行通知。

  • 重启服务(RS): 监控存储节点服务器上的其他服务,并且在任何服务需要重启时自动重启它们。此外,重启服务还处理软件更新过程中所需要的计划性服务重启。cellrssrm是重启服务的主要进程,包含3个子进程:cellrsomt、cellrsbmt和cellesmmt。

alter cell shutdown services all[FORCE]命令可关闭节点上的所有服务,alter cell startup services all命令可启动所有服务。停止所有服务或者停止某个节点服务器时,所有Grid Disk及其相关的ASM磁盘分别会变为不活动及离线状态,存储节点和ASM及数据库实例之间的通信会被终止。

查询V$视图

新的Exadata相关的V$动态视图,提供了存储节点和等待事件方面的统计信息,可以用来评估存储节点的状态、已用IP地址等。

  • V$CELL ——提供cellip.ora文件中提到的存储节点相关IP地址。
  • V$CELL_STATE  ——提供所有可以访问存储节点的数据库客户端的信息。
  • V$CELL_THREAD_HISTORY ——提供存储节点中存储服务收集的采样线程信息。
  • V$CELL_REQUEST_TOTALS——提供存储节点请求的采样历史信息。

存储架构和规划

一个传统的Oracle数据库部署需要3个主要组件:

  • Oracle数据库服务器
  • 存储服务器
  • 网络层

Exadata一体机上的Oracle数据库部署也包含3个关键的硬件组件:

  • 数据库节点服务器
  • 存储服务器
  • 网络

 Exadata存储架构相对非Exadata架构在硬件层面有4个基本差异,正是这些差异导致了两种架构其他方面的所有差异,特别是对于存储的可扩展性及性能:

●首先,Exadata存储节点包含闪存模块,可以把它用作快速硬盘,或者是额外的缓存(关于这点,本章后面的内容中会详述)。

●其次,存储服务器运行在Oracle OEL操作系统而不是存储专有操作系统,这可以激活存储软件架构功能,反之则不行(同样,本章后面的内容会详述)。

●再次,在数据库节点和存储节点之间用的不是传统以太网,而是基于InfiniBand的高速、私有网络。

●最后,所有数据库节点之间以及数据库与存储节点之间的通信通过可靠数据报套接字(Reliable Datagram Sockets,RDS)使用iDB协议完成。

非Exadata中的存储架构

传统的Oracle数据库部署环境中使用Oracle ASM,存储服务器架构或者布局通常如图3.5所示。一般情况下,物理硬盘(或者分区)映射成逻辑单元号(Logic Unit Number,LUN),(或者设备),它们被用来创建成Oracle ASM硬盘,包含在ASM磁盘组内。尽管ASM是传统数据库部署中的可选项,但Oracle通常建议在新建数据库时使用ASM,尤其是在RAC环境部署时。当然,使用ASM有一些突出的优势:

●首先,ASM作为一种存储特性已经高度集成到Oracle技术体系里了,因此它工作得更高效。

●其次,ASM消除了过去对OS文件系统和逻辑卷管理(LVM)的依赖。

●再次,新硬盘加入或者删除时,ASM提供动态负载均衡和空间平衡的功能,LVM实现不了。

●最后,ASM的设计起于底层,很好地贴合了Oracle数据库的I/O特征和需求。

 

Exadata中的存储架构

每个Exadata存储服务器都带有12块同样大小的SAS物理硬盘——要么是高性能盘,要么是大容量盘的配置,还内置了4块闪存卡。前面两块盘使用RAID(mdadm)做了镜像,用于操作系统、swap交换空间、Exadata存储软件二进制文件,还有一些其他的Exadata设置。存储节点上执行df命令会列出文件系统结构;右下方的输出,解释了挂载点和文件系统映射的类型:

●“/”是根(root)文件系统。

●/opt/oracle存放已安装的Exadata存储软件。

●/var/log/oracle存放存储节点操作系统,并记录崩溃(crash)日志。

●/dev/md5和/dev/md6是系统分区、活动(active)和镜像副本。

●/dev/md7和/dev/md8是Exadata安装软件安装点、活动(active)和镜像副本。

●/dev md11挂载给/var/log/oracle。

●在任何给定的时间点,一个存储节点上同时只能挂载4个多设备(multidevice,MD)挂载点。

有几个重要的概念要特别说明一下:

●首先,存储节点中同时包含传统物理硬盘和闪存模块。

●其次,有一个新的硬盘抽象概念叫作Cell Disk,它可以将一个LUN细分成更小的分区,叫作Grid Disk。

●再次,从闪存模块中构建的Cell Disk可以细分为闪存缓存(Flash Cache)或Grid Disk。物理磁盘类的LUN只能细分成Grid Disk。

●最后,只有Grid Disk可以映射成ASM磁盘。

管理存储的系统用户

每个Exadata存储服务器一般会配置3个不同角色的默认用户。这些用户及其权限区别在于:

●root——超级用户权限,用于启停存储服务器。

●celladmin——用于完成存储节点的管理任务,例如,CREATE、ALTER、MODIFY一些存储对象(像Cell Disk、Grid Disk、配置通知等),使用CellCLI和dcli工具。

●cellmonitor——监控用户,用于存储节点监控任务。不像root和celladmin,cellmonitor不能执行CREATE、ALTER或MODIFY命令。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/176687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

离散数学与组合数学-03函数

文章目录离散数学与组合数学-03函数3.1 函数基本概念3.1.1 函数的定义3.1.2 函数举例3.1.3 函数的数量3.1.4 关系与函数的差别3.2函数的类型3.2.1 函数类型3.2.2 函数类型的必要条件3.2.3 函数类型的数学化描述3.2.4 函数类型的证明3.3 函数的运算3.3.1 函数的复合运算3.3.2 函…

统计学习方法 学习笔记(1)统计学习方法及监督学习理论

统计学习方法及监督学习理论1.1.统计学习1.1.1.统计学习的特点1.1.2.统计学习的对象1.1.3.统计学习的目的1.1.4.统计学习的方法1.1.5.统计学习的研究1.1.6.统计学习的重要性1.2.统计学习的分类1.2.1.基本分类1.2.1.1.监督学习1.2.1.2.无监督学习1.2.1.3.强化学习1.2.1.4.半监督…

【HBase入门】2. 集群搭建

安装 上传解压HBase安装包 tar -xvzf hbase-2.1.0.tar.gz -C ../server/ 修改HBase配置文件 hbase-env.sh cd /export/server/hbase-2.1.0/conf vim hbase-env.sh # 第28行 export JAVA_HOME/export/server/jdk1.8.0_241/ export HBASE_MANAGES_ZKfalsehbase-site.xml vim…

【算法】洗牌算法

目录1.概述2.代码实现2.1.暴力法2.2.Fisher-Yates 洗牌算法3.应用本文参考: LeetCode 384. 打乱数组 1.概述 (1)洗牌算法可以理解为:设计算法来打乱一个没有重复元素的数组 nums,并且打乱后,数组的所有排列…

使用C++实现学委作业管理系统

开发环境学委作业管理系统在 Microsoft Visual Studio 2013 编译器开发的 MFC 项目,计算机使用的系统是 window10。1.2 基本原理与技术要求熟悉文件读写、mfc 基本知识、c 类运用、链表使用、排序算法、Microsoft Visual Studio 2013 编译器的使用。1.3 需求说明学委…

【数据结构】二叉搜索树的实现

目录 一、二叉搜索树的概念 二、二叉搜索树的中序遍历用于排序去重 三、二叉搜索树的查找 1、查找的非递归写法 2、查找的递归写法 四、二叉搜索树的插入 1、插入的非递归写法 2、插入的递归写法 五、二叉搜索树的删除 1、删除的非递归写法 2、删除的递归写法 六、…

autojs模仿QQ长按弹窗菜单(二)

牙叔教程 简单易懂 上一节讲了列表和长按事件 autojs模仿QQ长按弹窗菜单 今天讲弹窗菜单 由粗到细, 自顶向下的写代码 我们现在要修改的文件是showMenuWindow.js function showMenuWindow(view) {let popMenuWindow ui.inflateXml(view.getContext(),<column><bu…

基于双层优化的微电网系统规划设计方法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

机制设计原理与应用(一)机制设计基础

什么是机制设计&#xff1f; 微观经济学和CS /EE的交叉学科。它采用了一种工程方法来设计激励机制&#xff0c;以实现战略环境中不完全信息的预期目标。机制设计具有广泛的应用,特别是在资源管理方面。 文章目录1 机制设计的基础1.1 简介1.2 机制设计与博弈及优化的关系1.3 机…

手撕Pytorch源码#4.Dataset类 part4

写在前面手撕Pytorch源码系列目的&#xff1a;通过手撕源码复习了解高级python语法熟悉对pytorch框架的掌握在每一类完成源码分析后&#xff0c;会与常规深度学习训练脚本进行对照本系列预计先手撕python层源码&#xff0c;再进一步手撕c源码版本信息python&#xff1a;3.6.13p…

大数据之HBase集群搭建

文章目录前言一、上传并解压HBase安装包二、修改HBase配置文件&#xff08;一&#xff09;hbase-env.sh&#xff08;二&#xff09;hbase-site.xml三、配置环境变量四、复制jar包到lib文件夹五、修改regionservers文件六、分发安装包和配置文件七、启动Hbase八、验证HBase是否启…

尚硅谷前端ES6-ES11

ECMAScript 是由 Ecma 国际通过 ECMA-262 标准化得脚本程序设计语言。 1.let变量声明以及变量声明特性 <body><script>//let的声明let a , b10;//特性1&#xff1a;变量不能重复声明&#xff0c;避免命名污染// let star "罗翔"// let star "张…

Java | 浅谈多态中的向上转型与向下转型

文章目录&#x1f333;向上转型&#x1f4d5;概念明细&#x1f4aa;使用场景1&#xff1a;直接赋值&#x1f4aa;使用场景2&#xff1a;方法传参&#x1f4aa;使用场景3&#xff1a;方法返回&#x1f4aa;向上转型的优缺点&#x1f333;向下转型&#x1f529;向下转型解决【调用…

程序员拯救了一次地球

流浪地球2&#xff1a;程序员拯救了一次地球 顺便给我们讲了一个道理&#xff1a; 人类会谋划未来&#xff0c; 但关键的一步是靠勇气迈出去的 趣讲大白话&#xff1a;算得好不如胆量好 *********** 电影工业的皇冠是特效 国产电影的特效进步不小 时时刻刻&#xff0c;分分秒秒…

用户画像计算更新

3.1 用户画像计算更新 目标 目标 知道用户画像建立的流程应用 无 3.1.1 为什么要进行用户画像 要做精准推送同样可以使用多种推荐算法&#xff0c;例如&#xff1a;基于用户协同推荐、基于内容协同的推荐等其他的推荐方式&#xff0c;但是以上方式多是基于相似进行推荐。而构…

ROS移动机器人——ROS基础知识与编程

此文章基于冰达机器人进行笔记整理&#xff0c;使用的环境为其配套环境&#xff0c;可结合之前的ROS&#xff0c;赵虚左老师的文章结合进行观看&#xff0c;后期也会进行整合 1. ROS安装 &#xff08;1&#xff09;配置ubuntu的软件和更新&#xff0c;允许安装不经认证的软件…

JS手动触发PWA安装窗口

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的博客 &#x1f34a;个人信条&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为往圣继绝学&#xff0c;…

仿写Dubbo-初识Dubbo

概念 Dubbo 在Dubbo官网介绍到&#xff0c;Apache Dubbo 是一款 RPC 服务开发框架&#xff0c;用于解决微服务架构下的服务治理与通信问题。 RPC RPC&#xff08;Remote Procedure Call&#xff09;远程过程调用协议&#xff0c;一种通过网络从远程计算机上请求服务&#xff0c…

【Android】手机安装Termux运行nodejs学习Javascript编程入门

Termux 是运行在Android手机上的一个 Linux 终端模拟器&#xff0c;干什么都要输入命令执行&#xff0c;不像 Windows 操作系统桌面用鼠标点点点&#xff0c;这里主要介绍用它来学习Javascript编程入门&#xff0c;当然&#xff0c;这和小时候学过的C语言编程课入门一样的&…

C语言之程序设计概述

1.1.1 程序的概念 程序&#xff1a;算法 数据结构 程序设计方法 语言工具和环境数据结构&#xff1a;数据的类型和数据的组织方式算法&#xff1a;对数据操作的方法和步骤 1.1.2 程序设计语言的种类 第一代语言&#xff08;机器语言&#xff09;&#xff1a;执行效率高、…