問題摘要︰ 當原始磁碟被根封裝,而且嘗試從 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 |
這是無害的訊息,您可以安心地忽略。
在您為架構套裝軟體和資料服務套裝軟體執行程序檔後,將您的節點啟動至叢集模式。
問題摘要︰ 增加新叢集節點時,若沒有確認該節點與現有的叢集節點擁有相同的修補程式,可能會導致叢集節點當機。
解決方法︰ 在增加節點到叢集以前,請確認新的節點安裝了與現有叢集節點相同層級的修補程式。若未進行此動作可能會造成叢集節點當機。