分类目录归档:体系架构

看图说话——Exadata和Exalogic(或者Exadata)级联-2

上一篇,我们梳理了Exadata内部连接和2个Exadata的连接 看图说话——Exadata的网络架构 看图说话——Exadata和Exalogic(或者Exadata)级联-1 事实上,Exalogic和Exadata的 物理连线和两个Exadata之间的物理连线没有太大区别,只是对外出口,如果是Exalogic和Exadata的话,通常客户会买万兆模块,这个万兆模块从Exalogic上连接到客户的核心工作网络,提供应用接口。 当然,如果客户数据量很大,对备份有较高要求,那么也可以购买万兆模块安装在Exadata上,用于连接到客户的备份服务网络中(一般用在每个db节点的net3上)。 下面的图是一个1/4 Exalogic和1/4 Exadata的连接: 1/4 Rack没有Spine switch,因此,从这个图,我们看到,每个Leaf switch都需要连接到其他的Leaf switch上。小学2今年的奥数中貌似有类似的题目,O(∩_∩)O哈哈~ 计算下,总共几根线? 答:  每个Leaf switch需要连接两外3个Leaf switch,那么不考虑冗余的话,加上单机柜中本身两个Leaf switch的连线,总共是6跟。也就是说,客户最少需要额外购买的4根Infiniband线(客户可以从oracle购买,也可以自己找符合要求的厂商定做),当然,如果考虑冗余的话,需要至少8跟。 下面看下1/4 Exalogic跟1/2 Exadata或者Full Rack连接的情况: 我们看到,实际上,除了Exadata上本身两个Leaf连接自身的Spine switch外,没有多余的概念,也就是仍然是客户需要额外购买至少4跟Infiniband,考虑冗余的话,需要至少8根。 就这么简单的算法,学过奥数的同学们或者家里有宝宝学习奥数的,下次有这样需求,直接出一道题给孩纸们,他们会很快算出来的,O(∩_∩)O哈哈~ 从上我们讲的Exalogic连接Exadata,我们知道他们走了Infiniband的高速互联网络,那么这个网络在软件层面如何搭建呢? 如何配置他们的SDP连接? 下次,我们讲这个,O(∩_∩)O哈哈~

发表在 体系架构 | 标签为 , , , , | 留下评论

看图说话——Exadata和Exalogic(或者Exadata)级联-1

上一篇,我们梳理了Exadata的网络架构,今天我们说说Double-E的物理联线。 看图说话——Exadata的网络架构 通常我们说Double-E,这里E可以使Exadata,也可以是Exalogic,Double—E级联的方法都差不多,但是X4以后会有变化,因为X3-2和X3-2以前,从1/2 Rack开始都带有一个Spine switch,也就是你在真机上看到的位于机柜最下层的IB Switch,这个Spine Switch主要作用就是用于机柜间的级联。而中间的两个IB Switch叫做Leaf switch,这个适用于机柜内部节点间通信(db和db通信,db和cell通信等)。 现在我们先说说,在一个机柜的情况: 从这个图,我们很清晰的看到,在一个机柜中,每个Leaf switch都需要跟另一个Leaf switch连接,同时,每个Spine switch还需要和机柜中的所有Leaf switch连接。也就是他们之间至少3根Infiniband连线。 那么如果是两个满配的Exadata如何连接呢? 可以看到,如果两个满配的机柜级联,那么每个Leaf switch都会有两根线,分别连接到两个机柜的Spine switch,而在每个机柜中的2个Leaf switch之间无需连接了。 其实看这个图,如果数据比较好的同学马上就发现了,一共需要多少根连线? X3和X3以前,1/2 Rack和Full Rack都出厂自带2个Leaf switch和1个Spine switch。X4没有带了,需要单独购买,连接方式也有变化)。这里,每个机柜中的Spine  switch都需要连接本机柜和其他机柜的所有Leaf switch,那么两个机柜中就有4个Leaf switch,总共2个Spine switch,因此,就需要至少8根连线。 我们可以推算一下,如果有3个柜子级联,那么每个Spine Switch上需要多少根线呢?3个机柜级联,总共需要多少根线呢? 答: (1)每个Spine switch上有6根线。 (2)每个柜子2个leaf switch,3个柜子共6个leaf switch,因此,每个Spine switch上至少会出来6根线,因此3*6=18根连线 X4开始,每个Leaf … 继续阅读

发表在 体系架构 | 标签为 , , | 留下评论

看图说话——Exadata的网络架构

下面两个图是Exadata的Owner Guide中讲解网络链接和部署的。 安装好了Exadata,我们需要熟悉Exadata上都有哪些部件,比如数据库服务器,存储服务器,思科交换机,2个PDU(用于冗余)等等,他们是怎么接到咱们的生成环境的,他们之间是怎么连接的,我们怎么去管理他们。。。 X2-2和X3-2的连接方式: X2-2的图,X3的图跟这个没有太大差别,只是X3以后没有KVM了,X4以后,少了一个Spine Switch(需要单独购买)。 其他没太大区别(X4的IB绑定有变化,后续会详细解释)。Sun的ILOM做的非常好,实际上很多管理功能,都可以通过ILOM来完成。 比如前面讲的使用ILOM来完成ISO image的Reimage功能,重启节点功能,还有收集信息功能,系统启动时troubleshooting等等。   计算节点上的对外服务部分有两种方式: 1,一种是NET0和NET1绑定作为client,接入到客户的核心网络,提供对外的数据库连接服务。 2,一种是不绑定,那么通常NET1连接到核心网络,提供数据库连接服务,NET2和NET3都作为其他用途,比如他们分别俩接到备份和灾备网络等等。 当然,大部分客户是绑定net0和net1作为bondeth0来对外提供数据库服务用。 X4-2的连接方式: 在网连接上,X2-2和X3-2的连接方法基本没有太大区别。 但是从X4开始,IB不在安装时进行绑定了,而是分别连接到IB1和IB2两个IB交换机上,这是因为从X4开始提供Active-Active的方式,带宽从40Gb/s升级为80Gb/s。 但是如果Double-E级联(比如2个Exadata机柜,或者Exadata跟Exalogic级联),就不能使用这种Active-Active的方式。 除此以外,我们看到,其余部分的连接都基本相同。 从上面的图我们可以看到,exadata上的网络主要分为4大块: 第一部分,是位于最下面的绿色区域的Infiniband网络连接,也就是exadata的内网。 内网主要是数据库服务器和存储服务器通过两个Infiniband交换机连接,能够获得高带宽低延迟带来的高性能。   第二部分,就是蓝色部分的管理网络。 Exadata上所有的部件都有一根线连接到思科交换机上。然后从思科交换机上有一根线接入到客户的管理网络,这样就方便客户管理。 其实就像传统小机+存储的架构一样,小机也都要连接到客户的管理网段的交换机,然后远程维护(比如使用crt,xmanager等等字符或者图形的管理工具维护客户的小机) exadata上的所有部件也都要让客户可维护和可管理,就是通过各部件连接到思科交换机,然后思科交换机接入到客户的管理网段。 连接到思科交换机的部件有: (1)在X2上有KVM,因此KVM要连接到思科交换机 (2)然后两个PDU(PDUA , PDUB)分别连接线到思科交换机上,也是为了远程管理。 当然需要管理PDU的时候不多,但是如果安装一些监控软件,比如oracle 的grid control的时候就需要能够连接PDU,因此,我们一般也把PDU接入到思科交换机 (3)在每个数据库服务器和存储服务器上有一个类似于芯片的部件,我们称之为ILOM。 它是一个远程管理的接口,我们通过ILOM可以做所有数据库的维护工作,包括安装,升级,刷机,启动和关闭主机,监控主机启动,关闭过程。。。。。 这个ILOM也要连接到思科交换机,然后客户就通过浏览器的方式管理每一个部件 (4)每一个数据库服务器和存储服务器上的NET0口就是管理口,使用这个端口接入思科交换机 这些部件都通过思科交换机,接入到客户的管理网络,包括客户如果使用EM(即grid … 继续阅读

发表在 体系架构 | 标签为 , | 6 条评论

如何看待exadata的cell节点出现的writethrough/wirteback模式更换或者控制器充放电信息

Exadata使用的是LSI的disk driver,在定期进行的HC中,如果cell上出现类似下面的信息,需要考虑是否需要更换或者bug: 这个信息意味着disk controller写cache的策略从”write-back” 更改为 “write-through” 了,原因是电池学习周期(battery learn cycle)正在进行。 这个学习周期一年回周期性的执行4次,这个操作主要是每次执行一次控制器电池的充电和放电(discharge and charge)操作。 在Image 11.2.1.3之前,每个月执行一次 从Image 11.2.1.3开始,每3个月执行一次: 每年的1月/4月/7月/10月 的17日凌晨2点 这个缺省的时间(下一次学习的时间)可以使用命令修改,例如: cellcli> alter cell bbuLearnCycleTime=”2013-01-22T02:00:00-08:00″ Oracle推荐所有cell磁盘的电源学习周期是同一个时间。 众所周知,Write-through 的性能比 write-back 差。但是当存储crash或者电源丢失(looses power)发生时,write back有丢数据的风险。 因此,在电池学习周期中,会自动将写策略从写回模式(write-back)修改为写模式(Write-through) 如果在cell 的alert上看到类似下面的信息: 需要连接到cell节点,查看一下电池充电的百分比: 当充电完成后,可以在cell的alert上看到如下信息: 连接到cell节点,查看磁盘的写模式(writethrough/writeback)的状态,可以发现: 同样在 上面信息显示了10月17日凌晨:02:00cell01上有一个逻辑盘开始学习,完成时间是10月17日早上7:33。充电完成后,磁盘驱动器已经改回了writeback模式。 通常电池充电(Learning state)可能需要几个小时,如果充电完成后没有自动改回wirteback模式,可能是控制器电源出现问题,需要联系support … 继续阅读

发表在 体系架构, 安装和升级, 硬件配置 | 标签为 , , , | 留下评论

Flashcache WriteBack的常用Metric和event

User guide上列出了全部的Metric,这里只说些一般比较关注的: FC_BY_USED – number of MB cached (total) FC_BY_DIRTY – number of dirty MB cached (data written only to FlashCache but not to disks) GD_BY_FC_DIRTY – number of dirty MB cached for the griddisk CD_BY_FC_DIRTY – number of dirty … 继续阅读

发表在 FAQ, POC和性能调整, 体系架构, 硬件配置 | 标签为 , , | 留下评论

Smart Flash Cache on Exadata(4)—使用flash cache

对于表和索引,可以在创建表时使用storage子句将表保存在flashcache中,如果表已经创建完成了,那么可以使用alert table或者alert index命令进行修改相应对象的storage属性,将对象混存在flash cache中。 我做了两张测试表,他们数据的内容基本一直,不过一张是压缩表,一张是非压缩表: 缓存对象到flash cache的语法如下(类似这样对象的IO,我们都称之为 ”Smart Scan I/Os” ): 取消对象在flash cache的缓存: 一般在POC或者生产上,我们会按照一定的条件(比如过滤掉超大的表或者分区等等)生成符合条件的表或者索引的keep 命令: 例如,使用下面的语句,将生成满足条件的表的缓存语句: 对于已经创建的对象,要修改其CELL_FLASH_CACHE属性,可以使用如下命令: 要知道当前对象的设置,可以查询dba_tables(all_tables, user_tables)或者dba_indexes(all_indexes, user_indexes)的CELL_FLASH_CACHE列: 还可以在cell上使用cellcli工具和命令” LIST FLASHCACHECONTENT”查看: 我们注意到这里cachedKeepSize=0, 表示这个表曾经被cache了,后来执行了类似“alter table XXX STORAGE (CELL_FLASH_CACHE none);”的命令,取消的cache到flash cache的操作。 而上面的objectNumber= 112912没有任何输出,表示这个表没有被缓存过。 通常,POC或者生产上,我们更多的是生成批量查看对象缓存内容的语句: 具体我们看一下” LIST FLASHCACHE DETAIL”和”“ LIST FLASHCACHECONTENT”的官方说明: … 继续阅读

发表在 FAQ, 体系架构, 硬件配置 | 标签为 , | 留下评论

Smart Flash Cache on Exadata(3)—Write-back

在Exadata image 11.2.3.2.0以前的版本中,仅支持Write Through模式,该模式的读写流程已经在”Smart Flash Cache on Exadata(2)—Write through“种讨论过了。需要注意的是:这个模式的flash cache在Cellsrv重启之后Flash Cache上的数据变成Invalid,而Write-Back模式则不会,这是他们的工作原理决定的……。 从Image 11.2.3.2.0版本开始,原来仅支持Write Through 模式的Flash Cache现在可以支持Write Back模式了。但是Wtite Back模式不是缺省属性(缺省值还是Write through模式),需要手工修改来启用这个特性。Write Through和Write Back这两个模式之间的切换需要重启Cellsrv服务,否则会报错: 将Smart Flash Cache修改为Write Back模式的具体方法如下: 2.enable Write-back模式 另外,要支持Write Back模式需要以下版本的介质(老版本的cellcli上使用DESCRIBE CELL命令也看不见flashCacheMode这个属性):  DB Patch for Exadata 11.2.0.3.x BP 9以上  推荐Exadata … 继续阅读

发表在 FAQ, 体系架构, 硬件配置 | 标签为 , | 留下评论

Smart Flash Cache on Exadata(2)—Write through

每个Exadata配备的Flash disk,这些flash disk可以创建flash grid disks来存放频繁访问的数据,也可以做成Exadata Smart Flash Cache,然后将频繁访问的数据cache在Exadata Smart Flash Cache。 缺省情况下,Create Cell命令会创建create flash cell disks,然后在这些flash celldisk上创建Exadata Smart Flash Cache。下面是使用onecommand安装过程中创建celldisk和griddisk的步骤,缺省是将flash disk创建为 Exadata Smart Flash Cache(不同版本的onecommand执行情况稍有不同): 然后创建 flashlog: 然后创建 flashcache: 当然,你可以根据情况创建为FlashDisk(而非Flash Cache): 一般情况下,我们有这样的对比数据(多次测试对比的结果和个人经验值): Disk的IO: 168块600G的光线盘, 容量大概 100TB, 吞吐量在 25GB/sec,左右 Flash的IO: 56 … 继续阅读

发表在 FAQ, 体系架构, 硬件配置 | 标签为 , | 一条评论

Smart Flash Cache on Exadata(1)—介绍

Exadata上的闪存卡是做什么用的呢? 引用一段白皮书的内容: Exadata智能闪存(Smart Flash Card)自动将频繁访问的数据在PCI闪存中缓存,同时不常访问的数据仍保持在磁盘中。这种方式兼具闪存的高性能与磁盘的大容量和低成本。Exadata智能闪存了解数据库的工作负载,并知道何时避免缓存不被重复利用或不适合缓存的数据。Oracle数据库和Exadata存储允许用户任意指定数据库表、索引和段级别的数据驻留在闪存上。和传统的存储和闪存盘不同的是,表可以驻留在闪存中,且不必将表移动到另外的表空间,文件或卷中。 Exadata系统采用的是最新的 PCI闪存技术而不是闪存盘技术。PCI闪存是将闪存直接部署在高速PCI总线上,代替了部署在缓慢的磁盘控制器和磁盘管理器之后的方式,大大提升了性能。 Exadata上Smart Flash Cache的发展 2009年, Exadata V2开始配置Flash Card(F20),每个cell配置了384G的闪存,详见V2的白皮书: 具体的硬件信息请参考: http://pts-storage.us.oracle.com 相应的V2的文档请参考: http://docs.oracle.com/cd/E18476_01/index.htm V2上Exadata的Flash Card的配置如下: • Full rack => (14 hosts x 4 F20s) + 2 replacement F20s = 58 F20s • Half rack => … 继续阅读

发表在 FAQ, 体系架构, 硬件配置 | 标签为 , | 留下评论