29 Módulos do Ceph Manager #
A arquitetura do Ceph Manager (consulte o Seção 1.2.3, “Nós e daemons do Ceph” para ver uma breve introdução) permite estender a funcionalidade dele por meio de módulos, como “dashboard” (consulte o Parte I, “Ceph Dashboard”), “prometheus” (consulte o Capítulo 16, Monitoramento e alerta) ou “balancer”.
Para listar todos os módulos disponíveis, execute:
cephuser@adm >
ceph mgr module ls
{
"enabled_modules": [
"restful",
"status"
],
"disabled_modules": [
"dashboard"
]
}
Para habilitar ou desabilitar um módulo específico, execute:
cephuser@adm >
ceph mgr module enable MODULE-NAME
Por exemplo:
cephuser@adm >
ceph mgr module disable dashboard
Para listar os serviços que os módulos habilitados oferecem, execute:
cephuser@adm >
ceph mgr services
{
"dashboard": "http://myserver.com:7789/",
"restful": "https://myserver.com:8789/"
}
29.1 Balanceador #
O módulo balanceador otimiza a distribuição do grupo de posicionamento (PG, placement group) entre os OSDs para uma implantação mais equilibrada. Embora o módulo esteja ativado por padrão, ele está inativo. Ele suporta estes dois modos: crush-compat
e upmap
.
Para ver o status e as informações de configuração atuais do balanceador, execute:
cephuser@adm >
ceph balancer status
29.1.1 O modo “crush-compat” #
No modo “crush-compat”, o balanceador ajusta os conjuntos de reweight dos OSDs para obter uma melhor distribuição dos dados. Ele move os PGs entre os OSDs, causando temporariamente um estado de cluster HEALTH_WARN
resultante dos PGs deslocados.
Embora o “crush-compat” seja o modo padrão, recomendamos ativá-lo explicitamente:
cephuser@adm >
ceph balancer mode crush-compat
29.1.2 Planejando e executando o balanceamento de dados #
Usando o módulo balanceador, você pode criar um plano para balanceamento de dados. Em seguida, você pode executar o plano manualmente ou permitir que o balanceador equilibre os PGs continuamente.
A decisão de executar o balanceador no modo manual ou automático depende de vários fatores, como desequilíbrio dos dados atuais, tamanho do cluster, contagem de PGs ou atividade de E/S. Recomendamos criar um plano inicial e executá-lo durante um momento de carga baixa de E/S no cluster. A razão para isso é que o desequilíbrio inicial provavelmente será considerável, e é uma boa prática manter um baixo impacto nos clientes. Após uma execução manual inicial, considere ativar o modo automático e monitorar o tráfego de redistribuição sob carga normal de E/S. As melhorias na distribuição de PGs precisam ser ponderadas em relação ao tráfego de redistribuição causado pelo balanceador.
Durante o processo de balanceamento, o módulo balanceador limita os movimentos de PG para que apenas uma fração configurável de PGs seja movida. O padrão é 5%, e você pode ajustar a fração para 9%, por exemplo, executando o seguinte comando:
cephuser@adm >
ceph config set mgr target_max_misplaced_ratio .09
Para criar e executar um plano de balanceamento, siga estas etapas:
Confira a pontuação atual do cluster:
cephuser@adm >
ceph balancer evalCrie um plano. Por exemplo, "great_plan":
cephuser@adm >
ceph balancer optimize great_planVeja que mudanças o “great_plan” fará:
cephuser@adm >
ceph balancer show great_planConfira a possível pontuação do cluster se você decidir aplicar o “great_plan”:
cephuser@adm >
ceph balancer eval great_planExecute o “great_plan” apenas uma vez:
cephuser@adm >
ceph balancer execute great_planObserve o balanceamento do cluster com o comando
ceph -s
. Se você estiver satisfeito com o resultado, ative o balanceamento automático:cephuser@adm >
ceph balancer onPosteriormente, se você decidir desativar o balanceamento automático, execute:
cephuser@adm >
ceph balancer off
Você pode ativar o balanceamento automático sem executar um plano inicial. Neste caso, espere uma redistribuição possivelmente longa dos grupos de posicionamento.
29.2 Habilitando o módulo de telemetria #
O plug-in de telemetria envia os dados anônimos do projeto do Ceph sobre o cluster no qual o plug-in está sendo executado.
Esse componente (aceitação) contém contadores e estatísticas sobre como o cluster foi implantado, a versão do Ceph, a distribuição dos hosts e outros parâmetros que ajudam o projeto a obter uma melhor compreensão da forma como o Ceph é usado. Ele não contém dados confidenciais, como nomes de pool, nomes de objeto, conteúdo de objeto ou nomes de host.
O objetivo do módulo de telemetria é fornecer um loop de feedback automatizado para os desenvolvedores para ajudar a quantificar as taxas de adoção, o monitoramento ou apontar elementos que precisam ser mais bem explicados ou validados durante a configuração para evitar resultados indesejáveis.
O módulo de telemetria exige que os nós do Ceph Manager consigam transmitir dados por HTTPS para os servidores de upstream. Verifique se os firewalls corporativos permitem essa ação.
Para habilitar o módulo de telemetria:
cephuser@adm >
ceph mgr module enable telemetryNotaEsse comando apenas permite que você veja seus dados localmente. Esse comando não compartilha seus dados com a comunidade do Ceph.
Para permitir que o módulo de telemetria comece a compartilhar dados:
cephuser@adm >
ceph telemetry onPara desabilitar o compartilhamento de dados de telemetria:
cephuser@adm >
ceph telemetry offPara gerar um relatório JSON que pode ser impresso:
cephuser@adm >
ceph telemetry showPara adicionar um contato e uma descrição ao relatório:
cephuser@adm >
ceph config set mgr mgr/telemetry/contact John Doe john.doe@example.comcephuser@adm >
ceph config set mgr mgr/telemetry/description 'My first Ceph cluster'Por padrão, o módulo compila e envia um novo relatório a cada 24 horas. Para ajustar esse intervalo:
cephuser@adm >
ceph config set mgr mgr/telemetry/interval HOURS