Posts tagged ‘バックアップ’
GlassFish ドメイン管理サーバのバックアップとリストア
※ GlassFish のドメイン管理サーバのバックアップとリストアは
管理コンソールからは行えません.コマンドを使用してください.
ドメイン管理サーバが稼働するサーバが何らかの障害により起動できなくなった場合,ドメインの管理ができなくなります.ドメイン管理サーバが稼働していない状態でもサーバインスタンスを稼働させることはできますが,ドメイン管理サーバが壊れている状態ではアプリケーションの更新やリソースの設定変更等ができなくなります.このような場合、ドメイン管理サーバの設定をバックアップしておくことで,他のサーバをドメイン管理サーバの代替えとして利用することができます.バックアップはドメイン管理サーバ上で何らかの設定変更を行った際,その都度取得しておくことを推奨します.
バックアップを取得する前に,ドメイン管理サーバを停止してください.ドメイン管理サーバを停止しても提供しているサービスに影響は及びませんのでこの作業は本番稼働中に行っても問題ありません.
dashost > asadmin stop-domain clusterDomain ドメイン clusterDomain が停止しました。 |
次にドメイン管理サーバのバックアップを行います.–domaindirには対象のドメインが含まれるディレクトリを指定します.
dashost > asadmin backup-domain –domaindir /export/home/appserv/domains clusterDomain ドメインを正常にバックアップしました 説明: 1259776406949 バックアップファイル名: /export/home/appserv/domains/clusterDomain/backups/sjsas_backup_v00001.zip バックアップを実行した日付と時刻: Thu Dec 03 02:53:26 JST 2009 ドメインディレクトリ: /export/home/appserv/domains ドメインディレクトリ: /export/home/appserv/domains/clusterDomain ドメイン名: clusterDomain バックアップを実行したユーザーの名前: appserv |
バックアップコマンドを実行すると,sjsas_backup_vXXXXX.zipと名付けられたバックアップファイルが作成されます.このファイルをドメイン管理サーバのバックアップ用のサーバにFTP等を利用してコピーしておきます.ここではドメイン管理サーバのバックアップ用のサーバとしてnodeagent1を使用します.本番環境ではノードエージェントとは別のマシン上に構築することを推奨します.
nodeagent1 > asadmin restore-domain –filename ./sjsas_backup_v00001.zip clusterDomain ドメイン clusterDomain の /export/home/appserv/domains/clusterDomain への復元に成功しました 説明: 1259776406949 バックアップファイル名: /export/home/appserv/domains/clusterDomain/backups/sjsas_backup_v00001.zip バックアップを実行した日付と時刻: Thu Dec 03 02:53:26 JST 2009 ドメインディレクトリ: /export/home/appserv/domains ドメインディレクトリ: /export/home/appserv/domains/clusterDomain ドメイン名: clusterDomain バックアップを実行したユーザーの名前: appser |
展開したファイル中よりドメイン管理サーバ名が記載されている箇所を手動で編集します.domains/clusterDomain/config /domain.xml中より修正する必要のある該当箇所を表示し,dashostからnodeagent1に変更します.
nodeagent1 > grep dashost domain.xml <property name="client-hostname" value="dashost“/> <jms-host admin-password="admin" admin-user-name="admin" host="dashost” name=”default_JMS_host” port=”5076″/> <property name="client-hostname" value="dashost“/> <jms-host admin-password="admin" admin-user-name="admin" host="dashost” name=”default_JMS_host” port=”${JMS_PROVIDER_PORT}”/> <property name="client-hostname" value="dashost“/> <jms-host admin-password="admin" admin-user-name="admin" host="dashost” name=”default_JMS_host” port=”${JMS_PROVIDER_PORT}”/> |
新しい環境上で再度環境変数を設定した後,ドメインを起動します.
nodeagent1 > setenv AS_ADMIN_HOST nodeagent1.japan.sun.com nodeagent1 > env |grep AS AS_ADMIN_USER=clusterAdmin AS_ADMIN_PASSWORDFILE=/export/home/appserv/.passwordfile AS_ADMIN_HOST=nodeagent1.japan.sun.com AS_ADMIN_PORT=5048 nodeagent1 > asadmin start-domain clusterDomain ドメイン clusterDomain を起動しています。お待ちください。 デフォルトのログの場所は /export/home/appserv/domains/clusterDomain/logs/server.log です。 出力を /export/home/appserv/domains/clusterDomain/logs/server.log にリダイレクトしています ドメイン clusterDomain が起動しました。 ドメイン [clusterDomain] はその設定で [Sun GlassFish Enterprise Server v2.1.1 ((v2.1 Patch06)(9.1_02 Patch12)) (build b31g-fcs)] を実行しています。ログは [/export/home/appserv/domains] にあります。 管理コンソールは [http://localhost:5048] で使用できます。 “asadmin” コマンドにも同じポート [5048] を使用します。 ユーザーの Web アプリケーションは次の URL で使用できます: [http://localhost:5080 https://localhost:5081 ]。 次の web-contexts を使用できます: [/web1 /__wstx-services ]。 標準の JMX クライアント (JConsole など) はドメイン管理のために JMXServiceURL: [service:jmx:rmi:///jndi/rmi://nodeagent1.japan.sun.com:5086/jmxrmi] に接続できます。 ドメインは少なくとも次のポートで接続を待機しています: [5080 5081 5048 5037 5038 5039 5086 ]。 ドメインはアプリケーションサーバークラスタおよびその他のスタンドアロンインスタンスをサポートします。 |
上記で,ドメインのリストアは完了です.仮にドメイン管理サーバにアクセスするためにSSLを有効にしている場合にドメイン管理サーバのホスト名が変わる場合,サーバ証明書の更新も必要です.デフォルトでインストールされている自己署名サーバ証明書は変更前のドメイン管理サーバ名が記載されていますので更新の必要があります.
最後に,念のためノードエージェントが保持するドメイン管理サーバへの参照情報が更新されているか確認してください.全てのノードエージェントはagentディレクトリ中にconfigディレクトリが存在しています.このディレクトリ配下にdas.propertiesファイルが存在しており,ドメイン管理サーバへ接続するための接続情報などが記載されています.そこでファイルの内容を確認しdashostからnodeagent1に変更されていることを確認してください.仮に変更されていない場合は手動で変更してください.
nodeagent1 > pwd /export/home/appserv/nodeagents/nodeagent1/agent/config nodeagent1 > grep das.host das.properties agent.das.host=nodeagent1 nodeagent2 > pwd /export/home/appserv/nodeagents/nodeagent2/agent/config nodeagent2 > grep das.host das.properties agent.das.host=nodeagent1 |