2023年2月16日 星期四

DL380p Gen8 安裝ubuntu 22.04及hpasmcli 及異常log處理方式

之前陸續撿到幾台DL380p Gen8 ,依序裝了RHEL7,RHEL8都沒有問題。
但後來公司不買MA了,只好自力救濟,再加上RHEL8無法直接yum,於是決定棄用RHEL,改用Ubuntu。

要先說明的是在開機後,讀完BIOS後,HP的機器還會執行他們內建的管理介面:ILO,因此有很多的東西都是透過ILO與機器作溝通的。

最近這一台裝的是Ubuntu 22.04,遇到很多問題。記錄一下過程:
1、開機很久才讀安裝碟,看畫面是ILO4有異常log,但還是可以裝OS。最後為了省麻煩把ILO更新了,更新方法很簡單,他的ILO有網路孔,支援DHCP,讓它抓到IP,再透過網頁更新firmware就好了。這邊比較好笑的是,ILO web只支援tls 1.0,但目前(2023) 所有的瀏覽器都不支援tls 1.0了,唯一的只有IE,但IE在2/14不給用了。只好去調firfox的設定(或者也可以用ssh登入做升版,不過這部份我沒有試過。)

2、ubuntu 22.04原生支援DL380p Gen8的raid卡,因此安裝起來沒有什麼問題。但裝了ubuntu後一堆異常log,有兩種:
segfault at 28 ip 0000560378cdaa32 sp 00007fffc04f3420 error 4
另一種我沒有留,不過去查的話也是跟ILO相關。大概可以猜測是因為沒有裝ILO相關的套件造成的,但要找套件也是很麻煩的(因為Ubuntu 22.04之後apt-key使棄用,因此要花點時間研究,但排除後還是不能用apt安裝相關套件,最後直接去讀路徑,把相關的檔案下載後裝一裝就好了,但要裝的時候要小心,有部份套件是適用於gen10之後的機器。花了很多時間,才搞定,檔案是都放在這裡:https://downloads.linux.hpe.com/SDR/repo/mcp/Ubuntu/dists/jammy/12.50/non-free/


但好笑的是最後在解決其它問題的時候,發現檔案也有整合在其它方法,自行取用即可:
https://downloads.linux.hpe.com/SDR/repo/mcp/pool/non-free/
要稱讚HP一下,不需要註冊就大方的給檔案。

裝完相關套件之後,確實log少了很多。剩下的都是這種了:
hpilo Open could not dequeue a packet.
至少看的出來是hp裡的告警判讀問題。
但還是很多,因此我升版了ILO的firmware (其實我是到這個步驟才升的)
升完之後重開機,LOG就少了很一些。
但並非完全沒有。看起來是套件有少裝,所以他有部份的log無法解讀。所以我試著去裝hpasmcli 跟hplog 來查看log細項。它是在hp-health套件中,不算好找也不算難找,花了點時間,終於裝上了(記得要加force強制安裝,不然他會一直吐有少檔案的告警不給你裝),但一執行就....
ERROR: Could not open /dev/cpqhealth/cdt.
Please make sure the Health Monitor is started.

但這個好解決,裝上smartmontools,pciutils,dmidecode,真的不行就再裝ipmitool,就能解決了。

好棒棒,我們處理好了這些毛。但回頭一看RHEL8的機器也偶爾會吐Open could not dequeue a packet,也來處理一下。

RHEL8這邊的問題又不太一樣,因為他不提供hp-health的套件了。所以我們只能裝舊版的,但在尋找的過程中,發現在
https://downloads.linux.hpe.com/sdr/repo/spp-gen9/2021.10.0_supspp_rhel8.5_x86_64/

有新版本,裝了hp-health和他朋友就解決了。最麻煩的是RHEL7,什麼都試了就不行。最後發現裝上新版的hp-health就排除了。

過程如下,做過的蠢事太多了,不再一一說明了:

hpilo 0000:01:00.2: Open could not dequeue a packet


[root@saturn ilo]# hpasmcli

ERROR: Could not open /dev/cpqhealth/cdt.
Please make sure the Health Monitor is started.


yum install dmidecode

dmidecode -t bios

ERROR: Could not open /dev/cpqhealth/cdt.
Please make sure the Health Monitor is started.




more /proc/devices  | grep ipmidev
241 ipmidev


本來就有:
yum -y install smartmontools
yum install pciutils


新裝
yum install ipmitool

ipmitool sensor list

rhel8的機器到這裡就有效了。
ubuntu的機器我忘了,但印象大概也是到這一個步驟。

ERROR: Could not open /dev/cpqhealth/cdt.
Please make sure the Health Monitor is started.

ls -al /dev/cpqhealth/cdt
crw-r--r-- 1 root root 255, 178 Feb 17 14:07 /dev/cpqhealth/cdt



yum install mcelog
no use.

[root@saturn ilo]# rpm -ivh hp-ams-2.10.1-863.1.rhel7.x86_64.rpm
warning: hp-ams-2.10.1-863.1.rhel7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 26c2b797: NOKEY
error: Failed dependencies:
        lsof is needed by hp-ams-2.10.1-863.1.rhel7.x86_64


yum install lsof
rpm -ivh hp-ams-2.10.1-863.1.rhel7.x86_64.rpm
no use

systemctl restart hp-health.service
無效

安裝hponcfg,hp-snmp-agents, ssa-4.21,ssacli-4.21,ssaducli-4.21
也無效


hplog -v

rpm -e hp-health-10.50-1826.40.rhel7.x86_64
rpm -ivh hp-health-10.93-307.7.rhel7.x86_64.rpm

補充說明一下:(2023/02/18)
hp-health在repo沒有,所以你用apt install hp-health 會找不到。
所以我們把檔案下載下來安裝,但如果直接用
apt install ./hp-health_10.80-1874.10_amd64.deb
或用dpkg --install ./hp-health_10.80-1874.10_amd64.deb
會有相依性問題:
hp-health : Depends: libc6-i686 but it is not installable or
lib32gcc1 but it is not installable
E: Unable to correct problems, you have held broken packages.

所以我是這樣裝的:
dpkg --force-all --install ./hp-health_10.80-1874.10_amd64.deb
這樣安裝後,看起來一切都很美好,但在用apt安裝其它軟體時會要求你
apt-get install build-essential
這個指令一下,hp-health又會被移掉。

我本來想要自己找tarball自己編,但找不到。
所以最後是把deb解壓縮:
mkdir -p /tmp/hp-health
dpkg -x  hp-health_10.80-1874.10_amd64.deb /tmp/hp-health
再進到/tmp/hp-health的目錄中,手動把檔案放到定位。
drwxr-xr-x  4 root root 4096 Nov  2  2018 etc
drwxr-xr-x  3 root root 4096 Nov  2  2018 opt
drwxr-xr-x  2 root root 4096 Nov  2  2018 sbin
drwxr-xr-x  4 root root 4096 Nov  2  2018 usr
drwxr-xr-x  4 root root 4096 Nov  2  2018 var
其實他也很單純,手動移一移就好了。









沒有留言:

張貼留言