轉一個白老大的文章--- 一個診斷的思路
昨天有一個朋友安裝CRS的時候無法找到節點:
$ ./cluvfy/runcluvfy.sh stage -post hwos -n node1,node2 -verbose
notice: JAVA_HOME not set in the environment.
Performing post-checks for hardware and operating system setup
Checking node reachability...
[@more@]Check: Node reachability from node "node1"
Destination Node Reachable?
------------------------------------ ------------------------
node1 no
node2 no
Result: Node reachability check failed from node "node1".
碰到這個問題,首先我問他hostname是否就是Node1,node2,而且這兩個地址是否正確的在/etc/hosts裡定義了。他回答是這些都沒錯,然後我問他網路卡的順序是否正確,在HP-UX下有時候私網和公網的網路卡在兩臺伺服器上的裝置名不對應,也可能會出一些莫名其妙的錯誤。經過確認都沒問題。
檢查hosts檔案和services檔案的屬性,也都沒問題,world有r的許可權。看樣子問題不是出在這些地方。那麼下面該怎麼處理呢?我建議他用tusc跟蹤一下,看看能有什麼發現。
很快在tusc裡面我們發現了疑點:
stat("/usr/sbin/ping", 0x742ff5e4) .................................................................... = 0
access("/usr/sbin/ping", X_OK) ........................................................................ = 0
pipe() ................................................................................................ = 9 (10)
pipe() ................................................................................................ = 11 (12)
pipe() ................................................................................................ = 13 (14)
vfork() ............................................................ (returning as child ...) ......... , 2452
execve("/tmp/2437/jre/bin/HPUXChildWrapper", 0x1923d0, 0xf5230) ....................................... [entry]
argv[0] @ 0x192410: "/tmp/2437/jre/bin/HPUXChildWrapper"
argv[1] @ 0x742ff460: "9"
argv[2] @ 0x742ff470: "12"
argv[3] @ 0x742ff480: "14"
argv[4] @ 0xffffffffc1be1140:
argv[5] @ 0x742ff038: "/usr/sbin/ping"
argv[6] @ 0x192170: "node1"
argv[7] @ 0x192188: "-n"
argv[8] @ 0x1921a0: "1"
argv[9] @ 0x1921e8: "-m"
argv[10] @ 0x192200: "3"
env[0] @ 0x77ff00f2: "_=/tmp/2437/jre/bin/java"
env[1] @ 0x77ff010b: "MANPATH=/usr/share/man/%L:/usr/share/man:/usr/contrib/man/%L:/usr/contrib/man:/usr/local/man/%L:/usr/local/man:/opt/mx/share/man:/opt/upgrade/share/man/%L:/opt/upgrade/share/man:/opt/pd/share/man/%L:/opt/pd/share/man:/opt/pd/share/man/%L:/opt/pd/share/man:/opt/pd/share/man/%L:/opt/pd/share/man:/opt/resmon/share/man:/opt/gnome/man:/opt/openssl/man:/opt/openssl/prngd/man:/opt/wbem/share/man:/opt/hparray/share/man/%L:/opt/hparray/share/man:/opt/graphics/common/man:/usr/dt/share/man:/opt/samba/man:/opt/perl/man:/opt/ignite/share/man/%L:/opt/ignite/share/man:/opt/ssh/share/man"
env[2] @ 0x77ff034e: "SHLIB_PATH=/tmp/2437/jre/lib/PA_RISC2.0:/tmp/2437/jre/lib/PA_RISC2.0/server:/tmp/2437/jre/../lib/PA_RISC2.0:/tmp/2437/lib32:/tmp/2437/srvm/lib32:"
env[3] @ 0x77ff03e0: "PATH=/usr/bin:/usr/ccs/bin:/usr/contrib/bin:/opt/hparray/bin:/opt/nettladm/bin:/opt/upgrade/bin:/opt/fcms/bin:/opt/pd/bin:/opt/resmon/bin:/opt/gnome/bin:/usr/bin/X11:/usr/contrib/bin/X11:/opt/mozilla:/opt/wbem/bin:/opt/wbem/sbin:/opt/graphics/common/bin:/usr/sbin/diag/contrib:/opt/mx/bin:/opt/perl/bin:/opt/ssh/bin:."
env[4] @ 0x77ff051e: "COLUMNS=125"
env[5] @ 0x77ff052a: "ORACLE_BASE=/home/oracle/base"
env[6] @ 0x77ff0548: "EDITOR=vi"
env[7] @ 0x77ff0552: "LOGNAME=oracle"
env[8] @ 0x77ff0561: "CV_DESTLOC=/tmp"
env[9] @ 0x77ff0571: "ERASE=^H"
env[10] @ 0x77ff057a: "CV_JDKHOME=/tmp/2437/jre"
env[11] @ 0x77ff0593: "CRS_HOME=/home/oracle/crsHome"
env[12] @ 0x77ff05b1: "SHELL=/sbin/sh"
env[13] @ 0x77ff05c0: "HOME=/home/oracle"
env[14] @ 0x77ff05d2: "LD_LIBRARY_PATH=/tmp/2437/lib:"
env[15] @ 0x77ff05f1: "TERM=vt100"
env[16] @ 0x77ff05fc: "CV_HOME=/tmp/2437"
env[17] @ 0x77ff060e: "PWD=/home/oracle"
env[18] @ 0x77ff061f: "TZ=EAT-8"
env[19] @ 0x77ff0628: "LINES=47"
env[20] @ 0xffffffffc1be0fa8:
env[21] @ 0xffffffffc1be0fd0:
於是我讓他執行一下/usr/sbin/ping node1 -n 1 -m 3
發現ping沒有-m選項
# ping node1 -n 1
PING node1: 64 byte packets
64 bytes from 192.168.1.150: icmp_seq=0. time=0. ms
----node1 PING Statistics----
1 packets transmitted, 1 packets received, 0% packet loss
round-trip (ms) min/avg/max = 0/0/0
# ping node1 -n 1 -m 3
Usage: ping [-oprv] [-i address] [-t ttl] host [-n count]
ping [-oprv] [-i address] [-t ttl] host packet-size [[-n] count]
這下子就很明確了,估計是HP-UX的補丁沒有打全,經過檢查,發現GOLDQPK11i 沒有打,打了補丁後,測試一下/usr/sbin/ping node1 -n 1 -m 3
,一切都OK了,於是再安裝CRS,一切正常。
這個案例主要讓大家學會如何透過TUSC去做深入的診斷,如果發現問題後胡亂的從網上去找解決方案,肯定是不行的。解決問題,思路最重要。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/670493/viewspace-1029592/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 是否可以考慮做一個dotnet應用的效能診斷工具
- 動手實現一個適用於.NET Core 的診斷工具
- 幾個常用的網路診斷命令
- 一個快速切換一個底層實現的思路分享
- 活下去,一個遊戲人的獨白遊戲
- 一個通用的匯入匯出excel的思路Excel
- iOS 一個輕量級的元件化思路iOS元件化
- 基於等待事件的效能診斷(轉)事件
- 一次gc buffer busy問題的診斷GC
- C++ 一種交換兩個數的思路C++
- 一個位元組的網路漫遊故事獨白
- 三個白帽之來自星星的你(一)writeup
- 一個資料庫儲存架構的獨白資料庫架構
- Oracle診斷事件列表(轉)Oracle事件
- 一個文章表的 MySQL 索引怎麼建立合理MySql索引
- 如何判斷一個網站的質量?網站
- 可以任意定製導航欄背景的一個思路
- 分享一個作為面試官的面試思路面試
- 一個網路安全資深從業者的獨白
- 一個網站的滲透測試思路,流程(給你一個網站,怎麼做?)網站
- 判斷一個物件是否為空物件,判斷一個物件中是否有空值物件
- 如何判斷一個數倉模型的好壞?模型
- 寫一個判斷裝置來源的方法
- 如何中斷一個正在發出的請求
- python能判斷一個物件的型別嗎Python物件型別
- 如何判斷一個 interface{} 的值是否為 nil ?
- 如何判斷一個企業的精益水平?
- HDU 1671 字典樹(判斷是否有一個串是另一個串的子串)。
- SEO最佳化網站診斷的幾個技巧,你知道多少?網站
- 用10046進行診斷一例
- 一次ORACLE IO效能診斷案例Oracle
- 一次Oracle診斷案例-Spfile案例Oracle
- 一次SGA與Swap故障診斷
- 如何判斷一個類是從另一個類繼承繼承
- 一次.net code中的placeholder導致的高cpu診斷
- 一篇文章帶你弄懂Kerberos的設計思路ROS
- 做一個更好的A牌 從《Artifact》2.0看Valve的設計思路
- 如何實現一個基本的微信文章分類器
- 作為一個運維人員,如何做事讓老大滿意?運維