問題の概要: ライブアップグレード時に 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 エントリが削除された、/global/.devices/node@s に対応する DID デバイス d3s3 の名前を示しています。
Original: /dev/did/dsk/d3s3 /dev/did/rdsk/d3s3 /global/.devices/node@2 ufs 2 no global Changed: 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 |
アップグレードされた代替ブート環境からノードを再起動します。
/etc/vfstab ファイル内の DID 名は、自動的に置き換えられます。