PowerFlex: La reconstrucción y el rebalanceo afectan el rendimiento de la carga de trabajo de IO de front-end
Summary: Las operaciones de reconstrucción y rebalanceo afectan la carga de trabajo de IO de front-end.
Symptoms
Cuando comienza una reconstrucción o un rebalanceo, las IOPS de la aplicación de front-end pueden disminuir drásticamente.
- Un nodo o disco de SDS falló, lo que provocó que comience una reconstrucción.
- Se agregó un nodo o disco de SDS al clúster o pool de almacenamiento, lo que provocó que comience un reequilibrio.
- Se eliminan discos o nodo de SDS del clúster o pool de almacenamiento, lo que provoca que comience un reequilibrio.
- El menú desplegable de IOPS de front-end disminuye drásticamente (hasta un 50 % o más de las IOPS esperadas) después de que comienza la reconstrucción/el rebalanceo.
Impacto
Si se realizan aumentos en la velocidad y los recursos de una reconstrucción o un rebalanceo, se reduce el tiempo necesario para crear las dos copias completas de cada bloque que necesita ScaleIO. Sin embargo, el rendimiento y las IOPS de los SDC pueden verse afectados, y el usuario final puede notar la lentitud de las aplicaciones o, posiblemente, incluso errores de I/O. Se debe comprender el efecto que estos cambios pueden tener en la I/O de front-end antes de realizar el cambio.
Cause
La reconstrucción y el rebalanceo utilizan el mismo disco y, posiblemente, los mismos recursos de red que los SDC, por lo que consumen ancho de banda tanto en el disco como en la red. La reconstrucción y el rebalanceo también utilizan dos subprocesos de SDS de manera predeterminada, definidos como el parámetro de paralelismo.
El SDS creó estos subprocesos y toma CPU y memoria adicionales si se supera el valor predeterminado de dos subprocesos. Esto hace que el SDS dedique más tiempo y recursos de CPU a la reconstrucción/rebalanceo de lo que lo haría, lo que hace que se gasten menos tiempo y recursos de CPU en atender I/O de front-end.
Resolution
Hay algunas cosas que debe verificar aquí. La reconstrucción y el rebalanceo pueden verse afectados por los siguientes parámetros:
1- Regulación de red de SDS Esto limita la forma en que la I/O utiliza cada SDS para las diversas categorías enumeradas. El valor predeterminado en todas las categorías es "Ilimitado".
A-Desde 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: desde la IU:
Vaya a la lista de dominios de protección, seleccione el dominio de protección en cuestión y elija "Network Throttling" en la lista Modify.

2. Prioridad de I/O del pool de almacenamiento: esta configuración se realiza por pool de almacenamiento y cambiará la prioridad de I/O para la reconstrucción o el rebalanceo, y no afecta el rendimiento del sistema. El valor predeterminado es "Limit Concurrent IO" establecido en 1 tanto para la reconstrucción como para el rebalanceo.
A-Desde 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]
La POLÍTICA puede ser una de las siguientes: no_limit, limit_concurrent_io, favor_application_io, dynamic_bandwidth_throttling
Si utiliza algo que no sea "no_limit" para la política, se requiere el uso del comando OPTIONS. Consulte la documentación de PowerFlex para obtener más referencias sobre estos ajustes.
B: desde la IU: Vaya a la lista Storage Pool, seleccione el pool de almacenamiento en cuestión y elija "I/O Priority" en la lista de modificación.

3. Actividades simultáneas de reconstrucción y rebalanceo. La configuración predeterminada aquí es 2.
R- Este parámetro solo se puede cambiar desde 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
NOTA: Si utiliza el parámetro storage_pool_id en el comando, no es necesario especificar también el ID o el nombre del dominio de protección ni el nombre del pool de almacenamiento. A menos que el soporte de ScaleIO especifique lo contrario, deje este parámetro en 2. Aumentar esta configuración afectará negativamente la I/O de front-end más rápido que la configuración de regulación de red y prioridad de I/O.