De prestaties van uw elastische SAN optimaliseren
In dit artikel vindt u algemene richtlijnen voor het verkrijgen van optimale prestaties met een omgeving die gebruikmaakt van een elastisch Azure SAN.
Optimalisaties aan de clientzijde
Algemene aanbevelingen (Virtuele Windows- en Linux-machines)
Implementeer voor de beste prestaties uw VM's en elastisch SAN in dezelfde zone en dezelfde regio.
I/O van VM-opslag naar elastische SAN-volumes maakt gebruik van de bandbreedte van het VM-netwerk, zodat de limieten voor traditionele schijfdoorvoer op een virtuele machine niet van toepassing zijn op elastische SAN-volumes. Kies een VIRTUELE machine die voldoende bandbreedte kan bieden voor productie/VM-naar-VM I/O en iSCSI I/O voor gekoppelde Elastische SAN-volumes. Over het algemeen moet u Gen 5-VM's (D/E/M-serie) gebruiken voor de beste prestaties.
Schakel 'Versneld netwerken' in op de virtuele machine tijdens het maken van de VIRTUELE machine. Als u dit wilt doen via Azure PowerShell of Azure CLI of versneld netwerken wilt inschakelen op bestaande VM's, raadpleegt u Azure PowerShell gebruiken om een virtuele machine te maken met versneld netwerken
- U moet voor elk volume 32 sessies per doelvolume gebruiken om de maximale IOPS- en/of doorvoerlimieten te bereiken. Gebruik MPIO (Multipath I/O) op de client om deze meerdere sessies voor elk volume te beheren voor taakverdeling. Scripts zijn beschikbaar voor Windows, Linux of op de Verbinding maken naar volumepagina voor uw volumes in Azure Portal, die standaard 32 sessies gebruikt. Windows-software iSCSI-initiator heeft een limiet van maximaal 256 sessies. Als u meer dan acht volumes wilt verbinden met een Virtuele Windows-machine, vermindert u het aantal sessies naar elk volume, indien nodig.
MPIO
Windows
Gebruik de volgende opdrachten om uw instellingen bij te werken:
# 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
Zie de MPIO-referentie voor meer informatie over MPIO-cmdlets.
Linux
Werk het bestand /etc/multipath.conf bij met het volgende:
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
Werk de onderstaande registerinstellingen voor iSCSI-initiator in Windows bij.
- Open Register-editor:
- Selecteer Start, typ regedit in het zoekvak en druk op Enter.
- Navigeer naar de volgende locatie: [\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e97b-e325-11ce-bfc1-08002be10318}\0004 (Microsoft iSCSI Initiator)\Parameters]
- Werk de volgende instellingen bij. Klik met de rechtermuisknop op elke instelling en selecteer Wijzigen. Wijzig Basis in Decimaal, werk de waarde bij en selecteer OK.
Beschrijving | Parameter en waarde |
---|---|
Hiermee stelt u het maximum aantal gegevens in dat de initiator in een iSCSI-PDU naar het doel verzendt naar 256 KB | MaxTransferLength=262144 |
Stelt de maximale SCSI-nettolading in die de initiator onderhandelt met het doel tot 256 KB | MaxBurstLength=262144 |
Stelt de maximale ongevraagde gegevens in die de initiator kan verzenden in een iSCSI-PDU naar een doel tot 256 KB | FirstBurstLength=262144 |
Stelt de maximale gegevens in die de initiator kan ontvangen in een iSCSI-PDU van het doel naar 256 kB | MaxRecvDataSegmentLength=262144 |
R2T-stroombeheer uitschakelen | InitialR2T=0 |
Directe gegevens inschakelen | ImmediateData=1 |
Hiermee stelt u de time-outwaarde voor WMI-aanvragen in op 30 seconden | WMIRequestTimeout = 30 seconden |
Hiermee stelt u de time-outwaarde in voor het koppelen van de tijd tot 30 seconden | LinkDownTime = 30 seconden |
Zorg ervoor dat in clusterconfiguraties namen van iSCSI-initiators uniek zijn voor alle knooppunten die volumes delen. In Windows kunt u deze bijwerken via de iSCSI Initiator-app.
Selecteer Start, zoek in het zoekvak naar iSCSI-initiator . Hiermee opent u de iSCSI-initiator.
Selecteer Configuratie om de naam van de huidige initiator weer te geven.
Als u deze wilt wijzigen, selecteert u Wijzigen, voert u de naam van de nieuwe initiator in en selecteert u OK.
Linux
Werk de volgende instellingen bij met aanbevolen waarden in het globale iSCSI-configuratiebestand (iscsid.conf, meestal gevonden in /etc/iscsi-map) op de client voordat u volumes met de client verbindt. Wanneer een volume is verbonden, wordt een knooppunt gemaakt, samen met een configuratiebestand dat specifiek is voor dat knooppunt (bijvoorbeeld op Ubuntu, kan het worden gevonden in /etc/iscsi/nodes/$volume_iqn/portal_hostname,$port map) die de instellingen overnemen van het globale configuratiebestand. Als u al een of meer volumes hebt verbonden met de client voordat u het algemene configuratiebestand bijwerkt, werkt u het knooppuntspecifieke configuratiebestand voor elk volume rechtstreeks bij of gebruikt u de volgende opdracht:
sudo iscsiadm -m node -T $volume_iqn -p $portal_hostname:$port -o update -n $iscsi_setting_name -v $setting_value
Waar
- $volume_iqn: IQN voor elastisch SAN-volume
- $portal_hostnaam: hostnaam van de elastische SAN-volumeportal
- $port: 3260
- $iscsi_setting_name: parameter voor elke instelling die hieronder wordt vermeld
- $setting_value: waarde die wordt aanbevolen voor elke instelling hieronder
Beschrijving | Parameter en waarde |
---|---|
# Maximumgegevens instellen die de initiator verzendt in een iSCSI-PDU naar het doel naar 256 kB | node.conn[0].iscsi. MaxXmitDataSegmentLength = 262144 |
# Stel de maximale SCSI-nettolading in die de initiator onderhandelt met het doel tot 256 KB | node.session.iscsi.MaxBurstLength = 262144 |
# Stel de maximale ongevraagde gegevens in die de initiator kan verzenden in een iSCSI-PDU naar een doel van 256 kB | node.session.iscsi.FirstBurstLength = 262144 |
# Maximumgegevens instellen die de initiator kan ontvangen in een iSCSI-PDU van het doel tot 256 kB | node.conn[0].iscsi. MaxRecvDataSegmentLength = 262144 |
# R2T-stroombeheer uitschakelen | node.session.iscsi.InitialR2T = Nee |
# Directe gegevens inschakelen | node.session.iscsi.ImmediateData = Ja |
# Time-outwaarde instellen voor WMI-aanvragen | node.conn[0].timeo.login_timeout = 30 node.conn[0].timeo.logout_timeout = 15 |
# CRC-samenvattingscontrole inschakelen voor headers en gegevens | node.conn[0].iscsi. HeaderDigest = CRC32C node.conn[0].iscsi. DataDigest = CRC32C |
Zorg ervoor dat in clusterconfiguraties namen van iSCSI-initiators uniek zijn voor alle knooppunten die volumes delen. In Linux kunt u /etc/iscsi/initiatorname.iscsi wijzigen om de naam van de initiator bij te werken.
Elastische SAN-optimalisaties
Voordat u een elastisch SAN implementeert, is het bepalen van de optimale grootte van het elastische SAN dat u implementeert nodig om de juiste balans tussen prestaties voor uw workloads en kosten te bereiken. Gebruik de volgende stappen om de beste grootte voor u te bepalen:
Selecteer met uw bestaande opslagoplossing een tijdsinterval (dag/week/kwartaal) om de prestaties bij te houden. Het beste tijdsinterval is een goede momentopname van uw toepassingen/workloads. Noteer gedurende die periode de gecombineerde maximale IOPS en doorvoer voor alle workloads. Als u een interval hoger dan een minuut gebruikt of als een van uw workloads knelpunten heeft met uw huidige configuratie, kunt u overwegen om meer basiscapaciteit toe te voegen aan uw Elastische SAN-implementatie. U moet wat ruimte achterlaten bij het bepalen van uw basiscapaciteit om rekening te houden met de groei. De rest van de opslag van uw elastische SAN moet extra capaciteit gebruiken om kosten te besparen.
Zie de prestaties van elastic SAN en virtuele machines voor meer informatie over prestaties.