Arcserve UDP:バックアップが失敗する前に容量不足を知らせてほしい!(Linux Agent 編)
Arcserve UDP にはバックアップが容量不足で失敗するより前に、ストレージの容量が足りなくなってきていると教えてくれるアラート機能があります。
前回までの Windows Agent 編 と復旧ポイント サーバ編に続き、今日は Linux Agent のみを使っている環境でバックアップ先ストレージの容量不足を通知する方法を紹介します。
■ まず Web UI でしきい値を設定
Arcserve UDP の Linux 版を使っている方は、Web インターフェースのメニュー バーに [バックアップ ストレージ] という項目を見たことがあるのではないでしょうか?ここで [追加] または [変更] をクリックすると、以下の設定画面が表示されます。
この中の [空き容量が次の値を下回るとスクリプトを実行:] にチェックを入れます。Windows Agent と同様、しきい値を % 単位または MB 単位で設定できます。
GUI で設定するのはここまでで、あとは自前でシェル スクリプトを作成していきます。
■ メール通知のスクリプトを作ってみる
先ほどの Web UI での設定を有効にすると、Arcserve UDP は 15 分間隔(※1)でバックアップ ストレージの空き容量をチェックし、しきい値を下回ったら Linux バックアップ サーバの以下のディレクトリの "backup_storage_alert.sh" というシェル スクリプトを実行するようになります。
/opt/Arcserve/d2dserver/usr/alert/backup_storage_alert.sh
最初はこのディレクトリは空になっているので、vi などを使ってスクリプト ファイルを作ります(※2)。内容はどんなのでも良いのですが、とりあえずメールを送信するスクリプトを作ってみました。
01: #!/bin/sh
02:
03: Body="バックアップ ストレージ ${backupstoragename} の空き容量が ${freesize} になりました。"
04: Subject="Arcserve UDP ストレージ容量アラート"
05: EmailFrom="<差出人メールアドレス>"
06: EmailTo="<宛先メールアドレス>"
07:
08: export HOME=/root
09: export LD_LIBRARY_PATH=/lib64
10: openssl rsautl -decrypt -inkey ~/private-key.pem -in ~/.mailrc.enc -out ~/.mailrc
11: echo "$Body" | mail -s "$Subject" -r $EmailFrom $EmailTo
12: rm -f ~/.mailrc
スクリプト中の「01:」とかは行番号なので、コピペして再利用するときは削除してください。
Body はメール本文で、中にある ${backupstoragename} はバックアップ ストレージのパス名、${freesize} は空き容量を表す変数です。
5 行目と 6 行目のメール アドレスには実際の電子メールアドレスを入れていきます。
8 行目では、メール設定ファイル .mailrc に確実にアクセスできるようにするため、root アカウントのホーム ディレクトリのパスを設定しています。9 行目も同様にライブラリのパスを指定しています。
10 行目と 12 行目のコマンドは後で説明します。メール設定ファイルの暗号化に関わるもので、SMTP 認証を使わないのであれば削除します。
ファイルを保存したら、アクセス権を変更するのも忘れずに。
# chmod 755 /opt/Arcserve/d2dserver/usr/prepost/backup_storage_alert.sh
■ メールの基本設定
Arcserve UDP が実行するシェル スクリプトは完成しましたが、メールを送信するにはさらにメール サーバなどの設定が必要です。
Mail コマンドがインストールされていない環境では、以下のコマンドでインストールします。(※3)
# yum install mailx
ホームディレクトリに移動し、.mailrc ファイルを編集します。
# cd
# vi .mailrc
.mailrc ファイルにメール サーバの設定を記入します。以下設定例です。サーバ名やポート番号などを実際の環境に合わせて入力します。今回は使っていませんが、必要に応じて SSL や STARTTLS の設定も追加します。SMTP 認証を使わない場合は2行目以降は不要です。
01: set smtp=smtp://<SMTPサーバ名>:<ポート番号>
02: set smtp-auth=login
03: set smtp-auth-user=<ユーザ名>
04: set smtp-auth-password=<パスワード>
■ .mailrc ファイルの暗号化
ここまでの設定でもメールは飛びますが、SMTP 認証のパスワードが平文で保存されるのが気に入りません。ここから先、openssl コマンドを使って .mailrc ファイルを暗号化していきます。
暗号化キーを作成します。
# openssl genrsa > ~/private-key.pem
ここで作ったキーを使って .mailrc ファイルを暗号化します。
# openssl rsautl -encrypt -inkey ~/private-key.pem -in ~/.mailrc -out ~/.mailrc.enc
復号コマンドはこちら。これを先ほど作った backup_storage_alert.sh に追加して、メールを送る前に .mailrc ファイルが平文に戻るようにします。
openssl rsautl -decrypt -inkey ~/private-key.pem -in ~/.mailrc.enc -out ~/.mailrc
平文になった .mailrc をそのままにしておくと暗号化した意味がないので、メール送信後に削除させます。backup_storage_alert.sh の最後に以下を追加します。
rm -f ~/.mailrc
■ メールが届くのを確認
最後にメール通知が行われるのを確認するため、バックアップ先の容量をいっぱいにします。15 分間隔で空き容量のチェックが行われるので、お茶でも飲みながら待ちましょう。
今回は、以下のメールが送られてきました。きちんと変数部分も反映されています。やったぜ!
以上、ホテがお伝えしました。
<関連記事>
Arcserve UDP :バックアップが失敗する前に容量不足を知らせてほしい!(Windows Agent 編)
※1 監視の頻度は 15 分周期で固定。変更することができません。何が言いたいかっていうと、今回作ったスクリプトだと、空き容量を作らない限り 15 分おきにメールが送信され続けます……!どうにかまとめられれば良いのですが、今日はここで力尽きました。申し訳ない……
※2 私は Windows のテキスト エディタでスクリプトを書いていたのですが、Linux バックアップ サーバにスクリプト ファイルをコピーして実行したら「誤ったインタプリタです~」というエラーが出てきてハマりました。改行コードが Windows と Linux で違うことが原因で、sed コマンドで改行コードを置換することで解決できました。この記事のスクリプトをコピペして再利用する時にはご注意ください。
※3 今回は CentOS 7.4 を使っています。Debian 系や SUSE Linux だとパッケージのインストール方法は異なります。
« 導入事例:Arcserve UDP Appliance で Nutanix AHV の仮想化基盤をバックアップ | トップページ | 耳より情報: Arcserve High Availability フルシステム シナリオについて ~ 仮想環境/クラウド環境への移行ツール、DR/BCP対策として活用できます!! »
「技術情報」カテゴリの記事
- 実はランサムウェア対策にも有用?! 仮想スタンバイって凄い!(2024.09.06)
- Arcserve RHA での 「圧縮転送」 と 「圧縮属性のレプリケート」(2024.07.26)
- Arcserve RHA : XML 形式で取り出したレポート ファイルを Microsoft Edge で見る方法(2024.04.26)
- 超人気コンテンツの動画公開!! 「Arcserve UDP」と「Arcserve Backup」の違い(2024.01.12)
- Arcserve Backup チューンナップ/設定 シリーズ: テープバックアップのパフォーマンス向上(2023.10.27)
「Arcserve UDP」カテゴリの記事
« 導入事例:Arcserve UDP Appliance で Nutanix AHV の仮想化基盤をバックアップ | トップページ | 耳より情報: Arcserve High Availability フルシステム シナリオについて ~ 仮想環境/クラウド環境への移行ツール、DR/BCP対策として活用できます!! »
コメント