SoftLayerのR1Soft Server Backup Manager(Idera)を使って、遠隔2地点におけるバックアップを実現する

#前置き
この記事では、SoftLayerで利用できるバックアップ製品のうちの1つである「Server Backup Manager」(旧称Idera Server Backup)を利用して、サーバーを丸ごとバックアップしてみたいと思います。

また、せっかくなので災害対策などを想定し、1サイトのバックアップではなく、2台のServer Backup Managerを活用し、2サイトで遠隔地保管することにします。

・SoftLayerについて詳しくはこちら: [SoftLayerホームページ](http://www.softlayer.com/jp)
・Server Backup Manager 日本語版マニュアル: [ドキュメンテーション](http://wiki.r1soft.com/pages/viewpage.action?pageId=22203615)

また、実際に導入する際での考慮事項はこちらの記事にまとめてあります。
[Bluemix InfrastructureのServer Backup Managerを利用する前に考えておきたいこと](http://qiita.com/ytada/items/2b2000a637d485674009)

#Server Backup Managerとは
Server Backup Manager(SBM)は、複数の仮想サーバー、ベアメタルサーバー、ハイパーバイザー上の仮想サーバーを統合的に管理し、継続的にバックアップすることができる、[R1Soft](https://www.r1soft.com/)の統合バックアップソリューションです。

SoftLayerのポータルから注文することが可能になっており、[eVault](http://www.creationline.com/lab/5961)と違い、物理的に専有のサーバー上にバックアップを保存することができます。

#今回のゴール
下図のような2サイトでのシステムバックアップ構成を組み、自動でバックアップを取得できるようにします。各サーバーから1時間ごとにSBMサーバー①にレプリケーションを行い、リカバリーポイントを取得します。また、1日に1回リカバリーポイントをアーカイブし、それをSBMサーバー②にリモートレプリケーションして遠隔保管します。
![qiita1.png](https://qiita-image-store.s3.amazonaws.com/0/103277/452fb1bb-bf92-ea7f-04ef-9495c7362473.png)

#用語
**・レプリケーション**
バックアップを取得すること

**・Disk Safe**
SBMサーバー上のバックアップデータの格納場所

**・リカバリーポイント**
レプリケーション時のイメージ。SBMは差分バックアップなので、2回目以降は前回取得時からのブロックレベルの差分のみを取得する。初期レプリカと各差分レプリカを結合し、各リカバリーポイントが作成される。
![qiita2.png](https://qiita-image-store.s3.amazonaws.com/0/103277/d58ff473-8f3a-2cb6-5e0e-d7741fda12fd.png)

**・マージ**
リカバリーポイントを削除すること。実際には削除するリカバリーポイントと、隣のリカバリーポイントを結合する処理を行っている。詳しくは[こちら](http://wiki.r1soft.com/display/TP/Backup+Method+-+Virtual+Full+Backup)

**・アーカイブポイント**
リカバリーポイントを長期間保存する際に、ある時点のリカバリーポイントをアーカイビングし、保存しておくことが可能。通常リカバリーポイントはマージスケジュールに基づいて削除されるため、それよりも長い期間保存しておきたい場合や、大きな変更を行う前にイメージを残しておきたい場合などに利用が考えられる。

#構築
##SoftLayerからのオーダー
まず、SoftLayerでServer Backup Manager注文します。仮想サーバーにも物理サーバーにも導入することができます。
注文は非常に簡単で、SoftLayerからサーバーを注文するときにOSのアドオンとしてSBMを選択し、バックアップするサーバー数に応じたエージェント数を選ぶだけです。
![qiita3.png](https://qiita-image-store.s3.amazonaws.com/0/103277/decb45da-4d2c-aeea-5a45-359c90c61a23.png)
今回はLinux版のManagerを選択しました。Windows版に関しては2016/09/02で提供終了、2016/10/12でサポートが終了になるため、SBMはLinux版を選択することをお勧めします。

また、ライセンスの関係で時間課金のサーバーでの提供は行っておらず、月額課金のみの提供になっているのでお気をつけ下さい。

注文が完了すると、SBMが導入されたサーバーが立ち上がるので、ブラウザからサーバーのIPアドレスにアクセスするとSBMにログインすることができます。
![qiita4.png](https://qiita-image-store.s3.amazonaws.com/0/103277/fb53b8ba-ad86-1f3c-98f4-479a46410f62.png)
ログインID、パスワードはSoftLayerのカスタマーポータルで、「デバイス」→「デバイスリスト」を選択し、SBMが導入されたサーバーをクリックしてください。詳細ページの「パスワード」タブに、「Server Backup」という項目があるので、そこで確認可能です。

##通常のレプリケーション設定
2地点におけるレプリケーションを設定する前に、通常の1地点でのレプリケーションを設定してみたいと思います。通常のレプリケーションであれば、以下の要領で非常に簡単に設定することができます。

レプリケーションを取得するのに必要な設定は、「サーバーの追加」「Disk Safeの作成」「ポリシーの設定」になります。

サーバーの追加は、「Dashboard」の「Add a Server」から追加します。「Server」の「Add Server」からも追加できますが、「Dashboard」から追加すると、エージェントの導入、接続の確認、Disk Safeの作成、暗号化設定、ポリシーの選択が同時に行えるので、設定が迅速に完了します。
しかし、後述しますが、**ここで作成されたDisk Safeはリモートレプリケーションの送信用Disk Safeとしては利用できません。**
![qiita5.png](https://qiita-image-store.s3.amazonaws.com/0/103277/51a0a762-49a3-8795-e929-f55596023e07.png)
「Add a server」をクリックすると、サーバー追加のウィザードが現れるので、ウィザードに従って入力していきます。

まず、サーバーのIPアドレスを入力し、「Deploy agent software now」にチェックを入れます。これにより、サーバーへの接続確認と、エージェントのインストールが完了します。ここでは管理者権限のあるユーザーのユーザー名とパスワードを入力してください。
![qiita6.png](https://qiita-image-store.s3.amazonaws.com/0/103277/c3d3e6ee-769c-6a83-8457-14b4e85cfd00.png)

次に、Disk Safeを格納するボリュームを選択します。ここで作成したディレクトリの中にDisk Safeが作成され、リカバリーポイントが格納されていきます。また、ここでは「Encrypt backups」を選択することで256bitのAES暗号化を利用することができます。
![qiita7.png](https://qiita-image-store.s3.amazonaws.com/0/103277/135766f8-4e36-5359-21ef-a1fe5e596b8c.png)

最後に、バックアップのポリシーを設定します。今回はCustomizeを選択します。
![qiita8.png](https://qiita-image-store.s3.amazonaws.com/0/103277/d7e8e09e-4b0c-7142-47e5-0e72eb1c0c56.png)

ポリシーを作成することで、レプリケーションやアーカイブのスケジュールや、世代数を管理することが可能になります。今回は1時間に1回レプリケーションを行い、1日に1回アーカイブを行うように設定します。また、リカバリーポイント、アーカイブポイント共に3世代を残すようにしました。
![qiita9.png](https://qiita-image-store.s3.amazonaws.com/0/103277/91131f16-cba6-2fc0-e577-84a3b9fb2ea7.png)

これでサーバーの追加が完了しました。Disk Safe、ポリシーが正しく作成されていることを確認して下さい。
Disk Safeは「Disk Safes」、ポリシーは「Policy」から確認することができます。各Disk Safe、ポリシーをクリックすると詳細を見ることができます。
![qiita10.png](https://qiita-image-store.s3.amazonaws.com/0/103277/1cc29283-ac08-f0e7-1300-6a8192ae14b2.png)

ポリシーは先ほど設定したスケジュール、世代数になっているかを確認します。バックアップ及びマージスケジュールは「Policy Settings」タブの「Schedule」で確認できます。なお、マージスケジュールはデフォルトで「After Successful Backup」が設定されており、レプリケーションが成功した後にマージが行われるようになっています。通常のバックアップの場合この設定で問題ありませんが、マージが動かなかったり、ポリシーを呼び出さずにバックアップをするような設定をする場合は設定を変更する必要があります。
![qiita11.png](https://qiita-image-store.s3.amazonaws.com/0/103277/51b1f56b-c00b-1192-6a69-7cc78c8f2a6f.png)

また、世代数の設定、及びアーカイブのスケジュールは「Data Retention」タブから確認可能です。
![qiita12.png](https://qiita-image-store.s3.amazonaws.com/0/103277/9842d228-b2bc-c04a-4573-84ef20e383df.png)

これで各サーバーからSBMサーバー①にバックアップを取得する設定は完了です。
たったこれだけの設定で、各サーバーからバックアップを取得し、定期的にアーカイビングすることができるようになります。とっても簡単ですね！！

バックアップが取得できているかどうかの確認は、「Recovery Points」を選択することで確認することができます。また、「Archived」欄にチェックが入っているリカバリーポイントはアーカイブされています。
![qiita19.png](https://qiita-image-store.s3.amazonaws.com/0/103277/dd4ccddb-d26c-22ad-8d78-be5b42de5461.png)

また、手動でバックアップを行いたい場合、「Policy」からポリシーを選択し、右側のメニューの「Run now」をクリックすることでスケジュールに関係なくすぐにバックアップを行うことができます。
![qiita25.png](https://qiita-image-store.s3.amazonaws.com/0/103277/708d6fec-b823-eaac-ce03-4ef17dd38ec8.png)




ところで、SoftLayerでは日本だけでなく、国外にもデータセンターが存在します。さらに、SoftLayerではデータセンター間の通信料金が無料なため、国外でも通信料を気にすることなくサーバーを注文することができます。そのため、既存のシステムを海外に拡張したり、災害対策のために国外のデータセンターを利用する敷居が低くなっていると言えます。

そこで今回は上記の設定に加えて2サイトでのリモートレプリケーションをするために設定をしていきます。


##リモートレプリケーション設定
まず始めにリモートレプリケーションに必要な設定をまとめておくと、「サーバー間のリモートレプリケーション設定」「送信側サーバーのアーカイブポイント送信設定」「受信側サーバーの受信設定」の設定が必要になります。

2台目のSBMサーバーをオーダーし、まずは2台のサーバー間にリモートレプリケーションの設定をしていきます。

こちらは送信側のSBM(SBMサーバー①)の設定です。「Configration」の「Remote Replication Option」を選択します。
「Target Server」の＋マークをクリックし、送信先のサーバー(SBMサーバー②)情報を入力します。
![qiita13.png](https://qiita-image-store.s3.amazonaws.com/0/103277/16ad6209-8980-a1a6-0cbd-8362cb6909a5.png)

次に、受信側のSBM(SBMサーバー②)の設定です。同じく「Configration」の「Remote Replication Option」を選択し、「Remote Replication Listener Options」をEnableにします。IPアドレスはデフォルトで0.0.0.0になっており、この場合全てのアドレスからのリモートレプリケーション送信を受け付けます。
![qiita14.png](https://qiita-image-store.s3.amazonaws.com/0/103277/3acdbdcc-ecd1-e456-9b83-c96131f48878.png)

これでサーバー設定は完了です。

##受信側の受信設定
最初の図も合わせてご覧いただきたいのですが、SBMのリモートレプリケーション機能はアーカイビングをした時に発動し、そのアーカイビングポイントを送信するようになっています。

そこで、送信側では「どのアーカイブポイントを転送するか」「どのDisk Safeに転送するか」を設定する必要があります。

また、受信側ではDisk Safeに、「リモートレプリケーションの受信設定」を施す必要があります。

まず受信側のDisk Safeを作成しておきたいので、受信側から設定します。

先ほどと同様に「Dashboard」の「Add a Server」からサーバーの登録、Disk Safeの作成、ポリシーの設定を行ってください。エージェントは先ほどインストールしてあるので、ここではインストールする必要はありません。「Deploy agent Software now」のチェックをはずしておいて下さい。
![qiita17.png](https://qiita-image-store.s3.amazonaws.com/0/103277/646a68be-3a89-f2ea-30ea-d3db7e68c862.png)

また、ポリシーの設定ですが、自分でバックアップを取得するわけではないのでスケジュールは「On Demand」にしておきます。
![qiita18.png](https://qiita-image-store.s3.amazonaws.com/0/103277/5870466d-b83d-d4d6-2090-2b18bedf4e25.png)

ちなみにリモートレプリケーションの受信側の世代数を制限したい場合、ポリシーを編集し、マージスケジュールを「After Successful Backup」から他のスケジュールに変更する必要があります。前述しましたが、「After Successful Backup」のままだとバックアップに成功した場合のみマージが行われるため、アーカイブポイントを受信するだけのこのDisk Safeはマージが行われないためです。
![qiita20.png](https://qiita-image-store.s3.amazonaws.com/0/103277/3e4ad70f-d392-72d1-6f18-af570f57cdf4.png)

作成が完了したら、Disk Safeの詳細を表示し、GUIDを控えておいて下さい。
![qiita21.png](https://qiita-image-store.s3.amazonaws.com/0/103277/643d72c5-6e6a-427e-d8a1-bad824b3ed76.png)

これで受信側の設定は完了です。

##送信側のアーカイブポイント送信設定
先ほどは「Dashboard」の「Add a Server」から一括して設定を行いましたが、ここから作成されたDisk Safeはボリュームに割り当てられ、リモートレプリケーションの送信をすることができません。そこで今度は「サーバーの追加」「Disk Safeの作成」「ポリシーの設定」を別々に行う必要があります。

まずはサーバーの追加です。「Servers」の「Add Server」を選択し、バックアップするサーバーを追加してください。エージェントはすでにインストールしてあるため、ここではサーバーを登録するだけで大丈夫です。
![qiita15.png](https://qiita-image-store.s3.amazonaws.com/0/103277/47aa06fe-1adc-2564-f054-6e00b37fd210.png)

次に、Disk Safeを作成します。同じように「Disk Safes」から「Create New Disk Safe」を選択してください。Disk Safeの名前を入力し、先ほど登録したサーバーを選択します。**ここで重要なのは、「Location」の「Assign this disk safe to a volume」のチェックをはずすことです。**このチェックが入っているとリモートレプリケーションを送信するDisk Safeとして利用できないので、ご注意ください。チェックをはずしたあとは、このDisk Safeを格納したいディレクトリのパスを入力して下さい。
![qiita22.png](https://qiita-image-store.s3.amazonaws.com/0/103277/5e751f60-deb7-eed7-2d1b-c0f68531a8fb.png)


タブを「Replication」に切り替え、「Replication Type」を「Remote Replication」に設定し、「Target Server」で先ほど追加したサーバーを選択します。そして、ここで送信先のDisk Safeを入力するのですが、「Target Disk Safe Id」の右側にあるマークをクリックし、**「I understand the risks, let me edit this field」にチェックを入れないと編集できない**という複雑な仕様になっています。私はなぜ編集できないのか分からず、ここで数日間費やしました。
![qiita23.png](https://qiita-image-store.s3.amazonaws.com/0/103277/cf91c67d-b5a0-db7f-adb0-6a021c4cc286.png)
チェックを入れると編集できるようになりますので、先ほど控えた受信側のDisk SafeのGUIDをここに入力してください。

最後に、ポリシーを先ほどと同様に作成します。今度はアーカイブスケジュールの設定の際に、「Replicate Disk Safe」にチェックを入れてください。
![qiita24.png](https://qiita-image-store.s3.amazonaws.com/0/103277/7486d5c3-9400-8db1-ac95-1bd8df20c55d.png)

以上でリモートレプリケーションの設定が完了しました。お疲れ様でした！

#確認
それではリモートレプリケーションがされているかどうか、確認してみます。

前述したように、送信側のアーカイブポイントが作成される際にリモートレプリケーションは実行されるので、マニュアルでポリシーを実行してみましょう。

スケジュールに関係なくアーカイブをする場合は、「Policy」から各ポリシーを選択し、右側の「Archive Now」を選択することで実行できます。
![qiita26.png](https://qiita-image-store.s3.amazonaws.com/0/103277/2328fb0a-1e81-79f5-2234-e9eead46f02b.png)
ちなみに、アーカイブはその時点で最新のリカバリーポイントがアーカイブされるため、最新のリカバリーポイントが既にアーカイブされている場合は実行されません。そのような場合は「Run Now」をクリックしてリカバリーポイントを作成し、その後でアーカイブしてみてください。

アーカイブをしたら、「Task History」を見てください。送信側では、アーカイブをした後、「Send Remote Replication Data」というタスクが実行されており、アーカイブポイントが転送されていることが分かります。
![qiita27.png](https://qiita-image-store.s3.amazonaws.com/0/103277/f70a7435-0c8b-2e0f-efa5-6497abc7134c.png)

また、受信側の「Task History」では、「Receive Remote Replication Data」というタスクが実行されており、アーカイブポイントを受信しています。

受信側の「Recovery Point」も見ておきましょう。レプリケーションが成功していれば、Disk Safeにリカバリーポイントが追加されているはずです。
![qiita28.png](https://qiita-image-store.s3.amazonaws.com/0/103277/207516e6-d8b9-ec90-300c-372b2e34b883.png)


#まとめ
長くなりましたが、今回はServer Backup Managerでどのようにレプリケーションを実現するか確認しました。
設定項目をまとめておくと、通常のレプリケーションに必要なのは
1. サーバーの追加
2. Disk Safeの作成
3. ポリシーの設定
です。これらは一括で行うこともできますし、別々に行うこともできます。
上記に加えて、リモートレプリケーションでは
1. サーバー間のレプリケーション設定
2. 受信側のDisk Safe作成
3. 送信側のアーカイブポイント送信設定
の追加設定が必要になります。

たったこれだけの設定で、海外へのレプリケーションを含めたシステムバックアップが完成するとは驚きですね！

SoftLayerでバックアップをお考えの際は、是非Server Backup Managerをご活用ください！