
Em 8 de outubro, foi lançada uma versão em caixa do VMmanager 6, o novo painel de controle de virtualização. Agora ele pode ser instalado no servidor e usado para vender máquinas virtuais ou gerenciar sua própria infraestrutura. Neste artigo, comparamos a nova geração com a anterior - VMmanager 5 e VMmanager 6.
Ambos os painéis suportam a virtualização KVM e gerenciam o servidor físico usando libvirt.
O VMmanager 5 foi lançado em 2013, VMmanager 6 - em 2019. A nova geração é mais conveniente e mais resistente ao estresse. Suporta imagens, gerenciamento de tarefas e monitoramento.
Neste artigo, comparamos duas gerações de painéis. Primeiro, vamos falar sobre diferenças conceituais: arquitetura, interface e resistência a cargas. Na segunda parte, veremos como tarefas idênticas são resolvidas em dois painéis.
Mais sobre o produto está na seção VMmanager 6 do site ISPsystem .
Parte 1. Diferenças conceituais
Arquitetura
O VMmanager 5 era um monólito escrito em C ++, que em alguns lugares complicava desnecessariamente o desenvolvimento de coisas simples.
É por isso que no VMmanager 6 usamos o Python para tarefas simples, como configurar nós, configurar VMs, trabalhar com libvirt. Esse código é mais fácil de escrever, depurar e "montar". Eles conversaram sobre isso em outro artigo sobre Habré .
Tarefas em que a descentralização de dados não é terrível e a escala horizontal é necessária, passamos para Golang, destacando a lógica de negócios em microsserviços. Curiosamente, aqui também ganhamos em velocidade e facilidade de desenvolvimento. O restante da lógica continua aproveitando o monólito em C ++ - confiabilidade, velocidade e consistência dos dados.
Além disso, o VMmanager 6 vem em contêineres de encaixe. O VMmanager 5 foi instalado usando pacotes. Uma vantagem definitiva da conteinerização é a alta previsibilidade do comportamento do aplicativo (o ambiente é sempre o mesmo). Tornou-se mais fácil reproduzir situações ou problemas, não há necessidade de fazer muitos assemblies para diferentes sistemas operacionais; a implantação é mais rápida.
No VMmanager 5, a instalação de pacotes carregava muitas dependências que poderiam entrar em conflito com os pacotes já instalados. Houve situações em que a exclusão de um pacote inofensivo com a opção "-y" excluiu o painel inteiro por dependência.
Outra grande mudança: o VMmanager 6 suporta imagens. Uma imagem é uma cópia inteira de um disco da VM. É usado ao criar máquinas virtuais e backups. Não confunda com imagens ISO no VMmanager 5 - essas são duas tecnologias diferentes.
Resistência de carga
Uma consequência importante das mudanças na arquitetura é o aumento da resistência à carga.
O VMmanager 5 não suporta cargas pesadas: se mais de 500 máquinas virtuais forem criadas, ele começará a funcionar lentamente. Para contornar essa limitação, os provedores instalam outro VMmanager e criam novas máquinas virtuais. Os grandes fornecedores podem ter vários painéis: de acordo com o número de locais ou tarifas.
No VMmanager 5, muito foi feito no processo principal e, via de regra, em um thread. Para gerenciar operações longas, havia um módulo longtask (o progenitor do taskmanager, um serviço para despachar tarefas na sexta versão), mas não começamos imediatamente a usá-lo ativamente. Não havia mecanismo de bloqueio no longtask, apenas filas nas quais as tarefas podiam ser executadas estritamente uma por uma na ordem em que chegaram lá. Uma tarefa não pode ficar em várias linhas. As próprias operações de longa tarefa eram arquivos especiais em disco. E um grande número de arquivos em um diretório cria uma carga séria em todos os sistemas UNIX. Isso não permitiu distribuir tarefas entre vários despachantes / servidores.
A carga no VMmanager 6 é respondida por um serviço especial de gerenciamento de tarefas - Taskmanager. Agora, a maioria das operações é executada como adiada em processos separados. Isso aumenta a capacidade de resposta do sistema - uma solicitação separada não pode bloquear sua operação; e também aumenta a estabilidade - se algo der errado, não afetará todo o sistema, no máximo algumas operações. Um sistema flexível de bloqueios e alto isolamento de processos individuais permite enfileiramento e execução ideais de tarefas em paralelo, sempre que possível.
Também na nova versão, foi decidido separar o leitor e o gravador (processos responsáveis pelas operações de leitura e gravação no sistema). Ao contrário do VMmanager 5, o usuário do painel sempre pode obter informações, porque os encadeamentos do leitor sempre podem trabalhar em paralelo, independentemente de quantas operações de gravação estão sendo executadas no momento.
Interface
A diferença mais notável entre as duas gerações é a interface. E não se trata apenas de design. Diferenças de velocidade e capacidade de resposta.
A interface do VMmanager 5 está desatualizada na aparência e no "comportamento". O primeiro é visível a olho nu e o segundo é perceptível durante operações longas: se você parar a máquina virtual ou iniciar a migração em massa, uma barra de progresso de bloqueio será exibida na tela. Se o usuário tiver muitas dessas operações, alguém aguardará para ver uma lista de máquinas virtuais.

Bloqueando a barra de progresso quando uma máquina virtual para no VMmanager 5
Juntamente com as alterações de design, o VMmanager 6 veio com alterações de arquitetura no lado do cliente. Anteriormente, os modelos de página eram gerados a partir de arquivos xml do lado do servidor, agora é SPA (aplicativo de página única) baseado na popular estrutura Angular. O aplicativo consiste em módulos independentes separados (baixados sob demanda) e componentes. Os componentes são alocados à biblioteca e são desenvolvidos de acordo com o sistema de design.
Para aumentar a capacidade de resposta, a comunicação com o servidor ocorre usando a API REST e o WebSocket. Na maioria dos casos, tentamos usar operações sem bloqueio ou atrasadas. A parte do cliente é notificada de qualquer alteração no aplicativo, seja criando uma máquina virtual ou alterando o status de um nó em uma tabela, por meio de um serviço especial. Este serviço aprende sobre alterações no armazenamento de valores-chave, onde os eventos são obtidos de todos os microsserviços.
Assim, a interface do VMmanager 6 não apenas se tornou mais moderna, mas também mais conveniente, ágil e "amigável".

Quando uma VM para no VMmanager 6, a interface não é bloqueada. O status pode ser observado na lista de máquinas virtuais
Parte 2. Resolução de Problemas
Criando máquinas virtuais
Vamos seguir para as tarefas. A primeira é a criação de uma VM.
O VMmanager 5 cria uma máquina virtual em 8 a 10 minutos - muito tempo. Isso ocorre porque o processo segue os meios usuais: os pacotes são baixados, implantados e instalados. Para que os clientes não precisem esperar, os provedores escrevem plug-ins: eles criam uma máquina virtual com antecedência e, quando o cliente chega, reatribua-a. Um usuário elevado pode criar uma máquina virtual sozinho, mas você precisará preencher um formulário complexo.

Formulário de criação de máquina virtual no VMmanager 5
O VMmanager 6 usa um novo mecanismo para criar máquinas virtuais. O painel não faz o download de pacotes, mas implementa uma cópia da imagem. Não é necessário gravar plug-ins adicionais: a emissão da VM, mesmo sem eles, é rápida - de 1 minuto a 20 segundos a 2 minutos. Falhas na rede ou o lançamento de uma nova versão do sistema operacional não afetam mais a instalação e, se for iniciada, definitivamente terminará. A forma de criar uma VM tornou-se muito mais simples.

Formulário de criação de máquina virtual no VMmanager 6
Criando modelos de SO
Os fornecedores vendem máquinas virtuais aos clientes com WordPress, 1C-Bitrix ou outro software. As empresas que usam o VMmanager para necessidades internas criam muitos do mesmo tipo de VM para teste, implementando serviços internos e seu próprio software. A configuração de cada máquina é a rotina do administrador ou testador. O painel de controle ajuda a automatizá-lo: depois de configurar o modelo e criar VPS pré-configurado a partir dele.
No VMmanager 5, os modelos de SO são armazenados em repositórios. Para adicionar seu modelo, você precisa criar um repositório e preparar os arquivos de configuração do SO. O repositório é criado em um servidor separado. O modelo consiste em uma descrição XML e um arquivo de configuração, além de todos os arquivos necessários para criar o sistema operacional. O administrador deve preparar o modelo. A tarefa não é fácil e é improvável que seja resolvida sem instruções.

Modelos de SO no VMmanager 5. Você pode iniciar a instalação a partir da interface, mas não pode configurar o modelo
O modelo do SO no VMmanager 6 é uma imagem de disco de uma máquina virtual com um sistema operacional instalado. Para criar um modelo com software adicional, basta configurá-lo em uma máquina virtual e criar uma imagem de seu disco. Depois disso, todas as VMs criadas a partir desta imagem serão configuradas da mesma maneira. Somente as configurações de rede e o acesso à VM serão alterados - eles não serão gravados na imagem. A tarefa é simples, o administrador lidará sem instruções. Obviamente, os amantes de scripts ainda podem usá-los - existe essa possibilidade no VMmanager 6.

Criando uma máquina virtual a partir de uma imagem de usuário no VMmanager 6
Estatística e Monitoramento
Os serviços de estatísticas e monitoramento são auxiliares indispensáveis para todo administrador de sistema. Eles permitem que você responda rapidamente a situações de emergência que ocorrem em nós e VMs. Um afluxo repentino de visitantes, um ataque DDoS ou um script com defeito pode carregar muito a máquina virtual. Se você não tomar uma ação, ela falhará, bem como o site ou projeto localizado nele. É conveniente quando o sistema de monitoramento está incluído no painel.
O VMmanager 5 possui um mecanismo para monitorar o status das máquinas virtuais. A cada 10 minutos, ele analisa o número de pacotes enviados pela rede e o número de solicitações de gravação no disco da máquina virtual. Os 10 principais nós no tráfego de saída, carga do processador e memória são mostrados na página principal do painel. Não há notificações por correio ou mensageiros instantâneos.

Estatísticas sobre nós no VMmanager principal 5. Se não houver dados suficientes, os gráficos serão feios
O VMmanager 6 também monitora o status de VMs e nós, como antes, coleta estatísticas sobre o uso de recursos. Mas, seguindo as necessidades dos usuários, desenvolvemos um novo sistema de monitoramento on-line para nós e VMs. Ele monitora o consumo de RAM, CPU e disco rígido, monitora a atividade da rede. Se a carga se tornar crítica, é impossível não perceber isso - os dados de monitoramento são exibidos nas listas de nós e máquinas virtuais, bem como em cartões individuais dessas entidades. Depois de visitar a lista de nós, o administrador pode perceber imediatamente qual dos servidores está sobrecarregado e por qual indicador. O painel está em desenvolvimento, a aparência é esperada no painel este ano.

Placa de nó no VMmanager 6. Aqui estão informações sobre a carga e as estatísticas nas máquinas virtuais criadas
Mail
É conveniente quando o painel relata eventos ou problemas atuais. Para fazer isso, ele deve suportar o envio de mensagens.
Não há como gerenciar emails no VMmanager 5 . Somente um administrador pode redefinir uma senha esquecida; você não pode restaurá-la automaticamente. As notificações de criação de máquinas virtuais são enviadas pelo BILLmanager. Adicione um novo evento para alertas - tudo isso.
O VMmanager 6 pode enviar email. Já existem notificações sobre a criação e a reinstalação de VMs, cartas para recuperação de senha. Quando a cobrança está ativada, o envio de mensagens do painel pode ser desativado. No futuro, haverá notificações de problemas que ocorreram nos nós da VM. Também está planejado implementar o envio de notificações para mensageiros instantâneos.
Gerenciamento de tarefas
Não basta aprender sobre o problema, você precisa encontrar rapidamente a causa e corrigi-la. Por que a máquina virtual não criou ou o script não foi executado, que operações no sistema geralmente falham - tudo isso pode ser encontrado na lista de tarefas do VMmanager 6.
O VMmanager 5 não possui um mecanismo de monitoramento de tarefas, pois não havia um mecanismo de tarefas em si (consulte a primeira parte do artigo). A execução parcial de tarefas em segundo plano pode ser monitorada na seção "Status do sistema". Você pode ver a hora de início e término, bem como o status - concluído com sucesso ou com um erro. Uma operação de longa tarefa interrompida pode ser encerrada à força. Mas se a máquina virtual não tiver sido criada, você não poderá descobrir o motivo no painel: será necessário pegar o ID e acessar o console "log log".

Gerenciamento de tarefas no VMmanager 5. Você pode ver a hora e o status de início ou concluir o script
O usuário do VMmanager 6 gerencia operações na "Lista de tarefas". Ele armazena informações sobre operações em andamento e concluídas em máquinas virtuais, nós, modelos de SO. Pela duração das tarefas, é possível rastrear os padrões: qual operação levou a que horas, quem a iniciou. Se falhar, o log é visível - é exibido na interface. Se o script não for executado, um código de erro aparecerá na interface. Limpe imediatamente o que fazer.

A lista de tarefas no VMmanager 6. Você pode entender quem, o que e quando

O cartão da tarefa que foi concluída com um erro. Um log é visível no painel - você não precisa "comer nada" no console
Backups
Essa é uma das tarefas resolvidas de maneira diferente em dois painéis.
VMmanager 5. Você pode criar cópias de todas ou de máquinas virtuais específicas. Os backups são armazenados no disco local ou no armazenamento FTP remoto - um ou mais. A descrição XML da máquina virtual é copiada, cópias de seus discos virtuais, um despejo de memória é criado e tudo isso é compactado no arquivo morto.

Fazendo backup de máquinas virtuais no VMmanager 5
VMmanager 6 . Não há backup no sentido usual - tudo é armazenado no banco de dados. Se o painel falhar, mas o banco de dados estiver salvo, não será difícil restaurar o sistema. O papel dos backups de máquinas virtuais é realizado por imagens. Você pode restaurar uma VM danificada a partir de uma imagem, se necessário. Agora, as imagens são criadas com a VM parada, mas no futuro elas podem ser feitas sem parar e vendidas por meio do faturamento.

Criando uma imagem no VMmanager 6
Suporte nativo para o data center Hetzner
Hetzner é um data center popular entre os provedores russos. Ele usa o Port Security para proteção; portanto, ao trabalhar com ele, são necessárias configurações especiais de rede.
No VMmanager 5, a rede para os nós Hetzner deve ser configurada manualmente: edite os arquivos de configuração do painel, configure a interface de rede e a ponte de rede do servidor e ative o encaminhamento. Ao mesmo tempo, um painel pode gerenciar apenas um cluster - se o provedor tiver seus próprios servidores além dos alugados pela Hetzner, eles deverão ser configurados em um painel separado.
O VMmanager 6 possui suporte nativo ao Hetzner. O administrador adiciona um cluster do tipo Hetzner e conecta os servidores. Depois disso, o roteamento segue o modelo desse datacenter, as configurações da VM são feitas de acordo com o tipo de cluster no qual estão localizados. Ao mesmo tempo, no mesmo painel, pode haver clusters com outras configurações de rede. A propósito, o gerenciamento de vários clusters é um dos principais recursos do VMmanager 6.

Formulário de criação de cluster do tipo Hetzner no VMmanager 6
Armazenamento local
O VMmanager 5 suporta armazenamento de arquivos e LVM. Em um cluster, pode haver nós com diferentes tipos de armazenamento (como o tempo mostrou, o mecanismo acabou não sendo reclamado e exigiu muitos recursos). O painel também suporta um grande número de tipos diferentes de armazenamento conectado à rede. Na sexta versão, nos próximos lançamentos, implementaremos o suporte para os mais populares deles - Ceph-storage.
O VMmanager 6 suporta armazenamento de arquivos e LVM. Em um cluster, não pode haver nós com diferentes tipos de armazenamento. Isso elimina problemas de migração - eles são inevitáveis se alguns dos discos estiverem no armazenamento de arquivos e outros no LVM.
Requisitos de sistema
VMmanager 5 : um servidor limpo com CentOS 6 e 7, 100-150 GB para a partição raiz.
VMmanager 6 : um servidor limpo com o CentOS 7, um processador de núcleo duplo com uma frequência de 3 GHz, 4 GB de RAM, 40 GB de espaço em disco. O servidor não precisa ser de ferro, o virtual servirá.
Preço / Transição
O VMmanager 5 custa 8 euros por nó por mês, 80 - se você comprar por um ano. Cada novo nó custa 8 euros. Agora apenas aqueles que já adquiriram uma licença para o VMmanager 5 podem comprá-la.
O custo do VMmanager 6 consiste em duas partes: o preço dos nós e um pacote de máquinas virtuais.
- Os nós são vendidos um de cada vez, a 4 euros / mês para cada um.
- Máquinas virtuais são vendidas em pacotes. O pacote mínimo inclui 20 VMs e custa 8 euros / mês.
Para clientes com licenças ativas do VMmanager 5, é válida uma oferta especial para a compra do VMmanager 6. As condições e os detalhes sobre a migração podem ser encontrados no anúncio no site do ISPsystem .
Conclusão
A quinta e sexta geração do VMmanager são adequadas para gerenciar a virtualização. Mas a diferença entre eles é grande. Para resumir:
- O VMmanager 5 deve ser usado para resolver tarefas não padrão: quando você precisar de imagens ISO. E também - instantâneos e armazenamentos de rede (iSCSI, NFS, Ceph, GlusterFS).
- O VMmanager 6 é mais conveniente e rápido, suporta cargas pesadas e é adequado para quase todas as tarefas. Até o final do ano, planejamos adicionar suporte para IPv6, Ceph-stores, além de um painel de administrador e notificação de problemas no correio e no messenger.
O VMmanager 6 já foi classificado por 30 fornecedores. Comentários - no anúncio no site do ISPsystem.
Os detalhes e detalhes máximos estão na documentação do VMmanager 5 e VMmanager 6 .
Você pode experimentar o VMmanager 6. gratuitamente agora. A versão de avaliação é válida por 30 dias. Para usá-lo, deixe uma solicitação e siga as instruções na carta de resposta.