PowerFlex: Neuaufbau und Neuverteilung wirken sich auf die Frontend-IO-Workload-Performance aus
Summary: Neuaufbau und Neuverteilung wirken sich auf die Frontend-IO-Workload aus.
Symptoms
Wenn ein erneuter Aufbau oder eine Neuverteilung beginnt, können die IOPS der Front-end-Anwendung drastisch sinken.
- Ein SDS-Node oder eine SDS-Festplatte ist ausgefallen, was dazu führt, dass ein erneuter Aufbau beginnt.
- Dem Cluster oder Storage-Pool wurde ein SDS-Node oder eine SDS-Festplatte hinzugefügt, wodurch ein erneuter Ausgleich beginnt.
- Ein SDS-Node oder -Festplatten werden aus dem Cluster oder Storage-Pool entfernt, wodurch eine Neuverteilung beginnt.
- Drastische Drop-down-Liste der Front-end-IOPS (bis zu 50 % oder mehr der erwarteten IOPS) nach dem Start der Neuerstellung/Neuverteilung.
Auswirkungen
Wenn die Geschwindigkeit und die Ressourcen eines erneuten Aufbaus oder einer Neuverteilung erhöht werden, verringert sich die Zeit, die benötigt wird, um die zwei vollständigen Kopien jedes Blocks zu erstellen, die ScaleIO benötigt. Der Durchsatz und die IOPS von SDCs können jedoch beeinträchtigt sein, und EndnutzerInnen bemerken möglicherweise langsame Anwendungen oder möglicherweise sogar I/O-Fehler. Die Auswirkungen, die diese Änderungen auf Front-end-IO haben können, sollten vor der Änderung verstanden werden.
Cause
Für den erneuten Aufbau und die Neuverteilung werden dieselben Festplatten- und möglicherweise Netzwerkressourcen verwendet, die auch von den SDCs verwendet werden, sodass Bandbreite sowohl auf der Festplatte als auch im Netzwerk beansprucht wird. Für den erneuten Aufbau und die Neuverteilung werden ebenfalls standardmäßig zwei SDS-Threads verwendet, die als Parallelitätsparameter definiert sind.
Der SDS hat diese Threads erstellt und benötigt zusätzliche CPU und Arbeitsspeicher, wenn er über den Standardwert von zwei Threads hinausgeht. Dies führt dazu, dass der SDS mehr CPU-Zeit und -Ressourcen für den erneuten Aufbau/die Neuverteilung aufwendet, als dies der Fall wäre, was dazu führt, dass weniger CPU-Zeit und Ressourcen für die Bereitstellung von Front-end-IOs aufgewendet werden.
Resolution
Hier gibt es ein paar Dinge zu überprüfen. Der erneute Aufbau und die Neuverteilung können durch die folgenden Parameter beeinflusst werden:
1 – SDS-Netzwerkdrosselung: Dies schränkt die I/O ein, die jeder SDS für die verschiedenen aufgeführten Kategorien verwendet. Die Standardeinstellung in allen Kategorien ist "Unbegrenzt".
A-Von scli:
scli --set_sds_network_limits (--protection_domain_id | --protection_domain_name ) [--rebuild_limit ] [--rebalance_limit ][--overall_limit ] [--i_am_sure] Example, setting the rebuild limit to 100 MB/s: scli --set_sds_network_limits --protection_domain_name pd1 --rebuild_limit 100
B-Von-Benutzeroberfläche:
Navigieren Sie zur Liste der Schutzdomains, wählen Sie die betreffende Schutzdomain aus und wählen Sie in der Liste "Modify" die Option "Network Throttling" aus.

2 – I/O-Priorität des Storage-Pools Diese Einstellung gilt pro Storage-Pool und ändert die I/O-Priorität für den erneuten Aufbau oder die Neuverteilung und wirkt sich auf die Systemleistung aus. Standardmäßig ist "Limit Concurrent IO" sowohl für den erneuten Aufbau als auch für die Neuverteilung auf 1 festgelegt.
A-Von scli:
scli --set_rebuild_policy ((( protection_domain_id | --protection_domain_name ) --storage_pool_name ) | --storage_pool_id ) --policy [Options][--i_am_sure] scli --set_rebalance_policy ((( protection_domain_id | --protection_domain_name ) --storage_pool_name ) | --storage_pool_id ) --policy [Options][--i_am_sure]
Die POLICY kann eine der folgenden sein: no_limit, limit_concurrent_io, favor_application_io dynamic_bandwidth_throttling
Wenn Sie etwas anderes als "no_limit" für die Policy verwenden, ist die Verwendung des Befehls OPTIONS erforderlich. Weitere Referenzen zu diesen Einstellungen finden Sie in der PowerFlex-Dokumentation.
B-Von-Benutzeroberfläche: Navigieren Sie zur Liste "Storage Pool", wählen Sie den betreffenden Storage-Pool aus und wählen Sie "I/O Priority" aus der Änderungsliste aus.

3. Gleichzeitiger erneuter Aufbau und Neuverteilung von Aktivitäten. Die Standardeinstellung ist hier 2.
A- Dieser Parameter kann nur von der SCLI geändert werden:
scli --set_rebuild_rebalance_parallelism (((--protection_domain_id | --protection_domain_name ) --storage_pool_name ) | --storage_pool_id ) (--limit ) Example, setting the limit to 5: scli --set_rebuild_rebalance_parallelism --protection_domain_name pd1 --storage_pool_name HDD_POOL --limit 5
HINWEIS: Wenn Sie den Parameter storage_pool_id im Befehl verwenden, müssen Sie nicht auch die ID oder den Namen der Schutzdomain und den Namen des Storage-Pools angeben. Sofern nicht vom ScaleIO-Support angegeben, belassen Sie diesen Parameter bei 2. Eine Erhöhung dieser Einstellung wirkt sich schneller negativ auf die Front-end-I/O aus als die Einstellungen für Netzwerkdrosselung und I/O-Priorität.