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逆天入门~强类型,动态类型 ...
随机推荐
- DAY10-MYSQL数据类型
一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考: http://www.runoob.com/mysql/mysql-data ...
- [CSS Hack]解決IE6、IE7、IE8、Firefox的瀏覽器相容性問題!
每次調CSS最令人頭痛的就是瀏覽器校正問題,因為每個瀏覽器對CSS的解釋都不太一樣,Firefox本身算是比較照規矩來,處理上比較簡單,但是遇到微軟的IE系列頭就大了,雖然都是IE,但是IE6.IE7 ...
- @SuppressWarnings("unused")注解的作用
JDK5.0后的新特性,你在使用IDE如eclipse的时候,当你定义了一个变量如int a=0;但是你后面根本就没有使用到这个变量,这一行的前面会有一个黄色的警告标志,你将鼠标移动到上面会提示“这个 ...
- 每天一道算法题(14)——N个降序数组,找到最大的K个数
题目: 假定有20个有序数组,每个数组有500个数字,降序排列,数字类型32位uint数值,现在需要取出这10000个数字中最大的500个. 思路 (1).建立大顶堆,维度为数组的个数,这里为20( ...
- oracle DDL(create、alter、drop)
一.创建表1.创建表CREATE TABLE <table_name>( column1 DATATYPE [NOT NULL] [PRIMARY KEY], column2 DATATY ...
- Angular问题03 @angular/material版本问题
1 问题描述 应用使用 angular4在使用@angular/material时,若果在导入模块时使用mat开头,就会报错. 2 问题原因 @angular/material版本出现问题,@angu ...
- IOS UITableView分组与索引分区实例
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...
- 形式化验证工具(PAT)2PC协议学习
今天我们来看看2PC协议,不知道大家对2PC协议是不是了解,我们先简单介绍一下. 两阶段提交协议(two phase commit protocol, 2PC)可以保证数据的强一致性,许多分布式关系型 ...
- WebGoat系列实验Access Control Flaws
WebGoat系列实验Access Control Flaws Using an Access Control Matrix 在基于角色的访问控制策略中,每个角色都代表了一个访问权限的集合.一个用户可 ...
- Spring Bean的装配
Bean 的装配,即Bean对象的创建.容器根据代码要求创建Bean对象后再传递给代码的过程,称为Bean的装配. 一.默认分的装配方式 默认的装配的方式调用Bean类的构造方法 二.动态工厂Bean ...