您好,登錄后才能下訂單哦!
在重慶萬(wàn)州進(jìn)行設(shè)備巡檢時(shí),發(fā)現(xiàn)CCS01A(HP UNIX B.11.31)服務(wù)器終端窗口頻繁彈出報(bào)錯(cuò),查看dmesg輸出信息和OLDsyslog.log全是該報(bào)錯(cuò)以及/var分區(qū)滿(mǎn)了的信息,但是syslog.log在很久之前就沒(méi)有再被寫(xiě)入內(nèi)容,是空文件。
# 終端窗口頻繁出現(xiàn)的報(bào)錯(cuò)信息
esmd: System Error: The EVM daemon has failed and cannot be restarted
重啟syslogd服務(wù)后解決,esmd: System Error: The EVM daemon has failed and cannot be restarted等相關(guān)報(bào)錯(cuò)信息開(kāi)始寫(xiě)入日志文件。
Event Management ( EVM )
在正常的服務(wù)器上執(zhí)行命令:
ps -ef | grep evm*
可以得到以下結(jié)果,但是CCS01A(報(bào)錯(cuò)服務(wù)器)上沒(méi)有任何關(guān)于evm的進(jìn)程:
手動(dòng)執(zhí)行命令啟動(dòng)evmd進(jìn)程:
/usr/sbin/evmd
再次查看CCS01A上該進(jìn)程已經(jīng)存在,服務(wù)器不再報(bào)錯(cuò)。
但是類(lèi)似正常服務(wù)器的evmlogger 和 evmchmgr 相關(guān)進(jìn)程并沒(méi)有啟動(dòng),按照正常服務(wù)器進(jìn)程顯示的命令手動(dòng)執(zhí)行evmlogger 和 evmchmgr相關(guān)命令,服務(wù)器報(bào)錯(cuò):
interpreter "/bin/sh" not found
和正常的服務(wù)器進(jìn)行對(duì)比發(fā)現(xiàn):正常的服務(wù)器上存在:/bin -> /usr/bin 的軟鏈接,而CCS01A上沒(méi)有,因此在CCS01A上新建軟鏈接,并修改其屬主和屬組:
ln -s /usr/bin /bin
chown -h bin:bin /bin
修改后,CCS01A evm相關(guān)服務(wù)正常啟動(dòng),關(guān)閉evmd服務(wù)后服務(wù)器也可以立刻將其自動(dòng)啟動(dòng)。
建議手動(dòng)的開(kāi)啟關(guān)閉evmd服務(wù)的方法是(==其實(shí)正常情況下該服務(wù)只要被關(guān)閉就會(huì)立刻自動(dòng)啟動(dòng)==):
evmstop
evmstart
也可以:
/sbin/init.d/evm stop
/sbin/init.d/evm start
首先,在網(wǎng)上查找到的解決辦法是:
if you have same issue you can try to Copy evmstart and evmstop scripts from the good host. Then the issue is solved.
也就是說(shuō)在將正常的服務(wù)器的evmstart和evmstop文件拷貝到報(bào)錯(cuò)的服務(wù)器上即可,可以使用如下命令查找這兩個(gè)文件:
find / -name evmstart
find / -name evmstop
首先將CCS01A服務(wù)器的原文件進(jìn)行備份,然后將正常的文件拷貝至CCS01A,注意修改文件的屬主屬組和權(quán)限。
但是我發(fā)現(xiàn)拷貝正確的文件后CCS01A仍然會(huì)報(bào)錯(cuò),于是在正常的服務(wù)器上查看evm相關(guān)的進(jìn)程:
ps -ef | grep evm*
發(fā)現(xiàn)正常服務(wù)器上有進(jìn)程:/usr/sbin/evmd 進(jìn)程,而CCS01A上沒(méi)有,于是在CCS01A上將該進(jìn)程開(kāi)啟,執(zhí)行命令:
/usr/sbin/evmd
再次查看CCS01A上該進(jìn)程已經(jīng)存在,服務(wù)器不再報(bào)錯(cuò),然后搜索了evmd服務(wù)的開(kāi)啟及關(guān)閉方法,如下:
# HP UNIX 重啟evmd服務(wù)的方法:
# 方法一:
?/sbin/init.d/evm stop
?/sbin/init.d/evm start
# 方法二(方法一應(yīng)該是是正規(guī)做法):
?殺死evmd進(jìn)程 kill -9 PID
?執(zhí)行命令/usr/sbin/evmd
# 方法三(該方法是從/sbin/init.d/evm腳本中看到的):
?evmstop
?evmstart
本以為這樣就徹底解決了問(wèn)題,心血來(lái)潮決定重啟一下evmd 服務(wù)試試,結(jié)果再次頻繁發(fā)生報(bào)錯(cuò),并且使用/sbin/init.d/evm start命令無(wú)法啟動(dòng)evmd服務(wù),重啟過(guò)程見(jiàn)下圖:
于是查看/sbin/init.d/evm 文件,發(fā)現(xiàn)該腳本建議使用evmstart 和evmstop 來(lái)手動(dòng)開(kāi)啟關(guān)閉evmd服務(wù),并且該腳本也是調(diào)用的這兩個(gè)命令,于是執(zhí)行evmstart 來(lái)開(kāi)啟evmd服務(wù),結(jié)果還是報(bào)錯(cuò):
報(bào)錯(cuò)中提示/bin/sh 找不到,查看evmstart 腳本,發(fā)現(xiàn)其開(kāi)頭指定的命令解釋器為:#!/bin/sh.在終端窗口執(zhí)行命令: which sh 得出的結(jié)果卻是:/usr/bin/sh,其他正常的服務(wù)器都是:/bin/sh
這里開(kāi)始主觀的認(rèn)為正常的服務(wù)器sh命令是在/bin/sh目錄下,而報(bào)錯(cuò)的CCS01A則由于未知原因?qū)е聅h在/usr/bin目錄下
于是把/usr/sbin目錄下evm*相關(guān)的腳本開(kāi)頭的命令解釋器都修改為:#!/usr/bin/sh,再次執(zhí)行evmstart 后,evmd服務(wù)正常啟動(dòng),對(duì)其進(jìn)行重啟:
evmstop
evmstart
或者
/sbin/init.d/evm stop
/sbin/init.d/evm start
系統(tǒng)不再報(bào)錯(cuò),其實(shí)關(guān)閉該服務(wù)后,系統(tǒng)會(huì)很快自動(dòng)將其開(kāi)啟,無(wú)需手動(dòng)開(kāi)啟evmd服務(wù)。見(jiàn)下圖:
最后和正常的服務(wù)器進(jìn)行對(duì)比,又發(fā)現(xiàn)CCS01A上關(guān)于evm的進(jìn)程比較少,正常服務(wù)器進(jìn)程如下:
于是按照正常服務(wù)器進(jìn)程顯示的命令手動(dòng)執(zhí)行evmlogger 和 evmchmgr相關(guān)命令,服務(wù)器報(bào)錯(cuò):
interpreter "/bin/sh" not found
和正常的服務(wù)器進(jìn)行對(duì)比發(fā)現(xiàn):正常的服務(wù)器上存在:/bin -> /usr/bin 的軟鏈接,而CCS01A上沒(méi)有,因此在CCS01A上新建軟鏈接,并修改其屬主和屬組:
# 新建軟鏈接
ln -s /usr/bin /bin
chown -h bin:bin /bin
修改后,CCS01A evm相關(guān)服務(wù)正常啟動(dòng),關(guān)閉evmd服務(wù)后服務(wù)器也可以立刻將其自動(dòng)啟動(dòng)。至此該錯(cuò)誤成功解決。
關(guān)于命令解釋器的路徑問(wèn)題:
在CCS01A終端窗口執(zhí)行命令: which sh
得出的結(jié)果卻是:/usr/bin/sh,其他正常的服務(wù)器都是:/bin/sh
可以用which命令顯示系統(tǒng)命令路徑的順序來(lái)解釋?zhuān)?/p>
which命令的作用是,在PATH變量指定的路徑中,搜索某個(gè)系統(tǒng)命令的位置,并且返回第一個(gè)搜索結(jié)果。也就是說(shuō),使用which命令,就可以看到某個(gè)系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個(gè)位置的命令。
在CCS01A創(chuàng)建完軟鏈接后,只需要修改當(dāng)前的PATH變量即可使其和其他服務(wù)器顯示的路徑一致:
PATH=/bin:$PATH
為避免有其他影響,本次未對(duì)CCS01A進(jìn)行PATH變量修改。
在網(wǎng)上索搜到的另外一種解決辦法如下,但是實(shí)驗(yàn)后并沒(méi)有解決問(wèn)題,現(xiàn)在也將這種方法列出,僅供參考:
Hello freinds,
Above mentioned problem is solved.
Problem was solved by this way - Ensure that there is softlink between / directory to the directory which contains evmstop and evmstop script files.
Command i used is
ln -s /usr/bin2 /
Thanks for your support.
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。