vSphere 5.5 からの新機能、AppHA をデプロイしてみました。
今回は、細かい設定などは省略します・・・
AppHA の紹介について
AppHA はvSphere HA と連携して、VM のアプリケーション保護をします。
ちなみに、ここでの「アプリケーション保護」というのは、
アプリ(サービス/プロセス)が障害で停止した時に自動再起動したり、
アプリの自動再起動でサービスが復活できなかった時にVMをリセットしたり、
といったことを意味します。
AppHA について、くわしくは下記を参照して下さい。
AppHA の機能紹介ページ
http://www.vmware.com/jp/products/vsphere/features-application-HA
AppHA のマニュアル (現時点の最新版は v1.1)
https://www.vmware.com/support/pubs/appha-pubs.html
Japan Cloud Infrastructure Blog
VMware vSphere 5.5 AppHAについて
https://blogs.vmware.com/jp-cim/2013/09/vmware-vsphere5-5-appha.html
AppHA の見え方
AppHA は、Hyperic Server と AppHA の仮想アプライアンスで構成されます。
vCenter Hyperic
- Hyperic Server と、Hyperic用のDBサーバで構成されます。
- それぞれ、Linux等にインストールして構築して利用することもできるようですが、
AppHAを試すには、vApp (.ovaファイル)をデプロイするのが一番簡単だと思います。 - vApp 版の Hyperic Server の には、2つの VM が含まれます。
※VMの名前はどちらもデフォルトのままです。- vCenter_Hyperic_Server → Hyperic Server のインストールされた SUSE Linux。
- vFabric_vPostgres_DB → Hyperic Server の利用するDBサーバ。これも SUSE Linux。
vSphere App HA
- 仮想アプライアンス(これも .ovaファイル)として提供されています。
- これも SUSE Linux です。
上記の vApp、仮想アプライアンスをデプロイすると、Web Clientでは下記のように見えます。
AppHA関連の VM は3つです。
一緒に見えている db01 という VM は、ためしに AppHA で保護してみるために用意したもので
AppHA の機能には関係ないものです。
AppHA では、保護したいアプリケーションごとに AppHA 独自のポリシーを作成できます。
ちなみに AppHA 1.1 からは、Oracle Database も保護対象にできるようになりました。
下記のようにポリシーを作成しておき、
保護したいアプリケーションを稼働させている VM に紐づけます。
※「アプリケーションの可用性」タブは AppHA をデプロイすると表示されるようになります。
AppHA は vSphere HA と連携します。
vSsphere HA の設定では、
「仮想マシンの監視」の設定を「仮想マシンとアプリケーションの監視」にしておきます。
AppHA は、vCenter Hyperic という監視ソリューションと連携して動作します。
上記のようなポリシー設定の前に、
AppHA と Hyperic の連携設定をしておきます。
Hyperic Server の画面は、下記のような感じです。
vCenter_Hyperic_Server VM に、Web ブラウザでアクセスして操作します。
※ちなみに、Hyperic のバージョンは 5.8.1 です。
AppHA を動作させるためには Hyperic に下記を登録しておく必要があります。
- vCenter(例では vcenter55-2.vmad.local という名前)
- 保護対象アプリの VM (例では db01 という名前)
Hyperic に登録するそれぞれの OS に、Hyperic の Agent を導入しておく必要があります。
※例は保護対象のVMだけですが・・・
保護対象 VM のゲスト OS では、VMware Tools とは別に、
Hyperic Agent も起動した状態になります。
※例の Agent のパス(/opt/vmware/hyperic/bin/)は適当に決めました・・・
[oracle@db01 ~]$ cat /etc/oracle-release
Oracle Linux Server release 6.5
[oracle@db01 ~]$ vmware-toolbox-cmd -v
9.4.5.30548 (build-1598834)
[oracle@db01 ~]$ /etc/vmware-tools/services.sh status
vmtoolsd is running
[oracle@db01 ~]$ /opt/vmware/hyperic/bin/hq-agent.sh status
HQ Agent is running (PID:1944).
Current agent bundle: agent-x86-64-linux-5.8.1
Server IP address: 192.168.5.186
Server (SSL) port: 7443
Agent listen port: 2144
Hyperic に vCenter を登録すると、このように見えます。
システムの構成情報や、監視によるヘルスチェックの状態などが見えます。
保護対象のVM(db01 という DB サーバ)では、Oracle 11g も監視されています。
AppHA があれば、Guest SDK で微妙な作りこみをしなくても
vSphere HA でアプリケーション保護までできるケースが増えるはず・・・
ちなみに、以前こんなこともしてみました。
vSphereHA と Guest SDK のアプリケーション監視。vSphereHA と Guest SDK のアプリケーション監視。
vSphereHA + Guest SDK で httpd を簡易アプリケーション監視。vSphereHA + Guest SDK で httpd を簡易アプリケーション監視。
以上、vSphere AppHA についてでした。