Sun Cluster 3.2 版本說明 (適用於 Solaris 作業系統)

已知的問題與錯誤

下列已知問題和錯誤會影響 Sun Cluster 3.2 版次的作業。錯誤和問題可分為以下幾類︰

管理

clnode remove -f 選項無法移除具有 Solaris Volume Manager 裝置群組的節點 (6471834)

問題摘要-clnode remove --force 指令應該要從 metaset 移除節點。「Sun Cluster 系統管理指南 (適用於 Solaris 作業系統)」提供了從叢集移除節點的程序。這些程序指示使用者先執行 metaset 指令以移除 Solaris Volume Manager 磁碟組,再執行 clnode remove

解決方法︰ 若沒有遵照程序進行,則可能需要以平常的方法從 CCR 清除舊的節點資料:從使用中的叢集節點,使用 metaset 指令以從 Solaris Volume Manager 磁碟組清除節點。接著再執行 clnode clear --force obsolete_nodename

scsnapshot 在 Solaris 10 SUNWCluser Meta Cluster 沒有作用 (6477905)

問題摘要︰ 在已安裝 Solaris 10 End User 軟體群組 SUNWCuser 的叢集上,執行 scsnapshot 指令可能會失敗並出現以下錯誤:


# scsnapshot -o
…
/usr/cluster/bin/scsnapshot[228]: /usr/perl5/5.6.1/bin/perl:  not found

解決方法︰ 請執行以下其中一項操作:

Auxnodelist 特性中的項目在建立可延展資源期間導致 SEGV (6494243)

問題摘要︰ 在建立共用位址資源期間,無法使用共用位址資源的 Auxnodelist 特性。在相依於此共用位址網路資源的可延展資源建立時,會導致驗證錯誤以及 SEGV。可延展資源的驗證錯誤訊息格式如下:


Method 方法名稱 (scalable svc) on resource 資源名稱 stopped or terminated 
due to receipt of signal 11

同時,也會從 ssm_wrapper 產生核心檔案。使用者將無法設定 Auxnodelist 特性,而因此無法辨識可代管共用位址卻永遠無法成為主節點的叢集節點。

解決方法︰ 在一個節點上,重新建立共用位址資源,而不指定 Auxnodelist 特性。接著,重新執行可延展資源的建立指令,然後使用您重新建立的共用位址資源作為網路資源。

clquorumserver 啟動和停止指令應適當地為下次啟動設定啟動狀態 (6496008)

問題摘要︰ 法定伺服器指令 clquorumserver 沒有為下次重新啟動正確地設定啟動機制的狀態。

解決方法︰ 請執行以下作業來啟動或停止法定伺服器軟體。

Procedure如何在 Solaris 10 作業系統啟動法定伺服器軟體

  1. 顯示 quorumserver 服務的狀況。


    # svcs -a | grep quorumserver
    

    若已停用服務,輸出顯示會與下列類似:


    disabled        3:33:45 svc:/system/cluster/quorumserver:default
  2. 啟動法定伺服器軟體。

    • quorumserver 服務為 disabled,請使用 svcadm enable 指令。


      # svcadm enable svc:/system/cluster/quorumserver:default
      
    • quorumserver 服務為 online,請使用 clquorumserver 指令。


      # clquorumserver start +
      

Procedure如何在 Solaris 10 作業系統停止法定伺服器軟體

    停用 quorumserver 服務。


    # svcadm disable svc:/system/cluster/quorumserver:default
    

Procedure如何在 Solaris 9 作業系統啟動法定伺服器軟體

  1. 啟動法定伺服器軟體。


    # clquorumserver start +
    
  2. 重新命名 /etc/rc2.d/.S99quorumserver 檔案為 /etc/rc2.d/S99quorumserver


    # mv /etc/rc2.d/.S99quorumserver /etc/rc2.d/S99quorumserver
    

Procedure如何在 Solaris 9 作業系統停止法定伺服器軟體

  1. 停止法定伺服器軟體。


    # clquorumserver stop +
    
  2. 啟動法定伺服器軟體。


    # mv /etc/rc2.d/S99quorumserver /etc/rc2.d/.S99quorumserver
    

資料服務

即使未在網域管理伺服器 (DAS) 資源上設定資源相依性,為 Sun Cluster HA for Sun Java Systems Application Server 建立的節點代理程式資源仍然成功 (6262459)

問題摘要︰ 在 Sun Cluster HA for Application Server 建立節點代理程式 (NA) 資源時,即使未在 DAS 資源設定相依性,仍然會建立資源。若未設定相依性,指令就該指出此錯誤,因為 DAS 資源必須連線才可啟動 NA 資源。

解決方法︰ 在建立 NA 資源時,請確認已在 DAS 資源上設定資源相依性。

必須為所有全新的實例配置 HA MySQL 修補程式中的新變數 (6516322)

問題摘要︰ HA MySQL 修補程式在 mysql_config 檔案中增加新的變數,該變數稱為 MYSQL_DATADIR。此新的變數必須指向儲存有 MySQL 配置檔 my.conf 檔案的目錄。若沒有正確配置此變數,使用 mysql_register 準備資料庫將會失敗。

解決方法︰ 將 MYSQL_DATADIR 變數指定到儲存有 MySQL 配置檔 my.conf 的目錄。

安裝

使用無限頻寬配置的自動探索有時可能會建議兩條使用相同配接卡的路徑 (6299097)

問題摘要︰ 若無限頻寬被當成叢集傳輸使用,而且在每個節點上有兩個配接卡 (每個配接卡兩個連接埠,共有兩個交換器),scinstall 公用程式的配接卡自動探索可能會建議兩條使用相同配接卡的傳輸路徑。

解決方法︰ 請手動在每個節點上指定傳輸配接卡。

沒有預設啟用 IPv6 可延展服務支援 (6332656)

問題摘要︰ 轉寄 IPv6 可延展服務封包所必要的 IPv6 的互連探測不再預設為啟用。使用 ifconfig 指令會看到的 IPv6 介面,不再預設為可在互連配接卡上探測到。

解決方法︰ 請手動啟用 IPv6 可延展服務支援。

Procedure如何手動啟用 IPv6 可延展服務支援

開始之前

確認您已準備好所有的叢集節點來執行 IPv6 服務。這些作業包含網路介面、伺服器/用戶端應用程式軟體、名稱服務以及路由架構的適當配置。沒完成這些作業會導致網路應用程式發生未預期的錯誤。如需詳細資訊,請參閱針對 IPv6 服務的 Solaris 系統管理文件。

  1. 在每個節點增加以下項目到 /etc/system 檔案。


    set cl_comm:ifk_disable_v6=0
    
  2. 在每個節點啟用互連配接卡上的 IPv6 探測。


    # /usr/cluster/lib/sc/config_ipv6
    

    config_ipv6 公用程式會在所有具有連結本機位址的叢集互連配接卡上啟動 IPv6 介面。公用程式會透過互連啟用適當的 IPv6 可延展服務封包轉寄。

    或者,您可以重新啟動每個叢集節點來啟動配置變更。

若檔案包含直接連接傳輸資訊,clnode add 則無法從 XML 檔增加節點 (6485249)

問題摘要︰ 若在使用直接連接傳輸的 XML 檔案嘗試使用 clnode add 指令,此指令會誤譯纜線資訊並增加錯誤的配置資訊。結果,加入的節點就無法加入叢集。

解決方法︰ 當叢集傳輸直接連接時,請使用 scinstall 指令將節點增加到叢集。

在非全域區域安裝期間,/etc/nsswitch.conf 檔案沒有隨 hostnetmasks 資料庫資訊更新 (6345227)

問題摘要scinstall 指令會更新 /etc/nsswitch.conf 檔案為 hostsnetmasks 資料庫增加 cluster 項目。此變更會更新全域區域的 /net/nsswitch.conf 檔案。但在建立和安裝非全域區域時,非全域區域會收到其自己的 /etc/nsswitch.conf 檔案副本。非全域區域上的 /etc/nsswitch.conf 檔案不會有 hostsnetmasks 資料庫的 cluster 項目。任何使用 getXbyY 查詢嘗試解析非全域區域內叢集特定的私用主機名稱和 IP 位址都會失敗。

解決方法︰ 用 hostsnetmasks 資料庫的 cluster 項目手動更新非全域區域的 /etc/nsswitch.conf 檔案。這可確保非全域區域內可使用叢集特定私用主機名稱和 IP 位址解析。

本土化

法定伺服器的翻譯訊息是由核心翻譯套裝軟體提供 (6482813)

問題摘要︰ 法定伺服器管理程式 (例如 clquorumserver) 的翻譯訊息是由核心翻譯套裝軟體提供。因此,法定伺服器的訊息只會以英文顯示。法定伺服器翻譯套裝軟體必須與核心翻譯套裝軟體分開,並安裝在法定伺服器系統上。

解決方法︰ 請在已安裝法定伺服器軟體的主機上安裝以下套裝軟體:

若法定伺服器需要日文線上手冊,請安裝 SUNWjscman (日文線上手冊) 套裝軟體。

Sun Cluster 3.2 簡體中文版的安裝程式顯示錯誤的交換大小 (6495984)

問題摘要︰ 在安裝 Sun Cluster 3.2 簡體中文版軟體時,Sun Cluster 3.2 安裝程式顯示關於交換不足的警告訊息。安裝程式在系統需求檢查畫面提供錯誤的交換大小 0.0KB。

解決方法︰ 若交換大小大於系統需求,請安心忽略此問題。C (英文) 語言環境上的 SC 3.2 安裝程式可用來進行安裝,而且此版本可正確檢查交換大小。

執行階段

SAP cleanipc 二進位指令需要 LD_LIBRARY_PATHUser_env 參數(4996643)

問題摘要︰ 若執行階段連結環境不包含 /sapmnt/SAPSID/exe 路徑,cleanipc 則會失敗。

解決方法︰ 登入為 Solaris 超級使用者,然後增加 /sapmnt/SAPSID/exe 路徑到 ld.config 檔案的預設程式庫。

若要為 32 位元應用程式配置執行階段連結環境的預設程式庫路徑,請輸入以下指令:


# crle -u -l /sapmnt/SAPSID/exe

若要為 64 位元應用程式配置執行階段連結環境的預設程式庫路徑,請輸入以下指令:


# crle -64 -u -l /sapmnt/SAPSID/exe

metaclust 返回步驟錯誤:RPC: Program Not Registered,導致節點當機 (6256220)

問題摘要︰ 將叢集關閉時,UCMMD 可能會在一個或多個節點上進行重新配置 (若某個節點比 UCMMD 稍微提前離開叢集)。發生此情況時,在 UCMMD 嘗試執行返回步驟期間,關機作業會在節點上停止 rpc.md 指令。在返回步驟中,metaclust 指令會取得 RPC 逾時,並發生錯誤而結束步驟,因為漏掉了 rpc.mdcommd 程序。此錯誤會導致 UCMMD 中斷節點,而此舉可能會使得節點當機。

解決方法︰ 您可以安心忽略此問題。當節點重新啟動時,Sun Cluster 軟體會偵測到此情況並允許 UCMMD 啟動,儘管之前的重新配置發生錯誤。

Sun Cluster 資源驗證不接受 netiflist 特性的 IPMP 群組主機名稱 (6383994)

問題摘要︰ 在建立邏輯主機名稱或共用位址資源期間,Sun Cluster 資源驗證不接受 netiflist 特性的 IPMP 群組主機名稱。

解決方法︰ 在建立邏輯主機名稱和共用位址資源時,請在指定 IPMP 群組名稱時使用節點名稱,而非節點 ID。

升級

vxlufinish 程序檔在封裝根磁碟時傳回錯誤 (6448341)

問題摘要︰ 當原始磁碟被根封裝,而且嘗試從 Solaris 9 8/03 作業系統的 VxVM 3.5 即時升級到 Solaris 10 6/06 作業系統的 VxVM 5.0 時,才會看見此問題。vxlufinish 程序檔會失敗並出現以下錯誤。


#./vslufinish -u 5.10

    VERITAS Volume Manager VxVM 5.0
    Live Upgrade finish on the Solairs release <5.10>

    Enter the name of the alternate root diskgroup: altrootdg
ld.so.1: vxparms: fatal: libvxscsi.so: open failed: No such file or directory
ld.so.1: vxparms: fatal: libvxscsi.so: open failed: No such file or directory
Killed
ld.so.1: ugettxt: fatal: libvxscsi.so: open failed: No such file or directory
ERROR:vxlufinish Failed: /altroot.5.10/usr/lib/vxvm/bin/vxencap -d -C 10176
-c -p 5555 -g
    -g altrootdg rootdisk=c0t1d0s2
    Please install, if 5.0 or higher version of VxVM is not installed
    on alternate bootdisk.

解決方法︰ 請改而使用標準升級或雙分割區升級方法。

請連絡 Sun 支援或您的 Sun 業務代表,以得知近期是否可使用針對 VxVM 5.0 的 Sun Cluster 3.2 Live Upgrade 支援。

即時升級應支援從啟動磁碟掛載全域裝置 (6433728)

問題摘要︰ 在即時升級期間,lucreateluupgrade 指令無法變更對應至 /global/.devices/node@N 項目的替代啟動環境中的 DID 名稱。

解決方法︰ 在您開始即時升級以前,請在每個叢集節點執行以下步驟。

  1. 成為超級使用者。

  2. 備份 /etc/vfstab 檔案。


    # cp /etc/vfstab /etc/vfstab.old
    
  3. 請開啟 /etc/vfstab 檔案以進行編輯。

  4. 尋找對應至 /global/.device/node@N 的文字行。

  5. 編輯全域裝置項目。

    • 將 DID 名稱變更為實體名稱。

      變更 /dev/did/{r}dsk/dYsZ/dev/{r}dsk/cNtXdYs Z

    • 從項目中移除 global

    下列範例顯示對應至 /global/.devices/node@s 的 DID 裝置 d3s3 的名稱,已變更至其實體裝置名稱並移除 global 項目:


    原始的:
    /dev/did/dsk/d3s3    /dev/did/rdsk/d3s3    /global/.devices/node@2   ufs   2   no   global
    
    變更後:
    dev/dsk/c0t0d0s3     /dev/rdsk/c0t0d0s3    /global/.devices/node@2   ufs   2   no   -
  6. 在所有叢集節點上修改 /etc/vfstab 檔案後,請執行叢集即時升級,但請在從已升級的替代啟動環境重新啟動以前停止進一步動作。

  7. 在每個節點上,請在目前的、未升級的啟動環境上復原原始的 /etc/vfstab 檔案。


    # cp /etc/vstab.old /etc/vfstab
    
  8. 在替代啟動環境中,開啟 /etc/vfstab 檔案進行編輯。

  9. 尋找對應至 /global/.devices/node@N 的文字行,並在項目最後將橫線 (-) 替換為 global


    /dev/dsk/cNtXdYsZ    /dev/rdsk/cNtXdYsZ    /global/.devices/node@N   ufs   2   no   global
    
  10. 從已升級的替代啟動環境重新啟動節點。

    DID 名稱會在 /etc/vfstab 檔案中被自動替換。

vxlustart 程序檔無法在即時升級期間建立替代啟動環境 (6445430)

問題摘要︰ 在即時升級 Sun Cluster 期間升級 VERITAS Volume Manager (VxVM) 時,才會看見此問題。vxlustart 程序檔是用來升級舊版的 Solaris 作業系統和 VxVM。程序檔會失敗,並出現與以下內容類似的錯誤訊息:


# ./vxlustart -u 5.10 -d c0t1d0 -s OSimage

   VERITAS Volume Manager VxVM 5.0.
   Live Upgrade is now upgrading from 5.9 to <5.10>
…
ERROR: Unable to copy file systems from boot environment &lt;sorce.8876> to BE &lt;dest.8876>.
ERROR: Unable to populate file systems on boot environment &lt;dest.8876>.
ERROR: Cannot make file systems for boot environment &lt;dest.8876>.
ERROR: vxlustart: Failed: lucreate -c sorce.8876 -C /dev/dsk/c0t0d0s2 
-m -:/dev/dsk/c0t1d0s1:swap -m /:/dev/dsk/c0t1d0s0:ufs 
-m /globaldevices:/dev/dsk/c0t1d0s3:ufs -m /mc_metadb:/dev/dsk/c0t1d0s7:ufs 
-m /space:/dev/dsk/c0t1d0s4:ufs -n dest.8876

解決方法︰ 若要將叢集升級到 VxVM 5.0,請使用標準升級或雙分割區升級方法。

請連絡 Sun 支援或您的 Sun 業務代表,以得知近期是否可使用針對 VxVM 5.0 的 Sun Cluster 3.2 Live Upgrade 支援。

在封裝根磁碟時,節點間的 vxio 主要編號不同 (6445917)

問題摘要︰ 在執行 VERITAS Volume Manager (VxVM) 的叢集上,若已封裝根磁碟,則以下軟體的標準升級或雙分割區升級都會失敗:

叢集節點會當機,並不會在升級後啟動。這是因為在升級期間 VxVM 變更主要編號或次要編號所致。

解決方法︰ 在升級前,先解除封裝根磁碟。


注意 – 注意 –

若沒有正確遵照上述程序進行,就可能會在升級所有節點時遇到未預期的問題。而且,解除封裝和封裝根磁碟會導致節點的額外自動重新啟動 (每次),讓升級期間所需的重新啟動次數增加。


從 Solaris 9 的 Sun Cluster 版本 3.1 即時升級至 Solaris 10 的版本 3.2 後,無法使用區域 (6509958)

問題摘要︰ 從 Solaris 9 的 Sun Cluster 版本 3.1 即時升級至 Solaris 10 的版本 3.2 後, 無法在叢集軟體中適當地使用區域。問題在於 pspool 資料並非為 Sun Cluster 套裝軟體所建立。因此那些必須傳遞至非全域區域的套裝軟體 (例如 SUNWsczu) 並未正確地傳遞。

解決方法︰ 在使用 scinstall -R 指令升級 Sun Cluster 套裝軟體後 (但需在叢集啟動至叢集模式前),執行下列程序檔兩次:

Procedure使用程序檔的指示

開始之前

依下列其中一種方法準備並執行此程序檔:

  1. 成為超級使用者。

  2. 建立擁有以下內容的程序檔。

    #!/bin/ksh
    
    typeset PLATFORM=${PLATFORM:-`uname -p`}
    typeset PATHNAME=${PATHNAME:-/cdrom/cdrom0/Solaris_${PLATFORM}/Product/sun_cluster/Solaris_10/Packages}
    typeset BASEDIR=${BASEDIR:-/}
    
    cd $PATHNAME
    for i in *
    do
    	if pkginfo -R ${BASEDIR} $i >/dev/null 2>&1
    	then
    		mkdir -p ${BASEDIR}/var/sadm/pkg/$i/save/pspool
    		pkgadd -d . -R ${BASEDIR} -s ${BASEDIR}/var/sadm/pkg/$i/save/pspool $i
    	fi
    done
  3. 設定變數 PLATFORMPATHNAMEBASEDIR

    設定這些變數作為環境變數或直接在程序檔中修改值。

    PLATFORM

    平台名稱。例如:可以是 sparcx86。根據預設,PLATFORM 變數會設定為 uname -p 指令的輸出。

    PATHNAME

    可安裝 Sun Cluster 架構或資料服務套裝軟體的裝置路徑。此值對應至 pkgadd 指令中的 -d 選項。

    舉例說明,若為 Sun Cluster 架構套裝軟體,此值的格式如下:


    /cdrom/cdrom0/Solaris_${PLATFORM}/Product/sun_cluster/Solaris_10/Packages

    若為資料服務套裝軟體,此值的格式如下:


    /cdrom/cdrom0/Solaris_${PLATFORM}/Product/sun_cluster_agents/Solaris_10/Packages
    BASEDIR

    用作根路徑的目錄完整路徑名稱,對應至 pkgadd 指令中的 -R 選項。要進行即時升級,請將此值設定為 scinstall 指令中 -R 選項使用的根路徑。 根據預設, BASEDIR 變數設定為根 (/) 檔案系統。

  4. 執行程序檔,一次為 Sun Cluster 架構套裝軟體執行,一次為資料服務套裝軟體執行。

    執行程序檔後,您應會在每個套裝軟體的指令提示符號看到以下訊息:


    Transferring 套裝軟體名稱 package instance

    備註 –

    如果套裝軟體的 pspool 目錄已經存在,或針對相同的套裝軟體組執行兩次程序檔,指令提示符號中會顯示下列錯誤:


    Transferring 套裝軟體名稱 package instance
    pkgadd: ERROR: unable to complete package transfer
        - identical version of 套裝軟體名稱 already exists on destination device

    這是無害的訊息,您可以安心地忽略。


  5. 在您為架構套裝軟體和資料服務套裝軟體執行程序檔後,將您的節點啟動至叢集模式。

如果未對節點增加 Sun Cluster 3.2 核心修補程式,則無法增加該節點至現有已安裝修補程式的 Sun Cluster 3.2 叢集 (6554107)

問題摘要︰ 增加新叢集節點時,若沒有確認該節點與現有的叢集節點擁有相同的修補程式,可能會導致叢集節點當機。

解決方法︰ 在增加節點到叢集以前,請確認新的節點安裝了與現有叢集節點相同層級的修補程式。若未進行此動作可能會造成叢集節點當機。