Aktionen

VMware:Optimale Festplattenanzahlen + Blocksize + Formatierungen im SAN für VMware ESX / ESXi Hosts

Aus znilwiki

Wenn wir auf einem VMware ESX / ESXi Host einen neuen Speicher hinzufügen (LUN), können wir unter folgenden Blockgrößen wählen:
VMware-Festplattenanzahl-und-Raid-001.gif

Zum einen legen wir mit der Blockgröße die maximale Größe einer virtuellen Festplatte (VMDK) fest:

Blockgröße       maximale Größe VMDK
----------       -------------------
 1 MByte            256 GByte
 2 MByte            512 GByte
 4 MByte           1024 GByte (1 TByte)
 8 MByte           2048 GByte (2 TByte)

Die Blockgröße hat aber nicht nur Einfluss auf die maximale Größe einer virtuellen Festplatte, sondern auch auf die Schreibperformance der ESX Server.
Hierbei kommt es auf die Anzahl der vorhandenen Festplatten, das Raid Level und die dort verwendete Blockgröße (Bocksize / Segmentsize)

Warum das so ist lässt sich leichter Erkennen wenn wir einmal einen "optimalen" Wert berechnen. Die "Formel" hierzu ist:

 Blocksize / 512 * Anzahl der Festplatten  

Gehen wir nun von einem Raid 5 mit 8 + 1 Festplatten aus. 8 + 1 bedeutet:

8 Festplatten Nutzdaten
1 Festplatte Paritätsdaten

oder anders ausgedrückt: ein RAID 5 über 9 Festplatten.
Es ist jedoch wichtig, diese 9 Festplatten für die Berechnung als "8 + 1" zu betrachten. Beim Schreiben von Daten landen eben nur auf 8 von 9 Festplatten effiktive Nutzdaten - auf der 9 Platte hingegen "nur" die Paritätsdaten.

Die Blocksize können wir bei der Einrichtung des RAID's am SAN mit angeben bzw. aus den Informationen auslesen. Dieser Wert steht dafür, in welchen Häppchen das SAN die Daten pro Festplatte (!!!) wegschreibt. Ein typischer Wert für IBM-SAN's ist für ESX Server (werden wie Fileserver/Dateiserver behandelt) ist 128KByte.

Also Rechnen wir:

128Kbyte / 512 * 8 = 2048 KByte

... moment -> 128 * 8 / 512 sind doch ... 2
Genau, hier lag auch mein Fehler am Anfang. Korrekt ist die Berechnung:

128 KByte * 1024 / 512 * 8 = 2048 KByte

Es fehlte die Umrechnung von 128KByte in Byte :-)

So, es wurde nun der Wert "2048 KByte (= 2 MByte)" errechnet. Dieser Wert bedeutet, dass das SAN bei jedem Schreibvorgang versucht 2MByte in einem Rutsch zu schreiben.

Idealerweise formatieren wir also das neue LUN unter VMware ESX / ESXi mit einer Blockgröße von 2 MByte. So können die von den ESX Servern an das SAN übergebenden Daten immer in einem Zyklus geschrieben werden.

Dadurch ergibt sich folgende Tabelle:

Vmware Blockgröße Maximale VMDK
Größe
Anzahl Festplatten
Blocksize 16 KByte
Anzahl Festplatten
Blocksize 32 KByte
Anzahl Festplatten
Blocksize 64 KByte
Anzahl Festplatten
Blocksize 128 KByte
Anzahl Festplatten
Blocksize 256 KByte
Anzahl Festplatten
Blocksize 512 KByte
1 MByte 256 Gbyte 32 16 8 4 2 1
2 MByte 512 Gbyte 64 32 16 8 4 2
4 MByte 1024 Gbyte 128 64 32 16 8 4
8 MByte 2048 Gbyte 256 128 64 32 16 8

Wenn wir keinen idealen Wert treffen können so sollten wir den nächst kleineren Wert für die Blockgröße unter VMware nehmen.
Oder wenn es garnicht anders geht - ignorieren wir das ganze und Leben halt damit das wir nicht maximale Perfomance haben.

Zu der Festplattenanzahl müssen wir noch die zusätzlichen Festplatten für das jeweilige RAID Level addiert werden.
Also:

RAID Level zusätzliche
Festplatten
0 0
1 0
5 1
6 2
10 verdoppeln
Loading comments...