VMware ESXi – HP 3PAR Konfiguration

Ich habe bereits in einem vorherigen Artikel ein Script zur VMware ESXi Grundkonfiguration verwendet. Auf den Teil der HP 3PAR Konfiguration dieses Scripts möchte ich nun noch einmal etwas genauer eingehen und auch die Hintergründe erläutern.

Hier der Ausschnitt zur HP 3PAR Konfiguration:

Es geht bei der HP 3PAR Konfiguration für VMware ESXi Server um zwei Kernpunkte:

  • Storage Array Type Plug-In (SATP) Regel für HP 3PAR
  • Deaktivierung VAAI ATS Heartbeat

HP 3PAR Konfiguration – SATP Regel

In der VMware ESXi Dokumentation sind alle Optionen für SATP Regeln im Detail nachzulesen. An dieser Stelle führe ich nur die 3PAR spezifischen auf.

tpgs_on

Zur Erläuterung erst einmal kurz was TPGS an sich überhaupt ist:

Target Port Group Support

TPGS provides a method for determining the access characteristics of a path to a LUN through a target port. It supports soliciting information about different target port capabilities & supports routing I/O to the particular port or ports that can achieve the best performance. TPGS is often used with arrays that handle load balancing and failover within the array controllers. Target Port Groups allows path grouping. Each port in the same TPG has the same port state, which can be one of the following state: Active/Optimized, Active/Non-optimized, Standby, Unavailable, and In-Transition. A TPG is defined as a set of target ports that are in the same target port asymmetric access state at all times.

The ALUA SATP plugin sends RTPG (Relative Target Port Group) commands to the array to get the device server’s TPG identifiers and states.

Quelle: Configuration Settings for ALUA Devices by Cormac Hogan (@CormacJHogan)

Die Option tpgs_on in der 3PAR Regel bewirkt, dass ein Pfad nur genutzt wird, wenn auf dem Zielport ALUA TPGS aktiviert ist.

iops=100

Dies ist leider eine etwas umstrittene Option. Wenn man dem Implementierungsguide von HP folgt, sollte der Wert auf 1 stehen.
Damit wird bei jedem I/O der Pfad gewechselt. Bewirken soll dies eine homogene Auslastung der Ports und Controller des Storage Arrays.

Setting iops option for Round Robin policy

Managing a Round Robin I/O path policy scheme through the vSphere Web Client on a per datastore basis does not allow setting important Round Robin policy details that can be specified when using the command line on the ESXi host. To achieve better load balancing across paths, the –iops option may be issued on the command line to specify that the path Technical white paper | HP 3PAR StoreServ Storage and VMware vSphere 6 best practices 8 should be switched after performing the specified number of I/Os on the current path. By default, the –iops option is set to 1000. The recommended setting for HP 3PAR Storage is 1, and this setting may be changed as needed to suit the demands of various workloads. To set the Round Robin policy for a specific device, use the following command:

# esxcli storage nmp device set –device –psp VMW_PSP_RR

To set the device specified by –device to switch to the next path after 1 I/O operation has been performed on the current path, use the following command:

# esxcli storage nmp psp roundrobin deviceconfig set –type=iops –iops=1 – –device

Quelle: HP 3PAR StoreServ Storage and VMware vSphere 6 best practices

Leider wir in dem Guide nicht erwähnt was diese angesprochenen “verschiedenen Arbeitslasten” sind.

Dieses Thema hat auch Duncan Epping (@DucanYB) ein seinem Blog Artikel What’s the point of setting “–IOPS=1” ? bereits ausgeführt.

Ich habe mich nach einer Diskussionen über die anliegenden Workloads mit HP Consultants zu der Option, iops=100 entschieden. Dies sollte bei einer entsprechenden I/O und Hostanzahl mit weniger Pfadewechseln das gleiche Ergebnis haben. Hat es bisher auch.

VMW_PSP_RR

Mit dieser Option wird die Pfadauswahl auf Round-Robin festgelegt. Da es sich bei der HP 3PAR um ein active/active Array handelt werden damit alle Pfade aktiv genutzt.

VMware vSphere includes active/active multipath support to maintain a constant connection between the ESXi host and the HP 3PAR StoreServ Storage array. Three path policies are available, “Fixed”, “Most Recently Used” and “Round Robin”. For HP 3PAR StoreServ storage, Round Robin is the recommended policy for best performance and load balancing; however, it may not be enabled by default.

Quelle: HP 3PAR StoreServ Storage and VMware vSphere 6 best practices

HP 3PAR Konfiguration – VAAI ATS Heartbeat

Update vom 04.11.2016:

Mit einem 3Par Update auf die Version 3.2.2 MU3 ist diese Anpassung nicht mehr notwendig.

Mehr Details:

HPE 3PAR OS updates that fix VMware VAAI ATS Heartbeat issue

Auf dieses neue Verhalten von VMware ESXi 5.5 Update 2 bin ich nach vermehrten Falschmeldungen zu Abbrüchen in der ESXi Datastore Verbindung gestoßen. Einige Recherche hat mich zu dem VMware KB Artikel 2113956 geführt.

A change in the VMFS heartbeat update method was introduced in ESXi 5.5 Update 2, to help optimize the VMFS heartbeat process. Whereas the legacy method involves plain SCSI reads and writes with the VMware ESXi kernel handling validation, the new method offloads the validation step to the storage system. This is similar to other VAAI-related offloads.

Quelle: VMware KB Artikel 2113956

Nach Rücksprache mit dem HP und VMware Support habe ich diese Funktion deaktiviert und die Falschmeldungen waren tatsächlich verschwunden.

Hier noch ein Hinweis zu ATS Fehlinterpretationen, die auch durch bestimmte Versionen des qlnativefc Treibers verursacht werden können.

Auszüge aus den Treiber Release Notes:

Between versions 1.1.54.0 and 1.1.55.0:

* Problem Description: ATS miscompare check conditions were not being reported
to upper layer.
* Solution: Driver was interpreting the error condition as a „dropped frame“
scenario and the issue was never rectified.  Fix was to check for this miscompare
condition before determining if it was indeed a „dropped frame“.

Between versions 1.1.56.0 and 1.1.57.0:

* Problem Description: Omit SCSI opcode check in ATS miscompare check condition.
* Solution: Omit SCSI opcode check and rely on sense key and ASC to determine if
this scenario is encountered.

One Response

  1. heiterbiswolkigitblog 22. Februar 2016

Leave a Reply