como escalonar as tarefas do cfengine com base no hostname

1

Estou tentando executar uma tarefa agendada em um grande pool de servidores virtuais, mas quero minimizar o impacto resultante no desempenho do hypervisor, idealmente executá-lo em um servidor por vez.

Pense algo assim:

    Hr07.Min01.host_1::
        "scheduled_service_restart"    usebundle   =>  service_restart;
    Hr07.Min02.host_2::
        "scheduled_service_restart"    usebundle   =>  service_restart;
    Hr07.Min03.host_3::
        "scheduled_service_restart"    usebundle   =>  service_restart;
    ...

Agora, isso funciona; mas a lista crescerá significativamente e não é exatamente bonita de se ver.

Posso combinar o número de sequência do nome do host (ou número de sequência de qualquer classe geral) contra o inteiro na MinXY hardclass de alguma forma?

    
por halka 30.03.2015 / 17:13

1 resposta

1

Eu não recomendaria usar as classes de resolução de 1 minuto, como Min01, a menos que você esteja executando o agente em um intervalo de 1 minuto. Essa aula só será definida durante esse um minuto. Por padrão, o agente é executado a cada 5 minutos e, mesmo com grandes conjuntos de políticas, uma execução de política completa geralmente é concluída em um minuto.

Você pode querer dar uma olhada na função splayclass . Você pode definir uma classe deterministicamente durante um período por hora ou por dia. Por exemplo:

bundle agent example
{
  classes:
    Hr07::
      "service_restart"
        expression => splayclass("$(sys.fqhost)", "hourly"),
        comment => "So that we only perform restarts during the 7 oclock 
                    hour, and so that not all hosts restart at the same time 
                    we splay the restart class over an hour. Each host will 
                    define some 5 minute time slot during the hour.";

  methods:
    service_restart::
      "scheduled_service_restart" usebundle => service_restart;
}

#cfengine no irc.freenode.net e o help-cfengine também são ótimos lugares para se fazer perguntas relacionadas ao CFEngine.

    
por 14.04.2015 / 15:15