Exadata扩展
所谓Exadata扩展,也即向现有的Exadata环境中增加新的数据库服务器或存储服务器。
扩展原则
可以依循以下规则扩展Exadata:
(1).可以将Exadata从某种固定配置扩展到另一种固定配置。例如:从八分之一的机架扩展到四分之一的机架,或四分之一配置的机架扩展到半机架,或把半机架扩展到全机架。
(2).还可以通过单独增加数据库服务器或存储服务器的任何组合(添加到允许的最大值),来将Exadata从固定或自定义配置扩展到另一个自定义的配置,这种扩展被称为弹性配置。
(3).可以扩容不同磁盘类型的存储节点,比如:高性能磁盘的现有环境中再扩容高容量的存储节点,反之亦然。但不能在同一个ASM磁盘组中混合磁盘类型。比如:如果现有的磁盘组都使用高性能磁盘,此时如果向Exadata机架中添加了高容量磁盘的存储节点,则需要为高容量磁盘存储节点创建新的磁盘组。
(4).添加Exadata X4-2或更高版本的数据库服务器或存储服务器时,infiniband网口绑定配置方式必须与机架中的现有服务器相匹配。也即:如果现有环境的infiniband网口是active-active模式,则新增的机器也用active-active模式,如果现有的环境是active-backup模式,则新增的机器也必须用active-backup模式。
(5).当扩展新的机架或服务器时,新的服务器很可能具有比当前机架更高的image版本或修补程序级别。在某些情况下,你可能希望将当前机架版本更新到更高版本。而在其他情况下,你可能希望保留当前版本,而选择对新的服务器重新刷机以匹配当前机架的版本。无论你选择做什么,请务必确保现有的和新的服务器存储软件版本保持相同。
(6).Exadata中的InfiniBand网络可用于外部连接。36口的InfiniBand交换机中的外部连接端口可以连接到介质服务器,以进行磁带备份,数据加载以及客户端和应用程序的访问。每台infiniband叶子交换机上有6个空闲端口,分别是:5B,6A,6B,7A,7B和12A。这些空闲端口可以连接外部网络。我们知道,一台满配的EXADATA有8台计算节点和14台存储节点,这两种服务器则分别占用每个叶子Infiniband交换机22个端口,而两个叶子Infiniband交换机之间的互联又占用7个端口,所以每个叶子Infiniband交换机会被占用29个端口,对于36口的Infiniband交换机,理论上每个叶子Infiniband交换机上空闲了7个端口,为什么只有6个可用于外部连接呢?其实最后的这个端口是用于infiniband叶子交换机与机架内部的infiniband骨干交换机连接的。在X4以前的满配或半配机架中自带了这个infiniband骨干交换机,所以这个端口也被占用,但X4开始,无论什么配置,都没有这个infiniband骨干交换机,所以多空闲出一个端口。
注意:
在扩展Exadata X4-2 及之后版本的机架之前,必须先订购Sun 的36 口InfiniBand交换机,然后再订购infiniband电缆线,因为X4及之后的各型号只携带两个36 口InfiniBand交换机,缺少了infiniband骨干交换机。
获取当前配置信息
在扩展现有的Exadata之前,需要先收集当前Exadata环境的配置信息,收集信息的目的就要是用于确定配置新服务器的IP地址、当前环境是否需要image版本升级等等。
在扩展机架之前,收集以下信息:
(1).当前环境的exachk报告。
(2).image版本信息:
|
# imagehistory |
(3).计算节点和存储节点的IP信息:
|
# ifconfig |
(4).存储节点的celldisk、flashcache和iormplan等信息:
|
# cellcli -e list cell detail # cellcli -e list physicaldisk detail # cellcli -e list griddisk attributes name,offset,size,status,asmmodestatus # cellcli -e list flashcache detail # cellcli -e list flashlog detail # cellcli -e list iormplan detail |
(5).计算节点的大内存页设置:
|
# cat /proc/meminfo | grep -i 'HugePages' |
(6).IB交换机相关信息:
|
# ibswitches # version |
(7).计算节点的网络配置信息:
|
# cat /etc/resolv.conf # cat /etc/ntp.conf # cat /etc/network # cat /etc/sysconfig/network-scripts/ifcfg-* |
(8).GI集群和数据库版本信息:
|
$ opatch lsinventory -oh $GRID_HOME -detail -all_nodes $ opatch lsinventory -oh $ORACLE_HOME -detail -all_nodes |
Exadata扩展简要步骤
一台Exadata自身的扩展,无论是1/4配扩展到半配,半配扩展到满配,还是弹性配置扩展,简单来说,可以概括为以下几个简要的步骤。
(1).新服务器上架:
也即安装新服务器的活动导轨,将新的服务器安装固定在机架内部。安装新的服务器时,最好遵循先下后上的原则,即从机架中最下部空闲的单元中开始安装新服务器,避免"头重脚轻"的问题。
(2).新服务器连线:
将新安装的服务器的ILOM线、管理网线、Infiniband线等等连接到现有的网络环境中。连线时,强烈建议严格按照官方文档中标记的详细端口使用来连接网线,不要随意地连接任意空闲的端口。
(3).确定存储软件版本:
通常情况下,在Exadata扩展时,当前的Exadata版本与新扩展的服务器版本都会有一两代的代差。简单而言,就是例如当前是X3-2环境,需要扩展时,可能是几年之后的事情,此时,我们只能扩展X4或X5的服务器。
相应地,就需要考虑扩展之后,整个集群环境中Exadata存储软件版本一致的问题,绝大部分情况下,都是需要将现有的环境升级,以满足新服务器高存储软件版本的要求。
现有环境的升级是一个非常巨大的工程,所以,只要条件允许,通常选择将新的服务器重新刷机,降级新服务器中的存储软件版本,以匹配现有的环境(绝大部分情况,是不满足降级条件的)。
(4).新服务器初始化:
对新扩展的服务器加电并初始化,为新服务器加入集群作准备。
(5).新服务器加入集群:
将新的数据库服务器通过增加节点的方式,扩展到现有的集群环境中即可。
将新的存储服务器扩展到整个存储环境中,此时涉及到新的存储如何使用问题,如果新的存储类型与现有的存储类型不一致,即高性能与高容量混用时,新存储必须单独创建成新的ASM磁盘组,而不能将新存储加入到现有的ASM磁盘组中。如果新的存储类型与现有的存储类型一致,则新存储也必须完全按照现在存储的划分方式来划分新存储,然后就新存储加入到现有的ASM磁盘组中。例如:现有环境是3TB的高容量盘,新扩展的存储是4TB的高容量盘,此时需要将新存储中划出3TB的盘加入到现有的ASM磁盘组中,剩余的1TB空间单独再创建新的ASM磁盘组。
注意:
即使同为高容量盘,只要容量不一致,性能其实也是有区别的,所以推荐的做法是:扩展的新存储,单独做成ASM磁盘组,而不是扩展到现有的ASM磁盘组中。
Exadata扩展的更多相关文章
- [转帖]“剖开” LinuxONE 和 Exadata,架构专家解读里面到底有什么
“剖开” LinuxONE 和 Exadata,架构专家解读里面到底有什么 http://server.zhiding.cn/server/2018/0914/3111044.shtml 说起I ...
- 2.Exadata 硬件体系结构
Exadata 硬件加构: 高性能,低成本 冗余 线性扩展 ,具有超强性能,开箱即用 例 2-2的满配: 8台数据服务器组成(2C 6核) (3-2是10核, 4-2,5-2 是12核 ...
- 1.Exadata技术演进
V1-v2 和 HP Exadata 2-2 和 SUN 2011 3-2 4-2 5-2 2014底 2-2 混合运算 2-8 是大数据运算 问题1. 随着系统规模增加,传统数据库架 ...
- Asp.net Boilerplate之AbpSession扩展
当前Abp版本1.2,项目类型为MVC5. 以属性的形式扩展AbpSession,并在"记住我"后,下次自动登录也能获取到扩展属性的值,版权归"角落的白板报"所 ...
- 恢复SQL Server被误删除的数据(再扩展)
恢复SQL Server被误删除的数据(再扩展) 大家对本人之前的文章<恢复SQL Server被误删除的数据> 反应非常热烈,但是文章里的存储过程不能实现对备份出来的日志备份里所删数据的 ...
- .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法
.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...
- .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类
.NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...
- 采用EntityFramework.Extended 对EF进行扩展(Entity Framework 延伸系列2)
前言 Entity Framework 延伸系列目录 今天我们来讲讲EntityFramework.Extended 首先科普一下这个EntityFramework.Extended是什么,如下: 这 ...
- Dapper扩展之~~~Dapper.Contrib
平台之大势何人能挡? 带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4822808.html#skill 上一篇文章:Dapper逆天入门~强类型,动态类型 ...
随机推荐
- hibernate 延长加载范围
1. 关闭延迟加载功能 lazy="false"2.修改抓取策略 fetch="join"直接查询关联数据,一个联接查询搞定3.使用Hibernate对象的in ...
- Java中Exception的种类
通常来讲,Java中的异常会被分为三种: Error: 这种异常被设计成不被捕获,因为这种异常产生于JVM自身. Runtime Exception: 运行时异常往往与环境有关,编译时无法检查,并且可 ...
- Tiny4412 u-boot分析(1)u-boot配置流程分析
参考Friendlyarm的文档,编译uboot的流程为 make tiny4412_config make 这个过程主要涉及到两个文件,顶层的Makefile文件和mkconfig文件,makeco ...
- C#高级参数ref的使用
ref关键字用于将方法内的变量改变后带出方法外.具体我们通过例子来说明: 例子中,将变量n1和n2交换了.如果没有加ref参数,由于没有swadDemo()方法没有返回值,调用后,n1和n2是不会交换 ...
- Solr查询错误
报错: Exception in thread "main" java.lang.VerifyError: Bad return type Exception Details: L ...
- 第4章 ZK基本特性与基于Linux的ZK客户端命令行学习 4-2 session的基本原理与create命令的使用
客户端与服务端之间存在的连接,那么这样的一个连接我们就称之为会话,也就是session.其实就相当于是我们在做JSP或者说是Service的时候,那么服务端是Servlet,客户端使用的是浏览器.浏览 ...
- 3-3 zookeeper的作用体现
zookeeper比较重要的一个模式:选举模式,这也是高可用的一个体现.公司的董事长.副董事长.董事会常理员以及老总和副总,他们并不会乘坐同一班飞机,而是会分为两班或者三班飞机一起去,也就是我们所谓的 ...
- [poj3686]The Windy's(费用流)
题目大意: 解题关键:指派问题,待更. #include<cstdio> #include<cstring> #include<algorithm> #includ ...
- 51NOD1052 最大M字段和
传送门 分析 一眼看去我们自然会想到dp[i][j][k]表示区间[i,j]中选k个子段的最大值.然后我们考虑降去一维.我们设dp[i][j]表示考虑了前i个数,在选了a[i]的情况下共有j个子段的最 ...
- Person.post请求------详细过程
首先,在PersonRepository的父类中查找save方法,如下: @Override @TransactionalMethod public <S extends D> S sav ...