ESX 9.0 NVMe Memory Tiering
Mit dem NVMe Memory Tiering Feature in ESX können lokale NVMe SSDs als RAM genutzt werden. So können günstige NVMe Devices als RAM für Workloads genutzt werden, statt teurem DRAM. Bei NVMe Tier spricht VMware von Tier1 Memory, wobei DRAM als Tier0 zählt.
NVMe Memory Tiering – Kurzer Überblick
- Nutzung von lokalen NVMe SSDs als Memory
- Konfigurierbar per ESXi – innerhalb des Clusters sind Host mit und ohne NVMe Tiering nutzbar
- Konfigurierbar von 25-400% des DRAM des Hosts
Beispiel Host mit 128GB DRAM
Aktivieren des NVMe Tiering Features erfolgt mittels esxcli.
esxcli system settings kernel set -s MemoryTiering -v TRUE
Nun brauchen wir ein lokale NVMe SSD und deren genauer Identifier.
[root@hades:~] esxcli storage core device partition list Device Partition Start Sector End Sector Type Size -------------------------------------------------------------------- --------- ------------ ---------- ---- ------------- t10.NVMe____Samsung_SSD_990_EVO_Plus_2TB____________755B42415C382500 0 0 3907029167 0 2000398934016 mpx.vmhba33:C0:T0:L0 0 0 976773167 0 500107862016 mpx.vmhba33:C0:T0:L0 1 2048 976768064 fb 500104200704 mpx.vmhba32:C0:T0:L0 0 0 30283007 0 15504900096 mpx.vmhba32:C0:T0:L0 1 64 204863 0 104857600 mpx.vmhba32:C0:T0:L0 5 208896 2306047 6 1073741824 mpx.vmhba32:C0:T0:L0 6 2308096 4405247 6 1073741824 mpx.vmhba32:C0:T0:L0 7 4407296 30282974 f8 13248347648 t10.NVMe____Samsung_SSD_990_EVO_Plus_2TB____________7D5B42415C382500 0 0 3907029167 0 2000398934016
Erstellung des NVMe Tiers:
esxcli system tierdevice create -d /vmfs/devices/disks/t10.NVMe____Samsung_SSD_990_EVO_Plus_2TB____________7D5B42415C382500
Nun geben wir noch die Percentage an, wie viel der Host Memory von der NVMe Disk nehmen soll. In unserem Fall die vollen 400%. (Best Practise ist ein 1:1 Ratio)
esxcli system settings advanced set -o /Mem/TierNvmePct -i 400
Anschliessen ist ein Neustart des Hosts nötig. Nach dem Neustart hat unser Hosts nun ca 624GB Memory.
Wahl des NVMe Device
SSDs für NVMe Tiering müssen auf dem Broadcom Compatibility Guide (BCG) aufgeführt sein und folgende Spezifikationen aufweisen.
- vSAN SSD
- Device Type: NVMe
- Endurance Class: Class D >= 7300 TBW specifications
- Performance Class: Class F: 100,000-349,999 Writes Per Second specifications or Class G
Weitere Wichtige Punkte:
- max 4TB Grässe
- NVMe-over-Fabric ist nicht unterstützt, die NVMe SSD muss direkt im Host angeschlossen werden.
- NVMe SSDs als Memory Tier konfiguriert, lassen sich nicht mehr für VMFS oder vSAN Datastores verwenden.
- Nur Hardware RAID unterstützt
Für welchen Workload ist NVMe Tiering geeignet?
NVMe Tiering ist grundsätzlich für jeden Workload geeignet, ESX lagert automatisch nur “cold” und “very cold” pages auf das NVMe Device. “hot” pages bleiben immer im DRAM. Features wie vMotion, DRS sind vollkommen unterstützt. Besonders geeignet sind VDI und DB Workloads.
Best Practise ist eine 1:1 Ratio – bspw 1TB DRAM und 2x1TB NVMe SSD (RAID1) für Tiering.
Nicht unterstützt sind folgende Workloads:
- nested Virtualization
- Monster VMs mit 1TB RAM und 128vCPUs
- VMs mit aktivem Fault Tolerance
Anderst ausgedrückt, VMs mit folgenden vmx settings:
- sched.cpu.latencySensitivity = “high”
- SEV VM: sev.enable = “True”
- SGX VM: sgxInfo.epcSize is non-zero
- TDX VM: tdx.enable = “True”
- ftcpt.enabled = “True”
- vhv.enable = “True”
Mehrwert von NVMe Tiering
Nebst den offensichtlich günstigeren NVMe Speicher gibt es weitere Vorteile:
- Host Density lässt sich erhöhen, die CPU lässt sich besser auslasten
- Bei einem DB Cluster lässt sich mehr Workload provisionieren, somit kann auch die Lizenzkosten von zB MS-SQL Server (welche mit Sockets lizenziert werden) minimiert werden.
- Single Socket ESX Host mit NVMe Tier für mehr total Memory
Leave a Reply