PowerFlex: Gjenoppbygging og rebalansering som påvirker ytelsen til frontend-I/O-workloader
Summary: Gjenoppbygg og rebalanser som påvirker frontend-I/O-workloaden.
Symptoms
Når en gjenoppbygging eller rebalansering begynner, kan frontend-applikasjonens IOPS falle drastisk.
- En SDS-node eller -disk har mislyktes, noe som fører til at en gjenoppbygging begynner.
- En SDS-node eller -disk er lagt til i klyngen eller lagringsgruppen, noe som fører til at en rebalansering begynner.
- En eller flere SDS-disker fjernes fra klyngen eller lagringsgruppen, noe som fører til at en ny balansering begynner.
- Frontend IOPS drop-down drastisk (opptil 50% eller mer av forventet IOPS) etter at gjenoppbygging / rebalansering starter.
Innvirkning
Hvis det utføres økninger i hastigheten og ressursene til en gjenoppbygging eller rebalansering, reduseres tiden det tar å opprette de to fullstendige kopiene av hver blokk som ScaleIO trenger. SDC-enes gjennomstrømming og IOPS kan imidlertid bli påvirket, og sluttbrukeren kan merke treghet i programmet eller muligens til og med I/O-feil. Effekten disse endringene kan ha på frontend IO bør forstås før du gjør endringen.
Cause
Gjenoppbygg og rebalansere bruker samme disk og muligens nettverksressurser som SDCene bruker, og tar dermed båndbredde i både disk og nettverk. Gjenoppbygg og rebalanser bruker også to SDS-tråder som standard, definert som parallellitetparameteren.
SDS opprettet disse trådene og tar ekstra CPU og minne hvis bumped over standard av to tråder. Dette fører til at SDS bruker mer CPU-tid og ressurser på gjenoppbygging / rebalansering enn det ville, noe som fører til mindre CPU-tid og ressurser som skal brukes på å betjene frontend-IOer.
Resolution
Det er et par ting du kan sjekke her. Gjenoppbyggingen og rebalansen kan påvirkes av følgende parametere:
1 – Struping av SDS-nettverk Denne begrenser hvordan I/O hver SDS bruker for de ulike kategoriene som er oppført. Standard i alle kategorier er "Ubegrenset".
A-Fra 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-Fra UI:
Gå til listen over beskyttelsesdomener, velg det aktuelle beskyttelsesdomenet, og velg "Network Throttling" fra endringslisten.

2 – Prioritet for lagringsbasseng Denne innstillingen er per lagringsgruppe og endrer I/O-prioriteten for gjenoppbygging eller rebalansering, noe som påvirker systemytelsen. Standard er "Limit Concurrent IO" angitt til 1 for både gjenoppbygging og rebalansering.
A-Fra 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]
POLICYEN kan være en av: no_limit, limit_concurrent_io, favor_application_io, dynamic_bandwidth_throttling
Hvis du bruker noe annet enn "no_limit" for policyen, blir bruk av kommandoen OPTIONS nødvendig. Se PowerFlex-dokumentasjon for flere referanser til disse innstillingene.
B-Fra UI: Gå til listen Lagringsutvalg, velg det aktuelle lagringsutvalget, og velg "I/O-prioritet" fra endringslisten.

3- Samtidige gjenoppbyggings- og rebalanseringsaktiviteter. Standardinnstillingen her er 2.
A- Denne parameteren kan bare endres fra scli:
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
MERK: Hvis du bruker parameteren storage_pool_id i kommandoen, trenger du ikke også å angi beskyttelsesdomene-ID-en eller -navnet og navnet på lagringsutvalget. Med mindre det er spesifisert av ScaleIO-støtte, la denne parameteren være 2. Hvis du øker denne innstillingen, vil det påvirke frontend-I/O raskere enn nettverksstruping og I/O-prioritetsinnstillingene.