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逆天入门~强类型,动态类型 ...
随机推荐
- 类型:.net;问题:C#lambda表达式;结果:Lambda表达式详解
Lambda表达式详解 前言 1.天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西. 2.夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅.据说它是微软自c#1 ...
- 问题:oracle if;结果:Oracle IF语句的使用
oracle 之if..else用法 oracle条件分支用法 a.if...then b.if...then... else c.if...then... elsif.... else 实例 1 问 ...
- Shell编程进阶 1.9 while循环
while 死循环 vim while.sh #!/bin/bash ## while : do date +%T sleep done : 永久帧 查看时间 3秒循环1次 打印1-10 #!/bin ...
- ActiveMQ (一) 介绍与安装
ActiveMQ是消息中间件的一种 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provide ...
- 开发工具 idea 激活方法
1. 到网站 http://idea.lanyus.com/ 获取注册码. 2.填入下面的license server: http://intellij.mandroid.cn/ http://ide ...
- vue 跨域访问http
axios用法: npm install axios --save-dev 2.导入: import axios from 'axios'; 3.使用($(form)需要先按装jQuery) axio ...
- activeMQ功能Demo
1. 请阐述ActiveMQ的作用 2. 请描述ActiveMQ的工作原理 1. 解决服务之间耦合 2. 使用消息队列,增加系统并发处理量 3. 使用Java程序编写生产者发送10条“你好,activ ...
- ROS Learning-022 learning_tf-06(编程) 现在与过去中穿梭 (Python版) --- waitForTransformFull() 函数
ROS Indigo learning_tf-06 现在与过去中穿梭 (Python版) - waitForTransformFull() 函数 我使用的虚拟机软件:VMware Workstatio ...
- Windows libQGLViewer2.7.0,libQGLViewer2.6.2与g2o20160427, g2o20170730编译生成G2O
1. Win10, VS2013, libQGLViewer2.6.2 和 QT5.6.3编译时候会出错,初步判断libQGLViewer2.6.2不支持QT5 错误 error LNK1120: 个 ...
- (华为机试大备战)java。多了解了解最常用的那个类库的方法对处理字符串的方法
1.常考字符串处理:对处理字符串的方法. (a)统计字符串中特定字符的个数. 2.郭靖考了一道二维数组?? 3.多了解了解最常用的那个类库的方法.