問題現象:一套兩節點的RAC集羣,其中節點2集羣無法啓動,ohas進程已經啓動但CRS、CSS進程未啓動
1、首先查看
查看RAC中的alert日誌,發現日誌中一直在報如下報錯:
file rotation terminated. log file: "/app/11.2.0.4/grid/log/uatdb02/client/olsnodes.log"
從日誌中可以看到提示說olsnodes.l03的owner不是oracle
查看後發現確實用戶屬主有屬組有問題
修改文件屬主和屬組
chown root:root olsnodes.l03
修改後olsnodes.log可以被正常切割,alert日誌也不再報這個錯。但報錯也就停止。沒有日誌如何繼續往下查?
2、檢查RAC的一些配置情況,由於對於RAC也只限於能夠根據文檔搭建成功,沒有太多問題處理經驗只能一邊查問題一邊查文檔和MOS。
先檢查RAC的ASM配置情況
發現與以往搭建的RAC查看disk path輸出的內容不同,於是想到是使用asmlib搭建的RAC,
rpm -qa |grpe asm發現確實安裝了相關包,說明推測方向正確
以前都是通過UDEV的方式配置RAC的ASM共享磁盤,asmlib的方式沒有用過。於是從網上找了相關的帖子查看,並找到一些命令。
oracleasm scandisks
oracleasm listdisks
但是知道這些命令還是沒有辦法解決問題。
嘗試執行上面的命令看看輸出結果
發現在scandisks時出現permission denied on OCR1的提示
於是感覺有了一個方向,是不是共享盤的權限訪問導致的呢
找到共享盤的目錄/dev/oracleasm/disks查看
節點2屬主和屬組都是root,如果是權限有問題,那正確的權限有又該是什麼呢,好在節點1還在正常的跑着,查看節點1 的共享磁盤
從上面的查看來看,正常結點的屬主爲grid,屬組爲asmadmin,是不是由於這個原因導致集羣無法啓動的呢?
嘗試手動修改節點2的屬主和屬組
這裏漏掉了對權限做修改。。。
修改後嘗試重啓節點2的集羣
crsctl start crs
報錯提示ohas已啓動,crs啓動失敗
仔細閱讀crsctl start使用說明才發現start crs是啓動OHAS的命令,start cluster 纔是啓動CRS的命令。看來還是對RAC的瞭解不夠深入呀。。。
再次嘗試啓動節點2集羣
提示cssd啓動失敗,從alert日誌中也可以看到如下報錯
於是查看ocss.log
從ocss日誌中輸出的報錯可以看出來是無法找到vote disk,集羣自然是無法啓動的。
但是爲什麼找不到磁盤,原因還不知道。於是救助於MOS,但查了十幾篇有相關關鍵字的文檔,與這裏的問題又不太相似。也沒有可用的解決辦法。
於是問題限入了僵局。
下班時間到了,第二天接着搞。
第二天登錄機器再次嘗試crsctl start cluster(明知沒有,但還是想試一下,僥倖心理。。)
果然沒有辜負我,依然報錯找不到vote disk。
查MOS文檔查到一些相關命令
crsctl query css votedisk
在節點2中無輸出內容,節點1有。
kfod status=TRUE asm_diskstring='/dev/oracleasm/disks/*' disks=ALL
節點1很快能返回
但節點2會hang住
而且可以看到節點2的共享盤,權限又變回root了,於是又再次手動修改,(心想也不能每次重啓機器都手動修改這個吧)。
再次執行上面的命令
出現有報錯。
突然想到是不是兩個節點的asmlib的配置不同導致的,由於對asmlib不熟悉,從網上帖子上看到的都是配置asmlib的,不知道如何查看配置
嘗試執行oracleasm configure,發現兩個節點的配置確認不一致
ORACLEASM_UID 和GID配置有問題
於是進行修改
查看狀態
修改完成,在scandisks時沒有提示permission denied,感覺應該沒有問題了
再次嘗試啓動crs
crsctl start cluster
啓動成功
至此集羣問題解決。但從狀態來看這套RAC集羣還是存在很多的問題。
總結:加深對RAC的理解,各組件的作用。各命令的含義。