PowerFlex: Recriar e reequilibrar afetam o desempenho da carga de trabalho de E/S front-end
Summary: Recriar e reequilibrar afetam a carga de trabalho de E/S de front-end.
Symptoms
Quando uma reconstrução ou rebalanceamento começa, a IOPS do aplicativo front-end pode cair drasticamente.
- Um nó ou disco do SDS apresentou falha, fazendo com que uma reconstrução começasse.
- Um nó ou disco do SDS foi adicionado ao cluster ou pool de armazenamento, fazendo com que um rebalanceamento comece.
- Um nó ou discos SDS são removidos do cluster ou pool de armazenamento, fazendo com que um rebalanceamento comece.
- Menu suspenso de IOPS de front-end drasticamente (até 50% ou mais do IOPS esperado) após o início da recriação/rebalanceamento.
Impacto
Se forem realizados aumentos na velocidade e nos recursos de uma reconstrução ou rebalanceamento, isso reduzirá o tempo necessário para criar as duas cópias completas de cada bloco de que o ScaleIO precisa. No entanto, o throughput e o IOPS dos SDCs podem ser afetados, e o usuário final pode notar lentidão do aplicativo ou até mesmo erros de E/S. O efeito que essas alterações podem ter na E/S de front-end deve ser entendido antes de fazer a alteração.
Cause
A reconstrução e o rebalanceamento usam o mesmo disco e, possivelmente, os recursos de rede que os SDCs estão usando, consumindo assim largura de banda no disco e na rede. A reconstrução e o rebalanceamento também usam dois threads SDS por padrão, definidos como o parâmetro de paralelismo.
O SDS criou esses threads e usa CPU e memória extras se for colocado acima do padrão de dois threads. Isso faz com que o SDS gaste mais tempo e recursos da CPU na recriação/rebalanceamento do que gastaria, fazendo com que menos tempo e recursos da CPU sejam gastos para atender às E/Ss de front-end.
Resolution
Há algumas coisas para verificar aqui. A reconstrução e o rebalanceamento podem ser afetados pelos seguintes parâmetros:
1. Limitação de rede do SDS Esse limite limita a E/S que cada SDS usa para as várias categorias listadas. O padrão em todas as categorias é "Ilimitado".
A-De 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
IU B-De:
Vá para a lista de domínios de proteção, selecione o domínio de proteção em questão e, escolha "Network Throttling" na lista Modify.

2- Prioridade de E/S do pool de armazenamento: essa configuração é por pool de armazenamento e alterará a prioridade de E/S para recriação ou rebalanceamento, e afeta o desempenho do sistema. O padrão é "Limit Concurrent IO" definido como 1 para recriação e rebalanceamento.
A-De 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]
A POLÍTICA pode ser uma destas opções: no_limit, limit_concurrent_io, favor_application_io, dynamic_bandwidth_throttling
Se estiver usando algo que não seja "no_limit" para a política, o uso do comando OPTIONS se tornará necessário. Consulte a documentação do PowerFlex para obter mais referências sobre essas configurações.
IU B-De: Vá para a lista Storage Pool, selecione o pool de armazenamento em questão e escolha "I/O Priority" na lista de modificação.

3- Atividades simultâneas de reconstrução e rebalanceamento. A configuração padrão aqui é 2.
R- Este parâmetro só pode ser alterado a partir do 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: Se você usar o parâmetro storage_pool_id no comando, não precisará especificar também o ID ou nome do domínio de proteção e o nome do pool de armazenamento. A menos que especificado pelo suporte do ScaleIO, deixe esse parâmetro em 2. Aumentar essa configuração afetará negativamente a E/S de front-end mais rapidamente do que as configurações de prioridade de E/S e aceleração de rede.