How to align misaligned VMs on a ESX/ESXi4 or ESXi5 Host with NetApp MBRTools

In diesem Artikel möchte ich aufzeigen, wie unter vSphere 4 und vSphere 5, genauer gesagt unter ESX/ESXi 4 und ESXi 5 misalignte Disks für den Betrieb an einem NetApp Storage System optimiert werden können.

Was sind misalignte Disks und warum sollte ich diese alignen?
Eine schöne detailierte Erklärung ist im NetApp TR-3747 „Best Practices for File System Alignment in Virtual Environments“ (http://media.netapp.com/documents/tr-3747.pdf) zu finden.


Die Kernaussage des Artikels ist folgender:

Standardmäßig startet die erste Primary Partition bei vielen Gast-Betriebssystemen (Windows 2000, Windows XP, Windows 2003, diverse Linux-Distributionen) bei Sektor (logischer Block) 63.
Diese Tatsache sorgt in virtuellen Umgebungen für „misalign“te Filesysteme, denn die Partition beginnt nicht bei einem Sektor, der 1:1 mit dem Beginn eines darunterliegenden Sektors des Storages übereinstimmt.
Sprich: die Blöcke decken sich nicht 1:1 und es kann dazu führen, dass für das Lesen oder Schreiben eines Guest-OS-Blockes von 2 Blöcken auf Storageseite gelesen oder geschrieben werden muss.
Dies wirkt sich negativ auf die IO-Performance der virtuellen Gast-Betriebssysteme aus und kann durch richtiges Alignment optimiert werden.

Wichtig ist hierbei, dass Windows Server 2008, Windows Vista und Windows 7 Gastbetriebssystme standardmäßig ihr Offset bei 1.048.576 haben und somit kein Alignment brauchen, weil dieser Wert durch 4.096 teilbar ist und somit perfekt mit dem Storagelayout harmoniert.
Das gleiche gilt für Red Hat Enterprise Linux 6, da es seine Partitionen per default richtig alignt.

In diesem Artikel geht es um eine Step-by-Step Anleitung, wie ein misalignter VM-Guest angepasst werden kann:
WICHTIG: Mit diesen Schritten werden grundlegende Änderungen an vmdk-Layouts vorgenommen. Prüfen Sie, ob aktuelle Backups für den Fall der Fälle vorliegen!

01. Die MBRTools sind ab NetApp Virtual Storage Console 2.1.1 integriert. Die VSC sollte auf dem vCenter installiert sein

02. Die MBRTools können aus dem VI-Client im NetApp Virtual Storage Console Plugin des vCenters heruntergeladen werden

01_Download_MBRTools_from_VSC

03. Entpacken der gedownloadeten MBRTools. Die entpackten Dateien sind im 2. Screenshot zu sehen.

02_Unzip_MBRTools

03_Files_in_MBRTools

04. Über den VI-Client via Datastorebrowser die MBRTools auf den ESXi kopieren, welcher die MBR-Tasks ausführen soll

04_Upload_MBRTools_Datastore

05. per SSH auf den jeweiligen ESX aufwählen (ACHTUNG: Bei ESXi muss der Remote Support aktiviert sein) und den Ordner „ontap“ nach /opt kopieren

05_Copy_MBRTools_in opt

06. Die Dateien sollten nun unter /opt/ontap liegen

06_MBRTools_final_placement

07. Die Dateien „mbralign“ und „mbrscan“ mit den Befehlen chmod 770 mbralign und chmod 770 mbrscan ausführbar machen

07_MBRTools_make_executable

08. Mit einem ./mbrscan PFAD_ZUR_VMDK-FLAT_DATEI kann das derzeitige Alignment geprüft werden

ACHTUNG: Die virtuelle Maschine sollte keine Snapshots haben, kein LinkedClone sein und MUSS ausgeschaltet sein!

09. Beispielhafter Screenshot von einer Windows 2008 Server und einer Windows 7 VM – defaultmäßig richtiges Alignment08_mbrscan_2008_Win7

10. Screenshot einer misalignten XP-VM

09_mbrscan_xp

11. Durch die Ausführung des Befehls ./mbralign –preview PFAD_ZUR_VMDK-FLAT_DATEI kann geprüft werden, welche Auswirkungen der Alignment-Prozess auf die vmdk hat und das Zieldesign wird angezeigt.

10_mbralign_preview

12. Alignment mit ./mbralign PFAD_ZUR_VMDK-FLAT_DATEI anstarten

ACHTUNG: Doppelter Speicherplatz wird benötigt, da vmdk kopiert wird!

11_mbralign_process

13. Nach dem Alignmentvorgang gibt es die neuen passenden alignten vmdk’s und als Backup die vorherigen vmdk’s

12_new_filestructure

14. Mit ./mbrscan PFAD_ZUR_VMDK-FLAT_DATEI noch einmal prüfen, ob die neuen vmdk’s richtig alignt sind

13_mbrscan_final_check

15. VM wieder anstarten und testen, ob alles funktioniert

– I wish I could be a Virtual Machine –

Benjamin Ulsamer

Advertisements