日期:2014-05-16  浏览次数:20515 次

Oracle clusterware组成概述
       ㈠ clusterware和RAC的关系
       
          狭义上,RAC指借助“某种集群件”搭建出来的一个“多实例、单数据库”的环境
          这里的集群件可以是 Oracle clusterware、Sun cluster等
          clusterware把分布式主机虚拟成一个计算机
          RAC把分布式实例虚拟成一个实例
          clusterware向下管理硬件资源,向上为RAC提供服务
          
       ㈡ Oracle clusterware组成
       
          ① 磁盘文件
             
             OCR disk和voting disk必须放在共享存储上
             
             ⑴ OCR disk
             
                由于修改节点的配置信息不同步引起的“健忘”问题
                Oracle采用OCR disk保存整个集群的配置信息
                OCR disk的位置在/etc/oracle/ocr.loc
                配置信息以“key-value”形式保存
                
                每个节点在内存中都有一份OCR disk的拷贝,这份内存叫 OCR cache
                OCR cache的内容可由每个节点的OCR process读
                OCR disk的内容只能由master node上的OCR process读写
                master node上的OCR process负责更新本地和其他节点的OCR cache内容
                需要OCR 内容的其他进程,如CSSD、EVMD等都叫client process
                这些进程不会直接访问OCR Cache,而是向OCR process发送请求,借助OCR process获得内容
                如果想要修改OCR 内容,需要由该node的OCR process向Master node上的OCR process提交请求
                由master OCR process完成物理读写,并同步到所有OCR cache
                
             ⑵ voting disk
             
                在集群重构的投票阶段,节点向reconfig manager发送该节点所了解的成员的健康状况
                在network heartbeat不可用的情况下, cluster分裂成多个 subcluster时
                确定对方的subcluster中node的数量、发送killblock 以实现evictee的驱逐通知
                这是个信号的传递者
                crsctl query css votedisk查看voting disk的位置
      
          ② 后台进程
             
             在安装clusterware最后阶段,会要求在每个节点执行root.sh
             这个脚本会在/etc/inittab文件的最后添加如下3行:
             h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 < /dev/null
             h1:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 < /dev/null