この節では、特定の種類の不完全なアップグレードから回復するための次の事項を説明します。
アップグレード中に回復不能なエラーが発生した場合は、以下の手順でアップグレードを元に戻してください。
デュアルパーティションアップグレードで回復不能なエラーが発生したあと、デュアルパーティションアップグレードを再開することはできません。
クラスタの各ノードのスーパーユーザーになります。
各ノードを非クラスタモードで起動します。
SPARC ベースのシステム上で、次のコマンドを実行します。
ok boot -x |
x86 ベースのシステム上で、次のコマンドを実行します。
GRUB メニューで矢印キーを使用して該当する Solaris エントリを選択し、e と入力してコマンドを編集します。
GRUB メニューは、次のように表示されます。
GNU GRUB version 0.95 (631K lower / 2095488K upper memory) +-------------------------------------------------------------------------+ | Solaris 10 /sol_10_x86 | | Solaris failsafe | | | +-------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
GRUB ベースの起動の詳細は、『Solaris のシステム管理 (基本編)』の第 11 章「GRUB ベースのブート (手順)」を参照してください。
ブートパラメータ画面で矢印キーを使用して kernel エントリを選択し、e と入力してエントリを編集します。
次のような GRUB ブートパラメータ画面が表示されます。
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu. |
コマンドに -x を追加して、システムが非クラスタモードで起動するように指定します。
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. ] grub edit> kernel /platform/i86pc/multiboot -x |
Enter キーを押して変更を承諾し、ブートパラメータ画面に戻ります。
画面には、編集されたコマンドが表示されます。
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -x | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.- |
b と入力して、ノードを非クラスタモードで起動します。
カーネルのブートパラメータへのこの変更は、システムの起動後には保持されません。次にノードを再起動する際には、ノードはクラスタモードで起動します。非クラスタモードで起動するには、上記の手順を実行してもう一度カーネルのブートパラメータに -x オプションを追加してください。
各ノードで、インストールメディアからアップグレード回復スクリプトを実行します。
ノードが正しく Sun Cluster 3.2 ソフトウェアにアップグレードされた場合は、/usr/cluster/bin ディレクトリからscinstall コマンドを実行することもできます。
phys-schost# cd /cdrom/cdrom0/Solaris_arch/Product/sun_cluster/Solaris_ver/Tools phys-schost# ./scinstall -u recover |
アップグレードを行うよう指定します。
/etc/vfstab ファイルと Cluster Configuration Repository (CCR) データベースを、デュアルパーティションアップグレードを開始する前の状態に戻します。
回復プロセスでは、クラスタノードは、非クラスタモードのままになります。ノードをクラスタモードで再起動しないでください。
詳細は、scinstall(1M) のマニュアルページを参照してください。
次のいずれかの作業を実行します。
古いソフトウェアをバックアップから復元して、クラスタを本来の状態に戻します。
標準のアップグレード方式を使用して、クラスタ上でアップグレードを継続します。
この方法では、アップグレード中すべてのクラスタノードが非クラスタモードのままである必要があります。標準アップグレードの作業マップ (表 8–1) を参照してください。デュアルパーティションアップグレードが失敗する前に無事に完了していた、標準アップグレードの最後の作業または手順から、アップグレードを再開できます。
デュアルパーティションアップグレードが失敗して、クラスタの状態が次のすべての基準を満たす場合、この手順を実行してください。
1 番目のパーティションのノードがアップグレードされている。
2 番目のパーティションにまだアップグレードされたノードがない。
2 番目のパーティションのノードがクラスタモードでない。
1 番目のパーティションでアップグレードが成功したが、アップグレードを取り消したい場合もこの手順を実行できます。
2 番目のパーティションでアップグレード プロセスが始まったあとに、この手順を実行しないでください。代わりに、「失敗したデュアルパーティションアップグレードからの回復」を実行してください。
開始する前に二次パーティションノードがすべて停止されていることを確認します。一次パーティションノードは、停止するか、または非クラスタモードで実行できます。
すべての手順をスーパーユーザーとして実行します。
2 番目のパーティションの各ノードを非クラスタモードで起動します。
# ok boot -x |
二次パーティションの各ノードで、scinstall -u recover コマンドを実行します。
# /usr/cluster/bin/scinstall -u recover |
このコマンドで元の CCR 情報が復元され、元の /etc/vfstab ファイルが復元され、起動時の変更がなくなります。
2 番目のパーティションの各ノードをクラスタモードで起動します。
# shutdown -g0 -y -i6 |
二次パーティションのノードが起動すると、二次パーティションは古いソフトウェアを元の構成で実行しながら、クラスタデータサービスのサポートを再開します。
元のソフトウェアと構成データをバックアップメディアから一次パーティションのノードに戻します。
1 番目のパーティションの各ノードをクラスタモードで起動します。
# shutdown -g0 -y -i6 |
ノードはもう一度クラスタに参加します。
デュアルパーティションアップグレードが失敗して、クラスタの状態が次のすべての基準を満たす場合、この手順を実行してください。
1 番目のパーティションのノードがアップグレードされている。
2 番目のパーティションにまだアップグレードされたノードがない。
2 番目のパーティションのノードがクラスタモードでない。
1 番目のパーティションでアップグレードが成功したが、アップグレードを取り消したい場合もこの手順を実行できます。
2 番目のパーティションでアップグレード プロセスが始まったあとに、この手順を実行しないでください。代わりに、「失敗したデュアルパーティションアップグレードからの回復」を実行してください。
開始する前に二次パーティションノードがすべて停止されていることを確認します。一次パーティションノードは、停止するか、または非クラスタモードで実行できます。
すべての手順をスーパーユーザーとして実行します。
次の手順を完了して、二次パーティションの各ノードを非クラスタモードで起動します。
GRUB メニューで矢印キーを使用して該当する Solaris エントリを選択し、e と入力してコマンドを編集します。
GRUB メニューは、次のように表示されます。
GNU GRUB version 0.95 (631K lower / 2095488K upper memory) +-------------------------------------------------------------------------+ | Solaris 10 /sol_10_x86 | | Solaris failsafe | | | +-------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
GRUB ベースの起動の詳細は、『Solaris のシステム管理 (基本編)』の第 11 章「GRUB ベースのブート (手順)」を参照してください。
ブートパラメータ画面で矢印キーを使用して kernel エントリを選択し、e と入力してエントリを編集します。
次のような GRUB ブートパラメータ画面が表示されます。
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu. |
コマンドに -x オプションを追加して、システムが非クラスタモードで起動するように指定します。
Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. |
# grub edit> kernel /platform/i86pc/multiboot -x |
Enter キーを押して変更を承諾し、ブートパラメータ画面に戻ります。
画面には、編集されたコマンドが表示されます。
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -x | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.- |
b と入力して、ノードを非クラスタモードで起動します。
カーネルのブートパラメータへのこの変更は、システムの起動後には保持されません。次にノードを再起動する際には、ノードはクラスタモードで起動します。非クラスタモードで起動するには、上記の手順を実行してもう一度カーネルのブートパラメータに -x オプションを追加してください。
二次パーティションの各ノードで、scinstall -u recover コマンドを実行します。
# /usr/cluster/bin/scinstall -u recover |
このコマンドで元の CCR 情報が復元され、元の /etc/vfstab ファイルが復元され、起動時の変更がなくなります。
2 番目のパーティションの各ノードをクラスタモードで起動します。
# shutdown -g0 -y -i6 |
二次パーティションのノードが起動すると、二次パーティションは古いソフトウェアを元の構成で実行しながら、クラスタデータサービスのサポートを再開します。
元のソフトウェアと構成データをバックアップメディアから一次パーティションのノードに戻します。
1 番目のパーティションの各ノードをクラスタモードで起動します。
# shutdown -g0 -y -i6 |
ノードはもう一度クラスタに参加します。
この節では、不注意からアップグレード中にストレージ構成が変更された場合に実行する修復手順を説明します。
Sun Cluster コマンドの実行など、ストレージトポロジに対する変更は、クラスタを Solaris 9 または Solaris 10 ソフトウェアにアップグレードする前に行なってください。ただし、アップグレード中にストレージトポロジが変更された場合は、次の手順を実行します。この手順では、新しいストレージ構成が正しいことと、再構成されなかった既存のストレージは誤って変更されないことを保証します。
この手順では、長い形式の Sun Cluster コマンドを紹介します。ほとんどのコマンドには、短い形式もあります。これらのコマンドは、コマンド名の形式以外は同一です。コマンドの一覧および短い形式については、『Sun Cluster のシステム管理 (Solaris OS 版)』の付録 A「Sun Cluster オブジェクト指向コマンド」を参照してください。
ストレージトポロジが正しいことを確認します。変更されている可能性を示すフラグ付きデバイスが、実際に変更されているデバイスにマップされているかどうかを確認します。デバイスが変更されていない場合、誤ったケーブル接続など、偶発的な構成変更の可能性を調べて修正します。
未確認のデバイスに接続されているノードでスーパーユーザーになります。
未確認のデバイスを手動で更新します。
phys-schost# cldevice repair device |
詳細については、cldevice(1CL) のマニュアルページを参照してください。
DID ドライバを更新します。
phys-schost# scdidadm -ui phys-schost# scdidadm -r |
デバイス ID の構成テーブルをカーネルに読み込みます。
DID ドライバを初期化します。
データベースの再構成を指定します。
残りのアップグレード作業に戻ります。「Sun Cluster 3.2 ソフトウェアにアップグレードする (標準)」の手順 4に進みます。
アップグレード中に、ストレージのケーブル接続が誤って変更された場合、次の手順を実行して、ストレージ構成を正しい状態に戻します。
この手順では、物理ストレージが実際に変更されていないことを前提とします。物理ストレージデバイスまたは論理ストレージデバイスが変更されたか交換された場合は、「アップグレード中のストレージの再構成に対処する」の手順に従います。
ストレージトポロジを本来の状態に戻します。変更の可能性を示すフラグが付いたデバイスの構成を、ケーブル接続も含め検査します。
クラスタの各ノードで、スーパーユーザーになります。
クラスタの各ノードで DID ドライバを更新します。
phys-schost# scdidadm -ui phys-schost# scdidadm -r |
デバイス ID の構成テーブルをカーネルに読み込みます。
DID ドライバを初期化します。
データベースの再構成を指定します。
詳細は、scdidadm(1M) のマニュアルページを参照してください。
手順 2 の scdidadm コマンドでエラーメッセージが返された場合は、ストレージ構成を修正するために必要な変更を加えてから手順 2 を繰り返します。
残りのアップグレード作業に戻ります。「Sun Cluster 3.2 ソフトウェアにアップグレードする (標準)」の手順 4に進みます。