PowerPath for Linux:PowerPath 在重新開機後無法啟動,必須手動啟動

摘要: PowerPath for Linux:PowerPath 在重新開機後無法啟動,必須手動啟動。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

作業系統:Red Hat Enterprise Linux 7.x、OEL 7.x 和 SLES 12
不適用於 Red Hat Enterprise Linux 5.x、6.x 和 SLES 11 版本。
EMC 軟體:Linux 6.x 的 PowerPath

主機重新開機後,PowerPath 不會自動啟動。
PowerPath 可手動啟動,不會發生任何問題。
boot.log PowerPath 服務啟動和停止時,不會記錄任何錯誤。

系統重新開機後,您會看到 PowerPath 失敗並顯示「初始化錯誤」,因為服務無法啟動:

# powermt display dev=all ERROR: Cannot open PowerPath. Initialization error
# cat /var/log/boot.log |grep Power Starting PowerPath startup script... [ OK ] Stopped PowerPath startup script. <--- Starting PowerPath Management Daemon... Starting PowerPathPost startup script... [ OK ] Started PowerPathPost startup script. [ OK ] Started PowerPath Management Daemon.

 

原因

在開始時,PowerPath 先進行一些檢查,然後再實際啟動。其中一個步驟是檢查 PowerPath 上次啟動的時間 這是透過計算標記檔案的年限來判斷在啟動時,系統時鐘最初與硬體時鐘同步。但是,如果在主機上配置了NTP用戶端,則當該客戶端啟動時,系統時鐘將從NTP伺服器更新。

如果硬體時鐘與 NTP 時鐘的時鐘不同步太多,通常會在它落後得多時出現問題。在主機開機時,PowerPath 早在 NTP 用戶端啟動。因此,當它嘗試判斷何時嘗試計算標記檔案的年限時,會為負值,且 PowerPath 會立即退出,而不繼續進行開始。

 

解决方案

因應措施:
在主機上使用下列命令,將 hwclock 更新為系統時鐘:

hwclock --systohc

這會將主機上的硬體時鐘更新為正確的時間。

永久修正:
此問題將在 Linux 6.3 的 PowerPath 中修正。

 

其他信息

您可以執行下列命令,檢查 PowerPath 上次啟動的時間:

systemctl status PowerPath.service

通常您會看到,PowerPath 上次啟用的時間有很大的時差:

systemctl status PowerPath.service   PowerPath.service - PowerPath startup script Loaded: loaded (/usr/lib/systemd/system/PowerPath.service; enabled; vendor preset: disabled) Active: inactive (dead) since Thu 2017-04-06 12:00:15 GET; 4h 0min ago Process: 2075 ExecStopPost=/usr/lib/PowerPath/PowerPath check_service_stop (code=exited, status=0/SUCCESS) Process: 1807 ExecStartPost=/usr/lib/PowerPath/PowerPath check_service_start (code=killed, signal=TERM) Process: 1665 ExecStart=/usr/lib/PowerPath/PowerPath start (code=exited, status=0/SUCCESS) Main PID: 1665 (code=exited, status=0/SUCCESS)

------------------------------------------------------------------------------------------
另一種尋找方式是在 PowerPath 啟動指令檔中啟用「-x」旗標。
針對 OEL 7.x,啟動指令檔包括:

/usr/lib/PowerPath/PowerPath
/etc/opt/emcpower/EMCpower.LINUX-6.1.0.00.00/enable

範例:

# head -5 /usr/lib/PowerPath/PowerPath
#!/bin/sh -x

主機重新開機後,記錄會在boot.log中擷取。還要運行以下命令,其中last_boot將具有相同的提取:

journalctl -b 0 > last_boot

在上面收集的以下詳細日誌中,我們看到 -13991 的時間滯後。

Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: + '[' yes == yes -a -f /tmp/.pp_systemctl_check ']'
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: ++ date +%s
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: ++ date +%s -r /tmp/.pp_systemctl_check
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: + '[' -13991 -lt 5 ']'
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: + rm -f /tmp/.pp_systemctl_check
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: + /bin/true
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: + rc_exit
Apr 20 10:23:23 revdb1.mfg.ge PowerPath[1751]: + exit 0

 

受影响的产品

PowerPath for Linux

产品

PowerPath, PowerPath for Linux
文章属性
文章编号: 000168026
文章类型: Solution
上次修改时间: 20 10月 2025
版本:  5
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。