Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
tetsuyakawahara
Active Participant
0 Kudos

半年くらい前に「Oracle VMがSAP認定の仮想化基盤に」という記事を書いていますが、

EWAやGLCなどパフォーマンス関連のSAPサポートを受けるために必須な拡張監視設定を実際に試しました。

以下SAPノートに手順が記載されていますが、かなり省かれておりOracle VMを知らないとちょっと手こずります。

拡張監視に必要なモジュールはovm_vmhostdとvm-dump-metricsです。

まずあらかじめ必要なファイルをダウンロードしておきます。

  • 上記SAPノート添付のvm-dump-metrics.zip
  • My Oracle Supportからパッチ番号16532839のOracle VM Utilities
    * 当方ダウンロード時点では2013/6/11更新のバージョン0.6.5(p16532839_30_Linux-x86-64.zip)
    * vm-dump-metricsはこのファイルにも含まれていますがSAPノートのほうを使うようです

管理ツールのOracle VM Managerはovmmanというホストで稼働しています。バージョンは3.2.2です。

仮想リソースプールとして6台のOracle VM Serverを構築しました。

こちらも3.2.2でインストールしたのですがPublic Yum Repositoryから最新にしたので3.2.4-525となっています。

それぞれovm<nr>というホストです。

これら6台からなるサーバープール上に4台の仮想マシンが稼働しています。

それぞれsapvm<nr>という仮想マシン名で、OSはOracle Linux 6.4 x86_64です。

さて、それでは拡張監視の設定を始めていきましょう。

まずはOracle VM Managerに先にダウンロードしたOracle VM Utilitiesをインストールします。

/u01/app/oracle/ovm-manager-3 配下にzipファイルを解凍するだけです。

もし既にovm_utilsというディレクトリがある場合は事前に削除しておきます。

[root@ovmman work] # cd /u01/app/oracle/ovm-manager-3
[root@ovmman ovm-manager-3] # unzip /work/ovm_utils_0.6.5.zip
Archive:  /work/ovm_utils_0.6.5.zip

   creating: ovm_utils/

   creating: ovm_utils/man/

   creating: ovm_utils/man/man8/

  inflating: ovm_utils/man/man8/ovm_vmcontrol.8

  inflating: ovm_utils/man/man8/ovm_vmhostd.8

~略~

  inflating: ovm_utils/class/OvmPoolControl.class

  inflating: ovm_utils/ovm_vmcontrol

  inflating: ovm_utils/ovm_managercontrol

  inflating: ovm_utils/ovm_vmhostd

  inflating: ovm_utils/vm-dump-metrics

   creating: ovm_utils/lib/

  inflating: ovm_utils/lib/log4j.jar

  inflating: ovm_utils/lib/OvmClient.jar

  inflating: ovm_utils/lib/commons-logging.jar

  inflating: ovm_utils/ovm_servercontrol

  inflating: ovm_utils/ovm_poolcontrol

  inflating: ovm_utils/ovm_vmmessage

[root@ovmman ovm-manager-3] #

[root@ovmman ovm-manager-3] # cd ovm_utils/

[root@ovmman ovm_utils] # ls

class  man         ovm_logger          ovm_poolcontrol  ovm_servercontrol  ovm_vmdisks  ovm_vmmessage

lib    ovm_import  ovm_managercontrol  ovm_repocontrol  ovm_vmcontrol      ovm_vmhostd  vm-dump-metrics

これでSAP拡張監視に必要なovm_vmhostdが展開されました。

Oracle VM Utilitiesはけっこう多様です。試しにどの仮想マシンが稼働しているか状況を見てみました。

ブラウザベースのOracle VM Managerと同じ情報がきちんと表示されていますね。

[root@ovmman ovm_utils] # ./ovm_vmcontrol -u admin -p <password> -h localhost -c list
Oracle VM VM Control utility 0.6.5.
Connected.
Command : list
VM name : 'sapvm03'
     uuid   : '0004fb00000600009c9d8e0eccf1447f'
     server : 'ovm01.fujitsu-oracle.local'
     pool   : 'SAP Server Pool'
     status : 'Running'

VM name : 'sapvm02'
     uuid   : '0004fb00000600003f02726005a31655'
     server : 'ovm02.fujitsu-oracle.local'
     pool   : 'SAP Server Pool'
     status : 'Running'

VM name : 'sapvm01'
     uuid   : '0004fb0000060000ddd52bca77a7b160'
     server : 'ovm05.fujitsu-oracle.local'
     pool   : 'SAP Server Pool'
     status : 'Running'

VM name : 'sapvm04'
     uuid   : '0004fb00000600004c2e7d7efbcb894b'
     server : 'ovm03.fujitsu-oracle.local'
     pool   : 'SAP Server Pool'
     status : 'Running'

listvm completed.
[root@ovmman ovm_utils]#

拡張監視で使用するovm_vmhostdはデーモンのような動作をするのですが、

コマンドラインから挙動を確認すると以下のようになります。

-vオプションの引数として仮想マシン名を指定します。まず仮想マシンが稼働しているか確認し、

60秒ごとにメトリックスを送信します。コマンドラインだとプロセスをkillするまで表示され続けます。

[root@ovmman ovm_utils] # ./ovm_vmhostd  -u admin -p <password> -h localhost -v sapvm01

Oracle VM Hostd 0.6.5.

Connected.

Manager version : 3.2.2.520

VM : 'sapvm01' has status :  Running.

VM: 'sapvm01' is online, sending metrics.

.Sleeping 60 seconds.

.Sleeping 60 seconds.

.Sleeping 60 seconds.

.Sleeping 60 seconds.

拡張監視設定には仮想マシン(ゲストOS)側も追加の設定が必要となります。

すべての仮想マシンに対してこの作業を実施してください。

まずOracle VM Guest Additionsをインストールしておく必要があります。

Public Yum RepositoryのaddonsからダウンロードできるのですがOracle Linxu 6はデフォルトでは

このパスはリポジトリ設定にないので追加しておきます。

もしくはPublic Yum Repositoryからrepo設定ファイルをダウンロードして

ol6_addons箇所のenbaled=0をenabled=1に書き換える方法でも構いません。

[ root@sapvm01 work] # vi /etc/yum.repos.d/public-yum-ol6.repo

*以下を挿入

[ol6_addons]

name=Oracle Linux Addons ($basearch)

baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/$basearch/

gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6

gpgcheck=1

enabled=1

もしくは
[root@sapvm01 work] # cd /etc/yum.repos.d

[root@sapvm01 yum.repos.d] # ls
public-yum-ol6.repo
[root@sapvm01 yum.repos.d] # rm -f public-yum-ol6.repo
[root@sapvm01 yum.repos.d] #  wget http://public-yum.oracle.com/public-yum-ol6.repo
--2013-09-17 21:37:36--  http://public-yum.oracle.com/public-yum-ol6.repo
Resolving public-yum.oracle.com... 137.254.56.43
Connecting to public-yum.oracle.com|137.254.56.43|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2778 (2.7K) [text/plain]
Saving to: “public-yum-ol6.repo”

100%[==============================================================================>] 2,778       --.-K/s   in 0s

2013-09-17 21:37:36 (177 MB/s) - “public-yum-ol6.repo” saved [2778/2778]

[root@sapvm01 yum.repos.d] # vi public-yum-ol6.repo

*該当箇所を書き換え

今回はKernelが既にUnbreakable Enterprise Kernel(UEK) 2.6.39-400と最新のものになっていたため、

Oracle VM Guest Additionsをインストールしようとするとエラーが発生しました。

Transaction Check Error:

  package kernel-uek-2.6.39-400.17.1.el6uek.x86_64 (which is newer than kernel-uek-2.6.32-300.7.1.el6uek.x86_64) is already installed

  package kernel-uek-2.6.39-400.109.6.el6uek.x86_64 (which is newer than kernel-uek-2.6.32-300.7.1.el6uek.x86_64) is already installed

モジュールのひとつであるkmod-ovmapi-uek-1.0.0-32.300がUEK 2.6.32-300と依存関係にあるためです。

先にUEK 2.6.32-300をインストールしておきます。ダウングレードではなくインストールで問題ありません。

そのあとOracle VM Guest Additionsをインストールします。

[root@sapvm01 work] # yum install kernel-uek-2.6.32-300.7.1.el6uek
Loaded plugins: refresh-packagekit, security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package kernel-uek.x86_64 0:2.6.32-300.7.1.el6uek will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================
Package                   Arch                  Version                                Repository                 Size
========================================================================================================================
Installing:
kernel-uek                x86_64                2.6.32-300.7.1.el6uek                  ol6_latest                 21 M

Transaction Summary
========================================================================================================================
Install       1 Package(s)

Total download size: 21 M
Installed size: 87 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : kernel-uek-2.6.32-300.7.1.el6uek.x86_64                                                              1/1
  Verifying  : kernel-uek-2.6.32-300.7.1.el6uek.x86_64                                                              1/1

Installed:
  kernel-uek.x86_64 0:2.6.32-300.7.1.el6uek

Complete!
[root@sapvm01 work ] #
[root@sapvm01 work ] # yum install kmod-ovmapi-uek libovmapi libovmapi-devel ovmd python-simplejson xenstoreprovider

~略~

Dependencies Resolved

========================================================================================================================
Package                          Arch                Version                             Repository               Size
========================================================================================================================
Installing:
kmod-ovmapi-uek                  x86_64              1.0.0-32.300.uek6                   ol6_addons               17 k
libovmapi                        x86_64              3.0-6.el6                           ol6_addons               19 k
libovmapi-devel                  x86_64              3.0-6.el6                           ol6_addons              8.2 k
ovmd                             x86_64              3.0-38.el6                          ol6_addons               31 k
python-simplejson                x86_64              2.0.9-3.1.el6                       ol6_latest              126 k
xenstoreprovider                 x86_64              3.0-11.el6                          ol6_addons               24 k
Installing for dependencies:
ovm-template-config              noarch              3.0-73.el6                          ol6_addons               61 k

Transaction Summary
========================================================================================================================
Install       7 Package(s)

Total download size: 287 k
Installed size: 799 k
Is this ok [y/N]: y
~略~
Complete!

インストールが完了したらovmdを自動起動するよう設定しておきます。

[root@sapvm01 work] # chkconfig ovmd on

[root@sapvm01 work] # /etc/init.d/ovmd start

Starting OVM guest daemon:                                 [  OK  ]

[root@sapvm01 work] #

ちなみにここまでの設定が終わるとOracle VM Managerの仮想マシンの情報箇所に

ゲストOSに割り当てられているIPアドレスがきちんと表示されるようになります。

最後にSAPノート添付のvm-dump-metricsを/usr/sbinに展開して仮想マシン側の設定も終わりです。

[root@sapvm01 work] # cd /usr/sbin
[root@sapvm01 sbin] # unzip /work/ovm_utils/vm-dump-metrics.zip

Archive:  /work/ovm_utils/vm-dump-metrics.zip

  inflating: vm-dump-metrics

[root@sapvm01 sbin] #

一通り設定が完了しているか確認します。

[root@sapvm01 sbin] # rpm -qa|grep ovmd

ovmd-3.0-38.el6.x86_64

[root@sapvm01 sbin] # ls -l | grep vm-dump-metrics

-rwxr-xr-x. 1 root root 3179 Feb  7  2013 /usr/sbin/vm-dump-metrics

[root@sapvm01 sbin] # lsmod | grep ovm

ovmapi                 12999  1 [permanent]

[root@sapvm01 sbin] #

拡張監視の設定が正しく行われているとゲストOSから以下のコマンドを実行することで

その仮想マシンが稼働するOracle VM Serverのホストの構成情報と自身に割り当てられたリソース情報を見る事が出来ます。

[root@sapvm01 sbin] # ovmd -g vmhost

com.sap.host.VirtualizationVendor=Oracle Corporation;
com.sap.host.VirtProductInfo=Oracle VM 3;
com.sap.host.PagedInMemory=0;
com.sap.host.PagedOutMemory=0;
com.sap.host.PageRates=0;com.sap.vm.uuid=0004fb0000060000ddd52bca77a7b160;
com.sap.host.HostName=ovm05.fujitsu-oracle.local;
com.sap.host.HostSystemInfo=ovm05.fujitsu-oracle.local;
com.sap.host.NumberOfPhysicalCPUs=8;
com.sap.host.NumCPUs=8;
com.sap.host.TotalPhyMem=8183;
com.sap.host.UsedVirtualMemory=3926;
com.sap.host.MemoryAllocatedToVirtualServers=3926;
com.sap.host.FreeVirtualMemory=4357;
com.sap.host.FreePhysicalMemory=4357;
com.sap.host.TotalCPUTime=89265.14;
com.sap.host.Time=1379425059555;
com.sap.vm.PhysicalMemoryAllocatedToVirtualSystem=3072;
com.sap.vm.ResourceMemoryLimit=3072;
com.sap.vm.TotalCPUTime=1680.5883;
com.sap.vm.ResourceProcessorLimit=2;

[root@sapvm01 sbin] #