Quantcast
Channel: にほんごVMware
Viewing all 495 articles
Browse latest View live

vSphere AppHA への道。Part 1. Hyperic の vApp デプロイ

$
0
0

vSphere 5.5 からの新機能、AppHA のセットアップの様子をお届けしようと思います。

けっこう長くなりそうなので、下記のように分けてポストしてみます。

 

セットアップ手順の流れ(予定では・・・)

  1. Hyperic の vApp デプロイ ★←今回はここ
  2. Hyperic のセットアップ
  3. Hyperic への VC 登録
  4. AppHA の OVA デプロイ
  5. AppHA と vSphereHA のセットアップ
  6. Hyperic エージェントの導入
  7. AppHA ポリシーの作成
  8. AppHA ポリシーの割り当て

 

AppHA の概要はこちらもどうぞ。

vSphere AppHA をデプロイするとこう見えます。

 

今回の Hyperic のマニュアルはこちら(英語)

VMware vCenter Hyperic Documentation

https://www.vmware.com/support/pubs/hyperic-pubs.html

 

ちなみに、Hyperic は vCenter Operations Management Suite に

含まれているので、今回の Hyperic はそちらの評価版を使用しました。

 

vCenter Operations Management Suite には

他にもいろいろな製品が含まれます。

VMware vCenter Operations Management Suite のドキュメント

http://www.vmware.com/jp/support/support-resources/pubs/vmware-vcops-suite-pubs

 

参考手順

 

VMware vSphere Blog(英語ですが)

Installing vSphere App HA 1.0 - Part 1 of 3

http://blogs.vmware.com/vsphere/2014/02/installing-app-ha-pt1.html

Installing vSphere App HA 1.0 - Part 2 of 3

http://blogs.vmware.com/vsphere/2014/02/installing-app-ha-pt2.html

Installing vSphere App HA 1.0 - Part 3 of 3

http://blogs.vmware.com/vsphere/2014/02/installing-vsphere-app-ha-pt3.html

 

準備

 

下記の準備をしておきます。

  • vCenter 環境を構築しておく。
    今回は、仮想アプライアンス版の vCenter 5.5 u1 を使用しています。
  • Hyperic と AppHA のOVAファイルなどを MyVMware サイトから DL しておく。
    • vCenter-hyperic-5.8.1-EE.ova
      vApp 版の Hyperic です。
      バージョンは2014年05月時点で最新の 5.8.1 を使います。
    • hyperic-hqee-agent-x86-64-linux-5.8.1.tar.gz
      Hyperic のエージェントです。
    • AppHA-1.1.0.188-1711850_OVF10.ova
      バージョンは2014年05月時点で最新の 1.1 を使います。
  • IP アドレスは、3つ用意しておく。
    • Hyperic サーバで1つ
    • Hyperic 用 DBサーバで1つ
    • AppHA の仮想アプライアンスで1つ
  • vApp デプロイ先の クラスタで、DRS を有効にしておく。
  • 保護したいアプリケーションが動作する VM(ゲスト OS)を用意しておく。
  • (今回は、障害時の E-Mail 設定は省略します。)

 

手順

 

今回は、vApp 版の Hyperic を使用するので OVA ファイルをデプロイします。

基本的に、一般的な vApp デプロイと同様の手順になります。

 

まず、Web Client にログインして、デプロイ先(今回はとりあえずデータセンタ)を

右クリック →「OVF テンプレートのデプロイ」をクリックします。

hyperic-deploy-01.png

 

事前にダウンロードしておいた Hyperic の OVA ファイルを指定します。

※ vCenter-hyperic-5.8.1-EE.ova ファイルを指定します。

hyperic-deploy-02.png

 

OVA ファイルの内容が表示されるので「次へ」。

hyperic-deploy-03.png

 

EULAの承諾 は「承諾」をクリックすると「次へ」をクリックできるようになります。

hyperic-deploy-04.png

 

vApp の名前を入力します。

今回はデフォルトの「vCenter Hyperic」のままです。

デプロイする 仮想マシンフォルダ を指定して「次へ」をクリックします。

hyperic-deploy-05.png

 

構成の選択 画面では、

本来だと vApp のスペック(小規模用、大規模用など)が選択できるはずですが、

なぜか表示されないのでそのまま(おそらく「小」規模用?)で「次へ」をクリック。

※日本語環境だからかもしれません。

hyperic-deploy-06.png

 

vApp をデプロイするクラスタを選択します。

今回は、cluster01_mgmt という名前の DRS クラスタにデプロイします。


vApp をクラスタにデプロイするときは DRS クラスタにしておきます。

DRS が有効であれば、手動モードでも構いません。

hyperic-deploy-07.png

 

仮想ディスクのフォーマットを選択します。今回は動作検証するだけなので、

ストレージ容量節約のため「Thin Provision」にします。


そして、デプロイ先のデータストアを選択します。

DRS クラスタにデプロイするので、

クラスタに参加してる ESXi が共有しているデータストアを選択します。

hyperic-deploy-08.png

 

vApp に含まれる VM を接続するポートグループを選択します。

※接続するポートグループがデフォルト以外の場合は、あらかじめ作成しておきます。


DNS サーバ、ゲートウェイ、ネットマスクは

指定したポートグループの環境に合わせて入力します。


ちなみに、

vCenter のIP プール(もしくはネットワーク プロトコル プロファイル)を作成したほうが

よさそうですが、なくても Hyperic / AppHA のデプロイはできました。

hyperic-deploy-09.png

 

Hyperic Server、Hyperic 用 DB それぞれの

管理用ユーザ「hqadmin」のパスワードを指定します。

そして、IP アドレスも指定します。「Networking Properties」を開いて・・・

hyperic-deploy-10.png

 

Hyperic Server と、Hyperic 用 DB サーバ(vPostgres DB)の

IP アドレスを入力して、「次へ」。

hyperic-deploy-11.png

 

設定内容を確認して「終了」をクリックすると、デプロイが開始されます。

hyperic-deploy-12.png

 

正常にデプロイ完了すると、Hyperic の vApp が作成されます。

※例では、「仮想マシンおよびテンプレート」のインベントリで表示しています。

hyperic-deploy-13.png

 

vApp には、2つの VM が含まれています。

  • vCenter_Hyperic_Server → Hyperic Server の VM です。
  • vFabric_vPostgres_DB → Hyperic が内部で使用する DB サーバの VM です。

どちらも、VM バージョン が 7 なので、

VM を起動する前に バージョン 10 にアップグレードしておきます。

 

まず、Hyperic Server の VM を右クリックして、

「すべての vCenter アクション」→「互換性」→

「仮想マシンの互換性のアップグレード」をクリックします。

hyperic-deploy-14.png

 

確認画面が表示されるので「はい」をクリックします。

hyperic-deploy-15.png

 

今回は「ESXi 5.5 以降」を選択します。

hyperic-deploy-16.png

 

VM バージョンが 10 になりました。

hyperic-deploy-17.png


同様に、Hyperic 用 DB サーバも

VM バージョン を 10 にしておきます。

hyperic-deploy-18.png


次は、Hyperic をセットアップします。

つづく・・・



vSphere AppHA への道。Part 2. Hyperic のセットアップ

$
0
0

このポストは

vSphere AppHA への道。Part 1. Hyperic の vApp デプロイ

のつづきです。

前回デプロイした Hyperic をセットアップしていきます。

 

セットアップ手順の流れ(予定では・・・)

  1. Hyperic の vApp デプロイ
  2. Hyperic のセットアップ★←今回はここ
  3. Hyperic への VC 登録
  4. AppHA の OVA デプロイ
  5. AppHA と vSphereHA のセットアップ
  6. Hyperic エージェントの導入
  7. AppHA ポリシーの作成
  8. AppHA ポリシーの割り当て

 

手順

 

今回は、vApp を起動して、タイムゾーンを変更するだけです。

 

と おもったら vCenter 5.5 から仕様変更があり、タイムゾーンを変更しない方がよさそうです。

というわけで、無理に SUSE のタイムゾーンを変更せずに

vApp だけ起動して次へ・・・

仮想アプライアンス版 vCenter 5.5 の場合は、

ESXi 同様、うまく UTC で運用する方法を考える必要がるかもしれません。

 

こんな KB をみつけました。

Setting the Time Zone in the vCenter Server Appliance (2057956)

http://kb.vmware.com/kb/2057956

 

 

それでは、Hyperic の vApp 「vCenter Hyperic」を起動します。

hyperic-setup-01.png


最初に Hyperic 用 DB の VM

「vFabic_vPostgres_DB」が起動します。

 

Web Client のコンソールからアクセスすると

下記のような画面が表示されます。

 

vCenter の仮想アプライアンスなどと同様に、

Web ブラウザから下記にアクセスすることで設定ができます。

https://<vPostgres DB の IP アドレス>:5480/

hyperic-setup-02.png

 

DB の VM が起動すると、つづけて

「vCenter_Hyperic_Server」の VM が起動します。

 

こちらは、一般的な設定変更 UI である

https://<Hyepric Server の IP アドレス>:5480/

 

のほかに、Hyperic Server の UI にアクセスする URL

http://<Hyepric Server の IP アドレス>:7080/

も用意されています。

※こちらは、HTTPS ではなく HTTP でアクセスします。

hyperic-setup-03.png

 

Hyperic の Web コンソールにアクセスします。

https://<Hyepric Server の IP アドレス>:5480/

 

root ユーザのパスワードは、vApp のデプロイ中に指定した

hqadmin ユーザのパスワードと同じものが設定されます。

hyperic-setup-04.png


※タイムゾーンは UTC のままがよさそうですが・・・

私の環境では vCenter のタイムゾーンを 日本の「Asia/Tokyo」 にしていたので、

Hyperic のタイムゾーンも「Etc/UTC」から「Japan」に変更してみます。

 

ここでは省略しますが、

同様に vPostgres DB の VM のタイムゾーンも合わせておきます。

hyperic-setup-05.png

 

設定変更後、一度 Hyepric を再起動しておきます。

hyperic-setup-06.png

 

「vCenter_Hyperic_Server」の VM が起動したら、

Web ブラウザで Hyperic Server の UI にアクセスします。

http://<Hyepric Server の IP アドレス>:7080/


ちなみに、Hyperic の UI には、

これまで設定のために開いていた Web コンソールで

「vCenter Hyperic」リンクをクリックしても開くことができます。

hyperic-setup-07.png

 

Hyperic の UI には、

hqadmin ユーザでログインします。

この時のパスワードは、vApp デプロイ時に指定したものです。

hyperic-setup-08.png

 

Hyperic にログインすると、このような画面が表示されます。

hyperic-setup-09.png

 

次は、Hyperic に vCenter を登録します。

つづく・・・

vSphere AppHA への道。Part 3. Hyperic への VC 登録

$
0
0

このポストは

vSphere AppHA への道。Part 2. Hyperic のセットアップ

のつづきです。

 

セットアップ手順の流れ(予定・・・)

  1. Hyperic の vApp デプロイ
  2. Hyperic のセットアップ
  3. Hyperic への VC 登録★←今回はここ
  4. AppHA の OVA デプロイ
  5. AppHA と vSphereHA のセットアップ
  6. Hyperic エージェントの導入
  7. AppHA ポリシーの作成
  8. AppHA ポリシーの割り当て

 

今回は、vCenter に Hyperic のエージェントを導入して

Hyperic Server に「VC」という名前で登録します。

この「VC」リソースを登録しないと、

後の手順で AppHA のポリシーを VM に割り当てるときに下記のようなエラーとなってしまいます。

hyperic-vc-00.png

 

vCenter は仮想アプライアンス版(vCenter Server Appliance)を

使用しているので、OS は SUSE Linux です。

そのため、64bit Linux 用 のエージェントを導入します。

※Windows 版 vCenter の場合は、今回の手順ではなく Windows 用のエージェント導入が必要です。

 

1. vCenter Hyperic にログインしておく

 

まず、Web ブラウザで vCenter Hyperic(下記の URL)にアクセスします。

http://<Hyepric Server の IP アドレス>:7080/

 

ここでは、hqadmin でログイン(Sign in)します。

hyperic-vc-01.png

 

ログインしました。

この画面で、この後の手順で vCenter の自動検出確認と登録をします。

hyperic-vc-02.png

 

 

2. vCenter への Hyperic エージェント導入と起動

 

vCenter に、Hyperic エージェントを導入します。

AppHA を動作させるためには、

VMware-Tools とは別に、Hyperic のエージェントが必要になります。

 

ここまで「Hyperic エージェント」などど書いたりしていますが、

正しくは、もともとの製品名が「Hyperic HQ」なので

Hyperic HQ Agent という名前のようです。

 

■ Hyperic エージェントの導入先について

AppHA 環境を構築するには、

次の場所でエージェントが動作してる必要があるようです。

  • vCenter
    今回は仮想アプライアンス版なので Linux。
  • AppHA で保護対象のアプリが動作している ゲスト OS
    これも、今回は Linux にする予定です。

 

ちなみに、仮想アプライアンス版 vCenter 5.5 U1 の

OS バージョンは SUSE Linux 11 です。

vc51u1-1:~ # cat /etc/SuSE-release

SUSE Linux Enterprise Server 11 (x86_64)

VERSION = 11

PATCHLEVEL = 2

 

■ Hyperic エージェントの配置

MyVMware から Hyperic のエージェント(HQ Agent)をダウンロードして

SCP など(たとえば WinSCP や TeraTerm など)で

エージェント導入対象の OS に配置しておきます。

 

 

エージェントは TAR + GZIP 形式で圧縮されているので

「tar zxf」コマンドで展開します。

今回の展開先は、/opt/vmware 配下にしてみました。

vc51u1-1:~ # ls -lh /root/work/hyperic-hqee-agent-x86-64-linux-5.8.1.tar.gz

-rw------- 1 root root 99M May  1 15:51 /root/work/hyperic-hqee-agent-x86-64-linux-5.8.1.tar.gz

vc51u1-1:~ # cd /opt/vmware/

vc51u1-1:/opt/vmware # tar zxf /root/work/hyperic-hqee-agent-x86-64-linux-5.8.1.tar.gz

vc51u1-1:/opt/vmware # ln -s hyperic-hqee-agent-5.8.1 hyperic

 

Hyperic エージェントの設定ファイルを修正しておきます。

今回の環境では、設定ファイルのパスは

/opt/vmware/hyperic/conf/agent.properties となります。

 

設定ファイルは、全てを編集しなくても

エージェント起動時に対話的に設定することができます。

vc51u1-1:/opt/vmware # cd hyperic/conf/

vc51u1-1:/opt/vmware/hyperic/conf # cp -p agent.properties agent.properties_bk

vc51u1-1:/opt/vmware/hyperic/conf # vi agent.properties

 

今回、編集したのは下記の2行です。

80行目、199行目の2か所を変更しています。

この2行は、エージェントの初回起動前にあらかじめ設定しておく必要がありそうです。

vc51u1-1:/opt/vmware/hyperic/conf # diff agent.properties_bk agent.properties

80c80

< #agent.setup.acceptUnverifiedCertificate=no

---

> agent.setup.acceptUnverifiedCertificate=yes

199c199

< accept.unverified.certificates=false

---

> accept.unverified.certificates=true

 

編集箇所の周辺は下記のような感じです。

vc51u1-1:/opt/vmware/hyperic/conf # cat -n agent.properties

(省略)

    71  #agent.setup.camIP=localhost

    72  #agent.setup.camPort=7080

    73  #agent.setup.camSSLPort=7443

    74  #agent.setup.camSecure=yes

    75  #agent.setup.camLogin=hqadmin

    76  #agent.setup.camPword=hqadmin

    77  #agent.setup.agentIP=*default*

    78  #agent.setup.agentPort=*default*

    79  #agent.setup.resetupTokens=no

    80  agent.setup.acceptUnverifiedCertificate=yes

(省略)

   198  ## Automatically accept unverified certificates

   199  accept.unverified.certificates=true

(省略)

 

エージェントの起動

 

エージェントは、hq-agent.sh スクリプトで操作することができます。

スクリプトには下記のようなオプションがあります。

vc51u1-1:/opt/vmware/hyperic/bin # ./hq-agent.sh -h

Usage: ./bundles/agent-x86-64-linux-5.8.1/bin/hq-agent.sh { start | stop | restart | status | dump | ping | setup | set-property }

 

設定ファイルでデフォルトのままにしていた設定項目は、

「hq-agent.sh start」でエージェントの初回起動する時に、

対話形式で設定することができます。

デフォルト値([default=XXXX] と表示されているもの)のままでよい設定項目では、

そのまま Enter キーを押します。

※下記の例では「★」のところで対話設定しています。

vc51u1-1:/opt/vmware/hyperic/bin # ./hq-agent.sh start

Starting HQ Agent...... running (11348).

Picked up JAVA_TOOL_OPTIONS: -Xms16M -Xmx128M

[ Running agent setup ]

Should Agent communications to HQ be unidirectional [default=no]:

What is the HQ server IP address: 192.168.5.186

Should Agent communications to HQ always be secure [default=yes]:

What is the HQ server SSL port [default=7443]:

- Testing secure connection ... Success

What is your HQ login [default=hqadmin]:

What is your HQ password: パスワードを入力

What IP should HQ use to contact the agent [default=192.168.5.70]:

What port should HQ use to contact the agent [default=2144]:

- Received temporary auth token from agent

- Registering agent with HQ

The server to agent communication channel is using a self-signed certificate and could not be verified

Are you sure you want to continue connecting? [default=no]: yes ★

- HQ gave us the following agent token

    1398983825352-9195715040912368100-5302549356785827088

- Informing agent of new HQ server

- Validating

- Successfully setup agent

vc51u1-1:/opt/vmware/hyperic/bin #

 

ちなみに、エージェントの対話設定を一度実行すると

それ以降は、その設定でエージェントが起動されます。

vc51u1-1:/opt/vmware/hyperic/bin # ./hq-agent.sh stop ★停止

Stopping HQ Agent...

Stopped HQ Agent.

vc51u1-1:/opt/vmware/hyperic/bin # ./hq-agent.sh start ★起動

Starting HQ Agent...... running (18339).

Picked up JAVA_TOOL_OPTIONS: -Xms16M -Xmx128M

vc51u1-1:/opt/vmware/hyperic/bin # ./hq-agent.sh status ★状態確認

HQ Agent is running (PID:18339).

Picked up JAVA_TOOL_OPTIONS: -Xms16M -Xmx128M

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

 

エージェントは、OS 起動時に自動起動したいので、

とりあえず、SUSE Linux なので /etc/init.d/after.local ファイルに

下記のように起動コマンド(赤字部分)を追記しておきます。

vc51u1-1:~ # vi /etc/init.d/after.local

vc51u1-1:~ # cat /etc/init.d/after.local

#!/bin/sh

 

COMMONUTILS=/usr/sbin/vpxd_commonutils

. $COMMONUTILS

 

if [ -f "$EULA_ACCEPTING" ]; then

   touch "$EULA_RUNLEVEL_CHANGED"

   rm -f "$EULA_ACCEPTING"

fi

 

# Hyperic

/opt/vmware/hyperic/bin/hq-agent.sh start

 

3. vCenter Hyperic への vCenter 登録

 

vCenter でエージェントが起動している状態で、

Hyperic で画面更新(「Dashboard」タブのクリックでもよい)をすると、

vCneter の ゲスト OS で起動しているサービスがいくつか自動検出されます。

黄緑色の「Add to Inventory」ボタンをクリックして、Hyepric に登録してしまいます。

hyperic-vc-03.png

 

「Resource」タブを開くと、vCenter のホスト名が表示されています。

※例では「vc51u1-1.vmad.local」という名前にしています。

 

表示されている vCenter のホスト名のリンクをクリックします。

hyperic-vc-04.png

 

vCenter のリソース監視状況がわかる画面が表示されるので、

ここで「VC」という名前で VMware vCenter AppHA プラグインをリソース登録します。

「Tools Menu」→「New Server」を開きます。

hyperic-vc-05.png

 

下記を入力して「OK」をクリックします。

  • Name →「VC」
  • Server Type →「VMware vCenter AppHA」
  • Install Path →「*」

hyperic-vc-06.png

 

「VC」リソースが登録されました。

続けて「Configuration Properties」をクリックします。

hyperic-vc-07.png

 

下記を入力して「OK」をクリックします。

  • url
    例では、ためしに https://localhost/sdk(デフォルトのまま)にしていますが
    localhost のかわりに vCenter の IP アドレスを
    指定したほうがよいのかもしれません。

  • user / pass
    vCenter にログインできるユーザ/パスワードを指定します。
    今回の vCenter は AD 認証を設定しているので、
    「VMAD」という Windows ドメインの administrator を指定しています。
    もしかしたら、
    administrator@vsphere.local ユーザなどの方が簡単かもしれません。

  • process.query
    これはデフォルトのままです。

hyperic-vc-08.png

 

設定が保存されました。

hyperic-vc-09.png

 

これで、Hyperic への VC 登録ができました。

つぎは AppHA の仮想アプライアンスをデプロイします。

 

つづく。

vSphere AppHA への道。Part 4. AppHA の OVA デプロイ

$
0
0

このポストは

vSphere AppHA への道。Part 3. Hyperic への VC 登録

のつづきです。

今回は、Web Client で

AppHA の仮想アプライアンス(OVA ファイル)をデプロイします。

 

セットアップ手順の流れ

  1. Hyperic の vApp デプロイ
  2. Hyperic のセットアップ
  3. Hyperic への VC 登録
  4. AppHA の OVA デプロイ ★←今回はここ
  5. AppHA と vSphereHA のセットアップ
  6. Hyperic エージェントの導入
  7. AppHA ポリシーの作成
  8. AppHA ポリシーの割り当て

 

手順

 

Web Client にログインして、

デプロイ先のインベントリオブジェクトを

右クリック→「OVF テンプレートのデプロイ」をクリックします。

appha-deploy-01.png

 

OVA ファイルを指定して「次へ」をクリックします。

今回は、MyVMware からダウンロードした

AppHA-1.1.0.188-1711850_OVF10.ovaファイル(AppHA 1.1)を使用します

appha-deploy-02.png

 

「追加の構成オプションの承諾」をクリックすると

「次へ」をクリックできるようになります。

appha-deploy-03.png

 

EULA の承諾 では、

「承諾」をクリックすると「次へ」進めるようになります。

appha-deploy-04.png

 

「名前」には、AppHA の 仮想マシン名 を指定します。

今回は、デフォルトのまま「vSphere App HA」にしています。


そして、デプロイ先の データセンタ もしくは 仮想マシンフォルダ を

指定して「次へ」をクリックします。

appha-deploy-05.png

 

デプロイ先の ESXi を選択して「次へ」。

appha-deploy-06.png

 

今回は動作検証するだけなので、

仮想ディスクのフォーマットは 「Thin Provision」 にしました。

デプロイ先の データストア を選択して「次へ」。

appha-deploy-07.png

 

VM を接続するポートグループを選択して

「次へ」をクリックします。

appha-deploy-08.png

 

AppHA に設定する 管理ユーザ(root)のパスワードと、

ネットワーク設定情報を入力します。

appha-deploy-09.png

 

vCenter Extemsion vService 登録の確認画面が出るので「次へ」。

appha-deploy-10.png

 

設定内容を確認して「終了」をクリックするとデプロイが開始されます。

appha-deploy-11.png

 

「vSphere App HA」という VM がデプロイされました。

これも 仮想マシン バージョン がデフォルトだと 7 なので、

起動する前に 10 にアップグレードしておきます。


「vSphere App HA」→「すべての vCenter アクション」→

「互換性」→「仮想マシンの互換性のアップグレード」を開きます。

appha-deploy-12.png

 

アップグレードするか確認されます。

appha-deploy-13.png

 

互換対象は「ESXi 5.5 以降」(VM バージョン 10)にしておきます。

appha-deploy-14.png

 

「VM バージョン 10」になりました。

※ちなみに、このバージョンは vSphere Clinet だと vmx-10 と表示されます。

appha-deploy-15.png

 

このあとは、AppHA と vSphereHA のセットアップ をします。

まだ続く・・・

vSphere AppHA への道。Part 5. AppHA と vSphereHA のセットアップ

$
0
0

このポストは

vSphere AppHA への道。Part 4. AppHA の OVA デプロイ

のつづきです。

 

セットアップ手順の全体的な流れ

  1. Hyperic の vApp デプロイ
  2. Hyperic のセットアップ
  3. Hyperic への VC 登録
  4. AppHA の OVA デプロイ
  5. AppHA と vSphereHA のセットアップ ★←今回はここ
  6. Hyperic エージェントの導入
  7. AppHA ポリシーの作成
  8. AppHA ポリシーの割り当て

 

今回は Web Client で

AppHA の Hyperic 連携設定と、

vSphere HA 側での AppHA 対応設定をします。

 

AppHA のセットアップ(Hyperic 連携設定)


まず、Web Clientで AppHA と Hyperic の連携設定をしておきます。

 

デプロイ済みの AppHA 仮想アプライアンスをパワーオンします。

AppHA 数分程度、AppHA が起動するのを待ったら、

Web Client に AppHA のプラグインを認識させるため、一度ログアウトします。

appha-setting-01.png

 

そして、Web Client に再度ログインします。

ここでも、例では AD ドメインの Administrator ですが

デフォルトで存在する administrator@vsphere.local ユーザなどでもよいと思います。

appha-setting-02.png

 

ホーム画面で「管理」を開きます。

appha-setting-03.png

 

「vSphere App HA」→「設定」タブを開いて、

vCenter Hyperic の構成 を入力して、「適用」をクリックします。

  • vCenter Hyperic サーバ→ Hyperic Server の IP アドレスを入力します。
  • ポート→ デフォルトの 7443 を入力します。
  • ユーザ名 / パスワード→ Hyperic Server の UI にログインするユーザを指定します。

appha-setting-04.png

 

「vCenter Hyperic証明書」というリンクが表示されるのでクリックすると、

appha-setting-05.png

 

証明書の情報が表示されるので「承認」をクリックします。

appha-setting-06.png

 

vCenter Hyperic に接続されました。

appha-setting-07.png

 

vSphere HA の AppHA 対応設定

 

AppHA を動作させるためには、

vSphere HA クラスタでも、仮想マシンの保護設定を変更しておきます。

ちなみに、AppHA の仮想アプライアンスと、保護対象になる VM は、

おなじ vCenter 内であれば異なるクラスタにいても大丈夫です。


これから AppHA で保護する予定の VM が所属しているクラスタの

「管理」→「設定」→「vSphere HA」を開き、「編集」をクリックします。

appha-vha-01.png

 

クラスタで vSphere HA がオンにして、

「仮想マシンの監視」を「仮想マシンとアプリケーションの監視」にします。

これで、このクラスタで AppHA が機能するようになります。

appha-vha-02.png

 

 

おまけ

 

vSphere HA では、VM ごとに設定をオーバーライドできるので、

下記のように VM ごとに HA 発動のための「仮想マシンの監視」設定を

変更することもできます。あまり設定することはないかもしれませんが・・・

 

「仮想マシンのオーバーライド」を開いて、「追加」をクリック。

appha-vha-03.png

 

「+」ボタンで設定対象の VM を追加します。

この画面では、現状の vSphere HA のデフォルト設定も確認できます。

appha-vha-04.png

 

VM を選択して「OK」をクリック。

appha-vha-05.png

 

 

これで VM ごとに「仮想マシンの監視」などの設定を変更できます。

appha-vha-06.png

 

たとえば、vSphere HA や AppHA での保護がいらない VM を、

意図的に「無効」設定することもできます。

※見づらかったので「仮想マシンの監視」列はデフォルトの場所から移動しています。

appha-vha-07.png

 

つぎは、アプリケーション監視対象のゲスト OS に、

Hyperion のエージェントを導入します。

 

もう少しつづく。

vSphere AppHA への道。Part 6. Hyperic エージェントの導入

$
0
0

このポストは

vSphere AppHA への道。Part 5. AppHA と vSphereHA のセットアップ

のつづきです。

 

今回は

保護対象のゲスト OS に直接ログインして Hyperic エージェントを導入した後、

Hypric Server の UI でリソース監視登録をします。

AppHA でのアプリケーション保護対象とする VM(のゲスト OS) には

VMware-Tools とは別に、Hyperic のエージェント導入が必要です。

 

以前のポストでも Hyperic エージェントを導入しましたが、

だいたい手順は同じです。

vSphere AppHA への道。Part 3. Hyperic への VC 登録

 

セットアップ手順全体の流れ

  1. Hyperic の vApp デプロイ
  2. Hyperic のセットアップ
  3. Hyperic への VC 登録
  4. AppHA の OVA デプロイ
  5. AppHA と vSphereHA のセットアップ
  6. Hyperic エージェントの導入★←今回はここ
  7. AppHA ポリシーの作成
  8. AppHA ポリシーの割り当て

 

今回導入するエージェント

 

以前のポスト同様、MyVMware から入手した下記のファイルを使用します。

hyperic-hqee-agent-x86-64-linux-5.8.1.tar.gz

 

今回のエージェント導入先について

 

ここでは、Oracle Linux に Hyperic エージェントを導入してみます。

基本的には、以前のポストのエージェント導入手順と同様です。

ちなみに、Oracle Linux は Redhat 互換の OS なので

RHEL にエージェント導入する場合も同様の手順になります。

[root@db01 ~]# cat /etc/oracle-release

Oracle Linux Server release 6.5

[root@db01 ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 6.5 (Santiago)

 

Linux のファイアウォールは無効にしてしまいます。

[root@db01 ~]# service iptables stop

iptables: チェインをポリシー ACCEPT へ設定中filter         [  OK  ]

iptables: ファイアウォールルールを消去中:                  [  OK  ]

iptables: モジュールを取り外し中:                          [  OK  ]

[root@db01 ~]# chkconfig iptables off

[root@db01 ~]# iptables -L

Chain INPUT (policy ACCEPT)

target     prot opt source               destination

 

Chain FORWARD (policy ACCEPT)

target     prot opt source               destination

 

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination

 

今回の保護対象のアプリケーションについて

 

この後 AppHA で Oracle 11g を保護してみようと思います。

Oracle Database は、事前に構築してあり、

DB インスタンスとリスナーは、ゲスト OS 起動時に、一緒に自動起動するように仕込んであります。

 

Oracle DB には、今回のテスト用に

dbuser というユーザを作成しています。

Hyperic での Oracle 11g 監視には

「select any dictionary」権限が必要なようなので付与しておきます。

SQL> create user dbuser identified by "oracle";

 

ユーザーが作成されました。

 

SQL> grant connect to dbuser;

 

権限付与が成功しました。

 

SQL> grant select any dictionary to dbuser;

 

権限付与が成功しました。

 

DB インスタンスには、

Oracle リスナー経由で接続できることを確認しておきます。

とりあえず、DB インスタンスに Oracle の sqlplus で接続して

DB が起動していること(インスタンスが OPEN になっていること)を確認してみました。

 

今回はコマンドラインにパスワードを直接記載していますが、

本番環境などでテストするときは、書かないほうがよいでしょう。

※今回の Oracle Database 11g のバージョンは 11.2.0.4 です。

※保護対象 DB サーバの IP アドレスは 192.168.5.189 にしました。

[oracle@db01 ~]$ echo 'select instance_name,status from v$instance;' | sqlplus dbuser/oracle@192.168.5.189:1521/orcl

 

SQL*Plus: Release 11.2.0.4.0 Production on 日 5月 11 12:41:56 2014

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

に接続されました。

SQL>

INSTANCE_NAME    STATUS

---------------- ------------

orcl             OPEN

 

SQL> Oracle Database 11g Release 11.2.0.4.0 - 64bit Productionとの接続が切断されました。

 

エージェントの導入手順

 

最初に、エージェントを配置します。

エージェントは TAR + GZIP 形式で圧縮されているので

「tar zxf」コマンドで展開します。

今回も、展開先は /opt/vmware 配下にしてみました。

今回の Hyperic エージェントは Linux の「oracle」ユーザで起動するつもりなので、

ファイルの所有者も oracle ユーザにしてしまいました。

[root@db01 ~]# id

uid=0(root) gid=0(root) 所属グループ=0(root)

[root@db01 ~]# mkdir /opt/vmware

[root@db01 ~]# cd /opt/vmware

[root@db01 vmware]# tar zxf /root/work/agent/hyperic-hqee-agent-x86-64-linux-5.8.1.tar.gz

[root@db01 vmware]# ln -s hyperic-hqee-agent-5.8.1 hyperic

[root@db01 vmware]# chown -R oracle:oinstall hyperic-hqee-agent-5.8.1

[root@db01 vmware]# ls -l

合計 4

lrwxrwxrwx 1 root   root       24  5月 11 13:09 2014 hyperic -> hyperic-hqee-agent-5.8.1

drwxrwxrwx 7 oracle oinstall 4096  2月 22 03:15 2014 hyperic-hqee-agent-5.8.1

 

今回の環境でも、編集する設定ファイルのパスは

/opt/vmware/hyperic/conf/agent.properties です。

設定ファイルを編集します。

[root@db01 ~]# su - oracle

[oracle@db01 ~]$ id

uid=54321(oracle) gid=54321(oinstall) 所属グループ=54321(oinstall),54322(dba)

[oracle@db01 ~]$ cd /opt/vmware/hyperic/conf/

[oracle@db01 conf]$ cp -p agent.properties agent.properties_bk

[oracle@db01 conf]$ vi agent.properties

 

今回は、以前のポストの時よりも多くの設定項目について

設定ファイルに記載してみました。

下記が、デフォルトの設定ファイルとの差分です。

[oracle@db01 conf]$ diff agent.properties_bk agent.properties

71,76c71,76

< #agent.setup.camIP=localhost

< #agent.setup.camPort=7080

< #agent.setup.camSSLPort=7443

< #agent.setup.camSecure=yes

< #agent.setup.camLogin=hqadmin

< #agent.setup.camPword=hqadmin

---

> agent.setup.camIP=192.168.5.186

> agent.setup.camPort=7080

> agent.setup.camSSLPort=7443

> agent.setup.camSecure=yes

> agent.setup.camLogin=hqadmin

> agent.setup.camPword=<hqadminのパスワード>

80c80

< #agent.setup.acceptUnverifiedCertificate=no

---

> agent.setup.acceptUnverifiedCertificate=yes

199c199

< accept.unverified.certificates=false

---

> accept.unverified.certificates=true

 

エージェントを起動します。

初回起動時は、未設定の項目をいくつか対話的に設定をします。

※今回は「★」のあたりで Enter キーを押しています。

[oracle@db01 conf]$ /opt/vmware/hyperic/bin/hq-agent.sh start

Starting HQ Agent...... running (9325).

[ Running agent setup ]

Should Agent communications to HQ be unidirectional [default=no]:

What is the HQ server IP address: 192.168.5.186

Should Agent communications to HQ always be secure [default=yes]: yes

What is the HQ server SSL port [default=7443]: 7443

- Testing secure connection ... Success

What is your HQ login [default=hqadmin]: hqadmin

What is your HQ password: **Not echoing value**

What IP should HQ use to contact the agent [default=192.168.5.189]:

What port should HQ use to contact the agent [default=2144]:

- Received temporary auth token from agent

- Registering agent with HQ

The server to agent communication channel is using a self-signed certificate and could not be verified

Are you sure you want to continue connecting? [default=no]: yes

- HQ gave us the following agent token

    1399782136714-3153031852728470426-2132034102749824029

- Informing agent of new HQ server

- Validating

- Successfully setup agent

[oracle@db01 conf]$ /opt/vmware/hyperic/bin/hq-agent.sh status

HQ Agent is running (PID:9325).

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

 

ちなみに、設定ファイルに記載したパスワード(下記の76行目)は、

エージェントの初回起動後、暗号化されていました。

[oracle@db01 ~]$ cat -n /opt/vmware/hyperic/conf/agent.properties | grep -C2 agent.setup.camPword

    74  agent.setup.camSecure=yes

    75  agent.setup.camLogin=hqadmin

    76  agent.setup.camPword=ENC(XkzQpxtCyB22AAyz4XLMsW5rOCiEf8kr)

    77  #agent.setup.agentIP=*default*

    78  #agent.setup.agentPort=*default*

 

Hyperic での Oracle 関連リソース登録

 

ここからは、Hyperic Server の Web UI で設定します。

 

監視対象のゲスト OS で Hyperic エージェントを起動すると、

Hyperic Server でサービスが自動検知されます。

「Dashboard」タブに自動検知されたリソースが表示されるので、

「Add to Inventory」ボタンで登録します。

ちなみに Oracle Linux は Red Hat として認識されます・・・

hq-agent-add-01.png

 

「Resources」タブに、登録されたゲスト OS 名のリンクが表示されるので

それをクリックします。

hq-agent-add-02.png

 

Oracle 11g にかかわる設定をするため、

「<ホスト名> Oracle 11g」というリンクをクリックします。

hq-agent-add-03.png

 

画面の上部を見ると、現在

どのリソースについての画面が開かれているのかがわかります。

今の画面は、db01 というゲスト OS の Oracle 11g リソースのものです。

Oracle の監視設定をするため、

「Configuration Properties」というリンクをクリックします。

hq-agent-add-04.png

 

JDBC の URL や、DB 接続するための

DB ユーザ、パスワードなどが設定できます。

今回は、下記だけデフォルト値から変更しています。

  • jdbcUrl
    jdbc:oracle:thin:@<DB サーバの IP>:<Oracle リスナーのポート>:<SID>
    という形式で指定します。(デフォルト値は jdbc:oracle:thin:@localhost:1521:ORCLTST)
    今回は下記のようにしてみました。
    jdbc:oracle:thin:@192.168.5.189:1521:orcl

  • jdbcUserjdbcPassword
    hyperic のエージェントが Oracle に接続するための DB ユーザを指定します。
    このユーザには、Oracle の select any dictonary 権限が必要なようです。

hq-agent-add-05.png

 

設定が保存されました。

hq-agent-add-06.png

 

「Monitor」を開くと、

Oracle の監視情報が収集がされていることがわかります。

hq-agent-add-07.png

 

Hypericエージェントの動作確認

 

エージェントが動作するか確認するため、

Hyperic の Control 画面で Oracle を停止・起動してみます。

 

うまく動かない場合は、

設定を確認したり、ログファイルを見たりしてみるとよいと思います。

  • Hyperic エージェント
    <Hyperic エージェント展開ディレクトリ>/log/agent.log がログファイルです。
    今回の環境だと、/opt/vmware/hyperic/log/agent.log になります。

  • Oracle Database
    アラートログファイルとか・・・

 

停止するには、

Oracle 11g リソースの、「Control」タブを開きます。

Control Action で「Stop」を選択して、

Control Arguments に「immediate」と入力します。

ちなみに、shutdown immediate で DB を停止しないと

エージェントが接続し続けているためか、タイムアウトエラーになるようです。

 

指定したら、緑の矢印をクリックします。

hq-agent-add-08.png

 

シャットダウン処理が開始されます。

hq-agent-add-09.png

 

Error になりました。

が、よく見ると Oracle は停止されているようなので今回は良しとします・・・

ただし、「Command Status」をよく見ると、

ユーザの権限不足だったり、エージェント接続ができなかったり

といったことも表示されることがあるので要注意です。

 

ちなみに、Oracle の起動停止では sqlplus を使用しているようです。

hq-agent-add-10.png

 

起動するときは、

Control Action で「Start」を選択して、緑のボタンをクリックします。

hq-agent-add-11.png

 

また Error になりましたが、

「Command Status」を見るとちゃんと Oracle は

起動して(OPEN して)いそうなので、今回はこのまま進みます。

hq-agent-add-12.png

 

ちなみに、エージェントの設定が十分でないと、

ここで Stop や Start をしてもアプリが反応しなかったりします。

 

おまけ: エージェント自動起動設定

 

Hyperic エージェントは、ゲスト OS の起動時に

自動起動させる必要があるので、下記のような設定をしてみました。

以下は、Red Hat 系 Linux 向けです。

もしかしたら、もっと良い方法があるかもしれませんが・・・

 

パターン1

/etc/rc.local ファイルに記載しておく。

 

OS 起動時に、自動的に実行されるスクリプトファイルに

hq-agent.sh を追記(赤字の部分)しておきます。

[root@db01 conf]# cat -n /etc/rc.local

     1  #!/bin/sh

     2  #

     3  # This script will be executed *after* all the other init scripts.

     4  # You can put your own initialization stuff in here if you don't

     5  # want to do the full Sys V style init stuff.

     6

     7  touch /var/lock/subsys/local

     8

     9  # Hyperic Agent

    10  su - oracle -c "/opt/vmware/hyperic/bin/hq-agent.sh start"

 

パターン2

init.d スクリプト作成 してchkconfig で登録する。

 

/etc/init.d/hq-agent というスクリプトファイルを作成して、

自動起動するように chkconfig で登録してみました。

[root@db01 ~]# cat /etc/init.d/hq-agent

#!/bin/bash

#

# hq-agent: Hyperic HQ Agent

#

# chkconfig: 35 99 99

# description: Hyperic HQ Agent

#

HYPERIC_AGENT_USER=oracle

HYPERIC_AGENT_CMD=/opt/vmware/hyperic/bin/hq-agent.sh

su - $HQ_AGENT_USER -c "/opt/vmware/hyperic/bin/hq-agent.sh $@"

exit $?

上記のスクリプトを作成後、下記のように登録します。

[root@db01 ~]# chmod 755 /etc/init.d/hq-agent

[root@db01 ~]# chkconfig --add hq-agent

[root@db01 ~]# chkconfig --list hq-agent

hq-agent        0:off   1:off   2:off   3:on    4:off   5:on    6:off

 

この後は、AppHA のポリシー設定をします。

つづく。

vSphere AppHA への道。Part 7. AppHA ポリシーの作成

$
0
0

このポストは

vSphere AppHA への道。Part 6. Hyperic エージェントの導入

のつづきです。

今回は、Web Client で AppHA のポリシー作成をします。

 

セットアップ手順全体の流れ

  1. Hyperic の vApp デプロイ
  2. Hyperic のセットアップ
  3. Hyperic への VC 登録
  4. AppHA の OVA デプロイ
  5. AppHA と vSphereHA のセットアップ
  6. Hyperic エージェントの導入
  7. AppHA ポリシーの作成★←今回はここ
  8. AppHA ポリシーの割り当て

 

手順

 

Web Client のホーム画面から「管理」を開きます。

appha-pol-01.png

 

「vSphere App HA」→「ポリシー」を開いて、

「+」ボタンをクリックします。

appha-pol-02.png

 

ポリシー作成画面が表示されるので、ポリシー名を入力します。

今回は「appha-oracle11g」という名前にしました。

appha-pol-03.png

 

「アプリケーション サービス」に保護可能なアプリケーションがリストされるので

「Oracle 11g」を選択します。

他はとりあえずデフォルトのままにしておきます。

appha-pol-04.png

 

「修正」という画面で、アプリケーション障害時に

どのように修正(障害復旧)するかを設定します。


今回は、Oracle Database の障害を検知した時に

下記のような動作をするように(期待して)設定してみます。

  • サービス(Oracle DB インスタンス)を再起動する。
  • 3分以内に DB インスタンスが起動しなかったら VM をリセットする。

appha-pol-05.png


vCenter アラーム定義を設定します。

「サービスは停止しました」のチェックを ON にしておきます。

E-Mail での通知は、今回はスキップします。

appha-pol-06.png

 

設定内容を確認して「終了」をクリック。

appha-pol-07.png

 

ポリシーが作成されました。

appha-pol-08.png

 

AppHA ポリシーは、作成しただけでは機能しません。

つぎは、このポリシーを VM 上のアプリケーション に割り当てます。

つづく。

vSphere AppHA への道。Part 8. AppHA ポリシーの割り当て ~ 動作確認

$
0
0

このポストは

vSphere AppHA への道。Part 7. AppHA ポリシーの作成

のつづきです。

今回は、Web Client で

AppHA ポリシーを VM(のアプリケーション サービス) に割り当てます。

 

セットアップ手順の流れ

  1. Hyperic の vApp デプロイ
  2. Hyperic のセットアップ
  3. Hyperic への VC 登録
  4. AppHA の OVA デプロイ
  5. AppHA と vSphereHA のセットアップ
  6. Hyperic エージェントの導入
  7. AppHA ポリシーの作成
  8. AppHA ポリシーの割り当て★←今回はここ

 

Hyperic にリソース登録すると、

AppHA で保護されるリソースは Web Client でも

自動的に表示されるようになります。

 

vCenter のデータセンタ(例だと dc55u1-1 という名前)で

「アプリケーションの可用性」タブを見てみると、

vCenter 関連のアプリケーションサービスと Oracle 11g が表示されています。

appha-policy-vm-00.png

 

クラスタの「管理」→「アプリケーションの可用性」を開いてみます。

 

データセンタよりも下階層の、

クラスタの「アプリケーションの可用性」タブでは

db01 という VM の、Oracle 11g だけが表示されています。

このように、それぞれのクラスタでは、

そのクラスタに所属している VM のアプリケーションだけを表示します。


ここで、AppHA のポリシーを VM のアプリケーションに割り当ててみます。

「db01」のエントリを選択して、「ポリシーの割り当て」ボタンをクリックします。

appha-policy-vm-01.png

 

前回のポストで作成したポリシー「appha-oracle11g」が表示されているので、

選択して「OK」をクリックします。

appha-policy-vm-02.png

 

保護対象のアプリケーションに AppHA のポリシーが割り当てられました。

appha-policy-vm-03.png

 

これで、AppHA の環境構築ができました。

 

 

AppHA の動作確認

 

■ アプリケーションの自動再起動

 

それでは、Oracle に障害を発生させてみます。

ためしに、Oracle のバックグラウンドプロセスの1つ(smon)を

kill コマンドで強制終了してみます。

[root@db01 ~]# ps aux | grep smon

oracle   17412  0.0  4.1 652528 84692 ?        Ss   May11   0:00 ora_smon_orcl

root     17803  0.0  0.0 107520   864 pts/2    S+   00:21   0:00 grep smon

[root@db01 ~]# kill -KILL 17412

 

数秒後、AppHA で障害検知しました。

appha-fail1-01.png

 

Oracle のインスタンスは、すぐに

Hyperic エージェントによって自動再起動されました。

AppHA のステータスは少し(数分)たってから緑に戻りました。

appha-fail1-02.png

 

vCenter では、

「AppHA <ポリシー名>: Service is down」というアラームがトリガーされました。

これは AppHA での障害復旧後も残りますが「緑にリセット」をクリックすると消えます。

appha-fail1-03.png

 

■ アプリケーションが自動再起動できなかった場合の動作確認

 

Oracle が ポリシー設定した「3分」で自動再起動できなかった場合は

VM がリセットされるか試してみました。

先ほど同様、smon の強制停止で Oracle の疑似障害を発生させました。

 

まず AppHA ではエラー検知をして、

複数回、Hyperic エージェントでの Oracle の再起動をしようとします。

※今回はわざと、自動起動するたびに Oracle を手動停止してみました。


Oracle が自動再起動できず

3分経過すると vSphere HA で、VM がリセットされました。

vCenter では「vSphere HA の仮想マシン監視アクション」という警告がトリガーされます。

appha-fail2-02.png

 

VM が起動するまで(Hyperic が監視再開するまで?)は、

「アプリケーションの可用性」画面から

その VM のエントリが見えなくなっていました。

appha-fail2-03.png

 

VM が起動すると、エントリが見えるようになり・・・

appha-fail2-04.png

 

 

アプリケーションが自動起動されると、

可用性ステータスも正常な状態に戻りました。

※Hyperic エージェントと Oracle は OS 起動時に自動起動するようにしています。

appha-fail2-05.png


結構いろいろ設定が必要ですが、

手順を整理すれば、もう少し効率よく設定できそうな気がします・・・


以上、AppHA 環境構築でした。


PowerCLI コンソール起動と同時にコマンドを実行してみる。

$
0
0

以前、PowerCLI で作業履歴を残す方法をポストしました。

PowerCLI でコマンド作業履歴を残す方法

 

今回はこれを

PowerCLI コンソール起動時に、自動的に開始できるようにしてみようと思います。

 

PowerCLI のベースになっている PowerShell の起動時には

$profileという変数の PowerShell スクリプトが実行されます。

※bash の「.bash_profile」ファイルのような感じです。

 

今回の例では Windows 7 環境で実行していて、ファイル名は

C:\Users\<ユーザ名>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

となっています。

PowerCLI C:\work> Get-Variable -Name profile | ft -AutoSize

 

Name    Value

----    -----

PROFILE C:\Users\gowatana\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

 

PowerCLI C:\> $profile

C:\Users\gowatana\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

 

デフォルトだと、このスクリプトファイルも、

配置されるディレクトリも存在しません。

PowerCLI C:\> dir C:\Users\gowatana\Documents\WindowsPowerShell

Get-ChildItem : パス 'C:\Users\gowatana\Documents\WindowsPowerShell' が存在しないため検出できません。

発生場所 行:1 文字:4

+ dir <<<<  C:\Users\gowatana\Documents\WindowsPowerShell

    + CategoryInfo          : ObjectNotFound: (C:\Users\gowatana\Documents\WindowsPowerShell:String) [Get-ChildItem]、ItemNotFoundException

    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

 

そこで、スクリプトファイルを新規作成します。

このとき、WindowsPowerShell というディレクトリ

(C:\Users\<ユーザ名>\Documents\WindowsPowerShell)も新規作成します。

PowerCLI C:\> mkdir C:\Users\gowatana\Documents\WindowsPowerShell

 

    ディレクトリ: C:\Users\gowatana\Documents

 

Mode                LastWriteTime     Length Name

----                -------------     ------ ----

d----        2014/05/14      2:36            WindowsPowerShell

 

PowerCLI C:\> notepad C:\Users\gowatana\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

 

スクリプトファイル Microsoft.PowerShell_profile.ps1 には、

下記のような内容を記載して保存しておきます。


Microsoft.PowerShell_profile.ps1

$log_dir = "c:\work\log"

$time_stamp = Get-Date -Format "yyyyMMddHHmmss"

$log_file = $log_dir + "\" + $Env:COMPUTERNAME + "_" + $Env:USERNAME + "_" + $time_stamp + ".log"

Start-Transcript $log_file

 

PowerCLI のコンソールを起動してみると、

下記のようにスクリプトが自動実行され、作業履歴の取得が開始されます。

※上記のスクリプトのでは、事前に C:\work\log フォルダを作成しておく必要があります。

トランスクリプトが開始されました。出力ファイル: c:\work\log\X121E-01_gowatana_20140514024600.log

          Welcome to the VMware vSphere PowerCLI!

 

Log in to a vCenter Server or ESX host:              Connect-VIServer

To find out what commands are available, type:       Get-VICommand

To show searchable help for all PowerCLI commands:   Get-PowerCLIHelp

Once you've connected, display all virtual machines: Get-VM

If you need more help, visit the PowerCLI community: Get-PowerCLICommunity

 

       Copyright (C) 1998-2013 VMware, Inc. All rights reserved.

 

 

PowerCLI C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI>

 

実際はこのような感じになります。

powercli_profile.png

 

以上、PowerShell プロファイルで

PowerCLI の作業履歴取得を自動開始してみる話でした。

vSphere AppHA の「エージェントが同期していません」について。

$
0
0

vSphere AppHA で

「エージェントが同期していません」という状態に遭遇しました。

※ちなみに、vCenter 5.5 u1 と AppHA 1.1 の環境です。

 

本来であれば、「アプリケーションの可用性」は下記の状態であってほしいのですが・・・

appha-notsync-01.png

 

このようになっていました。

appha-notsync-02.png

 

これは、アプリケーション保護対象のゲスト OS の

時刻が同期できていないということのようです。

 

vSphere App HA ユーザー ガイド > サービスの管理

サービスの可用性ステータス

http://pubs.vmware.com/appha-11/topic/com.vmware.app.ha.users_guide.doc/GUID-28BE0853-0486-4FFA-8509-EAF402B2AF4F.html

 

AppHA は関連コンポーネントが多いので、

不要なトラブルを避けるために検証環境でも

ちゃんと時刻同期をしておいた方がよさそうです。

(下記のあたりを・・・)

  • vCenter(とその関連コンポーネント)
  • AppHA の仮想アプライアンス
  • Hyperic Server
  • Hyperic の vPostgres DB
  • アプリケーション保護対象(Hyperic Agent を導入したゲスト OS)
  • ESXi ホスト(VMware Tools での時刻同期も起こりうるので)

 

時刻を合わせてからしばらくすると

AppHA の可用性ステータスは正常になります。

早めにステータスを戻したい場合は、

一旦 Hyperic 経由で保護対象のアプリケーションを停止→起動すると

すぐに可用性ステータスが「使用可能」に戻るようです。

(あまり何度も試してませんが・・・)


Hyperic からアプリケーションを停止→起動する手順については

下記のあたりを参考にしてもらえればと思います。

vSphere AppHA への道。Part 6. Hyperic エージェントの導入

※「Hypericエージェントの動作確認」のあたりです。

 

ちなみに、VMware の仮想アプライアンスはほとんど SUSE Linux ですが、

Red Hat 系 Linux でおなじみの ntpdate コマンドで OS の時刻を合わせようとすると

警告がでてしまい使えません。

※「192.168.0.254」は、うちのローカル NTP サーバの IP アドレスです。

localhost:~ # ntpdate 192.168.0.254

       !!!!!!!!!!!!!!  WARNING !!!!!!!!!!!!!!!!!!

 

The ntpdate program is deprecated and should not be used any more.  To

quote the upstream ntp developers:

 

  "The functionality ntpdate offered is now provided by the ntpd daemon

  itself.  If you call ntpd with the command line option -q it will

  retrieve the current time and set it accordingly."

 

Please check the Network Time Protocol (NTP) daemon man page and

  http://support.ntp.org/bin/view/Dev/DeprecatingNtpdate

for further information.

 

You can replace the ntpdate call with "rcntp ntptimeset" to achieve an

inital poll of the servers specified in /etc/ntp.conf.

 

The program /usr/sbin/sntp offers comparable functionality to ntpdate.

Specifically

  sntp -P no -r pool.ntp.org

is equivalent to

  ntpdate pool.ntp.org

 

For further details please refer to the man page of sntp.

localhost:~ #

 

警告メッセージにあるように、

sntp コマンドで ntpdate コマンドのかわりに

下記のようなコマンドで、NTP サーバの時刻に合わせられます。

# sntp -P no -r <NTP サーバの IP アドレス>

localhost:~ # sntp -P no -r 192.168.0.254

 

上記のように、その場で時刻を合わせるだけでなく、

時刻同期サービスも起動しておいた方がよいと思います。

 

たとえば、最近の SUSE なら・・・

localhost:~ # chkconfig --list | grep ntp

ntp                       0:off  1:off  2:off  3:on   4:off  5:on   6:off

 

そして、最近の Red Hat 系 Linux なら・・・

[root@db01 ~]# cat /etc/oracle-release

Oracle Linux Server release 6.5

[root@db01 ~]# chkconfig --list | grep ntp

ntpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off

ntpdate         0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

以上、AppHA と時刻同期についてでした。

vSphere AppHA で Linux ゲストの Apache httpd を保護してみる。

$
0
0

今回は、vSphere AppHA で、

Apache httpd Server 2.2 を保護してみようと思います。

 

今回の環境

  • vCenter / ESXi 5.5 u1
  • vSphere AppHA 1.1
  • vCenter Hyperic 5.8.1
  • 保護対象として、Oracle Linux 6.5 と、同梱の httpd を使用しています。

[root@vm03 ~]# cat /etc/oracle-release

Oracle Linux Server release 6.5

[root@vm03 ~]# uname -r

3.8.13-16.2.1.el6uek.x86_64

[root@vm03 ~]# rpm -q httpd

httpd-2.2.15-29.0.1.el6_4.x86_64

 

※今回は、すでに AppHA 環境が構築できている前提です。

AppHA の環境構築については、下記を参照してください・・・

vSphere AppHA への道。Part 1. Hyperic の vApp デプロイ

 

Apache httpd の起動

 

まず、Apacheを起動します。

AppHA(と連携する Hyperic)では、httpd の監視で

/server-status を見るようなので、それが表示できるようにしておきます。

※今回は、とりあえず動くようにします・・・

[root@vm03 ~]# cd /etc/httpd/conf/

[root@vm03 conf]# cp -p httpd.conf httpd.conf_bk

[root@vm03 conf]# vi httpd.conf

 

httpd の設定ファイル(httpd.conf) では、ServerName を設定して、

<Location /server-status> のコメントアウトを外します。

ちなみに、192.168.5.193 はこのゲスト(vm03)の IP アドレスです。

 

(修正前)

   917  # Allow server status reports generated by mod_status,

   918  # with the URL of http://servername/server-status

   919  # Change the ".example.com" to match your domain to enable.

   920  #

   921  #<Location /server-status>

   922  #    SetHandler server-status

   923  #    Order deny,allow

   924  #    Deny from all

   925  #    Allow from .example.com

   926  #</Location>

(編集後)

   921  <Location /server-status>

   922      SetHandler server-status

   923      Order deny,allow

   924      Deny from all

   925      Allow from 192.168.5.193

   926  </Location>

 

今回の httpd.conf の編集内容はこれだけです。

[root@vm03 conf]# diff httpd.conf_bk httpd.conf

276c276

< #ServerName www.example.com:80

---

> ServerName 192.168.5.193

921,926c921,926

< #<Location /server-status>

< #    SetHandler server-status

< #    Order deny,allow

< #    Deny from all

< #    Allow from .example.com

< #</Location>

---

> <Location /server-status>

>     SetHandler server-status

>     Order deny,allow

>     Deny from all

>     Allow from localhost

> </Location>

 

httpd を自動起動するようにしたうえで、起動しておきます。

[root@vm03 ~]# chkconfig httpd on

[root@vm03 ~]# chkconfig --list httpd

httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

[root@vm03 ~]# service httpd start

httpd を起動中:                                            [  OK  ]

[root@vm03 ~]# service httpd status

httpd (pid  1719) を実行中...

 

Web ブラウザからも表示確認しておきます。

appha-httpd-01.png

 

ちなみに、今回使用した OS 同梱の httpd は、

/server-status を使用できるようにする mod_status モジュールが

デフォルトで読み込まれます。

[root@vm03 ~]# httpd -M | grep status_module

status_module (shared)

Syntax OK

 

/server-status のページが取得できることを確認しておきます。

GUI 環境を起動していない Linux だったので、

Web ブラウザではなく curl コマンドで確認してみました。

[root@vm03 ~]# curl http://192.168.5.193/server-status | head

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

103  1763  103  1763    0     0  34599      0 --:--:-- --:--:-- --:--:-- 51852

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<html><head>

<title>Apache Status</title>

</head><body>

<h1>Apache Server Status for 192.168.5.193</h1>

 

<dl><dt>Server Version: Apache/2.2.15 (Unix) DAV/2</dt>

<dt>Server Built: Aug 13 2013 10:51:17

</dt></dl><hr /><dl>

<dt>Current Time: Friday, 30-May-2014 01:09:56 JST</dt>

 

監視対象ゲストへの Hyperic エージェントの導入

 

今回も、下記の Hyperic Agent を使用します。

hyperic-hqee-agent-x86-64-linux-5.8.1.tar.gz

[root@vm03 ~]# mkdir /opt/vmware

[root@vm03 ~]# cd /opt/vmware/

[root@vm03 vmware]# tar zxf /tmp/hyperic-hqee-agent-x86-64-linux-5.8.1.tar.gz

[root@vm03 vmware]# ln -s hyperic-hqee-agent-5.8.1 hyperic

[root@vm03 vmware]# cd /opt/vmware/hyperic/conf/

[root@vm03 conf]# sed -i "s/#agent.setup.acceptUnverifiedCertificate=no/agent.setup.acceptUnverifiedCertificate=yes/" agent.properties

[root@vm03 conf]# sed -i "s/^accept.unverified.certificates=false/accept.unverified.certificates=true/" agent.properties

 

下記のような起動スクリプトを作成して・・・

/etc/init.d/hq-agent

#!/bin/bash

#

# hq-agent: Hyperic HQ Agent

#

# chkconfig: 35 99 99

# description: Hyperic HQ Agent

#

HYPERIC_AGENT_USER=root

HYPERIC_AGENT_CMD=/opt/vmware/hyperic/bin/hq-agent.sh

su - $HQ_AGENT_USER -c "$HYPERIC_AGENT_CMD $@"

exit $?

 

OS 起動時に自動起動するように設定して、

[root@vm03 ~]# chmod +x /etc/init.d/hq-agent

[root@vm03 ~]# chkconfig --add hq-agent

[root@vm03 ~]# chkconfig --list hq-agent

hq-agent        0:off   1:off   2:off   3:on    4:off   5:on    6:off

 

エージェントを起動します。

※今回もエージェントは対話的に設定しています。

[root@vm03 ~]# service hq-agent start

Starting HQ Agent...... running (2182).

- No token file found, waiting for Agent to initialize

[ Running agent setup ]

Should Agent communications to HQ be unidirectional [default=no]:

What is the HQ server IP address: 192.168.5.186 ★Hyperic Server の IP アドレス

Should Agent communications to HQ always be secure [default=yes]:

What is the HQ server SSL port [default=7443]:

- Testing secure connection ... Success

What is your HQ login [default=hqadmin]:

What is your HQ password: ★パスワード入力

What IP should HQ use to contact the agent [default=192.168.5.193]:

What port should HQ use to contact the agent [default=2144]:

- Received temporary auth token from agent

- Registering agent with HQ

The server to agent communication channel is using a self-signed certificate and could not be verified

Are you sure you want to continue connecting? [default=no]: yes

- HQ gave us the following agent token

    1401380854470-8754554945777910096-7739955026510966986

- Informing agent of new HQ server

- Validating

- Successfully setup agent

[root@vm03 ~]# service hq-agent status

HQ Agent is running (PID:2182).

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

[root@vm03 ~]#

 

Hyperic でのリソース登録確認

 

Web ブラウザで Hyperic にアクセスすると、

「Dashboard」タブで、エージェントを起動したゲスト OS のリソースが

自動検知されています。

「Add to Inventory」をクリックして、リソース登録します。

appha-httpd-02.png

 

そのまま、Hyepric からアプリケーション制御ができることも確認しておきます。

「Resources」タブで、登録したゲストの名前をクリックします。

appha-httpd-03.png

 

「Apache 2.2.15」のリンクをクリックします。

appha-httpd-04.png

 

「Apache 2.2.15」の「Control」を開いて、

「Stop」できることを確認します。

appha-httpd-05.png

 

正常に Stop できたら、

「Start」できることも確認しておきます。

appha-httpd-06.png

 

AppHA でのポリシー設定


ここからは、Web Client で操作します。

VM が所属する vSphereHA クラスタの

「監視」→「アプリケーションの可用性」タブで、

保護対象の VM を選択して「ポリシーの割り当て」をクリックします。

 

VM が表示されていない場合、Hyperic にリソース登録できているようであれば、

検知されるまで結構時間がかかるようなので気長に待ってみます。

appha-httpd-07.png

 

「ポリシーの割り当て」画面が表示されます。

今回は、httpd 保護をする AppHA ポリシーが未作成だったので、

「+」をクリックして作成します。

appha-httpd-08.png

 

「ポリシーの作成」画面になります。

ポリシー名を入力して、「次へ」をクリックします。

appha-httpd-09.png

 

アプリケーションサービスに「Apache httpd」を選択して、「次へ」をクリックします。

それ以外の設定は、今回はデフォルトのままです。

appha-httpd-10.png

 

httpd が停止した時の修正(アプリケーションの自動再起動)の時間を設定します。

Hyperic エージェントが httpd を再起動できなかった場合は、

vSphereHA で VM をリセットするようにしています。

appha-httpd-11.png

 

httpd の障害検知をしたときに、

vCenter アラームがトリガーされるようにチェックを入れておきます。

appha-httpd-12.png

 

ポリシーの設定内容を確認して「終了」をクリックします。

appha-httpd-13.png

 

「ポリシーの割り当て」画面に戻るので、

ここまでで作成したポリシーを選択して「OK」をクリックします。

appha-httpd-14.png

 

保護対象の VM に、AppHA のポリシーが割り当てられました。

appha-httpd-15.png

 

ちなみに、下記のように1つのポリシーを複数の VM に割り当てることもできます。

appha-httpd-16.png

 

動作確認

 

ためしに、httpd のプロセスを停止してみます。

[root@vm03 ~]# ps aux | grep httpd

root      3172  0.0  1.1 175756  2748 ?        Ss   01:41   0:02 /usr/sbin/httpd -k start

apache    3173  0.0  1.1 175888  2792 ?        S    01:41   0:00 /usr/sbin/httpd -k start

apache    3174  0.0  1.1 175888  2792 ?        S    01:41   0:00 /usr/sbin/httpd -k start

apache    3175  0.0  1.1 175888  2792 ?        S    01:41   0:00 /usr/sbin/httpd -k start

apache    3176  0.0  1.1 175888  2792 ?        S    01:41   0:00 /usr/sbin/httpd -k start

apache    3177  0.0  1.2 175888  2996 ?        S    01:41   0:00 /usr/sbin/httpd -k start

apache    3178  0.0  1.1 175888  2792 ?        S    01:41   0:00 /usr/sbin/httpd -k start

apache    3179  0.0  1.1 175888  2792 ?        S    01:41   0:00 /usr/sbin/httpd -k start

apache    3180  0.0  1.1 175888  2792 ?        S    01:41   0:00 /usr/sbin/httpd -k start

root      5071  1.0  0.3 107516   868 pts/0    S+   05:58   0:00 grep httpd

[root@vm03 ~]# pkill httpd

[root@vm03 ~]# ps aux | grep httpd

root      5074  1.0  0.3 107516   868 pts/0    S+   05:59   0:00 grep httpd

 

そうすると、AppHA で障害を検知しました。

appha-httpd-17.png

 

そして少し待ったら、AppHA で自動起動されました。

[root@vm03 ~]# ps aux | grep httpd

root      5093  0.0  1.4 175756  3664 ?        Ss   06:00   0:00 /usr/sbin/httpd -k restart

apache    5094  0.0  1.2 175888  2944 ?        S    06:00   0:00 /usr/sbin/httpd -k restart

apache    5095  0.0  1.2 175888  3080 ?        S    06:00   0:00 /usr/sbin/httpd -k restart

apache    5096  0.0  0.9 175756  2444 ?        S    06:00   0:00 /usr/sbin/httpd -k restart

apache    5097  0.0  0.9 175756  2444 ?        S    06:00   0:00 /usr/sbin/httpd -k restart

apache    5098  0.0  0.9 175756  2444 ?        S    06:00   0:00 /usr/sbin/httpd -k restart

apache    5099  0.0  1.2 175888  2944 ?        S    06:00   0:00 /usr/sbin/httpd -k restart

apache    5100  0.0  1.2 175888  2944 ?        S    06:00   0:00 /usr/sbin/httpd -k restart

apache    5101  0.0  1.2 175888  2944 ?        S    06:00   0:00 /usr/sbin/httpd -k restart

root      5156  1.0  0.3 107516   864 pts/0    S+   06:04   0:00 grep httpd

 

httpd は、下記のように Hyperic から定期監視されているようです。

1分ごとに、httpd にリクエストしていることがアクセスログからわかります。

[root@vm03 ~]# tail -n 5 /etc/httpd/logs/access_log

192.168.5.193 - - [30/May/2014:06:01:41 +0900] "GET /server-status?auto HTTP/1.1" 200 299 "-" "Hyperic-HQ-Agent/5.8.1"

192.168.5.193 - - [30/May/2014:06:02:41 +0900] "GET /server-status?auto HTTP/1.1" 200 299 "-" "Hyperic-HQ-Agent/5.8.1"

192.168.5.193 - - [30/May/2014:06:03:41 +0900] "GET /server-status?auto HTTP/1.1" 200 299 "-" "Hyperic-HQ-Agent/5.8.1"

192.168.5.193 - - [30/May/2014:06:04:41 +0900] "GET /server-status?auto HTTP/1.1" 200 299 "-" "Hyperic-HQ-Agent/5.8.1"

192.168.5.193 - - [30/May/2014:06:05:41 +0900] "GET /server-status?auto HTTP/1.1" 200 299 "-" "Hyperic-HQ-Agent/5.8.1"

 

以上、AppHA での httpd 保護でした。

vCenter Hyperic の HQ Agent を RPM でインストール。(AppHA 関連)

$
0
0

これまで、このブログの AppHA 系ポストでは

tar.gz 形式の Hyperic エージェント(HQ Agent)を使っていました。

 

vSphere AppHA への道。Part 3. Hyperic への VC 登録

vSphere AppHA への道。Part 6. Hyperic エージェントの導入

vSphere AppHA で Linux ゲストの Apache httpd を保護してみる。

 

しかし、よく見たら MyVMware のダウンロードサイトには RPM もありました。

vCenter-hyperic-agent-5.8.1.EE-1.noarch.rpm

 

そこで、さっそくインストールしてみようと思います。

 

インストール先は

今回も、いつもの Red Hat 系 Linux です・・・

[root@vm04 ~]# cat /etc/oracle-release

Oracle Linux Server release 6.5

 

RPM の情報です。

[root@vm04 ~]# rpm -qpi vCenter-hyperic-agent-5.8.1.EE-1.noarch.rpm

Name        : vCenter-hyperic-agent        Relocations: /opt/hyperic

Version     : 5.8.1.EE                          Vendor: VMware, Inc.

Release     : 1                             Build Date: 2014年02月23日 20時20分26秒

Install Date: (not installed)               Build Host: ubuntu

Group       : Applications/Monitoring       Source RPM: vCenter-hyperic-agent-5.8.1.EE-1.src.rpm

Size        : 75857497                         License: Commercial

Signature   : (none)

URL         : http://www.vmware.com/products/vfabric-hyperic/

Summary     : VMware vCenter Hyperic Agent

Description :

 

Agent for the vCenter Hyperic HQ systems management system.

 

この RPM では、下記のような感じでファイルがインストールされます。

HQ Agent は /opt/hyperic ディレクトリ配下にインストールされます。

そして /etc/init.d のスクリプトも用意されていました。

[root@vm04 ~]# rpm -qpl vCenter-hyperic-agent-5.8.1.EE-1.noarch.rpm | head

/etc/init.d/hyperic-hqee-agent

/opt/hyperic/hq-plugins

/opt/hyperic/hyperic-hqee-agent

/opt/hyperic/hyperic-hqee-agent/README.txt

/opt/hyperic/hyperic-hqee-agent/bin

/opt/hyperic/hyperic-hqee-agent/bin/hq-agent.sh

/opt/hyperic/hyperic-hqee-agent/bin/logBundleAgent.bat

/opt/hyperic/hyperic-hqee-agent/bin/logBundleAgent.sh

/opt/hyperic/hyperic-hqee-agent/bundles

/opt/hyperic/hyperic-hqee-agent/bundles/agent-5.8.1

[root@vm04 ~]# rpm -qpl vCenter-hyperic-agent-5.8.1.EE-1.noarch.rpm | tail

/opt/hyperic/hyperic-hqee-agent/wrapper/lib/libwrapper-linux-ppc-64.so

/opt/hyperic/hyperic-hqee-agent/wrapper/lib/libwrapper-linux-x86-32.so

/opt/hyperic/hyperic-hqee-agent/wrapper/lib/libwrapper-linux-x86-64.so

/opt/hyperic/hyperic-hqee-agent/wrapper/lib/license-wrapper.txt

/opt/hyperic/hyperic-hqee-agent/wrapper/lib/wrapper.jar

/opt/hyperic/hyperic-hqee-agent/wrapper/sbin

/opt/hyperic/hyperic-hqee-agent/wrapper/sbin/wrapper-linux-ppc-64

/opt/hyperic/hyperic-hqee-agent/wrapper/sbin/wrapper-linux-x86-32

/opt/hyperic/hyperic-hqee-agent/wrapper/sbin/wrapper-linux-x86-64

/opt/hyperic/hyperic-hqee-agent/wrapper/wrapper-community-license-1.1.txt

 

インストールしてみます。

[root@vm04 ~]# rpm -ivh vCenter-hyperic-agent-5.8.1.EE-1.noarch.rpm

準備中...                ########################################### [100%]

   1:vCenter-hyperic-agent  ########################################### [100%]

 

The HQ Agent has successfully been installed, and the service has been

configured to start at boot. Prior to starting the service, be sure to

uncomment and modify the agent.setup values in the agent.properties file in

/opt/hyperic/hyperic-hqee-agent/conf. Instructions for doing so can be found online

at http://support.hyperic.com/display/DOC/Configure+Agent+-+Server+Communication+in+Properties+File.

You will also want to check the sanity of the

HQ_JAVA_HOME setting in the /etc/init.d/hyperic-hqee-agent init script.

 

[root@vm04 ~]#

 

インストールすると、chkconfig でも「hyperic-hqee-agent」という名前で登録されます。

[root@vm04 ~]# rpm -qa | grep hyperic

vCenter-hyperic-agent-5.8.1.EE-1.noarch

[root@vm04 ~]# chkconfig --list | grep hq

hyperic-hqee-agent      0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

エージェントの設定ファイルは下記になります。

/opt/hyperic/hyperic-hqee-agent/conf/agent.properties

 

今回も、これまで同様に設定ファイルを編集します。

80行目と、199行目の2か所だけ編集しています。

[root@vm04 ~]# cd /opt/hyperic/hyperic-hqee-agent/conf/

[root@vm04 conf]# cp -p agent.properties agent.properties_bk

[root@vm04 conf]# sed -i "s/#agent.setup.acceptUnverifiedCertificate=no/agent.setup.acceptUnverifiedCertificate=yes/" agent.properties

[root@vm04 conf]# sed -i "s/^accept.unverified.certificates=false/accept.unverified.certificates=true/" agent.properties

[root@vm04 conf]# diff agent.properties_bk agent.properties

80c80

< #agent.setup.acceptUnverifiedCertificate=no

---

> agent.setup.acceptUnverifiedCertificate=yes

199c199

< accept.unverified.certificates=false

---

> accept.unverified.certificates=true

 

デフォルトのままだと、Oracle Linux だと

JAVA_HOME が違って、HQ Agent を起動できません。

[root@vm04 conf]# service hyperic-hqee-agent start

Starting the hyperic agent...

Invalid Java Home detected at /usr/lib/jvm/java-6-openjdk/jre

 

そこで、起動スクリプト(/etc/init.d/hyperic-hqee-agent)の

JAVA_HOME を編集してしまいます。

[root@vm04 conf]# cd

[root@vm04 ~]# cp -p /etc/init.d/hyperic-hqee-agent hyperic-hqee-agent_bk

[root@vm04 ~]# vi /etc/init.d/hyperic-hqee-agent

[root@vm04 ~]# diff hyperic-hqee-agent_bk /etc/init.d/hyperic-hqee-agent

21c21,22

< export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/jre

---

> #export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/jre

> export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64

 

起動できました。

初回起動なので、対話形式でエージェント設定をしています。

[root@vm04 ~]# service hyperic-hqee-agent start

Starting the hyperic agent...

Starting HQ Agent...... running (5891).

- No token file found, waiting for Agent to initialize

[ Running agent setup ]

Should Agent communications to HQ be unidirectional [default=no]:

What is the HQ server IP address: 192.168.5.186 ★Hyperic サーバの IP

Should Agent communications to HQ always be secure [default=yes]:

What is the HQ server SSL port [default=7443]:

- Testing secure connection ... Success

What is your HQ login [default=hqadmin]:

What is your HQ password: ★Hyperic のパスワードを入力

What IP should HQ use to contact the agent [default=192.168.5.194]:

What port should HQ use to contact the agent [default=2144]:

- Received temporary auth token from agent

- Registering agent with HQ

The server to agent communication channel is using a self-signed certificate and could not be verified

Are you sure you want to continue connecting? [default=no]: yes

- HQ gave us the following agent token

    1401664631613-5447347474204685215-2001479113554227394

- Informing agent of new HQ server

- Validating

- Successfully setup agent

[root@vm04 ~]#

 

これで、RPM 版 HQ Agent の導入ができました。

tar.gz ファイルでも、RPM ファイルでも、どちらもインストールは簡単なので、

環境に合わせてなじみのある形式を選択するとよいと思いました。

 

vSphere AppHA 環境構築全体の流れはこちらからどうぞ・・・

vSphere AppHA への道。Part 1. Hyperic の vApp デプロイ

 

以上、HQ Agent の RPM インストールでした。

vSphere AppHA のアプリ監視とアプリ保護の設定について。

$
0
0

今回は、vSphere AppHA のアプリケーション監視と

アプリケーション監視の設定についてです。

 

AppHA は vCenter Hyperic と連携して動作しています。

それぞれの役割分担は、下記のような感じです。

  • 保護対象アプリケーションの障害をどう検知するかは、Hyperic 側で設定します。
  • アプリケーションで障害があった時に、どう復旧するかは、WebClient の AppHA ポリシーで設定します。

 

AppHA アプリケーション保護までの流れ

 

AppHA で保護する場合、ゲスト OS には VMware Tools とあわせて

Hyperic のエージェント(HQ Agent)を導入します。

 

Hyperic は、ゲスト OS の HQ Agent によって監視情報を取得します。

Hyperic が対応しているアプリは自動検出されるので、Hyperic の Web UI で

それを監視リソースとして登録したうえで、監視のための設定をします。

※監視対象のアプリが一般的な構成であれば、設定変更が不要なこともあります。

 

Hyperic が監視リソース登録したアプリのうち、AppHA が対応しているものが

自動検出されて Web Client の AppHA の「アプリケーションの可用性」画面に表示されます。

 

AppHA では、この保護対象になりうるアプリに対して

アプリ保護設定を「ポリシー」として割り当てます。

 

絵にすると、下記のような感じです。

appha-hq-policy-01.png

 

たとえば、Apache httpd Server を AppHA で保護するときに、

監視対象の httpd のインストールディレクトリや、

IP アドレス、ポート名などは Hyperic 側で設定します。

その httpd プロセスが障害で停止したときに、どう保護(復旧)するか

(プロセス再起動して何分待ってだめだったら VM をリセットしてしまうか、など)

の設定は AppHA が担当するイメージです。

この AppHA 側での保護設定が AppHA ポリシーで設定されます。

 

AppHA のポリシーは、1つのポリシーを複数の(同種の)アプリに割り当てることもできます。

appha-hq-policy-02.png

 

Hyperic での監視リソース設定の表示/確認

 

Hyperic 側で、アプリの監視設定の確認・変更は下記のような手順になります。

今回は、すでに Hyperic で監視設定済みの Apache httpd Server の監視設定を見てみます。

 

Hyperic の Web UI で作業します。

appha-hq-edit-00.png

 

「Resources」タブを開きます。

ちなみに「Resources」→「Browse」でも同じ画面が開きます。

appha-hq-edit-01.png

 

「Servers」をクリックして、「Apache httpd」を選択して、

緑色の三角ボタンをクリックします。

appha-hq-edit-02.png

 

Apache httpd の監視リソースだけが表示されるようになるので、

設定を確認 / 変更したいリソースのリンクをクリックします。

appha-hq-edit-03.png

 

監視リソース個別の画面が表示されます。

画面の上の方に、どのリソースについての画面かが表示されています。

設定は「Inventory」タブで確認できます。

※他にも、Hyperic では色々な画面遷移で同じところにたどりつけます。

appha-hq-edit-04.png

 

各セクションの「Edit」ボタンで設定変更ができます。

画面の一番下に「Configuration Properties」というセクションがあり、

そこの「Edit」をクリックすると、監視設定を変更できます。

appha-hq-edit-05.png

 

このように設定変更できる画面が開きます。

appha-hq-edit-06.png

 

設定を変更する場合は、この画面の下の方にある「OK」ボタンをクリックします。

また、監視リソースの設定については、この画面の最後に説明があります。

httpd の場合は、監視に mod_status を利用することなどが書かれています。

appha-hq-edit-07.png

 

AppHA からの監視リソース設定

 

監視設定は、基本的に Hyperic が担当していますが、

一般的にアプリごと(ゲスト OS ごと)で個別に設定変更が必要になりそうな監視設定は、

ある程度 Web Client での AppHA のポリシー設定でも設定できるようになっています。

AppHA ポリシーで設定した監視設定は、前述の Hyperic 側の監視設定にも反映されます。

appha-hq-edit-08.png

 

AppHA ポリシーで設定できる監視設定はアプリによって異なります。

たとえば、AppHA 1.1 の Apache httpd 用の AppHA ポリシーで

設定できるものは下記です。(項目名は UI に書いてあるままです)

  • ホスト名
  • ソケット タイムアウト(秒)
  • ポート
  • パス
  • サービス名(Windows)
  • PID ファイル(Linux)
  • プログラム パスの制御(Linux)

 

アプリ保護のための設定を楽にするため

Hyperic の設定を AppHA 側の設定画面でもできるように

したのではないかと思われます。

 

AppHA 環境の構築については、こちらからどうぞ・・・

vSphere AppHA への道。Part 1. Hyperic の vApp デプロイ

 

以上、AppHA のアプリケーション監視、保護設定についてでした。

vSphere AppHA 環境構築のまとめ。

$
0
0

これまでの AppHA 系のポストを見直してみたところ、

コンポーネント多いので絵がないとつらいな。と思いました。

というわけで絵を描いてみました。

 

製品マニュアルにあるだけだと読み取りきれないところががあるため

ある程度、構築してみた上での推測で補ってます・・・違ったらすみません。

 

AppHA 環境全体の概要について

 

まず、AppHA のコンポーネントは だいたい下記のような感じです。

vSphere AppHA をデプロイするとこう見えます。

appha-image-00.png

こまかく見ると、下記のような感じのようです。

赤い矢印のあたりで、何かしらの連携をしているようです。何かしらの・・・

appha-image-01.png

 

AppHA の環境構築について

 

構築の様子を、順番に図示してみました。

Linux の Oracle Database 11g を保護します。

vCenter や ESXi 、ゲストOS、保護対象のアプリはすでに

構築済みの想定で進めています。

 

まずは、Hyperic の vApp をデプロイします。

vSphere AppHA への道。Part 1. Hyperic の vApp デプロイ

appha-image-p1.png

 

そして、Hyperic の vApp を起動します。

ここ以降で、Hyperic の DB(vPostgres)を意識することはほぼないでしょう。

vSphere AppHA への道。Part 2. Hyperic のセットアップ

appha-image-p2.png

 

vCenter に Hyperic のエージェントを導入し、

Hyperic サーバでは AppHA の連携で必要な「VC」リソースを登録します。

この「VC」リソースには vCenter へのログインユーザなどの設定をします。

vSphere AppHA への道。Part 3. Hyperic への VC 登録

appha-image-p3.png

AppHA の VM をデプロイします。

普通に OVF 形式の .ova ファイルをデプロイします。

vSphere AppHA への道。Part 4. AppHA の OVA デプロイ

appha-image-p4.png

AppHA のセットアップをします。

vSphere HA のセットアップもしておきます。

※今回は、vSphere HA の環境構築はすでにできている前提でした。

 

AppHA のために、vSphere HA のクラスタを

「仮想マシンとアプリケーションの監視」にします。

vSphere AppHA への道。Part 5. AppHA と vSphereHA のセットアップ

appha-image-p5.png

 

保護対象アプリが起動するゲスト OS に、

Hyperic エージェント(tar.gz ファイル版)を導入します。

保護対象の Oracle Database は事前に構築済みという想定です。

vSphere AppHA への道。Part 6. Hyperic エージェントの導入

 

Hyperic エージェントは RPM 版でもインストールできます。

vCenter Hyperic の HQ Agent を RPM でインストール。(AppHA 関連)

appha-image-p6.png

 

保護対象アプリに対して、AppHA のポリシーを作成します。

ここではポリシー作成だけで、まだ割り当てません・・・

vSphere AppHA への道。Part 7. AppHA ポリシーの作成

appha-image-p7.png

 

作成したポリシーを、保護対象アプリに割り当てます。

vSphere AppHA への道。Part 8. AppHA ポリシーの割り当て ~ 動作確認

 

AppHA のポリシーと監視対象アプリの関係はこんな感じです。

vSphere AppHA のアプリ監視とアプリ保護の設定について。

 

Hyperic エージェントの同期ができない場合は、時刻同期も確認します。

vSphere AppHA の「エージェントが同期していません」について。


最後にアプリケーションをわざと停止して、

Hyperic エージェントで Oracle が自動復旧される様子などを確認しています。

赤い矢印のあたりで色々な連携がされている模様・・・

appha-image-p8.png

 

ちなみに、Apache httpd Server(いわゆる Apache)を保護するときは

こんな感じになります。

vSphere AppHA で Linux ゲストの Apache httpd を保護してみる。

 

最後に、AppHA のマニュアルはこちら。

http://www.vmware.com/jp/support/support-resources/pubs/vsphere-esxi-vcenter-server-pubs/appha-pubs.html

 

以上、これまでの AppHA ポストのまとめでした。

PowerCLI の参照コマンド超入門。(Get-VMHost)

$
0
0

無償版の ESXi の場合は、PowerCLI での ESXi/VM の操作ができません。

しかし、ESXi からの情報取得であれば可能であり、

情報を参照するだけでも PowerCLI は便利だと思います。

 

ただ、PowerCLI(PowerShell)に慣れていない場合に

単純にコマンド単体を実行して表示するだけという もったいないケースがあるようです。


すこし工夫をするだけで だいぶ便利になるので

いくつか役立ちそうなことを紹介してみようと思います。


今回の PowerCLI のバージョンは、5.5 R2 です。

PowerCLI C:\> Get-PowerCLIVersion

 

PowerCLI Version

----------------

   VMware vSphere PowerCLI 5.5 Release 2 build 1671586

---------------

Snapin Versions

---------------

   VMWare AutoDeploy PowerCLI Component 5.5 build 1598391

   VMWare ImageBuilder PowerCLI Component 5.5 build 1598391

   VMware License PowerCLI Component 5.5 build 1265954

   VMware VDS PowerCLI Component 5.5 build 1671576

   VMware vSphere PowerCLI Component 5.5 build 1671576

 

有償版の ESXi を使用している場合は、ほぼ必ず vCenter がいるので

PowerCLI からは vCenter に接続します。

一方、

無償版 ESXi を使用してる場合や、まだ vCenter がない場合は ESXi に直接接続します。

※今回は、hv55n1 ~ hv55n4 という 4台のESXi に接続しています。

PowerCLI C:\> $esxi = "hv55n1.vmad.local","hv55n2.vmad.local","hv55n3.vmad.local","hv55n4.vmad.local"

PowerCLI C:\> Connect-VIServer -Server $esxi -User root -Password ********

 

Name                           Port  User

----                           ----  ----

hv55n1.vmad.local              443   root

hv55n2.vmad.local              443   root

hv55n3.vmad.local              443   root

hv55n4.vmad.local              443   root

 

ESXi の情報を取得するとき、

ただ Get-VMHost を実行しただけだと下記のようになります。

※「警告: 3 個の列が~」は、PowerCLI の画面幅が小さい(デフォルトの80のまま)ためです。

PowerCLI C:\> Get-VMHost

 

警告: 3 個の列が表示に収まらないため、削除されました。

 

Name                 ConnectionState PowerState NumCpu CpuUsageMhz CpuTotalMhz

----                 --------------- ---------- ------ ----------- -----------

hv55n1.vmad.local    Connected       PoweredOn       2         189        3594

hv55n3.vmad.local    Connected       PoweredOn       2         267        3594

hv55n2.vmad.local    Connected       PoweredOn       2         719        3594

hv55n4.vmad.local    Connected       PoweredOn       2         439        3594

 

デフォルトだと、大した情報は表示されていませんが、

実際は、詳細情報を取得できます。

PowerCLI C:\> Get-VMHost | Get-Member

 

   TypeName: VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl

 

Name                  MemberType Definition

----                  ---------- ----------

Equals                Method     bool Equals(System.Object obj)

GetHashCode           Method     int GetHashCode()

GetType               Method     type GetType()

ToString              Method     string ToString()

ApiVersion            Property   System.String ApiVersion {get;}

Build                 Property   System.String Build {get;}

ConnectionState       Property   VMware.VimAutomation.ViCore.Types.V1.Host.V...

CpuTotalMhz           Property   System.Int32 CpuTotalMhz {get;}

CpuUsageMhz           Property   System.Int32 CpuUsageMhz {get;}

CustomFields          Property   System.Collections.Generic.IDictionary`2[[S...

DiagnosticPartition   Property   VMware.VimAutomation.ViCore.Types.V1.Host.V...

ExtensionData         Property   System.Object ExtensionData {get;}

FirewallDefaultPolicy Property   VMware.VimAutomation.ViCore.Types.V1.Host.V...

HyperthreadingActive  Property   System.Boolean HyperthreadingActive {get;}

Id                    Property   System.String Id {get;}

IsStandalone          Property   System.Boolean IsStandalone {get;}

LicenseKey            Property   System.String LicenseKey {get;}

Manufacturer          Property   System.String Manufacturer {get;}

MaxEVCMode            Property   System.String MaxEVCMode {get;}

MemoryTotalGB         Property   System.Decimal MemoryTotalGB {get;}

MemoryTotalMB         Property   System.Decimal MemoryTotalMB {get;}

MemoryUsageGB         Property   System.Decimal MemoryUsageGB {get;}

MemoryUsageMB         Property   System.Decimal MemoryUsageMB {get;}

Model                 Property   System.String Model {get;}

Name                  Property   System.String Name {get;}

NetworkInfo           Property   VMware.VimAutomation.ViCore.Types.V1.Host.N...

NumCpu                Property   System.Int32 NumCpu {get;}

Parent                Property   VMware.VimAutomation.ViCore.Types.V1.Invent...

ParentId              Property   System.String ParentId {get;}

PowerState            Property   VMware.VimAutomation.ViCore.Types.V1.Host.V...

ProcessorType         Property   System.String ProcessorType {get;}

State                 Property   VMware.VimAutomation.ViCore.Types.V1.Host.V...

StorageInfo           Property   VMware.VimAutomation.ViCore.Types.V1.Host.S...

TimeZone              Property   VMware.VimAutomation.ViCore.Types.V1.Host.V...

Uid                   Property   System.String Uid {get;}

Version               Property   System.String Version {get;}

VMSwapfileDatastore   Property   VMware.VimAutomation.ViCore.Types.V1.Datast...

VMSwapfileDatastoreId Property   System.String VMSwapfileDatastoreId {get;}

VMSwapfilePolicy      Property   System.Nullable`1[[VMware.VimAutomation.ViC...

 

そこで、Select-Object でデフォルトでは表示されないプロパティを指定すれば

「インストールされている ESXi の Build 番号まで揃っているか」

などの情報も確認することができます。

※「Format-Table -AutoSize」により、表形式で幅を自動調整しました。

※「Select-Object *」とすれば、すべてのプロパティを表示できます。

PowerCLI C:\> Get-VMHost | Select-Object Name,Version,Build | Format-Table -AutoSize

 

Name              Version Build

----              ------- -----

hv55n1.vmad.local 5.5.0   1623387

hv55n3.vmad.local 5.5.0   1623387

hv55n4.vmad.local 5.5.0   1623387

hv55n2.vmad.local 5.5.0   1623387

 

また、PowerCLI で情報取得すると、

必ずしも同じ順番で結果が表示されるとは限りません。

そこで Sort-Object で Name 列によって昇順で並べて表示してみます。

PowerCLI C:\> Get-VMHost | Sort-Object Name

 

警告: 3 個の列が表示に収まらないため、削除されました。

 

Name                 ConnectionState PowerState NumCpu CpuUsageMhz CpuTotalMhz

----                 --------------- ---------- ------ ----------- -----------

hv55n1.vmad.local    Connected       PoweredOn       2         370        3594

hv55n2.vmad.local    Connected       PoweredOn       2         952        3594

hv55n3.vmad.local    Connected       PoweredOn       2         479        3594

hv55n4.vmad.local    Connected       PoweredOn       2         718        3594

 

最後に、ESXi の物理的な CPU コア数と、メモリ容量を表示しみます。

メモリ容量が微妙な小数で表示されました。

※「ft」は「Format-Table」の短縮形です。

PowerCLI C:\> Get-VMHost | select Name,Version,Build,NumCpu,MemoryTotalGB | ft -AutoSize

 

Name              Version Build   NumCpu        MemoryTotalGB

----              ------- -----   ------        -------------

hv55n1.vmad.local 5.5.0   1623387      2 3.999500274658203125

hv55n4.vmad.local 5.5.0   1623387      2 3.999500274658203125

hv55n3.vmad.local 5.5.0   1623387      2 3.999500274658203125

hv55n2.vmad.local 5.5.0   1623387      2 3.999500274658203125

 

このような場合、PowerShell の型変換を使用すると

うまい具合に調節して、結果を見やすくすることができます。

PowerCLI C:\> Get-VMHost | select Name,Version,Build,NumCpu,{[int]$_.MemoryTotalGB} | ft -AutoSize

 

Name              Version Build   NumCpu [int]$_.MemoryTotalGB

----              ------- -----   ------ ---------------------

hv55n3.vmad.local 5.5.0   1623387      2                     4

hv55n1.vmad.local 5.5.0   1623387      2                     4

hv55n4.vmad.local 5.5.0   1623387      2                     4

hv55n2.vmad.local 5.5.0   1623387      2                     4

 

メモリ容量の列名が式になってしまったので、

列名も PowerShell の機能で「MemGB」に変更してみます。

PowerCLI C:\> Get-VMHost | select Name,Version,Build,NumCpu,@{Name="MemGB";Expression={[int]$_.MemoryTotalGB}} | ft -AutoSize

 

Name              Version Build   NumCpu MemGB

----              ------- -----   ------ -----

hv55n1.vmad.local 5.5.0   1623387      2     4

hv55n3.vmad.local 5.5.0   1623387      2     4

hv55n4.vmad.local 5.5.0   1623387      2     4

hv55n2.vmad.local 5.5.0   1623387      2     4

 

これまでの工夫をまとめてみました。

※ここでは、さらに省略形にしています。

PowerCLI C:\> Get-VMHost | select Name,Version,Build,NumCpu,@{N="MemGB";E={[int]$_.MemoryTotalGB}} | sort Name | ft -AutoSize

 

Name              Version Build   NumCpu MemGB

----              ------- -----   ------ -----

hv55n1.vmad.local 5.5.0   1623387      2     4

hv55n2.vmad.local 5.5.0   1623387      2     4

hv55n3.vmad.local 5.5.0   1623387      2     4

hv55n4.vmad.local 5.5.0   1623387      2     4

 

以上です。いまさらですが、PowerCLI の参照コマンド超入門でした。


ESXi ファイアウォールと VM の関係について。

$
0
0

ESXi には、ESXi ファイアウォールという独自のファイアウォール機能があります。

よく、VM(のゲスト OS)がうまく通信できない時に疑われることがありますが、

これは VM の通信には影響しないファイアウォールです。

 

ESXi ファイアウォールの見え方


vSphere Client からの見え方

ESXi の「構成」タブ→「セキュリティ プロファイル」のあたりで見られます。

 

esxi-fw02.png

 

Web Client からの見え方

ESXi の「管理」→「設定」→「セキュリティ プロファイル」のあたりで見られます。

 

esxi-fw01.png

 

ESXi に直接ログインした時の見え方

下記のような感じで、esxcli コマンドなどで見られます。

~ # vmware -l

VMware ESXi 5.5.0 Update 1

~ # esxcli network firewall get

   Default Action: DROP

   Enabled: true

   Loaded: true

~ # esxcli network firewall ruleset list

Name                Enabled

------------------  -------

sshServer              true

sshClient             false

nfsClient              true

dhcp                   true

dns                    true

snmp                   true

ntpClient              true

CIMHttpServer          true

CIMHttpsServer         true

CIMSLP                 true

iSCSI                 false

vpxHeartbeats          true

updateManager         false

faultTolerance         true

webAccess              true

vMotion                true

vSphereClient          true

activeDirectoryAll    false

NFC                    true

HBR                    true

ftpClient             false

httpClient            false

gdbserver             false

DVFilter              false

DHCPv6                false

DVSSync                true

syslog                false

IKED                  false

WOL                    true

vSPC                  false

remoteSerialPort      false

vprobeServer          false

rdt                    true

cmmds                  true

vsanvp                 true

rabbitmqproxy          true

ipfam                  true

fdm                    true

 

ESXi ファイアウォールが作用するところ

 

ESXi ファイアウォールは、下図の赤点線のあたり通信を制御します。

図中の VMkernel という部分が、ESXi ハイパーバイザです。

そのため、ESXi 自身の通信(VMkernel の VMkernel ポートの通信)にしか作用しません。

VM の通信には、直接影響しないものです。

 

esxi-fw-img01.png

逆に VM の通信を制御したい場合は、

オレンジ点線のあたりには ESXi ファイアウォールは作用しないので

ゲスト OS でのファイアウォール設定

(Windows ファイアウォールや iptables など)が必要です。

 

そういうわけで、VM の(ゲスト OS の)通信がうまくできないときは

いきなり ESXi ファイアウォールを無効にしたりせずに、

  • その ESXi ホストまでの経路でなにか問題はないか
    (物理サーバより外のファイアウォールや NW 機器の ACL など)
  • VM の認識している vNIC(「ローカルエリア接続 2」や eth1 など)が
    意図した順序で認識されているか
    (ゲストOSから見える MAC アドレスが、VM の 設定画面から見られる MAC アドレスと同じ順番か)
  • VM の vNIC に割り当てたポートグループが正しいか
  • ゲスト OS のファイアウォール設定が正しいか
    (Windows ファイアウォールや iptables など)

などを確認してみるとよいと思います。

 

以上、ESXi ファイアウォールと VM の通信の関係についてでした。

PowerCLI での VM クローン について。(New-VM)

$
0
0

いまさらですが、PowerCLI で VM をクローンしてみようと思います。

 

今回は PowerCLI 5.5 R2 を使用しています。

PowerCLI> Get-PowerCLIVersion | select UserFriendlyVersion

 

UserFriendlyVersion

-------------------

VMware vSphere PowerCLI 5.5 Release 2 build 1671586

 

まず、PowerCLI で vCenter に接続します。

※vCenter のアドレスは「vc55u1-1.vmad.local」にしています。

PowerCLI> Connect-VIServer vc55u1-1.vmad.local

 

Name                           Port  User

----                           ----  ----

vc55u1-1.vmad.local            443   VMAD\Administrator

 

それでは、この VM 「vm001」をクローンしてみます。

PowerCLI> Get-VM vm001

 

Name                 PowerState Num CPUs MemoryGB

----                 ---------- -------- --------

vm001                PoweredOff 1        0.250

 

VM のクローンは、New-VM コマンドレットでできます。

「-VM」でクローン元、「-Name」でクローン先の VM を指定します。

ちなみに、VM のテンプレートからクローンするときは、

「-VM」の代わりに「-Template」に指定します。

 

今回は、ほかにもいくつかオプションを指定しています。

  • 「-VMHost」→ VM を作成する ESXiを指定。
  • 「-Datastore」→ VM を作成するデータストアを指定。
  • 「-DiskStorageFormat」→ 仮想ディスク(VMDK ファイル)のフォーマットを指定。

PowerCLI> New-VM -VM vm001 -Name vm002 -VMHost hv55n1.vmad.local -Datastore ds_hv55n1_01 -DiskStorageFormat EagerZeroedThick

 

Name                 PowerState Num CPUs MemoryGB

----                 ---------- -------- --------

vm002                PoweredOff 1        0.250

 

New-VM には、下記のようにパイプ「|」で VM を指定することもできます。

今回は、別のデータストアにクローンしてみました。

クローン先は NFS データストアなので Thin 形式にしています。

PowerCLI> Get-VM vm001 | New-VM -Name vm003 -VMHost hv55n1.vmad.local -Datastore ds_nfs_181 -DiskStorageFormat Thin

 

Name                 PowerState Num CPUs MemoryGB

----                 ---------- -------- --------

vm003                PoweredOff 1        0.250

 

指定した ESXi / データストア に VM が作成されました。

PowerCLI> Get-VM vm00? | select Name,VMHost,{$_|Get-Datastore} | sort Name | ft -AutoSize

 

Name  VMHost            $_|Get-Datastore

----  ------            ----------------

vm001 hv55n1.vmad.local ds_hv55n1_01

vm002 hv55n1.vmad.local ds_hv55n1_01

vm003 hv55n1.vmad.local ds_nfs_181

 

VMDK ファイルも、指定したディスク形式になっています。

PowerCLI> Get-VM vm00? | Get-HardDisk | select Parent,Name,StorageFormat,@{N="GB";E={[int]$_.CapacityGB}},Filename | ft -AutoSize

 

Parent Name           StorageFormat GB Filename

------ ----           ------------- -- --------

vm001  Hard disk 1            Thick 10 [ds_hv55n1_01] vm001/vm001.vmdk

vm002  Hard disk 1 EagerZeroedThick 10 [ds_hv55n1_01] vm002/vm002.vmdk

vm003  Hard disk 1             Thin 10 [ds_nfs_181] vm003/vm003.vmdk

 

vNIC の種類(VMXNET3など)やポートグループは、クローン元の設定を引き継ぎます。

しかし、MAC アドレスは、ちゃんと再生成されます。

PowerCLI> Get-VM vm00? | Get-NetworkAdapter | select Parent,Name,Type,NetworkName,MacAddress | sort Parent | ft -AutoSize

 

Parent Name                 Type NetworkName  MacAddress

------ ----                 ---- -----------  ----------

vm001  Network adapter 1 Vmxnet3 pg-vlan-0005 00:50:56:90:30:b0

vm002  Network adapter 1 Vmxnet3 pg-vlan-0005 00:50:56:90:38:59

vm003  Network adapter 1 Vmxnet3 pg-vlan-0005 00:50:56:90:00:e6

 

大量のVM を作成したい場合は、

下記のようにまとめて作成したりもできます。

※この例だとクローン元 VM や ESXi などが決め打ちですが・・・

※赤字がコマンド入力している部分です。

PowerCLI> 4..10 | foreach {

>> $vm_name = "vm" + $_.ToString("000")

>> New-VM -VM vm001 -Name $vm_name -VMHost hv55n1.vmad.local -Datastore ds_nfs_181

>> }

>>

 

Name                 PowerState Num CPUs MemoryGB

----                 ---------- -------- --------

vm004                PoweredOff 1        0.250

vm005                PoweredOff 1        0.250

vm006                PoweredOff 1        0.250

vm007                PoweredOff 1        0.250

vm008                PoweredOff 1        0.250

vm009                PoweredOff 1        0.250

vm010                PoweredOff 1        0.250

 

あらかじめ CSV ファイルを用意して、

それを読み込んで New-VM を実行したりすることもできます。

 

このようなファイルを作成しておき・・・

PowerCLI> cat C:\work\vm_list.txt

SrcVM, NewVM, ESXi,            Datastore

vm001, vm011, hv55n1.vmad.local, ds_nfs_181

vm001, vm012, hv55n1.vmad.local, ds_nfs_181

vm001, vm013, hv55n2.vmad.local, ds_nfs_181

vm001, vm014, hv55n2.vmad.local, ds_nfs_181

 

CSV として読み込んで、New-VM を実行します。

読み込んだファイルに記載してあるように VM がクローンされます・・・

PowerCLI> $vm_list = Import-Csv C:\work\vm_list.txt

PowerCLI> $vm_list | foreach {

>> New-VM -VM $_.SrcVM -Name $_.NewVM -VMHost $_.ESXi -Datastore $_.Datastore

>> }

>>

 

Name                 PowerState Num CPUs MemoryGB

----                 ---------- -------- --------

vm011                PoweredOff 1        0.250

vm012                PoweredOff 1        0.250

vm013                PoweredOff 1        0.250

vm014                PoweredOff 1        0.250

 

最後に、

VM の削除は、Remove-VM コマンドレットでできます。

 

まちがって必要な VM を削除をしないように、

Get-VM で実行対象を絞ってから Remove-VM することをお勧めします。

 

ためしにクローンした VM を削除しておこうと思います。

まず、対象の VM を確認して・・・

PowerCLI> Get-VM vm00[2-9], vm01?

 

Name                 PowerState Num CPUs MemoryGB

----                 ---------- -------- --------

vm002                PoweredOff 1        0.250

vm003                PoweredOff 1        0.250

vm004                PoweredOff 1        0.250

vm005                PoweredOff 1        0.250

vm006                PoweredOff 1        0.250

vm007                PoweredOff 1        0.250

vm008                PoweredOff 1        0.250

vm009                PoweredOff 1        0.250

vm010                PoweredOff 1        0.250

vm011                PoweredOff 1        0.250

vm012                PoweredOff 1        0.250

vm013                PoweredOff 1        0.250

vm014                PoweredOff 1        0.250

 

確認した Get-VM のコマンドラインを、そのまま Remove-VM にパイプで渡します。

vm001 だけは、削除せずに残してみました。

 

デフォルトだと vCenter のインベントリから VM を登録削除するだけですが、

「-DeletePermanently」を指定すると、VMDK ファイル自体も削除できます。

PowerCLI> Get-VM vm00[2-9],vm01? | Remove-VM -DeletePermanently -Confirm:$false

PowerCLI> Get-VM vm0??

 

Name                 PowerState Num CPUs MemoryGB

----                 ---------- -------- --------

vm001                PoweredOff 1        0.250

 

以上、PowerCLI での VM のクローンについてでした。

vSS の 標準ポートグループ観察。

$
0
0

最近、自宅 vSphere 環境にネットワークセグメントを追加したくなり、

標準スイッチ(vSS)と標準ポートグループを観察してみました。


標準ポートグループは、ESXi ごとに存在する vSS に作成されるもので、

ESXi ごとに存在確認しないといけないかと思ったら・・・

pg-list-01.png

 

意外とそんなことはなく、ネットワークのインベントリを開けば

同様のポートグループがどの ESXi に作成されているか、まとめて確認できます。

pg-list-02.png

 

クラシックな vSphere Client でも、

ネットワークのインベントリからうまい具合に見られます。

pg-list-03.png

 

ちなみに、PowerCLI では、

下記のような感じで vSS のポートグループを操作できます。

 

今回は、vSS「vSwitch0」に「pg-vlan-0004」というポートグループを作成してみます。

まず vCenter に接続して、ホストの一覧を見てみます。

PowerCLI> Connect-VIServer vc55u1-1.vmad.local, vc55u1-2.vmad.local -User vmad\administrator -Password *****

 

Name                           Port  User

----                           ----  ----

vc55u1-1.vmad.local            443   VMAD\Administrator

vc55u1-2.vmad.local            443   VMAD\Administrator

 

PowerCLI> Get-VMHost -State Connected | select Name,ConnectionState,PowerState,Version | ft -AutoSize

 

Name                   ConnectionState PowerState Version

----                   --------------- ---------- -------

hv51-hpp1.gowatana.lab       Connected  PoweredOn 5.1.0

hv51-opt1.gowatana.lab       Connected  PoweredOn 5.1.0

hv55n1.vmad.local            Connected  PoweredOn 5.5.0

hv55n2.vmad.local            Connected  PoweredOn 5.5.0

hv55-has1.vmad.local         Connected  PoweredOn 5.5.0

hv55-has2.vmad.local         Connected  PoweredOn 5.5.0

hv55-ivy1.vmad.local         Connected  PoweredOn 5.5.0

 

この時点では、まだこれから作成するポートグループが

どの ESXi にも無い状態です。

PowerCLI> Get-VMHost -State Connected | Get-VirtualSwitch -Name vSwitch0 | select Name,VMHost,{$_|Get-VirtualPortGroup -Name pg-vlan-0004} | ft -AutoSize

 

Name     VMHost                 $_|Get-VirtualPortGroup -Name pg-vlan-0004

----     ------                 ------------------------------------------

vSwitch0 hv51-hpp1.gowatana.lab {}

vSwitch0 hv51-opt1.gowatana.lab {}

vSwitch0 hv55n1.vmad.local      {}

vSwitch0 hv55n2.vmad.local      {}

vSwitch0 hv55-has1.vmad.local   {}

vSwitch0 hv55-has2.vmad.local   {}

vSwitch0 hv55-ivy1.vmad.local   {}

 

それぞれの ESXi の vSS にポートグループを作成します。

PowerCLI> Get-VMHost -State Connected | Get-VirtualSwitch -Name vSwitch0 | New-VirtualPortGroup -Name pg-vlan-0004 -VLanId 4

 

Name                      Key                            VLanId PortBinding NumPorts

----                      ---                            ------ ----------- --------

pg-vlan-0004              key-vim.host.PortGroup-pg-v... 4

pg-vlan-0004              key-vim.host.PortGroup-pg-v... 4

pg-vlan-0004              key-vim.host.PortGroup-pg-v... 4

pg-vlan-0004              key-vim.host.PortGroup-pg-v... 4

pg-vlan-0004              key-vim.host.PortGroup-pg-v... 4

pg-vlan-0004              key-vim.host.PortGroup-pg-v... 4

pg-vlan-0004              key-vim.host.PortGroup-pg-v... 4

 

ポートグループがができました。

PowerCLI> Get-VMHost -State Connected | Get-VirtualSwitch -Name vSwitch0 | select Name,VMHost,{$_|Get-VirtualPortGroup -Name pg-vlan-0004} | ft -AutoSize

 

Name     VMHost                 $_|Get-VirtualPortGroup -Name pg-vlan-0004

----     ------                 ------------------------------------------

vSwitch0 hv51-hpp1.gowatana.lab pg-vlan-0004

vSwitch0 hv51-opt1.gowatana.lab pg-vlan-0004

vSwitch0 hv55n1.vmad.local      pg-vlan-0004

vSwitch0 hv55n2.vmad.local      pg-vlan-0004

vSwitch0 hv55-has1.vmad.local   pg-vlan-0004

vSwitch0 hv55-has2.vmad.local   pg-vlan-0004

vSwitch0 hv55-ivy1.vmad.local   pg-vlan-0004

 

VM の vNIC のポートグループも変更してみます。

PowerCLI> Get-VM dg01,dg02 | Get-NetworkAdapter -Name "Network adapter 1" | select Parent,NetworkName | ft -AutoSize

 

 

Parent NetworkName

------ -----------

dg02   VM Network

dg01   VM Network

 

PowerCLI> Get-VM dg01,dg02 | Get-NetworkAdapter -Name "Network adapter 1" | Set-NetworkAdapter -NetworkName pg-vlan-0004 -Confirm:$false

 

Name                 Type       NetworkName  MacAddress         WakeOnLan

                                                                  Enabled

----                 ----       -----------  ----------         ---------

Network adapter 1    Vmxnet3    pg-vlan-0004 00:50:56:b2:d1:f8       True

Network adapter 1    Vmxnet3    pg-vlan-0004 00:50:56:b2:c1:a8       True

 

PowerCLI> Get-VM dg01,dg02 | Get-NetworkAdapter -Name "Network adapter 1" | select Parent,NetworkName | ft -AutoSize

 

Parent NetworkName

------ -----------

dg02   pg-vlan-0004

dg01   pg-vlan-0004

 

以上、vSS と ポートグループについてでした・・・

VCOPS のヒートマップでデータストアを見てみる。

$
0
0

以前、PowerCLI でデータストアを確認してみるポストをしましたが・・・

ESXi データストアへの VM 配置について。(PowerCLI でデータストア空き容量と IOPS を見てみる)

 

VCOPS だと、ヒートマップというグラフで

視覚的に使用状況の確認ができたりします。

 

標準 UI の「分析」タブには

「ヒートマップ ギャラリー」に色々なグラフ表示設定が登録されています。

 

たとえば、どこかのデータストアに 新規 VM を配置したいときに

下記のような使い方ができます。

 

データストアの空き容量についてヒートマップを見るときは

「どのデータストアのディスク容量オーバーコミットが最も高く、残り時間が最も少ないか?」

を見ると・・・

→ ds_local_04 というデータストアにそこそこ空きがありそう。

※となりの ds_nfs_181_02 というデータストアはさらに空きがありそうですが

 今回は事情により空けてます・・・

vcops-ds-heatmap-01.png

シンプロビジョニングの仮想ディスクによる容量オーバーコミットが大きいほど

グラフの色が赤くなっています。

ちなみに、ヒートマップの名前にある「~残り時間が」というのは、

「VCOPS が分析したキャパシティ管理的に、

あと何日くらいもつ空き容量がありそうか」みたいな発想のものです。

 

データストアのディスク IO 遅延についてヒートマップを見るときは

「どのデータストアの I/O 使用率が最も高く、待ち時間が発生しているか?」

あたりをみてみると・・・

→上のヒートマップで、割と空いていそうな ds_local_04 データストアは

 ディスク遅延もあまり大きくなく、負荷が割と低そう。

※となりの ds_nfs_181_02 というデータストアはさらにディスク遅延が無そうですが

 今回は事情により空けてます・・・

vcops-ds-heatmap-02.png

IO使用率(KB/秒)が大きいデータストアほど、グラフの面積が広く

遅延(読み書きあたりの遅延ミリ秒)が大きいほど色が赤くなっています。

 

といった感じで、見た感じで

「容量が空いていて負荷が低そうな ds_local_04 データストアに新規 VM を配置しよう」

みたいなことが考えやすくなります。

 

自宅検証環境なので特定の ESXi を指定してデータストアのヒートマップを見ていますが、

本来はクラスタ単位や、vCenter 単位でヒートマップを見るともっと効果的ではないかと思います。

当然ながら、データストアだけでなく CPU / メモリ / ネットワーク などについても

ヒートマップで表示できます。

 

こちらもどうぞ・・・

vCenter Operations Manager(VCOPS) 入門。

VCOPS の UI タイムアウト時間を変更する。

 

以上、VCOPS のヒートマップについてでした。

vCenter Log Insight のデプロイ。

$
0
0

最近話題の vCenter Log Insight をデプロイしてみました。


Log Insight についてはこちらを参照・・・

http://www.vmware.com/jp/products/vcenter-log-insight

 

Log Insight は、VMware 製のログ収集&解析ツールで、

近いものとしては、Splunk や fluentd などが挙げられると思います。

 

今回使用したバージョン

VMware-vCenter-Log-Insight-2.0.3-1879692_1.ova

※OVA ファイルは、MyVMware から入手できます。

 

Web Client からデプロイ

Log Insight は 仮想アプライアンスの OVA ファイルとして

提供されているので、そのファイルを

Web Client(または vSphere Client)からデプロイするだけで使用できます。

 

今回は Web Client で「OVF テンプレートのデプロイ」してみます。

log-insight-deploy01.png

 

デプロイする OVA ファイルを選択します。

log-insight-deploy02.png

 

「追加の構成オプションの承諾」にチェックを入れると

次へ進めるようになります。

log-insight-deploy03.png

 

EULA の承諾 画面で、「承諾」ボタンをクリックすると

「次へ」進めるようになります。

log-insight-deploy04.png

 

デプロイする VM の名前は、デフォルトのまま

「VMware vCenter Log Insight」にしました。

デプロイ先のデータセンタ か フォルダを選択して「次へ」。

log-insight-deploy05.png

 

VM の構成を選択します。

今回は一番小さい「Extra Small」にしてみました。

2vCPU、メモリ 4GB、仮想ディスク 132GB になります。

log-insight-deploy06.png

 

デプロイ先のリソースを選択します。

例では、ESXi を選択しています。

log-insight-deploy07.png

 

仮想ディスク フォーマットは

動作確認目的なので「Thin Provisison」にしました。

仮想ディスクのサイズは 132GB ですが、

Thin 形式であれば 5GB くらいあればとりあえずデプロイできます。

log-insight-deploy08.png

 

Log Insight の VM を接続するポートグループを選択します。

log-insight-deploy09.png

 

Log Insight の VM に設定するネットワーク構成情報を入力します。

  • ホスト名
  • IP アドレス
  • サブネットマスク
  • デフォルトゲートウェイ
  • DNS サーバのアドレス

log-insight-deploy10.png

 

この画面で、root パスワードも設定します。

log-insight-deploy11.png

 

確認して「終了」をクリックすると、デプロイが開始されます。

log-insight-deploy12.png

 

デプロイされた VM は Extra Small だと

仮想マシンバージョンが「7」なので、バージョンアップしておきます。

log-insight-deploy13.png

 

仮想マシンバージョンは、

「ESXi 5.5 以降」(vmx-10)にしておきます。

log-insight-deploy14.png

 

Log Insight の VM を起動します。このような起動画面です。

初回起動は少し時間がかかるようなので、しばらく待ちます。

log-insight-deploy15.png

 

起動すると、このような画面になります。

log-insight-deploy16.png

 

上の画面で「ALT + F1」キーを押すと、コンソール画面を表示してログインできます。

ちなみに OS は SUSE Linux です。

log-insight-deploy17.png

 

Web ブラウザでアクセスすると、

Log Insight のセットアップ画面が表示されます。

log-insight-deploy18.png

セットアップにつづく・・・

vCenter Log Insight のデプロイの続き。

 

以上、Log Insight のデプロイでした。

Viewing all 495 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>