Suning de operação e manutenção práticas servidor de configuração automatizada em massa

Com o aumento do tráfego, a própria padronização servidor de digitalização, atualizar o lote kernel, quando se prepara um grande pro 11 bis, operação e manutenção poderia acessar um grande número de expansão do sistema, configuração, operando como uma variável global está prestes a se tornar gradualmente normalizado, centenas de acolhimento de milhares de operação e manutenção não tem por sistema bastião pode ser feito facilmente.

operação e manutenção evolução

operação humano e fase de manutenção

Cedo na indústria de TI, a operação do servidor e manutenção é feito de infra-estrutura de automação através de uma variedade de comando Ad Hoc Shell ou script, que é ideal para simples, o trabalho de uma só vez é muito fácil, mas para complexas e de longo prazo projetos, tarde manutenção roteiro é muito problemático.

ferramentas de automação de estágio

No momento, as grandes empresas de Internet já tem milhares de servidores, para tal grandes servidores em escala de massa corporal, que no passado que a abordagem dimensional originais movimento operário é claramente ultrapassado, operação automatizada e manutenção de servidores em larga escala rapidamente tornou-se não não discutir o assunto.

Atualmente Sal, Chef, Puppet e Ansible como ferramenta de gerenciamento de configuração é a operação e manutenção industrial é ferramentas muito populares que definem suas próprias regras de sintaxe para gerenciar o servidor, o código para essas ferramentas definir e Ad Hoc linguagens de script são muito semelhantes, mas eles são obrigatórios Código têm uma estruturada, consistente e parâmetros claros nomeação, eles são capazes de gerenciar remotamente um grande número de servidores e é compatível com os scripts ad hoc anteriores.

estágio DevOps

Com as ferramentas de manutenção automatizadas abundam, algumas grandes empresas têm colocá-lo para o nível estratégico, e a introdução de uma variedade de ferramentas automatizadas de montar com seus sistemas de negócios.

Construção de operação de automação e manutenção da plataforma plataforma ACM

Com o aumento do volume de negócios, o próprio servidor padronizado digitalização, atualizar lote do kernel a partir da transformação de negócios Internet tradicional de Suning, quando se preparava para dupla 11 grande promoção, operação e manutenção terá acesso a um grande número de expansão do sistema, configuração, configuração variável global, etc. operações tornam-se gradualmente normalizado, hospeda centenas de milhares de operação e manutenção não tem pelo sistema bastião pode ser feito facilmente.

Com a sistemas de negócios PAAS e propuseram uma variedade de necessidades pode ser personalizado e padronizado interface de gerenciamento de configuração de servidor de implantação. Pode desenvolver um servidor de gerenciamento de configuração plataforma comum torna-se massa-se urgente.

Selecione o instrumento subjacente

Atualmente no mercado a maioria das ferramentas convencional de código aberto Puppet / Chef / Ansible / Saltstack quatro tipos como segue ranking no github calor quando a seleção:

E no desenvolvimento real de prioridade selecionada será considerar os seguintes pontos:

  • Primeiro, a escolha do idioma (Puppet / Chef vs Ansible / Saltstack) Fantoche, de desenvolvimento Ruby baseada Chef, Ansible, Saltstack base do Python (fazer tarde segunda desenvolvimento), ele é descartado e os mais velhos e pobres compatibilidade Puppet Chef

  • Em segundo lugar, seleccionar a velocidade (Ansible vs Saltstack) operação de gestão de configuração e manutenção ênfase é mais rápido e mais estável, a transmissão de dados baseado no protocolo SSH Ansible, Saltstack zeroMQ usando fila de dados de mensagens de transmissão.

Na seleção Ansible, Saltstack, existem algumas empresas a abandonar a principal razão Saltstack é Saltstack necessidade de instalar o cliente, no caso do servidor tem uma certa quantidade de problemas, mas Ansible não precisa instalar o cliente. No entanto, a corrente Ansible ainda difícil de resolver os seguintes problemas:

  • Difícil de alcançar: características e demanda de negócios relacionados é muito discreto (alguma eficiência pesado, e alguma atenção à integralidade do processo, alguns requisitos elevados para facilidade de uso), mais do lado da demanda crescente, não há interfaces abertas comuns adequados fornecer API rESTful, função fila vai entregar um backlog sério.

  • Fraco desempenho: Quando um servidor precisa executar a ordem de operação fase magnitude K, para até várias dezenas de minutos de resposta Ansible, e há uma relativamente alta taxa de erro.

Em SaltStack contraste, que combina fila de mensagens leve (ZeroMQ) Construção de módulos de terceiros e Python. Com o gerenciamento de configuração, execução remota, monitoramento e outras funções, tem as seguintes vantagens óbvias:

  • rápido

  • compatibilidade

  • documentação detalhada, e com a comunidade de código aberto continua a ser ativo como Ansible

Teste de velocidade

Como pode ser visto na tabela Ansible e testes de desempenho SaltStack, testes de desempenho e SaltStack Ansible Na execução de comandos, distribuir arquivos, ler arquivos e executar scripts de lote e outra operação automatizada e manutenção da cena pelos dados demoradas que podem ser vistos Ansible SaltStack mais lento do que a velocidade de resposta de cerca de 10 vezes.

Após o exame de demonstração abrangente, a escolha final em conjunto em grande escala, a aplicabilidade da SaltStack mais forte como uma ferramenta de gestão de base de Suning todos os servidores.

Manutenção da estabilidade

Porque versões anteriores do estabilidade Saltstack não é alto, existem problemas de compatibilidade entre várias versões, erro mantido, a fim de garantir versão compatível para trás quando a equipe de atualização após a validação extensa e testes encontrará o relatório para a comunidade, por meio de constante comunicação e consulta, a comunidade finalmente reconhecido e aceite a nossa proposta para modificar a atual equipe também está ativamente envolvido em testes de provas apreendidas e manutenção da nova versão do Sal, garantia efetiva a estabilidade da plataforma subjacente.

Construção da plataforma de interface geral e WEB externo

Desde comunidade Saltstack não fornece interface de gestão WEB, todas as operações são apenas através da linha de comando, e chamar a API irá expor o nome de usuário e senha para o sistema externo, mestre de segurança não pode ser garantida. Manutenção e atualizar roteiros são muito problemáticas.

Assim, após as ferramentas de gestão subjacentes também precisa desenvolver um conjunto de ACM selecionado plataforma superior, a embalagem de uma interface comum para prestação de serviços, e fornece uma interface visual para a operação de acolhimento e equipe de manutenção.

ACM oferece um sistema WEB para os gerentes de operação e manutenção para visualizar a gestão de operação e manutenção. Para alcançar uma página da ferramenta de script para definir, agendamento de tarefas, a execução do trabalho, execução de comandos, relatórios, análises e outras funções.

sistema externo pode assim ser alcançado por ACM interface de chamada de API aberta para o Sal subjacente, Sal Minion Agent é montado sobre a configuração e gestão da máquina.

E sobre a segurança do projeto, a plataforma oferece auditoria, lista negra de comando, gestão de canais, configuração do agente, as funções do usuário, gerenciamento de direitos, e permitir somente acesso a sistemas externos através de ACM autorizado.

Evolução da arquitetura do sistema

Arquitetura 1.0

Early adopters mestre da ordem + Síndico + Minion modelo de arquitetura de três camadas, em seguida, toda a máquina virtual Suning OS + o número total de servidores físicos em cerca de 10000, Sal arquitetura nativa mal pode suportar.

Mas com a rápida ascensão na reestruturação do Grupo em curso, o tráfego on-line, promover o grande número de servidores na linha de frente também subiu a uma taxa de quase mil por dia, acesso aos sistemas de ACM de apenas dois ou três por dia a quantidade total de centenas de pedidos, rapidamente levantou-se a dezenas de sistemas, há cerca de dez mil tarefas de configuração um dia; desta vez o problema do sistema gradualmente exposta, como o retorno lento para a tarefa, a necessidade de execução de tarefas de sincronização de tempo para chamar mais de 5 segundos; sob a arquitetura nativa mestre da ordem tarefas simultâneas quando uma grande quantidade de pressão do sistema é muito alta, a taxa de falha da tarefa de mais de 10%.

A equipe gastou muito tempo para lidar com os clientes todos os dias miseráveis, queixou-se sobre o lado comercial é muitas vezes devido ao volume de negócios para melhorar forçado, Sal-Minion Group é a única base para a operação e manutenção do padrão de agente, exceto nenhum de nós pode suportar Configuration Automation gestão. Desde ACM redesenhar todo o sistema.

2,0-camadas da arquitectura de divisão

Depois de muita pesquisa com a demonstração, ACM pode atuar como mestre da ordem transformada em papel direto, quando as tarefas de configuração iniciadas pelo servidor, ACM pode gravar diretamente para uma consulta através da instalação da montagem em que estação Minion Mestre, diretamente sobre as necessidades da chamada Mestre iniciado, a tarefa Se várias máquinas, também os resultados pós-polimerização por ACM.

Como o próprio ACM JBoss cluster, fazê-lo não só resolver uma única ordem Maser fardo um muito pesado de problemas, mas também acelerar consideravelmente o tempo de resposta do pedido, a partir do original de cinco segundos + resposta elevada à resposta milissegundo para resolver o oficial arquitetura nativa deve tempo de espera sobrecarga Síndico.

Arquitetura 2.1-Sal Master of High Availability

No ambiente de produção real, se uma determinada situação Taiwan Sal Mestre downtime ocorre, é sobre 2K máquina fora de controle, recuperação artificial será mestre de até dezenas de minutos, para algumas chamadas de negócios não são aceitáveis.

Então Mestre necessidade urgente de alta disponibilidade da transformação e do processo de transformação, nós também precisamos abordar as seguintes questões:

  • Como detectar Minion Master é para baixo, e de comutação rápida.

  • Minion como detectar quando o interruptor principal para o backup para baixo Master Master.

  • Como resolver o problema entre a replicação Mestre Sal-chave primária e backup, especialmente quando o novo principal associação Minion Master of Sal-chave novo Minion como sincronizar para preparar Mestre.

  •  cenário 1

    Usando nativa Saltstack concretização disponibilidade, Mutil mestre + Failover-Minion.

    • Mutil-Master : Saltstack suportado a partir da versão 0.16.0, proporcionando características multi-funcionais Minion Master pode ser conectado.

    • Failover-Minion : Minion Mestre disponibilidade testes regulares, quando encontrado Mestre não estiver disponível, em seguida, em um determinado momento mudou para o Mestre de espera.

    Os principais itens de configuração da seguinte forma:

    # Multi-Master master: - 10.27.135.188 - 10.27.135.189 # Set para failover Minion Master_type: failover Mestre intervalo de detecção #, em segundos Master_alive_interval: < segundos >

    Uma vantagem deste esquema é baseado na alta disponibilidade nativa apoio SaltStack, sem o apoio de outros programas em carteira, em teoria, pode alcançar alta Mestre disponibilidade, mas após a validação e teste real, existem algumas deficiências óbvias:

  • Minon na inicialização conectar aleatoriamente um Mestre, Mestre, se desta vez é apenas abaixo da conexão, Minion não selecionar aleatoriamente um outro mestre, resultando em caso de falha de conexão.

  • Minion intervalo de detecção, de acordo com a definição do tempo Master_alive_interval, Minion Master tomar a iniciativa de conexões TCP existentes uma verificação para ver se a resposta Mestre. Se o intervalo de detecção for muito longo, a entrega pode afetar o envelhecimento, se o intervalo de sondagem é muito curto, no cenário de servidor de grande escala, os pedidos de rede em tempo curto excessiva, tem um tremendo impacto sobre o Mestre host e banda de rede , equivalente a um ataque DDOS.

  • Se você precisar substituir o Mestre de IP ou adicionar um novo mestre de IP, você precisa configurar todas as mudanças Minon sob o Mestre, ainda mais assustador é Minion necessidade de reiniciar para ter efeito.

  • sincronização-chave sal não fornece uma solução.

  •  cenário 2

    Após experiências non-stop e descobriu que o Mestre pode fornecer externa Sal VIP keepalived mantido pelo serviço, geralmente ligada à principal mestre VIP, quando o principal deriva VIP para baixo para preparar Master Master, master e slave mestre lsyncd compartilhada por arquivo de Sal-chave.

    Nota: O software keepalived é para alcançar funções de alta disponibilidade através do protocolo VRRP. VRRP é uma sigla para Virtual Router RedundancyProtocol (Virtual Router Redundancy Protocol), o objetivo é resolver VRRP aparecer estática roteamento único ponto de problema de falha, ele pode garantir que quando um nó individual vai para baixo, toda a rede pode ser executado sem interrupções .

    Então, keepalived um lado LVS funções de gerenciamento de configuração, mas também tem as seguintes funções para verificação de integridade nó LVS, por outro lado, pode obter alta disponibilidade da rede funções do sistema de serviços .

    Na operação propriamente dita, Minion vai tomar a iniciativa de Master (VIP) registrados a cada 5 minutos para detectar uma conexão com TCP Mestre, se a conexão for impulso re-iniciar TCP aperto de mão para estabelecer uma conexão de longo TCP, quando a principal ocorrência Mestre de tempo de inatividade, keepalived depois de detectar a mudança para o VIP Mestre backup, VIP Mestre Minion-se após 5 minutos de backup irá iniciar uma solicitação de conexão TCP, a conexão ea tarefa suspender novamente longa espera iniciada Mestre.

    O programa precisa instalar adicional disponibilidade suportes de software de Mestre ser detectado por um baixo keepalived, lsyncd garantir Sal-chave pela sincronização em tempo real. A vantagem dessa abordagem é evitar muitas deficiências 1. Em primeiro lugar, o reconhecimento final Minion para o endereço IP virtual do Mestre, então alterar o endereço IP do Mestre da extremidade inferior de Minion há percepção, Minion é nem requerem mudanças de configuração não precisa reiniciar, em segundo lugar, keepalived o mecanismo de inspeção é ao vivo endereço de classe D para o segmento, é detectado, e definir a identificação única do encaminhamento virtual, intervalos de detecção dentro de 5 segundos, a rede não impacto sobre o grupo; finalmente sincronizado pelo Sal-chave lsyncd, tanto para assegurar a segurança, mas também evita o problema de sincronização de Sal-chave entre múltiplos Mestre.

    Assim, misturando as soluções acima, a realização bem sucedida de inatividade Sal Mestre de soluções de alta disponibilidade detectar automaticamente a migração do ambiente de servidor atual em Newport têm sido assumidas pela arquitetura do Sal emprega um cluster altamente disponível.

     resumo

    ACM tem agora basicamente conhecer o grupo no dia a dia, bem como grandes quantidades de chamada pró-escala:

    • ACM tem atualmente os maiores servidores K-classe suporte chamada síncrona

    • ACM sincronização simples tarefa de chamar custo médio de tempo de cerca de 200ms.

    • A plataforma média diária volume de chamadas tem sido perto de 50 milhões de vezes

    • taxa de sucesso pedido de 99,99%

     perspectiva

    Com a confiabilidade do sistema garantido, acesso ao sistema e volume de chamadas será cada vez mais alto, depois de como lidar com as tarefas diárias chamar milhões de dezenas de milhões também na agenda.

    AIOps futuros maiores demandas ACM configuração básica deste plataforma de serviços será levantado, porque quando o comando do sistema de monitoramento - coleta de dados necessários para a tomada de decisões, análise de marca, após a decisão, ACM precisa das ferramentas para executar a ação para assumir, uso scripts / comandos automatizados para executar decisões AI cérebro.

    Atualmente Saltstack conseguiu 150.000 + servidor, quando Sal chamada falhou, possivelmente porque a própria máquina é baixo, restrições de firewall, rede de sete é desconectada, a carga do sistema é muito alto, o disco está cheio, e assim por diante uma variedade de estas razões resultando em chamada Sal falhar, esperamos antecedência para problemas de falha de sal de alerta precoce e de inteligência para localizar o problema e corrigir o problema.

    A execução Sal lote cabeça quando há uma certa probabilidade de resultados de perda de emprego, porque as necessidades do cliente para retornar resultados para todas as tarefas de volta para o servidor, quando grandes quantidades de missão, uma máquina de poucos retorna o resultado será perdido proativamente empurrado.

    Alerta! Samsung colocou Mengliao noite: Samsung Série S9 presunçoso versão vermelha da cotação oficial
    Anterior
    círculo de bebidas vai jogar a maioria de Coca-Cola, lançado conjuntamente a série AAPE tema já está disponível!
    Próximo