【Management】DPM 2007 の初期設定を自動化 その2 DPM保護エージェントをインストールする
※今回ちょっと長いです。すんません。
DPMの環境設定を自動化しようシリーズの 2 回目です。
- バックアップ領域となるディスクを認識させる
- 保護対象となるサーバー(保護サーバー)にエージェントをインストールする ← 今回
- 保護グループを作成する
前回はセットアップ直後のDPMに、ボリュームを追加してストレージプールを作成しました。
今回は、保護対象となるサーバーに対し、スクリプトを併用してエージェントをインストールしてみます。
ただ、エージェントのインストール自体は、できることならGUIから行ったほうがよいです。なぜならば、そのほうがはるかに簡単だからです。DPMサーバーと保護サーバーの間に Firewall があるためにRPCを使用したリモートからのプッシュインストールが行えないといった理由が無い限りは、管理コンソールから行ってください。
とはいえ、あえて手動で行ってみると、リモート管理に関する汎用的で細かなスキルを身につけることができますので、スキルアップを目的に挑戦してみるのならばよいかもです。
では、やってみましょう。
エージェントを手動でインストールするには2つのステップが必要です。
① DPM保護エージェントを保護サーバーにインストール
② DPMサーバーに、エージェントがインストールされた保護サーバーを認識させる(PowerShell)
それでははじめましょう。
① DPM保護エージェントを保護サーバーにインストール
保護エージェントのインストールの流れは以下の通りです。
- 保護サーバーの Windows Firewall サービスを停止する(無効にするのではなく、サービスを停止する)
- 保護サーバーにエージェントをインストール
- 保護エージェントの修正パッチがあれば、それを適用する
- Windows Firewall サービスを起動
- 保護エージェントに対して通信を許可するように Windows Firewall を設定する
上のリストにはとても重大な問題が含まれています。
それは、手順の一番上にある、保護サーバー上の Firewall サービスの停止という作業です。 「無効」ではありません。「停止」です。「停止」しておかないと、以下のように、エージェントのインストール時に 80070643 エラーが発生して DPMAgentInstaller が失敗します。これは、どうやら各国語にローカライズさらたバージョンでのみ発生する問題のようです。
Installing agent and configure for dpmserver =[ServerName]
DPMAgentInstaller failed with errorcode =8070643, error says:
Check log files in [WINDIR]\Temp\MSDPM*.LOG
Press Enter key to close the windowが、慣れた方ならば何か違和感を感じますよね?そうです。Firewallサービスを無効にするならまだしも、停止してしまったらリモートからの通信を受け付けられないじゃんか!ということです。リモートコンピュータのサービスの停止は SC コマンドで簡単に行えます。が、Firewall サービスを停止してしまうと、二度とコマンドを受け付けることができなくなります。当然、Firewall サービスを起動することせえもできなくなりますから、これはもう、厄介どころの騒ぎではありません。現時点では、管理コンソールを使わず手動でインストールする場合には、リモートからのインストール制御は事実上不可能であると言ってもよいでしょう。
誠に残念ですが、ここでは保護サーバー上でバッチファイルを実行するという前提でお話を進めていきます。
ーー 余談 ーー
実は、舞台裏を明かしますと、問題はこれだけではありませんでした。
以下のバッチファイルを見てください。ご覧頂くとお分かりの通り、
Firewallサービスの停止 → エージェントのインストール → Firewallサービスの起動
までを一気にやってしまおうとしています。こうしたバッチファイルを WinRS で保護サーバーに発行してしまえば、一度に処理を指示できることになるので、Windows Firewall サービスが停止してしまってもうまくいくかなと考えたのですが....どうしてもインストールの途中で処理が止まってしまい、うまくいきませんでした。原因追究にまるまる1日使ってしまいましたが、結局ダメでした。
net stop MpsSvc \\DJ-DPM01\i386\DPMAgentInstaller.exe /q DJ-DPM01.Example64.jp net start MpsSvc WinRM についてご存じない方は、以下の記事をご参照ください
- 【Windows Server 2008】WinRM Quickconfig って裏で何をやっている?
- WinRM が XP や 2003 でも使えるようになりました ( WS-Management 1.1 日本語版リリース )
せっかくなので、WinRM/WinRS 関連のTIPSをご紹介しておきます。
上記のようなバッチファイルをWinRSでリモートコンピュータに発行しようとすると、既定では以下のように「アクセスが拒否されました」エラーが発生します。
これは、発行先のコンピュータを経由してさらに別のコンピュータ(この場合には \\DJ-DPM01 )にアクセスしようとしているからです。おそらくお聞きになったことがあると思いますが、あるコンピュータを経由して別のコンピュータに接続する場合には、デリゲート(委任)機能を有効にしなければなりません。
委任を有効にするには、「Active Directory ユーザーとコンピュータ」で保護サーバーのプロパティを開き、[委任]タブで、「任意のサービスへの委任でこのコンピュータを信頼する」をチェックします。
エージェントをインストールするには、保護サーバー上で、DPMサーバの \Program Files\Microsot DPM\DPMAgents\RA\<i386 or amd64> 配下にある DPMAgentInstaller.exe を、DPMサーバー名を引数として実行します。つまり、以下のようなかんじです。
DPMAgentInstaller.exe /q DJ-DPM01.Example64.jp
保護サーバーのプラットフォームに合わせて、i386 か amd64 は選択してください。
この操作をリモートの保護サーバー上で実行させるわけですから、DPMサーバー上の i386 または adm64 フォルダを共有化しておくとよいでしょう。
i386 フォルダを、i386 という名前で共有化したとすれば、保護サーバーからは以下のようにして実行することができます。
\\<DPMServerName>\i386\DPMAgentInstaller.exe /q DJ-DPM01.Example64.jp
エージェントのインストールが完了したら、Firewallサービスを起動しておきましょう。
次に 保護サーバー側の Windows Firewall の設定を行います。本来は SetDpmServer.exe というコマンドで行うのですが、やはりローカライズ版では不具合があるらしく手動でFirewallの例外の設定を行う必要があります。もちろん、DPM管理コンソールからインストールすれば自動的に例外を作成してくれます。
DPM管理コンソールを使用してリモートインストールを行うと、DPMRA.exe というプログラムに対して、以下のような例外ルールが作成されます。
上記と同じルールをコマンドから実施するには、おなじみ netsh を仕様します。
netsh advfirewall firewall add rule name="dpmra" dir=In action=Allow protocol=Any Program="%PROGRAMFILES%Microsoft Data Protection Manager\DPM\bin\DPMRA.exe"
この後、再起動すれば保護サーバー側の作業は完了です。
以上の作業をバッチファイルで表現すると、以下の通りです。
net stop MpsSvc \\<DPMServerName>\i386\DPMAgentInstaller.exe /q DJ-DPM01.Example64.jp net start MpsSvc netsh advfirewall firewall add rule name="dpmra" dir=In action=Allow protocol=Any Program="%PROGRAMFILES%Microsoft Data Protection Manager\DPM\bin\DPMRA.exe"
② DPMサーバーに、エージェントがインストールされた保護サーバーを認識させる(PowerShell)
仕上げの作業として、DPMサーバーに保護サーバーを認識させます。これは専用の PS1 ファイルが提供されています。
DPM管理シェルを起動して、以下のパスに移動してください。
C:\Program Files\Microsoft DPM\DPM\bin
ここで、Attach-ProductionServer.ps1 を以下の書式で実行します。引数を指定しなければ、プロンプトが表示されます。
Attach-ProductionServer.ps1 <DPM server name> <production server name> <user name> <password> <domain>.
実行結果例を以下に示します。
これで完了です。
以下のように、DPM管理コンソールにエージェントがリストされていれば成功です。
エージェントの更新欄に「利用可能な更新」が表示されている場合にはエージェントをアップグレードできますので、クリックして最新にしておきましょう。
いやー長かったですね。とても面倒です。
やはり、手動ではなく、管理コンソールを使用することをお勧めします。
次回は、保護グループの作成を行いましょう。
Comments
Anonymous
January 01, 2003
DPM2007シリーズもそろそろ終盤です。 前回までで、DPMのエージェントインストールまでが完了しました。 【Management】DPM 2007 の初期設定を自動化 その1 ディスクを追加する 【Management】DPMAnonymous
January 01, 2003
以前投稿した、以下の記事の続きです。 【Management】DPM 2007 の初期設定を自動化 その1 ディスクを追加する 【Management】DPM 2007 の初期設定を自動化 その2 DPM保護エージェントをインストールする