Teilen über


Optimieren der Leistung Ihrer Elastic SAN-Instanz

Dieser Artikel enthält einen allgemeinen Leitfaden für optimale Leistung mit einer Umgebung, die ein Azure Elastic SAN verwendet.

Clientseitige Optimierungen

Allgemeine Empfehlungen (Virtuelle Windows- & Linux-Computer)

  • Um eine optimale Leistung zu erzielen, stellen Sie Ihre VMs und Elastic SAN in derselben Zone und derselben Region bereit.

  • VM-Speicher-E/A zu Elastic SAN-Volumen verwendet VM-Netzwerkbandbreite, sodass herkömmliche Datenträgerdurchsatzgrenzwerte für einen virtuellen Computer nicht für Elastic SAN-Volumen gelten. Wählen Sie einen virtuellen Computer aus, der ausreichende Bandbreite für Produktions-/VM-zu-VM-E/A und iSCSI-E/A für angefügte Elastische SAN-Volumen bereitstellen kann. Im Allgemeinen sollten Sie VMs der Generation 5 (D/E/M) für die beste Leistung verwenden.

  • Aktivieren Sie „Beschleunigter Netzwerkbetrieb“ auf dem virtuellen Computer, während der VM-Erstellung. Informationen dazu über Azure PowerShell oder Azure CLI, oder zum Aktivieren des beschleunigten Netzwerks auf vorhandenen virtuellen Computern, finden Sie unter Verwenden von Azure PowerShell zum Erstellen eines virtuellen Computers mit beschleunigtem Netzwerkbetrieb

Screenshot des VM-Erstellungsablaufs, hervorgehobenes beschleunigtes Netzwerk aktivieren.

  • Sie müssen für jedes Volumen 32 Sitzungen pro Zielvolumen verwenden, um die maximalen IOPS- und/oder Durchsatzgrenzwerte zu erreichen. Verwenden Sie Multipath I/O (MPIO) auf dem Client, um diese Sitzungen für jedes Volumen zum Lastenausgleich zu verwalten. Skripts sind für Windows, Linuxoder auf der Seite „Mit Volumen verbinden“ für Ihre Volumen im Azure-Portal verfügbar, die standardmäßig 32 Sitzungen verwenden. Der Windows iSCSI-Initiator hat maximal 256 Sitzungen. Wenn Sie mehr als acht Volumes mit einem Windows-Client verbinden müssen, reduzieren Sie die Anzahl der Sitzungen zu jedem Volumen.

MPIO

Windows

Verwenden Sie die folgenden Befehle, um Ihre Einstellungen zu aktualisieren:

# Enable multipath support for iSCSI devices
Enable-MSDSMAutomaticClaim -BusType iSCSI

# Set the default load balancing policy based on your requirements. In this example, we set it to round robin which should be optimal for most workloads.
mpclaim -L -M 2

# Set disk time out to 30 seconds
Set-MPIOSetting -NewDiskTimeout 30

Weitere Informationen zu MPIO-Cmdlets finden Sie unter MPIO-Referenz.

Linux

Aktualisieren Sie die Datei „/etc/multipath.conf“ wie folgt:

defaults {
    user_friendly_names yes		# To create ‘mpathn’ names for multipath devices
    path_grouping_policy multibus	# To place all the paths in one priority group
    path_selector "round-robin 0"	# To use round robin algorithm to determine path for next I/O operation
    failback immediate			# For immediate failback to highest priority path group with active paths
    no_path_retry 1			# To disable I/O queueing after retrying once when all paths are down
}
devices {
  device {
    vendor "MSFT"
    product "Virtual HD"
  }
}

iSCSI

Windows

Aktualisieren Sie die folgenden Registrierungseinstellungen für den iSCSI-Initiator unter Windows.

  1. Öffnen Sie den Registrierungs-Editor:
  2. Wählen Sie „Start“ aus, geben Sie „regedit“ in das Suchfeld ein, und drücken Sie die Eingabetaste.
  3. Navigieren Sie zum folgenden Speicherort: [\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e97b-e325-11ce-bfc1-08002be10318}\0004 (Microsoft iSCSI Initiator)\Parameters]
  4. Aktualisieren Sie die folgenden Einstellungen. Klicken Sie mit der rechten Maustaste auf jede Einstellung, und wählen Sie Ändern aus. Ändern Sie Basis in Dezimal, aktualisieren Sie den Wert, und wählen Sie OK aus.
Beschreibung Parameter und Wert
Legt maximale Daten, die der Initiator in einem iSCSI-PDU an das Ziel sendet, auf 256 KB fest MaxTransferLength=262144
Legt die maximale SCSI-Nutzlast, die der Initiator mit dem Ziel aushandelt, auf 256 KB fest MaxBurstLength=262144
Legt die maximal angeforderten Daten, die der Initiator in einem iSCSI-PDU an ein Ziel senden kann, auf 256 KB fest FirstBurstLength=262144
Legt maximale Daten, die der Initiator in einem iSCSI-PDU vom Ziel empfangen kann, auf 256 KB fest MaxRecvDataSegmentLength=262144
Deaktiviert die R2T-Flusssteuerung InitialR2T=0
Ermöglicht sofortige Daten ImmediateData=1
Legt den Timeoutwert für WMI-Anforderungen auf 30 Sekunden fest WMIRequestTimeout = 30 Sekunden
Legt den Timeoutwert für die Link-Downtime auf 30 Sekunden fest LinkDownTime = 30 Sekunden

Stellen Sie in Clusterkonfigurationen sicher, dass iSCSI-Initiatornamen für alle Knoten eindeutig sind, die Volumes freigeben. In Windows können Sie sie über die iSCSI-Initiator-App aktualisieren.

  1. Wählen Sie Start aus und suchen Sie im Suchfeld nach iSCSI-Initiator. Dadurch wird der iSCSI-Initiator geöffnet.

  2. Wählen Sie Konfiguration aus, um den aktuellen Initiatornamen anzuzeigen.

    Screenshot der Konfiguration des iSCSI-Initiators unter Windows.

  3. Um ihn zu ändern, wählen Sie Ändernaus, geben Sie den Namen des neuen Initiators ein, und wählen Sie dann „OK“ aus.

    Screenshot der Aktualisierung des iSCSI-Initiatornamens unter Windows.

Linux

Aktualisieren Sie die folgenden Einstellungen mit den empfohlenen Werten in der globalen iSCSI-Konfigurationsdatei (iscsid.conf, in der Regel im Verzeichnis /etc/iscsi zu finden) auf dem Client, bevor Sie eine Verbindung zu einem Volume herstellen. Wenn ein Volume verbunden wird, wird ein Knoten mit einer für diesen Knoten spezifischen Konfigurationsdatei erstellt (unter Ubuntu befindet sie sich beispielsweise im Verzeichnis /etc/iscsi/nodes/$volume_iqn/portal_hostname,$port), die die Einstellungen aus der globalen Konfigurationsdatei übernimmt. Wenn Sie bereits ein oder mehrere Volumes mit dem Client verbunden haben, bevor Sie die globale Konfigurationsdatei aktualisieren, aktualisieren Sie die knotenspezifische Konfigurationsdatei für jedes Volume direkt oder mit dem folgenden Befehl:

sudo iscsiadm -m node -T $volume_iqn -p $portal_hostname:$port -o update -n $iscsi_setting_name -v $setting_value

Hierbei gilt:

  • $volume_iqn: IQN des Elastic SAN-Volume
  • $portal_hostname: Portal-Hostname des Elastic SAN-Volume
  • $port: 3260
  • $iscsi_setting_name: Parameter für jede Einstellung sind unten aufgeführt
  • $setting_value: für jede Einstellung empfohlene Werte sind unten aufgeführt
Beschreibung Parameter und Wert
# Maximale Daten, die der Initiator in einem iSCSI-PDU an das Ziel sendet, auf 256 KB festlegen node.conn[0].iscsi.MaxXmitDataSegmentLength = 262144
# Maximale SCSI-Nutzlast, die der Initiator mit dem Ziel aushandelt, auf 256 KB festlegen node.session.iscsi.MaxBurstLength = 262144
# Maximale nicht angeforderte Daten, die der Initiator in einem iSCSI-PDU an ein Ziel senden kann, auf 256 KB festlegen node.session.iscsi.FirstBurstLength = 262144
# Maximale Daten, die der Initiator in einem iSCSI-PDU vom Ziel empfangen kann, auf 256 KB festlegen node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
# R2T-Flusssteuerung deaktivieren node.session.iscsi.InitialR2T = No
# Sofortige Daten aktivieren node.session.iscsi.ImmediateData = Yes
# Timeoutwert für WMI-Anforderungen festlegen node.conn[0].timeo.login_timeout = 30

node.conn[0].timeo.logout_timeout = 15
# CRC-Digestüberprüfung für Kopfzeilen und Daten aktivieren node.conn[0].iscsi.HeaderDigest = CRC32C

node.conn[0].iscsi.DataDigest = CRC32C

Stellen Sie in Clusterkonfigurationen sicher, dass iSCSI-Initiatornamen für alle Knoten eindeutig sind, die Volumes freigeben. In Linux können Sie „/etc/iscsi/initiatorname.iscsi“ ändern, um den Initiatornamen zu aktualisieren. Screenshot zum Aktualisieren des iSCSI-Initiatornamens unter Linux.

Elastic SAN-Optimierungen

Bevor Sie ein Elastic SAN bereitstellen, müssen Sie die optimale Größe des von Ihnen bereitgestellten Elastic SAN ermitteln, um das richtige Saldo der Leistung für Ihre Workloads und Kosten zu erzielen. Führen Sie die folgenden Schritte aus, um die beste Dimensionierung für Sie zu ermitteln:

Wählen Sie mit Ihrer vorhandenen Speicherlösung ein Zeitintervall (Tag/Woche/Quartal) aus, um die Leistung nachzuverfolgen. Das beste Zeitintervall ist eine gute Momentaufnahme Ihrer Anwendungen/Workloads. Zeichnen Sie im Laufe dieses Zeitraums die kombinierten maximalen IOPS und den Durchsatz für alle Workloads auf. Wenn Sie ein Intervall verwenden, das höher als eine Minute ist oder eine Ihrer Workloads Engpässe mit Ihrer aktuellen Konfiguration hat, sollten Sie erwägen, ihrer Elastic SAN-Bereitstellung mehr Basiskapazität hinzuzufügen. Sie sollten beim Bestimmen der Basiskapazität einen Toleranzbereich zulassen, um das Wachstum zu berücksichtigen. Der Rest des Speichers Ihres Elastic SAN sollte zusätzliche Kapazität verwenden, um Kosten zu sparen.

Weitere Informationen zur Leistung finden Sie unter Elastic SAN und Leistung von VMs.