SAP on Oracle VM の拡張監視設定
半年くらい前に「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.zipcreating: 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 ResolutionDependencies Resolved
========================================================================================================================
Package Arch Version Repository Size
========================================================================================================================
Installing:
kernel-uek x86_64 2.6.32-300.7.1.el6uek ol6_latest 21 MTransaction 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/1Installed:
kernel-uek.x86_64 0:2.6.32-300.7.1.el6uekComplete!
[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 kTransaction 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.zipArchive: /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] #