Quantcast
Channel: VMware Communities : Blog List - All Communities
Viewing all articles
Browse latest Browse all 3135

HCIBench のベンチマーク テスト実行をコマンドライン / Ansible で自動化してみる。

$
0
0

前回、HCIBench の設定を Ansible で自動化してみる話を投稿しました。

HCIBench の設定を Ansible で自動化してみる。

 

今回は、設定後のテスト実行にコマンドライン / Ansible を利用してみます。

 

HCIBench のコマンドラインでのテスト実行。

HCIBench をコマンドラインで実行する方法については、

下記のブログで紹介されています。

Use HCIBench Like a Pro – Part 2 - Virtual Blocks

 

まず、HCIBench の Photon OS に SSH でログインします。

HCIBench の仮想アプライアンスは「hci-bench02.go-lab.jp」というアドレスで用意しています。

[gowatana@client01 ~]$ ssh -l root hci-bench02.go-lab.jp

############################################

#                                          #

#        Welcome to HCIBench 1.6.6         #

#                                          #

############################################

root@photon-HCIBench [ ~ ]#

 

今回は、HCIBench で使用する設定ファイルは配置ずみです。

root@photon-HCIBench [ ~ ]# cat /opt/automation/conf/perf-conf.yaml

vc: 'vc-sv01.go-lab.jp'

vc_username: 'hci-bench-connect'

vc_password: 'パスワード'

datacenter_name: 'dc01'

cluster_name: 'vsan-cluster-01'

network_name: 'dvpg-vds01-vlan-1012'

static_enabled: false

reuse_vm: false

datastore_name:

- 'vsanDatastore-01'

deploy_on_hosts: false

hosts:

host_username:

host_password:

vm_prefix: 'vdbench'

easy_run: false

clear_cache: false

number_vm: 2

number_data_disk: 2

size_data_disk: 1

self_defined_param_file_path: '/opt/tmp/tmp20180315144339'

output_path: 'TEST_vsan-cluster-01_case-101'

warm_up_disk_before_testing: 'NONE'

testing_duration:

cleanup_vm: false

root@photon-HCIBench [ ~ ]# file /opt/automation/vdbench-param-files/*

/opt/automation/vdbench-param-files/vdb-case-101: ASCII text

root@photon-HCIBench [ ~ ]#

 

Web UI にある「Varidate」ボタンにかわるスクリプトの実行してみます。

ちなみに出力結果をみると、テスト対象が 6 ノード vSAN クラスタだということもわかります。

※ここでのタイムスタンプは JST ではないので読みかえることになります。

root@photon-HCIBench [ ~ ]# /opt/automation/pre-validate-config.sh

2018-03-15 15:01:07 -0700: Validating VC IP and Crendetial...

2018-03-15 15:01:10 -0700: VC IP and Credential Validated

2018-03-15 15:01:10 -0700: Validating Datacenter dc01...

2018-03-15 15:01:11 -0700: Datacenter dc01 Validated

2018-03-15 15:01:11 -0700: Validating Cluster vsan-cluster-01...

2018-03-15 15:01:12 -0700: Cluster vsan-cluster-01 Validated

2018-03-15 15:01:12 -0700: Cluster vsan-cluster-01 has DRS mode: fullyAutomated

2018-03-15 15:01:12 -0700: Validating If Hosts in Cluster vsan-cluster-01 Could be Connected...

2018-03-15 15:01:25 -0700: All Hosts could be Connected

2018-03-15 15:01:25 -0700: Validating If Any Hosts in Cluster vsan-cluster-01 is in Maintainance Mode...

2018-03-15 15:01:26 -0700: All the Hosts in Cluster vsan-cluster-01 are not in Maitainance Mode

2018-03-15 15:01:26 -0700: Validating Network dvpg-vds01-vlan-1012...

2018-03-15 15:01:28 -0700: Network dvpg-vds01-vlan-1012 Validated

2018-03-15 15:01:28 -0700: Checking If Network dvpg-vds01-vlan-1012 is accessible from all the hosts of vsan-cluster-01...

2018-03-15 15:01:29 -0700: Network dvpg-vds01-vlan-1012 is accessible from host hv-i22.go-lab.jp

2018-03-15 15:01:30 -0700: Network dvpg-vds01-vlan-1012 is accessible from host hv-i25.go-lab.jp

2018-03-15 15:01:31 -0700: Network dvpg-vds01-vlan-1012 is accessible from host hv-i21.go-lab.jp

2018-03-15 15:01:31 -0700: Network dvpg-vds01-vlan-1012 is accessible from host hv-i24.go-lab.jp

2018-03-15 15:01:32 -0700: Network dvpg-vds01-vlan-1012 is accessible from host hv-i26.go-lab.jp

2018-03-15 15:01:33 -0700: Network dvpg-vds01-vlan-1012 is accessible from host hv-i23.go-lab.jp

2018-03-15 15:01:33 -0700: Network dvpg-vds01-vlan-1012 is accessible from all the hosts of vsan-cluster-01

2018-03-15 15:01:33 -0700: Validating Type of Network dvpg-vds01-vlan-1012...

2018-03-15 15:01:34 -0700: Network dvpg-vds01-vlan-1012 Type is DistributedVirtualPortgroup

2018-03-15 15:01:34 -0700: Validating cluster inter-connectivity...

2018-03-15 15:03:20 -0700: Cluster inter-connectivity validated

2018-03-15 15:03:23 -0700: Validating Datastore vsanDatastore-01...

2018-03-15 15:03:24 -0700: Datastore vsanDatastore-01 Validated

2018-03-15 15:03:24 -0700: Checking Datastore vsanDatastore-01 type...

2018-03-15 15:03:24 -0700: Datastore vsanDatastore-01 type is vsan

2018-03-15 15:03:24 -0700: Checking If Datastore vsanDatastore-01 is accessible from all the hosts of vsan-cluster-01...

2018-03-15 15:03:25 -0700: Datastore vsanDatastore-01 is accessible from host hv-i22.go-lab.jp

2018-03-15 15:03:25 -0700: Datastore vsanDatastore-01 is accessible from host hv-i25.go-lab.jp

2018-03-15 15:03:25 -0700: Datastore vsanDatastore-01 is accessible from host hv-i21.go-lab.jp

2018-03-15 15:03:25 -0700: Datastore vsanDatastore-01 is accessible from host hv-i24.go-lab.jp

2018-03-15 15:03:25 -0700: Datastore vsanDatastore-01 is accessible from host hv-i26.go-lab.jp

2018-03-15 15:03:25 -0700: Datastore vsanDatastore-01 is accessible from host hv-i23.go-lab.jp

2018-03-15 15:03:25 -0700: Datastore vsanDatastore-01 is accessible from all the hosts of vsan-cluster-01

2018-03-15 15:03:25 -0700: Validating If VSAN Enabled in Cluster vsan-cluster-01...

2018-03-15 15:03:30 -0700: VSAN is Enabled in Cluster vsan-cluster-01, the VSAN Datastore name is vsanDatastore-01, capacity is 5589 GB and freespace is 4238 GB, the default policy is vsan-policy-raid5

2018-03-15 15:03:31 -0700: Deploy on hosts: False. Skip validating hosts...

2018-03-15 15:03:31 -0700: Validating Vdbench binary and the workload profiles...

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

2018-03-15 15:03:32 -0700: All the config has been validated, please go ahead to kick off testing

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

Caution:

You have 2 VM Have the Same Prefix as vdbench, Please Make Sure the VMs are OK to be Deleted Otherwise Please Change the VM Name Prefix.

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

root@photon-HCIBench [ ~ ]#

 

ちょうどテスト VM がすでにあるという注意メッセージがあるので、

VM のクリーンアップをしてみます。

root@photon-HCIBench [ ~ ]# /opt/automation/cleanup-vm.sh

Starting Cleaning VDBench Guest VMs...

VDBench Guest VMs Deleted

root@photon-HCIBench [ ~ ]#

 

ベンチマーク テストを実行します。

コマンドラインを実行すると、プロンプトがすくに戻されます。

root@photon-HCIBench [ ~ ]# /opt/automation/start-testing.sh

root@photon-HCIBench [ ~ ]#

 

実行の様子は、下記のようにログファイルから確認できます。

root@photon-HCIBench [ ~ ]# tail -f /opt/automation/logs/test-status.log

Deployment Started.

Verifying If VMs are Accessible

Deployment Successfully Finished.

I/O Test Started.

Started Testing vdb-case-101

Done Testing vdb-case-101

I/O Test Finished.

Testing Finished

 

テストが終了すると、下記のようなログファイルが出力されています。

root@photon-HCIBench [ ~ ]# ls -ltr /opt/automation/logs/

total 44

drwxrwxr-x 2 root root  4096 Mar 15 15:01 prevalidation

-rw-rw-r-- 1 root root   390 Mar 15 15:20 vm-cleanup.log

-rw-rw-r-- 1 root root 16321 Mar 15 15:24 vc-vc-sv01.go-lab.jp-vs-vm-deploy-0.log

-rw-rw-r-- 1 root root   696 Mar 15 15:24 deploy.log

-rw-rw-r-- 1 root root  6379 Mar 15 15:31 io-test-vdb-case-101.log

-rw-rw-r-- 1 root root  1184 Mar 15 15:31 vdbench-testing.log

-rw-rw-r-- 1 root root   195 Mar 15 15:31 test-status.log

root@photon-HCIBench [ /opt/automation/logs ]#

 

テストの進行は Web ブラウザからでも確認できます。

URL は下記のようになっています。

http://  HCIBench のアドレス /hcibench_logs/test-status.log

hci-bench-start-testing-01.png

 

「Testing Finished」があると、ベンチマークが終了しています。

通常の Web UI からの実行時と同様に、レポートが生成されています。

hci-bench-start-testing-02.png

 

レポートは、下記のようにまとめて採取することもできます。

[gowatana@client01 work]$ scp -pr root@hci-bench02.go-lab.jp:/opt/output/results/TEST_vsan-cluster-01_case-101 .

[gowatana@client01 work]$ ls TEST_vsan-cluster-01_case-101/

vdb-case-101-1521152685  vdb-case-101-1521152685-res.txt

 

HCIBench の Ansible でのテスト実行。

Ansible でテストを実行する場合は、shell モジュールなどが利用できます。

ここでは、例として Ansible の Playbook に記載したコマンド ラインを実行してみます。

 

まず、HCIBench の ホスト(ホスト名か、アドレスか)を記載した

Ansible のインベントリファイルを用意しておきます。

[gowatana@client01 hci-bench-config]$ cat hosts

hci-bench01.go-lab.jp

 

そして、下記のような YAML ファイルを用意しています。

Playbook の内容はただ 1行のコマンドラインを実行するだけなので

これだけだと Ansible を利用する意義はありません。

しかし、すでに Ansible を活用していたり、HCIBench の設定にも Ansible を利用するような場合は

環境の構成管理からベンチマーク テストの実行までツールを一貫させることができると思います。

[gowatana@client01 hci-bench-config]$ cat start-testing.yml

---

- name: HCI Bench start testing

  hosts: all

  remote_user: root

 

  tasks:

  - name: start testing

    shell: /opt/automation/start-testing.sh

 

 

ansible-playbook コマンドを実行します。

[gowatana@client01 hci-bench-config]$ ansible-playbook -i hosts start-testing.yml

 

PLAY [HCI Bench start testing] *************************************************

 

TASK [Gathering Facts] *********************************************************

ok: [hci-bench01.go-lab.jp]

 

TASK [start testing] ***********************************************************

changed: [hci-bench01.go-lab.jp]

 

PLAY RECAP *********************************************************************

hci-bench01.go-lab.jp      : ok=2    changed=1    unreachable=0    failed=0

 

[gowatana@client01 hci-bench-config]$

 

今回の Playbook にはテストの進行確認は含めていないため、curl で確認してしまいます。

[gowatana@client01 hci-bench-config]$ curl -s http://hci-bench01.go-lab.jp/hcibench_logs/test-status.log

Deployment Started.

 

ベンチマークテストの進行状況はログ出力され・・・

[gowatana@client01 hci-bench-config]$ curl -s http://hci-bench01.go-lab.jp/hcibench_logs/test-status.log

Deployment Started.

Verifying If VMs are Accessible

Deployment Successfully Finished.

I/O Test Started.

 

「Testing Finished」が出力されれば終了です。

[gowatana@client01 hci-bench-config]$ curl -s http://hci-bench01.go-lab.jp/hcibench_logs/test-status.log

Deployment Started.

Verifying If VMs are Accessible

Deployment Successfully Finished.

I/O Test Started.

I/O Test Finished.

Testing Finished

 

HCIBench 自体は vSAN に限らず、vSphere(vCenter / ESXi)環境であれば利用できるので、

できるだけベンチマーク 環境を自動化しておくと便利ではないかなと思います。

また、このような仕組みを利用すれば、構築作業後の確認や

他のベンチマークツールとの連携などにも利用できそうかなと思います。

 

これまでの HCIBench 利用の工夫については、下記もどうぞ。

HCIBench の OVA を PowerCLI でデプロイする。

HCIBench の設定を Ansible で自動化してみる。

 

以上、HCIBench のベンチマーク テストの実行を工夫してみる話でした。


Viewing all articles
Browse latest Browse all 3135

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>