You are on page 1of 7

2019

SAP HANA Certification for Azure


Procedure document
Cameron Gardiner Anjan
Banerjee
Table of Contents

Overview & High-Level Procedure...............................................................................................................2


Create the VMs and assign Disks.................................................................................................................2
Preparations for the Test.............................................................................................................................4
Running the PB Offline Tests.......................................................................................................................5
Without Noisy Neighbor..........................................................................................................................5
With Noisy Neighbor...............................................................................................................................6
Overview & High-Level Procedure
The high-level procedure for running Hana Certification tests with PB Offline is listed below
SAP change these tools and procedures regularly. It is recommended to check with
Hermann.Daeubler@microsoft.com before running Hana Certification test with PB Offline.
Download Link for PB Offline (c-user required)
Download Link for HCMT (s-user required)
Notes:
i. PB Offline requires a specific Hana revision. There is no OSS Note or document that details the
required Hana revision for PB Offline. Check with Hermann.Daeubler@microsoft.com
ii. Review the PDF file bundled with PB Offline
iii. DT tests mentioned in the PDF file for PB Offline are not required typically

Procedure:
1. Provision the Hana VM to be certified (this VM is the one to be certified – we can call it “Hana
VM”)
2. Provision another VM that is the maximum size possible on the same compute node (this is
noisy neighbor. This is the largest VM possible on a Host with “Hana VM”). If unsure contact
cgardin@microsoft.com
3. Pin these two VMs – Hana VM and Noisy Neighbor to the same host (contact
cgardin@microsoft.com to have this step done – requires a SAW)
4. Confirm VMs are on the same azure compute host using command cat
/var/lib/hyperv/.kvp_pool_3 | awk -F'HostingSystemEdition'
'{print $1}'
5. Run PB Offline on Hana VM 10x
6. Save CSV files in a safe place
7. Run HCMT for Log (for around 30min) and then HCMT for DATA for around 30 min in a loop on
the Noisy Neighbor VM
8. Run CPU stress test in a loop on the Noisy Neighbor VM
9. Run 10x PB Offline on Hana VM simultaneously to steps 7+8
10. Run SAR and iostat to prove there was load on the Noisy Neighbor
11. Save CSV files and SAR/iostat in a safe place
12. Send CSV files to Hermann.Daeubler@microsoft.com who will pass to SAP

Create the VMs and assign Disks

Run the following AZ CLI commands to create the resources. Make Sure Resource group, V-Net and
Subnet are predefined.

 Set the subscription for the setup


az account set --subscription "<subscription-ID>"

 Create PPG for HANA DB VM and Noise VM.


az ppg create --name <ppg-name> --resource-group <rg-Name> --location
<region-name> --subscription <subscription-id> --type standard

 Create the HANA DB VM which is planned for certification


az vm create --name <vm-name> --resource-group <rg-Name> --
accelerated-networking true --admin-password "<password>" --admin-
username <username> --image SUSE:sles-sap-15-sp1:gen2:latest --
location <region-name> --ppg <ppg-name> --private-ip-address <ip-
address> --public-ip-address "" --size <VM SKU Size> --ultra-ssd-
enabled true --subnet <subnet-name> --vnet-name <vnet-name> --zone
<num>

 Create the Noise VM which will be running on the same hardware to generate the noise
az vm create --name <vm-name> --resource-group <rg-Name> --
accelerated-networking true --admin-password "<password>" --admin-
username <username> --image SUSE:sles-sap-15-sp1:gen2:latest --
location <region-name> --ppg <ppg-name> --private-ip-address <ip-
address> --public-ip-address "" --size <VM SKU Size> --ultra-ssd-
enabled true --subnet <subnet-name> --vnet-name <vnet-name> --zone
<num>

 Attach Ultra-SSD disk to HANA DB VM and Noise VM

az disk create --subscription "<subscription-id>" -n "<data-disk-


name>" -g "<rg-Name>" --size-gb <size> --location "<region-name>" --
zone <num> --sku UltraSSD_LRS --disk-iops-read-write <value> --disk-
mbps-read-write <value>

az disk create --subscription "<subscription-id>" -n "<log-disk-name>"


-g "<rg-Name>" --size-gb <size> --location "<region-name>" --zone
<num> --sku UltraSSD_LRS --disk-iops-read-write <value> --disk-mbps-
read-write <value>

diskId=$(az disk show -g <rg-Name> -n <data-disk-name> --query 'id' -o


tsv)

az vm disk attach -g <rg-Name> --vm-name <vm-name> --name $diskId

diskId=$(az disk show -g <rg-Name> -n <log-disk-name> --query 'id' -o


tsv)

az vm disk attach -g <rg-Name> --vm-name <vm-name> --name $diskId

 Assign P20 for /hana/shared and P6 for /usr/sap filesystems in HANA DB and Noise VMs.
Preparations for the Test

 To check the noisy neighbor, run the command on HANA DB and noise VM. Output is hardware ID
and should be same value.

cat /var/lib/hyperv/.kvp_pool_3 | awk -F'HostingSystemEdition'


'{print $1}'

 Update Linux patches in both the VMs

Sudo zypper update

 Install libatomic package

zypper install libgcc_s1 libstdc++6 libatomic1

 Count the CPU to verify the VMs

ls -l /dev/cpu|wc -l

 Cerate the File systems (/hana/data, /hana/log, /hana/shared & /usr/sap) in both the VMs.
 Install HANA DB (2.0 SP4)

./hdbinst --xs_engine=off --import_content=off

 Apply the latest HANA patch (patch 41).


 Install Hostagent
o Extract SAR file.
o /saphostexec -install -passwd
o /usr/sap/hostctrl/exe/saphostexec -status
 Download the PB Offline from SAP Market Place
 PB Offline Install
sh <FULL-PATH>/pboffline/linuxx86_64/installTestPkg.sh -s <SID> <FULL-
PATH>/pboffline/linuxx86_64/benchmark_external.tgz

 Unpack the test data

tar -xvf benchmark_external_data_hana2_41.tgz

Note the location of testdata

 Update the DB user/password details in


/usr/sap/<SID>/HDB<##>/exe/testscripts/configDefaultUser.ini

 Update the test data path in file

/usr/sap/<SID>/HDB<##>/exe/testscripts/config/remoteData.ini and
/usr/sap/SID>/HDB<##>/exe/testscripts/benchCpp_soltp-Testfiles/*.tst

Running the PB Offline Tests

Without Noisy Neighbor


No action required in Noisy Neighbor VM

 Login as <sid>adm
 Configure the DB to run the tests
python exe/python_support/setConfiguration.py regression

 Run the below tests (10 times in a loop)


python exe/testscripts/benchCppSoltp_Delete.py
python exe/testscripts/benchCppSoltp_Insert.py
python exe/testscripts/benchCppSoltp_Select.py
python exe/testscripts/benchCppSoltp_JoinSelect.py
python exe/testscripts/benchCppSoltp_Update.py
python exe/testscripts/benchVdm.py
python exe/testscripts/benchVdmSingleQueries.py
python exe/testscripts/benchTPCDS.py
python exe/testscripts/benchTPCDSloadperformance.py
python exe/testscripts/benchTPCHloadperformance.py
 Save the test results
Go to HANA DB trace directory
Save all the CSV files from trace directory
Save the CSV file from /tmp
With Noisy Neighbor
It means perform the PB offline tests with a neighbor VM which is busy with CPU & Disk I/O load

 Steps to be performed in Noisy Neighbor VM


o Perform all the preparation tests mentioned above (in preparation section)
o Download and Install HCMT as per the instructions in SAP Note 2493172.
o Go to ‘config’ directory of HCMT install and create 2 copies of plan file ‘hciconsistency.json’.
Once for running HCMT on /hana/data and another for running HCMT on /hana/log
filesystems.
o Update the parameters in plan file so that it will run on a particular FS and for fixed
duration(30 minutes). Also it should not prompt for inputs during batch mode.
o Configure the DB to run the tests
python exe/python_support/setConfiguration.py regression
o Login as <sid>adm and Execute following 3 steps in continuous loop to generate the load on
Noisy Neighbour VM
/<path>/hcmt -v -p /<path>/config/hciconsistency_data.json
/<path>/hcmt -v -p /<path>/hciconsistency_log.json
python exe/testscripts/benchVdm.py
 Run the PB Offline tests on the HANA DB VM(10 times in a loop)
 Save the test results for HANA DB VM.
Go to HANA DB trace directory
Save all the CSV files from trace directory
Save the CSV file from /tmp

You might also like