From b5f0a1f0874ac96b4658a275a6f9ddca92829723 Mon Sep 17 00:00:00 2001 From: Meike Chabowski Date: Tue, 5 Dec 2023 13:29:58 +0100 Subject: [PATCH] Implemented more enhancements from review According to SUSE documentation style guide, fixed some more punctuation, formal issues, wording. --- adoc/SLES4SAP-HANAonKVM-15SP4.adoc | 36 +++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/adoc/SLES4SAP-HANAonKVM-15SP4.adoc b/adoc/SLES4SAP-HANAonKVM-15SP4.adoc index b02d3aa3..9fbfd2f1 100644 --- a/adoc/SLES4SAP-HANAonKVM-15SP4.adoc +++ b/adoc/SLES4SAP-HANAonKVM-15SP4.adoc @@ -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. @@ -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. @@ -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 @@ -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. @@ -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"] @@ -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* @@ -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 `` option must be placed *after* the 1 GiB huge page size definitions. @@ -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 @@ -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. --