前のトピック: グリッドにデータをコピーする方法次のトピック: クォータ


別のグリッドにデータをマイグレートする方法

オペレータとして、データを別のグリッドにマイグレートします。 このタスクは、grid_administrator 権限が提供するセキュリティ レベルを必要とします。 定期的なデータ バックアップは、ハードウェアの問題が突発した場合、可用性を確保するのに役立ちます。 グリッド間の信頼関係をセットアップし、ソース グリッドからターゲット グリッドにアプライアンス クラス、カタログ、およびアプリケーション データをマイグレートします。

以下の図に、別のグリッドにデータをマイグレートする方法を示します。

データを別のグリッドにバックアップする方法を示している図

  1. グリッド間の信頼関係をセットアップします
  2. アプライアンス クラスをマイグレートします
  3. カタログをマイグレートします
  4. アプリケーションをマイグレートします
グリッド間の信頼関係のセットアップ

グリッド間でデータをマイグレートする前に、グリッド間の信頼関係をセットアップします。 SSH エージェントをインストールし、Secure Shell を介してグリッドにアクセスすることができます。 エージェント転送はユーザ認証情報をリモート サーバへ渡します。 その後、ユーザの公開キーをインストールした別のサーバへ認証情報を渡すことができます。 アプライアンス クラス、カタログおよびアプリケーションをマイグレートできるように、双方向の信頼関係をセットアップします。

以下の手順に従います。

  1. リモート グリッド アクセスが動作するように、クライアント コンピュータ上の SSH エージェントでエージェント転送を有効にします。
  2. SSH を介してソース グリッドにアクセスするには、以下のコマンドを実行します。
    3t grid info -v
    

    たとえば、以下の SSH キーが表示されます。

    ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtdsF6rxRPvi3aKciQ1J+7yZTgAXDVkNZDRzZPzpEtAak+tnroXS6RvwUOv8Oa9toCjlEIol1EuvaYBryzmRqH5cdm9UKXJjNZ5fnF7fhz928wcCHrHYebtOWGdqXi03MFt0Q4ytZI0+xnjS5iZkaJLW1IAoNLVQdrjUWhH4f+GIJ58jg7xpp3aORQ/zCnXWzxMJs78rX3LkbVW5EftzUZZowVSRVrO6JRq3/7sMzktKDHbB4Am2WoxzceA36NxPQsg7gcao5BPGAvJg2B1MnBdVBIy5gSYuPNtjjpfHboZWWd4cywZ+uIlOFIJy0GGIizrdza351MX7PuZ/YZulffw==
    
  3. このキー値をコピーし、ターゲットのリモート グリッドにログインします。
  4. ユーザを作成し、手順 2 の SSH キーを指定します。
    user create sourcegrid@ca.com pwd=mypassword sshkey="ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtdsF6rxRPvi3aKciQ1J+7yZTgAXDVkNZDRzZPzpEtAak+tnroXS6RvwUOv8Oa9toCjlEIol1EuvaYBryzmRqH5cdm9UKXJjNZ5fnF7fhz928wcCHrHYebtOWGdqXi03MFt0Q4ytZI0+xnjS5iZkaJLW1IAoNLVQdrjUWhH4f+GIJ58jg7xpp3aORQ/zCnXWzxMJs78rX3LkbVW5EftzUZZowVSRVrO6JRq3/7sMzktKDHbB4Am2WoxzceA36NxPQsg7gcao5BPGAvJg2B1MnBdVBIy5gSYuPNtjjpfHboZWWd4cywZ+uIlOFIJy0GGIizrdza351MX7PuZ/YZulffw=="
    
  5. このユーザにグリッド ACL 上の app_developer アクセスを与えるには、以下のコマンドを実行します。
    grid modify_acl local:user:sourcegrid@ca.com=app_developer
    
  6. (オプション)ソース グリッド上で同じプロセスを繰り返し、(パブリック SSH キーを使って)ターゲット グリッドのユーザを作成します。

    重要: インポート オプションをバックアップに使用する(アプライアンス クラスなど)には、この手順を完了する必要があります。

    両方のグリッド間の信頼関係が確立されます。

アプライアンス クラスのマイグレート

アプライアンスは、アプリケーションの内部に特定の機能を提供する自立型の仮想環境を指定します。 バックアップ グリッドへアプライアンス クラスをマイグレートできます。 バックアップ グリッドはわずかな CPU と RAM、およびコストが安い直接接続型の大容量ストレージを必要とします。 アプライアンス クラスはいつでもバックアップ可能なため、このバックアップ戦略を使用すると、特定のバックアップ時間ウィンドウを必要としないというメリットが得られます。 この戦略を使用すると、リモート バックアップ グリッド上でバックアップ管理を一元化することができるため、管理オーバーヘッドが縮小します。

以下の手順に従います。

  1. ダッシュボードまたはアプリケーション エディタから、グリッド シェルを開きます。
  2. 以下の構文に従って、シェル コマンドをフォーマットします。
    class migrate remote_grid class [ .name=newclass ] [ --export | --import ] [ --nocompress ] [ --nocleanup ] [ --debug ]
    
    remote_grid

    リモート グリッドの名前を指定します。

    クラス

    マイグレートするプロパティの名前を指定します。

    クラスはグローバル カタログやローカル カタログに存在していることもあれば、シングルトンの場合もあります。

    名前

    (オプション)マイグレートされたクラスの新しい名前を指定します。

    名前は、グローバルまたはローカル カタログを参照するか、シングルトンを参照します。

    export

    クラスをリモート グリッドへマイグレートします。

    注: このオプションを指定しない場合、クラスはリモート グリッドからマイグレートされます。

    import

    クラスをリモート グリッドからマイグレートします。

    注: このオプションを指定しない場合、クラスはリモート グリッドからマイグレートされます。

    nocompress

    マイグレート時、クラス ボリュームを圧縮しないことを指定します。

    注: マイグレーション時間を縮小するには、大量のボリュームがあるクラスをマイグレートする場合に、このオプションを使用します。

    nocleanup

    失敗または完了時に、(トラブルシューティングに使用する)クリーンアップをスキップします。

    debug

    マイグレーション中に(トラブルシューティングに使用する)デバッグ情報を表示します。

    この例では、グローバル カタログ内の system_ms カテゴリから grid5 に、WIN0864E クラスをマイグレートします。

    重要: マイグレートするクラスが送信先グリッドに存在しないことを確認します。 クラスが存在する場合、エラーが表示されます。

  3. 以下のコマンドを実行します。
    class migrate grid5  /system_ms:WIN0864E .name=/system_ms:WIN0864E --export
    

    以下の出力が表示されます。

    リモート グリッドへのアクセスを確認しています...
    
    リモート グリッドへのアクセスを確認しています...
    エンティティがロックされていないことを確認しています...
    
    必要なクラス記述子とボリュームを取得しています...
    	クラス WIN0864E を転送しています... 完了
    	ボリューム boot を転送しています... 完了
    
    クラスのマイグレートが完了しました(9 分 51 秒)
    

アプライアンス クラス データがマイグレートされ、バックアップされました。

カタログのマイグレート

カタログはライブラリ パッケージとして、アプライアンスとアセンブリ クラスを格納します。 カタログ マイグレート コマンドを使って、カタログをバックアップできます。

以下の手順に従います。

  1. ダッシュボードまたはアプリケーション エディタから、グリッド シェルを開きます。
  2. 以下の構文に従って、シェル コマンドをフォーマットします。
    catalog migrate remote_grid catalog [ .name=new-name ] [ --export | --import ] [ --nocompress ] [ --nocleanup ] [ --debug ]
    

    この例では、BKPCAT カタログを現在のグリッド(grid4)から grid5 に、BACKUPCAT という名前のカタログとしてマイグレートします。

  3. 以下のコマンドを実行します。
    catalog migrate grid5 /BKPCAT .name=/BACKUPCAT -–export
    

    以下の出力が表示されます。

    リモート グリッドへのアクセスを確認しています...
    
    リモート グリッドへのアクセスを確認しています...
    エンティティがロックされていないことを確認しています...
    
    必要なクラス記述子とボリュームを取得しています...
    	カタログ クラス IIS を転送しています... 完了
    	カタログ クラス SQL を転送しています... 完了
    	ボリューム IIS.boot を転送しています... 完了
    	ボリューム SQL.boot を転送しています... 完了
    
    カタログのマイグレートが完了しました(26 分 40 秒)
    

    カタログ データがマイグレートされ、バックアップされました。

アプリケーションのマイグレート

アプリケーションにはアプライアンスと完全なインフラストラクチャ、設定、およびユーザ データが含まれています。 アプリケーションをバックアップし、そのバックアップをアプリケーション マイグレートコマンドを使って別のグリッドにそれをマイグレートできます。

注: ソース アプリケーションが実行されている場合、マイグレーションを開始する前に、ソース アプリケーションは停止します。 マイグレーションが完了した後、アプリケーションは再起動します。 元のアプリケーションが実行されていない場合、マイグレートされたアプリケーションは開始しません。

以下の手順に従います。

  1. ダッシュボードまたはアプリケーション エディタから、グリッド シェルを開きます。
  2. 以下の構文に基づいて、Shell コマンドをフォーマットします。
    application migrate remote_grid appname [ .name=appname ] [ --export | --import ] [ --nocompress ] [ --nocleanup ] [ --debug ] [ (prop=val)* ]
    
    prop=val

    アプリケーション設定コマンドに使用する設定パラメータ ペアを指定します。

    --preserve_acl

    アプリケーション ACL が存在する場合に保持します。

    --preserve_local_acl

    アプリケーション ACL 内のローカル プリンシパルを保持します。

    --preserve_global_acl

    アプリケーション ACL 内のグローバル プリンシパルを保持します。

    この例では、現在のグリッド(grid4)からリモート grid5 に MY_APP アプリケーションをマイグレートします。

  3. アプリケーションで使用されるすべてのアプライアンス クラスがターゲット グリッドに存在することを確認します。
  4. 以下のコマンドを実行します。
    application migrate grid5 MY_APP .name=MY_APP -–export
    

    以下の出力が表示されます。

    ソース グリッドへのアクセスを確認しています...
    
    ソース グリッドへのアクセスを確認しています...
    ソース アプリケーションの状態を確認しています...
    
    アプリケーション MY_APP を停止しています
    	main.SQL が停止しました
    	main.USR が停止しました
    	main.mon が停止しました
    	main.IIS が停止しました
    アプリケーション リソースを解放しています...
    アプリケーション MY_APP が停止しました
    
    アプリケーション 'MY_APP' を作成しています...
    	アプリケーション 'MY_APP' の記述子を作成しています...
    アプリケーション 'MY_APP' のクラス記述子とボリュームを取得しています...
    	クラス IIS を転送しています... 完了
    	クラス SQL を転送しています... 完了
    	クラス main を転送しています... 完了
    	ボリューム dbase を転送しています... 完了
    	ボリューム IIS.boot を転送しています... 完了
    	ボリューム mon を転送しています... 完了
    	ボリューム SQL.boot を転送しています... 完了
    	ボリューム data を転送しています... 完了
    マイグレートされたアプリケーション MY_APP を開始しています...
    アプリケーションをビルドしています...
    	ボリューム MY_APP/volcache: main.mon.boot を作成しています... 完了
    	ボリューム MY_APP/volcache: main.USR.boot を作成しています... 完了
    	アプリケーションを設定しています... 完了
    
    アプリケーションをロードしています...
    アプリケーションをスケジュール設定しています...
    アプリケーション MY_APP を開始しています
    	main.USR が開始されました
    	main.mon が開始されました
    	main.SQL が開始されました
    	main.IIS が開始されました
    
    アプリケーション MY_APP が正常に開始されました
    
    アプリケーションのマイグレートが完了しました(38 分 6 秒)
    

    アプリケーション データがマイグレートされ、バックアップされました。

正常にグリッド間の信頼関係をセットアップしました。また、アプライアンス クラス、カタログおよびアプリケーションをマイグレートしました。