問題為何?造成此狀況的根本原因是在關閉套件時,使用者已自套件 ASCII 配置檔案移除服務的參照;更糟的是中止套件時服務便已失效。因為服務已不存在,便無法手動中止它;所以如果想手動中止它,便會造成下列錯誤:
cmhaltserv : Service name oasmon is not running
如何解決?確認在您開始編輯任何檔案之前,遵循正確的程序中止套件以移除套件。若遇到此情況,請執行下列步驟:
中止套件。
將服務新增回套件 ASCII 配置檔案中。
重新套用配置。
以 cmhaltserv 命令手動中止服務。
再次從套件 ASCII 配置檔案中移除服務。
重新啟動套件。
亦可新增一個與原先刪除服務名稱相符的新套件,然後再以 cmhaltserv 中止服務。此舉可在無需中止套件、節點或叢集的情況下解決問題。
最後一種方法是,中止叢集/節點後再重新啟動後,問題即消除;但是叢集/節點便需停機,這對某些 24x7 全天候環境者來說並不可行。
問題為何?若在叢集運行時安裝修補程式,便無法如預期般地運作修正後的ServiceGuard。
如何解決?請遵循修補程式所提供的安裝說明,說明如下:
停止欲安裝修補程式之節點的ServiceGuard。
在該節點上安裝修補程式。
在該節點上重新啟動ServiceGuard。
必須在叢集的所有節點上安裝修補程式。
安裝時,ServiceGuard的snmp子代理程式會中止,而且不會自動重新啟動。此子代理程式主要用於ClusterView產品。若發生此情形,請執行下列命令以手動重新啟動該子代理程式:
# /usr/lbin/cmsnmpagt start
問題為何? cmmakepkg的線上援助頁未說明「*」為NODE_NAME欄的有效值,且僅適用於系統多節點套件(亦即CVM套件VxVM-CVM-pkg)。
如何解決?
下列為套件ascii檔中,NODE_NAME欄正確的線上援助頁資訊:
NODE_NAME
可執行套件的節點名稱。此名稱必須符合叢集配置中的名稱。您可指定多個NODE_NAME項目。第一個NODE_NAME是主節點,隨後指定的節點會視為替用節點。特殊情況下,可使用「*」指定在所有節點上執行欲配置的套件。目前,僅支援「*」用於特殊CVM套件VxVM-CVM-pkg。
問題為何?系統多節點套件的 cmrunpkg並未等候套件在所有節點上完成啟動。在套件啟動後,該命令立刻傳回,並未等候所有節點的套件皆已啟動,且套件狀態變更為「執行中」。
如何解決?待數秒鐘,讓系統多節點套件在所有節點上完成啟動,再利用 cmviewcl檢查「執行中」狀態。
問題為何?如果探測磁碟的ServiceGuard命令,如 cmquerycl遇到停用的磁碟,該命令可能會沒有反應。
如何解決?如果整個磁碟配置(LUN數目)不大,請等候該命令完成,否則請用CTRL-C中斷命令。
問題為何?執行 cmmakepkg -s 即取得預設的套件 startup 與 shutdown 命令集。在startup部份,有一個含有 fuser -ku命令,名為freeup_busy_mountpoint_and_mount_fs 的函式。因它與裝載點有關,因此 fuser 命令應為 fuser -kuc。
如何解決?尚無解決的辦法。
問題為何?若 cmhaltnode 在中止套件中,而調度節點 TOC 或重新啟動時,套件便無法中止導致 cmhaltnode 失敗。
問題為何?無法啟動使用VxVM儲存設備的ServiceGuard 套件,其錯誤訊息為「Function check_vg failed:」(若 uname 與 hostname 不符)。
如何解決?確認 hostid (主機編號) 與 hostname (主機名稱) 相符;讓 uname 與 hostname 相同,或是利用 VERITAS vxdctl hostid 命令將 hostid 設為hostname。
問題為何?在 cmcld 找到點 (peer) 清單與橋接的 (bridged) 網路資訊之間不相符時,發生異常中止。
如何解決?解決方案是必須在叢集關閉時下達 cmdeleteconf 命令後,緊接著再執行 cmapplyconf。
問題為何?指定 -C 選項時,僅會針對叢集鎖定磁碟 (若有)進行裝置探測 (probe)。若是指定 -P 選項,則會對利用 io_search 所找到的所有磁碟進行裝置探測。此舉將增加時間的耗費,且時間隨磁碟數量的增加而遞增。
如何解決?指定 -C 選項,如此僅會對叢集鎖定磁碟 (若有) 進行裝置探測。
問題為何?實際上, cmcheckconf -k選項僅會檢查叢集配置ASCII 檔案中定義之至LVM磁碟的磁碟連通性。若無 -k 選項 (預設的行為),cmcheckconf 將會檢查在叢集內所有 LVM 磁碟的連通性。
如何解決?使用 -k 選項會大幅加快 cmcheckconf 命令的作業速度。
問題為何?使用 cmsnmpd 來傳送設限處理 (trap) 給應用程式,會在叢集啟動時傳送 hpmcSGClusterUp、hpmcSGPkgUp、hpmcSGIPAddrUp、hpmcSGNodeUp等設限處理;在叢集中止時傳送 hpmcSGSvcDown、hpmcSGPkgHalt、hpmcSGIPAddrDown、hpmcSGPkgDown,和hpmcSGNodeHalted;但是沒有 hpmcSGClusterDown 的設限處理。
問題為何?節點若是在某個套件 (未在叢集內其他地方重新啟動) 其上執行的時候失效,則在 ServiceGuard MIB 架構內的套件狀態是錯誤的。