下列已知問題和錯誤會影響 Sun Cluster 3.2 版次的作業。錯誤和問題可分為以下幾類︰
問題摘要︰ -clnode remove --force 指令應該要從 metaset 移除節點。「Sun Cluster 系統管理指南 (適用於 Solaris 作業系統)」提供了從叢集移除節點的程序。這些程序指示使用者先執行 metaset 指令以移除 Solaris Volume Manager 磁碟組,再執行 clnode remove。
解決方法︰ 若沒有遵照程序進行,則可能需要以平常的方法從 CCR 清除舊的節點資料:從使用中的叢集節點,使用 metaset 指令以從 Solaris Volume Manager 磁碟組清除節點。接著再執行 clnode clear --force obsolete_nodename。
問題摘要︰ 在已安裝 Solaris 10 End User 軟體群組 SUNWCuser 的叢集上,執行 scsnapshot 指令可能會失敗並出現以下錯誤:
# scsnapshot -o … /usr/cluster/bin/scsnapshot[228]: /usr/perl5/5.6.1/bin/perl: not found |
解決方法︰ 請執行以下其中一項操作:
安裝 Solaris Entire Distribution 軟體群組。
安裝以下 Perl 套裝軟體:SUNWpl5u、SUNWpl5v、SUNWpl5p。
問題摘要︰ 在建立共用位址資源期間,無法使用共用位址資源的 Auxnodelist 特性。在相依於此共用位址網路資源的可延展資源建立時,會導致驗證錯誤以及 SEGV。可延展資源的驗證錯誤訊息格式如下:
Method 方法名稱 (scalable svc) on resource 資源名稱 stopped or terminated due to receipt of signal 11 |
同時,也會從 ssm_wrapper 產生核心檔案。使用者將無法設定 Auxnodelist 特性,而因此無法辨識可代管共用位址卻永遠無法成為主節點的叢集節點。
解決方法︰ 在一個節點上,重新建立共用位址資源,而不指定 Auxnodelist 特性。接著,重新執行可延展資源的建立指令,然後使用您重新建立的共用位址資源作為網路資源。
問題摘要︰ 法定伺服器指令 clquorumserver 沒有為下次重新啟動正確地設定啟動機制的狀態。
解決方法︰ 請執行以下作業來啟動或停止法定伺服器軟體。
顯示 quorumserver 服務的狀況。
# svcs -a | grep quorumserver |
若已停用服務,輸出顯示會與下列類似:
disabled 3:33:45 svc:/system/cluster/quorumserver:default |
啟動法定伺服器軟體。
若 quorumserver 服務為 disabled,請使用 svcadm enable 指令。
# svcadm enable svc:/system/cluster/quorumserver:default |
若 quorumserver 服務為 online,請使用 clquorumserver 指令。
# clquorumserver start + |
停用 quorumserver 服務。
# svcadm disable svc:/system/cluster/quorumserver:default |
啟動法定伺服器軟體。
# clquorumserver start + |
重新命名 /etc/rc2.d/.S99quorumserver 檔案為 /etc/rc2.d/S99quorumserver。
# mv /etc/rc2.d/.S99quorumserver /etc/rc2.d/S99quorumserver |
停止法定伺服器軟體。
# clquorumserver stop + |
啟動法定伺服器軟體。
# mv /etc/rc2.d/S99quorumserver /etc/rc2.d/.S99quorumserver |
問題摘要︰ 在 Sun Cluster HA for Application Server 建立節點代理程式 (NA) 資源時,即使未在 DAS 資源設定相依性,仍然會建立資源。若未設定相依性,指令就該指出此錯誤,因為 DAS 資源必須連線才可啟動 NA 資源。
解決方法︰ 在建立 NA 資源時,請確認已在 DAS 資源上設定資源相依性。
問題摘要︰ HA MySQL 修補程式在 mysql_config 檔案中增加新的變數,該變數稱為 MYSQL_DATADIR。此新的變數必須指向儲存有 MySQL 配置檔 my.conf 檔案的目錄。若沒有正確配置此變數,使用 mysql_register 準備資料庫將會失敗。
解決方法︰ 將 MYSQL_DATADIR 變數指定到儲存有 MySQL 配置檔 my.conf 的目錄。
問題摘要︰ 若無限頻寬被當成叢集傳輸使用,而且在每個節點上有兩個配接卡 (每個配接卡兩個連接埠,共有兩個交換器),scinstall 公用程式的配接卡自動探索可能會建議兩條使用相同配接卡的傳輸路徑。
解決方法︰ 請手動在每個節點上指定傳輸配接卡。
問題摘要︰ 轉寄 IPv6 可延展服務封包所必要的 IPv6 的互連探測不再預設為啟用。使用 ifconfig 指令會看到的 IPv6 介面,不再預設為可在互連配接卡上探測到。
解決方法︰ 請手動啟用 IPv6 可延展服務支援。
確認您已準備好所有的叢集節點來執行 IPv6 服務。這些作業包含網路介面、伺服器/用戶端應用程式軟體、名稱服務以及路由架構的適當配置。沒完成這些作業會導致網路應用程式發生未預期的錯誤。如需詳細資訊,請參閱針對 IPv6 服務的 Solaris 系統管理文件。
在每個節點增加以下項目到 /etc/system 檔案。
set cl_comm:ifk_disable_v6=0 |
在每個節點啟用互連配接卡上的 IPv6 探測。
# /usr/cluster/lib/sc/config_ipv6 |
config_ipv6 公用程式會在所有具有連結本機位址的叢集互連配接卡上啟動 IPv6 介面。公用程式會透過互連啟用適當的 IPv6 可延展服務封包轉寄。
或者,您可以重新啟動每個叢集節點來啟動配置變更。
問題摘要︰ 若在使用直接連接傳輸的 XML 檔案嘗試使用 clnode add 指令,此指令會誤譯纜線資訊並增加錯誤的配置資訊。結果,加入的節點就無法加入叢集。
解決方法︰ 當叢集傳輸直接連接時,請使用 scinstall 指令將節點增加到叢集。
問題摘要︰ scinstall 指令會更新 /etc/nsswitch.conf 檔案為 hosts 和 netmasks 資料庫增加 cluster 項目。此變更會更新全域區域的 /net/nsswitch.conf 檔案。但在建立和安裝非全域區域時,非全域區域會收到其自己的 /etc/nsswitch.conf 檔案副本。非全域區域上的 /etc/nsswitch.conf 檔案不會有 hosts 和 netmasks 資料庫的 cluster 項目。任何使用 getXbyY 查詢嘗試解析非全域區域內叢集特定的私用主機名稱和 IP 位址都會失敗。
解決方法︰ 用 hosts 和 netmasks 資料庫的 cluster 項目手動更新非全域區域的 /etc/nsswitch.conf 檔案。這可確保非全域區域內可使用叢集特定私用主機名稱和 IP 位址解析。
問題摘要︰ 法定伺服器管理程式 (例如 clquorumserver) 的翻譯訊息是由核心翻譯套裝軟體提供。因此,法定伺服器的訊息只會以英文顯示。法定伺服器翻譯套裝軟體必須與核心翻譯套裝軟體分開,並安裝在法定伺服器系統上。
解決方法︰ 請在已安裝法定伺服器軟體的主機上安裝以下套裝軟體:
SUNWcsc (簡體中文)
SUNWdsc (德文)
SUNWesc (西班牙文)
SUNWfsc (法文)
SUNWhsc (繁體中文)
SUNWjsc (日文)
SUNWksc (韓文)
若法定伺服器需要日文線上手冊,請安裝 SUNWjscman (日文線上手冊) 套裝軟體。
問題摘要︰ 在安裝 Sun Cluster 3.2 簡體中文版軟體時,Sun Cluster 3.2 安裝程式顯示關於交換不足的警告訊息。安裝程式在系統需求檢查畫面提供錯誤的交換大小 0.0KB。
解決方法︰ 若交換大小大於系統需求,請安心忽略此問題。C (英文) 語言環境上的 SC 3.2 安裝程式可用來進行安裝,而且此版本可正確檢查交換大小。
問題摘要︰ 若執行階段連結環境不包含 /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 |
問題摘要︰ 將叢集關閉時,UCMMD 可能會在一個或多個節點上進行重新配置 (若某個節點比 UCMMD 稍微提前離開叢集)。發生此情況時,在 UCMMD 嘗試執行返回步驟期間,關機作業會在節點上停止 rpc.md 指令。在返回步驟中,metaclust 指令會取得 RPC 逾時,並發生錯誤而結束步驟,因為漏掉了 rpc.mdcommd 程序。此錯誤會導致 UCMMD 中斷節點,而此舉可能會使得節點當機。
解決方法︰ 您可以安心忽略此問題。當節點重新啟動時,Sun Cluster 軟體會偵測到此情況並允許 UCMMD 啟動,儘管之前的重新配置發生錯誤。
問題摘要︰ 在建立邏輯主機名稱或共用位址資源期間,Sun Cluster 資源驗證不接受 netiflist 特性的 IPMP 群組主機名稱。
解決方法︰ 在建立邏輯主機名稱和共用位址資源時,請在指定 IPMP 群組名稱時使用節點名稱,而非節點 ID。
問題摘要︰ 當原始磁碟被根封裝,而且嘗試從 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 支援。
問題摘要︰ 在即時升級期間,lucreate 和 luupgrade 指令無法變更對應至 /global/.devices/node@N 項目的替代啟動環境中的 DID 名稱。
解決方法︰ 在您開始即時升級以前,請在每個叢集節點執行以下步驟。
成為超級使用者。
備份 /etc/vfstab 檔案。
# cp /etc/vfstab /etc/vfstab.old |
請開啟 /etc/vfstab 檔案以進行編輯。
尋找對應至 /global/.device/node@N 的文字行。
編輯全域裝置項目。
將 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 - |
在所有叢集節點上修改 /etc/vfstab 檔案後,請執行叢集即時升級,但請在從已升級的替代啟動環境重新啟動以前停止進一步動作。
在每個節點上,請在目前的、未升級的啟動環境上復原原始的 /etc/vfstab 檔案。
# cp /etc/vstab.old /etc/vfstab |
在替代啟動環境中,開啟 /etc/vfstab 檔案進行編輯。
尋找對應至 /global/.devices/node@N 的文字行,並在項目最後將橫線 (-) 替換為 global。
/dev/dsk/cNtXdYsZ /dev/rdsk/cNtXdYsZ /global/.devices/node@N ufs 2 no global |
從已升級的替代啟動環境重新啟動節點。
DID 名稱會在 /etc/vfstab 檔案中被自動替換。
問題摘要︰ 在即時升級 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 <sorce.8876> to BE <dest.8876>. ERROR: Unable to populate file systems on boot environment <dest.8876>. ERROR: Cannot make file systems for boot environment <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 支援。
問題摘要︰ 在執行 VERITAS Volume Manager (VxVM) 的叢集上,若已封裝根磁碟,則以下軟體的標準升級或雙分割區升級都會失敗:
將 Solaris 作業系統升級到不同版本
升級 VxVM
升級 Sun Cluster 軟體
叢集節點會當機,並不會在升級後啟動。這是因為在升級期間 VxVM 變更主要編號或次要編號所致。
解決方法︰ 在升級前,先解除封裝根磁碟。
若沒有正確遵照上述程序進行,就可能會在升級所有節點時遇到未預期的問題。而且,解除封裝和封裝根磁碟會導致節點的額外自動重新啟動 (每次),讓升級期間所需的重新啟動次數增加。
問題摘要︰ 從 Solaris 9 的 Sun Cluster 版本 3.1 即時升級至 Solaris 10 的版本 3.2 後, 無法在叢集軟體中適當地使用區域。問題在於 pspool 資料並非為 Sun Cluster 套裝軟體所建立。因此那些必須傳遞至非全域區域的套裝軟體 (例如 SUNWsczu) 並未正確地傳遞。
解決方法︰ 在使用 scinstall -R 指令升級 Sun Cluster 套裝軟體後 (但需在叢集啟動至叢集模式前),執行下列程序檔兩次:
一次是為 Sun Cluster 架構套裝軟體執行
一次為 Sun Cluster 資料服務套裝軟體執行
依下列其中一種方法準備並執行此程序檔:
設定 Sun Cluster 架構套裝軟體的變數並執行程序檔。接著為資料服務套裝軟體修改 PATHNAME 變數並重新執行程序檔。
建立兩個程序檔,一個在程序檔中為架構套裝軟體設定變數,另一個為資料服務套裝軟體設定變數。接著執行這兩個程序檔。
成為超級使用者。
建立擁有以下內容的程序檔。
#!/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
設定變數 PLATFORM、PATHNAME 和 BASEDIR。
設定這些變數作為環境變數或直接在程序檔中修改值。
平台名稱。例如:可以是 sparc 或 x86。根據預設,PLATFORM 變數會設定為 uname -p 指令的輸出。
可安裝 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 |
用作根路徑的目錄完整路徑名稱,對應至 pkgadd 指令中的 -R 選項。要進行即時升級,請將此值設定為 scinstall 指令中 -R 選項使用的根路徑。 根據預設, BASEDIR 變數設定為根 (/) 檔案系統。
執行程序檔,一次為 Sun Cluster 架構套裝軟體執行,一次為資料服務套裝軟體執行。
執行程序檔後,您應會在每個套裝軟體的指令提示符號看到以下訊息:
Transferring 套裝軟體名稱 package instance |
如果套裝軟體的 pspool 目錄已經存在,或針對相同的套裝軟體組執行兩次程序檔,指令提示符號中會顯示下列錯誤:
Transferring 套裝軟體名稱 package instance pkgadd: ERROR: unable to complete package transfer - identical version of 套裝軟體名稱 already exists on destination device |
這是無害的訊息,您可以安心地忽略。
在您為架構套裝軟體和資料服務套裝軟體執行程序檔後,將您的節點啟動至叢集模式。
問題摘要︰ 增加新叢集節點時,若沒有確認該節點與現有的叢集節點擁有相同的修補程式,可能會導致叢集節點當機。
解決方法︰ 在增加節點到叢集以前,請確認新的節點安裝了與現有叢集節點相同層級的修補程式。若未進行此動作可能會造成叢集節點當機。