Skip to content

Commit

Permalink
Implemented more enhancements from review
Browse files Browse the repository at this point in the history
According to SUSE documentation style guide, fixed some more
punctuation, formal issues, wording.
  • Loading branch information
chabowski committed Dec 5, 2023
1 parent 1af57e0 commit b5f0a1f
Showing 1 changed file with 18 additions and 18 deletions.
36 changes: 18 additions & 18 deletions adoc/SLES4SAP-HANAonKVM-15SP4.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -38,19 +38,19 @@ The setup of the SAP HANA system or other components like HA clusters are beyond

The following sections describe how to set up and configure the three KVM components required to run SAP HANA on KVM:

* *<<_sec_hypervisor>>* - The host operating system running the hypervisor directly on the server hardware
* *<<_sec_guest_vm_xml_configuration>>* - The libvirt domain XML description of the guest VM
* *<<_sec_guest_operating_system>>* - The operating system inside the VM where SAP HANA is running
* *<<_sec_hypervisor>>*: Host operating system running the hypervisor directly on the server hardware
* *<<_sec_guest_vm_xml_configuration>>*: `libvirt` domain XML description of the guest VM
* *<<_sec_guest_operating_system>>*: Operating system inside the VM where SAP HANA is running

Follow *<<_sec_supported_scenarios_prerequisites>>* and the respective SAP Notes to ensure a supported configuration.
Most of the configuration options are specific to the libvirt package and therefore require modifying the VM's domain XML file.
Most of the configuration options are specific to the `libvirt` package and therefore require modifying the VM's domain XML file.

[[_sec_definitions]]
=== Definitions

Virtual Machine:: is the emulation of a computer. (abbr.: VM)
Hypervisor:: The software running directly on the physical server to create and run VMs (Virtual Machines).
Guest OS:: The operating system running inside the VM (Virtual Machine).
Virtual Machine (VM):: The emulation of a computer.
Hypervisor:: The software running directly on the physical server to create and run VMs.
Guest OS:: The operating system running inside the VM.
This is the OS running SAP HANA and therefore the one that should be checked for SAP HANA support as per {launchPadNotes}2235581[SAP Note 2235581 "SAP HANA: Supported Operating Systems"] and the https://www.sap.com/dmc/exp/2014-09-02-hana-hardware/enEN/["`SAP HANA Hardware Directory`"].
Paravirtualization:: Allows direct communication between the hypervisor and the VM guest resulting in a lower overhead and better performance.
libvirt:: A management interface for KVM.
Expand All @@ -62,10 +62,10 @@ For a general overview of the technical components of the KVM architecture, refe
[[_sec_sap_hana_virtualization_scenarios]]
=== SAP HANA virtualization scenarios

SAP supports virtualization technologies for SAP HANA usage on a per scenario basis:
SAP supports virtualization technologies for SAP HANA usage on a per-scenario basis:

Single-VM:: One VM per hypervisor/physical server for SAP HANA Scale-Up. No other VM or workload is allowed on the same server.
Multi-VM:: Multiple VM`'s per hypervisor/physical server for SAP HANA Scale-Up.
Multi-VM:: Multiple VMs per hypervisor/physical server for SAP HANA Scale-Up deployments.
Scale-Out:: For an SAP HANA Scale-Out deployment, distributed over multiple VMs on multiple hosts.


Expand All @@ -85,7 +85,7 @@ Keep in mind that the XML examples in this guide will deal with a single-VM scen
[[_sec_supported_scenarios]]
=== Supported scenarios

At the time of this publication, the following configurations are supported for production use:
At the time of writing, the following configurations are supported for production use:

[[_supported_combinations]]
.Supported Combinations
Expand Down Expand Up @@ -222,7 +222,7 @@ From your memory requirement, calculate the RAM size the VM needs to be complian
===== Following the SAP HANA TDI "Phase 5" rules
** SAP HANA TDI "Phase 5" rules allow customers to deviate from the above described SAP HANA memory-to-core sizing ratios in certain scenarios.
However, the KVM implementation must still adhere to the *SUSE Best Practices for SAP HANA on KVM* document at hand.
Details on SAP HANA TDI Phase 5 can be found in the blog article https://blogs.sap.com/2017/09/20/tdi-phase-5-new-opportunities-for-cost-optimization-of-sap-hana-hardware/["TDI Phase 5: New Opportunities for Cost Optimization of SAP HANA Hardware"] from SAP.
Find details on SAP HANA TDI Phase 5 in the blog article https://blogs.sap.com/2017/09/20/tdi-phase-5-new-opportunities-for-cost-optimization-of-sap-hana-hardware/["TDI Phase 5: New Opportunities for Cost Optimization of SAP HANA Hardware"] from SAP.
** Since SAP HANA TDI Phase 5 rules use SAPS-based sizing, SUSE recommends applying the same overhead as measured with SAP HANA on KVM for the respective KVM version/CPU architecture. SAPS values for servers can be requested from the respective hardware vendor.


Expand Down Expand Up @@ -286,7 +286,7 @@ The following sections describe how to set up and configure the hypervisor for a
[[_sec_kvm_hypervisor_installation]]
=== Installing the KVM hypervisor

For details refer to section 6.4 "Installation of Virtualization Components" of the SUSE Virtualization Guide (https://documentation.suse.com/sles/15-SP4/single-html/SLES-virtualization/#cha-vt-installation)
For details, refer to section 6 https://documentation.suse.com/sles/15-SP4/single-html/SLES-virtualization/#cha-vt-installation[Installation of Virtualization Components] of the SUSE Virtualization Guide.

This guide assumes that there is a bare installation of {sles} or {sles4sap} available on the system. For installation instructions on {sles} or {sles4sap}, refer to the https://documentation.suse.com/sles/15-SP4/html/SLES-all/article-installation.html["SUSE Linux Enterprise Server 15 SP4 Installation Quick Start Guide"]

Expand Down Expand Up @@ -338,8 +338,8 @@ If such line is not present, it might be the case that SR-IOV needs to be explic
==== Preparing a Virtual Function (VF) for a guest VM

After checking that the NIC is SR-IOV capable, the host and the guest VM should be configured to use one of the available Virtual Functions (VFs) as (one of) the guest VM's network device(s).
More information about SR-IOV as a technology and how to properly configure everything necessary for it to work well in the general case can be found in the https://documentation.suse.com/sles/15-SP4/html/SLES-all/book-virtualization.html[SUSE Virtualization Guide for SUSE Linux Enterprise Server 15 SP4].
Specifically, have a look here at section "Adding SR-IOV Devices" (https://documentation.suse.com/sles/15-SP4/html/SLES-all/cha-libvirt-config-virsh.html#sec-libvirt-config-io).
Find more information about SR-IOV as a technology and how to properly configure everything necessary for it to work well in the general case in the https://documentation.suse.com/sles/15-SP4/html/SLES-all/book-virtualization.html[SUSE Virtualization Guide for SUSE Linux Enterprise Server 15 SP4].
Specifically, have a look here at the section https://documentation.suse.com/sles/15-SP4/html/SLES-all/cha-libvirt-config-virsh.html#sec-libvirt-config-io[Adding SR-IOV Devices].


*Enabling PCI passthrough for the host kernel*
Expand Down Expand Up @@ -613,7 +613,7 @@ The use of 1 GiB huge pages is meant to reduce overhead and contention when the
This requires allocation of 1 GiB huge pages on the host.
The number of pages to allocate depends on the memory size of the guest.

1 GiB pages are not pageable by the OS. Thus, they always remain in RAM and therefore, the `locked` definition in libvirt XML files is not required.
1 GiB pages are not pageable by the OS. Thus, they always remain in RAM and therefore, the `locked` definition in `libvirt` XML files is not required.

It is also important to ensure the order of the huge page options. Specifically the `<number of hugepages>` option must be placed *after* the 1 GiB huge page size definitions.

Expand Down Expand Up @@ -652,8 +652,8 @@ Processor MMIO Stale Data Vulnerabilities are a set of vulnerabilities that can
This section describes the creation of a single VM on a single system. For the configuration of multiple VM's, most of the values regarding CPU count and/or memory amount need to be divided by the total socket count of the system and multiplied by the desired socket count of the single VM. Pay attention to the memory assignment. Try to assign memory that is located on the socket you are using for the VM.
====

This section describes the modifications required to the libvirt XML definition of the guest VM.
You might edit the libvirt XML using the following command:
This section describes the modifications required to the `libvirt` XML definition of the guest VM.
You can edit the `libvirt` XML using the following command:

----
virsh edit <Guest VM name>
Expand Down Expand Up @@ -1328,7 +1328,7 @@ Note that this file is abridged for clarity; the cut is denoted by a `[...]` mar
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh edit SUSEKVM
or other application using the libvirt API.
or other application using the `libvirt` API.
--
<domain type='kvm'>
Expand Down

0 comments on commit b5f0a1f

Please sign in to comment.