oracle11grac基礎結構
由於工作需要,需要了解詳細的oracle rac體系架構,下面分幾個方面闡述
1. oracle rac的幾大元件
1.OHAS ---OHAS是oracle11gr2推出的一個重要元件,是叢集啟動的唯一起始點,其他的守護程式和叢集管理的資源同一定義為資源,同時,叢集管理軟體使用代理程式(agent)來同一實現對對所有資源的管理
1.ocr和olr
OCR是儲存CRSD所有管理資源的登錄檔,但是在crsd啟動之前,還有很多初始化資源沒有啟動,所以11g版本中推出了OLR
OLR是儲存在本地的叢集登錄檔 ,作用是為ohasd提供叢集的配置資訊和初始化資源的資訊--(當OHAS啟動的時候,從/etc/oracle/olr.loc檔案中讀取olr檔案)
OLR 可以通過ocrconfig -local -manualbackup進行備份
./ocrconfig -local -restore進行恢復
./ocrcheck -local進行一致性檢查
2.ohasd啟動的代理程式
1.oraagent-------這個程式以Oracle或者grid使用者啟動,負責管理oralce或者grid使用者的資源
其中ohasd只會啟動oraagent_grid --包括資源為 ora.gipcd ora.gpnpd ora.mdnsd ora.evmd ora.asm
mdns -- 和dns的功能類似,提供主機名到ip的對映(基本特性:小型私有網路提供民稱解析服務,使用多播傳送資訊,UDP協議,主機名以.local結尾),在rac中主要為gpnpd和Ohasd提供resource discovery(資源發現服務)
gpnpd -- grid plug and play ,將叢集的基本資訊儲存在本地,並通過和mdnsd通訊,靈活識別叢集中的其他節點。gpnp分為gpnp wallet(訪問profile的客戶簽名) gpnp profile(儲存啟動叢集節點的必須資訊) gpnp守護程式 (gpnp主執行緒,push執行緒,派遣執行緒,ocr執行緒),當叢集重要配置資訊發生變化時:本地派遣執行緒通知遠端節點派遣程式--> 本地push程式推送gpnp profile給遠端程式--> 遠端派遣程式接收新版本gpnp pfofile 當叢集啟動時:gpnp主執行緒訪問gpnp profile,並載入到cache中開啟,如丟失,則從olr中恢復---> 派遣執行緒向所有遠端節點傳送資訊確認最新版本gpnp profile位置 --> 擁有最新版本的節點向該節點傳送gpnp profile --->本地節點收到gpnp profile後開始提供服務
gipcd --確保叢集網路卡的一致性,不負責傳遞的資訊--HAIP負責傳遞資訊(1.當叢集啟動時,發現私網網路卡 2. 通過叢集私網發現其他節點並建立聯絡 3. 如果有多塊網路卡,當其中一塊有問題,離線他並通知其他幾點,反之恢復亦然)
啟動過程--》 gipcd守護程式啟動--》嘗試訪問gpnpd 獲取遠端節點資訊並與其通訊 --》發現本地私網資訊--》發現遠端節點 -->連線建立
2.orarootagent-------以root使用者啟動,管理root使用者的資源
ohasd啟動的資源為 ora.diskmon ora.ctssd ora.crsd ora.driver.acfs ora.cluster_interconnect.haip ora.crf
ctssd --> cluster time synchronize service 同步節點之間時間 (老版本使用ntp後者wts容易出現問題),工作方式(選擇一個參考節點,其他節點參考這個節點的時間)(如果有其他時間同步工具如ntp(注意如果有配置檔案也會認為存在同步工具),則使用觀察模式工作,觀察模式下不會修改系統時間,如果沒有其他時間同步工具,則以active模式工作,會緩慢自動同步節點之間時間資訊)
3.cssdagent----負責啟動ocssd.bin程式,之後負責監控ocssd.bin守護程式
ocssd守護程式每秒鐘都向 cssdagent和cssdmonitor註冊自己的狀態資訊同時如果有異常會進行異常處理
4.cssdmonitor------只負責監控Ocssd.bin守護程式
ocssd守護程式每秒鐘都向 cssdagent和cssdmonitor註冊自己的狀態資訊同時如果有異常會進行異常處理
3.HAIP和CHM
1.HAIP
對於Oracle資料庫叢集,私網之間的通訊是十分十分重要的,私網之前的通訊主要分為叢集之前和資料庫例項之前的通訊,叢集之間的通訊十分簡單,使用簡單的tcp/ip協議即可,但是資料庫例項之間的通訊十分龐大,而且資料實時性要求也很高,單純的tcp/ip不能滿足,需要UDP或者RDS,同時需要配置高可用和負載均衡。
HAIP出現是因為原先的資料庫對私網的高可用和負載均衡處理大多數依賴於作業系統層面配置的linux bonding等,oracle資料庫為了解決這個問題,於是提出了HAIP
什麼是HAIP,HAIP是資料庫自動在每一個私網網路卡上繫結一個169.254.*.*的IP地址,這個IP地址被稱為HAIP,而Oracle資料庫例項之間的通訊則會通過這個Ip地址進行通訊,,當某一個私有網路卡出現問題時,則會將這個私網的ip地址自動漂移到正常的私網網路卡上,這樣,實現了私網的高可用
2.CHM
chm是oracle提供的一個工具,用來收集作業系統資源(cpu mem swap proc i/o network)的統計資訊,chm會以ora.crf程式存在於每一個節點上。chm主要用來收集和預防一些由於系統異常導致的rac節點問題
chm和oswatcher的對比----實時性更強,但是保留時間沒有oswatcher強,同時功能也比不上oswatcher。
chm組成
1.chm repository----一個berkeley資料庫,儲存各個節點收集到的作業系統統計資訊,存放在/gi_home/crf/db/節點名下,預設大小為1G,最大保留時間為3天
2.system monitor service -- 以osysmond.bin形式存在於每個節點,負責收集每個節點資訊並將資訊傳送到主節點伺服器上
3.cluster logger service ----以守護程式 ologgerd的形式存在於主節點和副節點上,主節點負責接收所有節點的資訊,並記錄到主節點的chm repository 中,副節點的ologgerd則接收來自於主節點的資訊,記錄到副節點的chm repostiory中
2.css 部分
負責構建叢集和維護叢集的一致性
CSS啟動過程--構建叢集
1.ohasd守護程式啟動,並啟動對應的代理程式(包括css的oracssdagent_root)--> 2. oracssdagent_root啟動 ocssd.bin程式 --> 3. ocssd.bin訪問gpnpd.bin,獲取構建叢集的基本資訊,訪問gipcd.bin獲取遠端節點的資訊 --> 4. 和遠端節點通訊,並通過訪問VF和租借快獲取本地節點的編號,加入叢集
叢集心跳機制---維護叢集一致性
1. 如何維護叢集的一致性-->1.確認節點間的聯通性 2.共享位置儲存節點連通訊息 3.本地節點自我監控
2.維護叢集的三種心跳
1.網路心跳 --> 傳送執行緒 分析執行緒(根據接收的執行緒資訊進行處理,如進行叢集重新配置) 叢集重新配置執行緒 派遣執行緒(接收遠端節點的資訊,根據資訊傳送給其他執行緒)
用來確認叢集之前的連通性 ocssd程式每秒鐘通過私網會向叢集的其他節點傳送網路心跳
丟失網路心跳進行重新配置過程 1.當某個節點連續一段時間丟失網路心跳後,
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978503/viewspace-2702840/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Elasticsearch基礎結構Elasticsearch
- Redis基礎資料結構Redis資料結構
- Kotlin 基礎-程式結構(上)Kotlin
- 5.MySQL 基礎結構MySql
- 資料結構基礎 連結串列資料結構
- Redis基礎——剖析基礎資料結構及其用法Redis資料結構
- 基礎資料結構大賞資料結構
- c++基礎十(流程結構)C++
- 【Java基礎】03選擇結構Java
- Pytorch基礎-tensor資料結構PyTorch資料結構
- Redis基礎資料結構之連結串列Redis資料結構
- Go基礎系列:流程控制結構Go
- 資料結構基礎--雜湊表資料結構
- PostgreSQL Page頁結構解析(1)-基礎SQL
- 資料結構基礎第3講資料結構
- 資料結構基礎第4講資料結構
- Redis基礎資料結構之字串Redis資料結構字串
- Redis基礎資料結構之MapRedis資料結構
- Redis基礎資料結構之SkipListRedis資料結構
- 基礎資料結構之遞迴資料結構遞迴
- 基礎資料結構之陣列資料結構陣列
- 淺析Redis基礎資料結構Redis資料結構
- 大資料基礎架構總結大資料架構
- [Java 基礎]Java 程式的基本結構Java
- 基礎夯實:基礎資料結構與演算法(一)資料結構演算法
- ES5物件導向基礎結構物件
- Python基礎之os和資料結構Python資料結構
- Redis 的基礎資料結構(三)物件Redis資料結構物件
- C#基礎之結構體講解C#結構體
- Python基礎之:Python的資料結構Python資料結構
- 公共基礎知識-資料結構-樹資料結構
- 前端資料結構---相關基礎概念前端資料結構
- 資料結構與演算法 基礎排序資料結構演算法排序
- Coursera北大《資料結構基礎》之概論資料結構
- 資料結構基礎--字首樹&&字尾樹資料結構
- 資料結構基礎學習之緒論資料結構
- 實戰PHP資料結構基礎之棧PHP資料結構
- SAP SD基礎知識之組織結構