Synology VMM Pro: Dimensionando corretamente uma VM de produção com IA (2026)

A máquina virtual que executava este site passou meses com o dobro do hardware necessário. Oito CPUs virtuais, dezesseis gigabytes de memória e uma carga de trabalho real que nunca utilizou mais de um quarto de nenhum dos dois. Isso não é incomum. Você dimensiona generosamente uma máquina virtual no primeiro dia porque não tem ideia do que ela precisará, o site funciona e ninguém nunca mais volta atrás. Este artigo é o relato de como voltamos atrás. Reduzimos essa máquina virtual para quatro vCPUs e oito gigabytes usando o Synology. VMM Pro, Com um assistente de IA controlando o shell, o armazenamento ficou inacessível por dois minutos e sete segundos. O redimensionamento em si é a parte tediosa — são apenas dois campos em uma caixa de diálogo. As partes interessantes são a medição que comprovou que oito gigabytes eram suficientes, a ordem das operações que impede que o sistema convidado fique sem memória na primeira inicialização e o snapshot que tornou tudo reversível. O VMM Pro torna cada um desses recursos barato, e esse é o argumento principal a seu favor.

Ponto SynoPower Club:O redimensionamento correto é a tarefa menos glamorosa em auto-hospedagem, mas também a que oferece o melhor retorno. Ninguém escreve um post no blog sobre os oito gigabytes que recuperou. A memória ociosa dentro de uma máquina virtual superdimensionada não economiza nada — em um Synology, ela é fixa, então não pode ser usada por nenhum outro sistema. Recuperamos oito gigabytes em um host que já estava começando a ficar cheio, o que significa que não precisamos mais comprar hardware para duas máquinas virtuais. O que tornou tudo mais seguro, em vez de assustador, foi o VMM Pro subjacente: um snapshot bloqueado antes do primeiro comando e uma máquina que eu poderia restaurar ao estado original em noventa segundos caso algo desse errado. E não deu errado. Mas eu não teria começado sem ele.

Índice

O que é Synology e VMM Pro?

O Virtual Machine Manager é o pacote de hipervisor do Synology. Ele é instalado a partir da Central de Pacotes, é gratuito e, em um único NAS, executará sem problemas sistemas operacionais convidados Linux, Windows e Virtual DSM com snapshots locais. VMM Pro É a atualização paga que transforma esse hipervisor de caixa única em um pequeno cluster: várias unidades NAS gerenciadas como um único pool, máquinas virtuais que podem se mover entre elas, alta disponibilidade e replicação de snapshots de um host para outro.

Essa distinção é importante para este artigo porque o dimensionamento correto é uma decisão de capacidade, e a capacidade só se torna relevante quando você tem mais de uma máquina no cluster. Em um único NAS, a memória liberada é memória que fica ociosa nesse NAS. Em um cluster VMM Pro, é memória que outro host pode utilizar durante um failover, ou na qual uma nova máquina virtual pode ser instalada sem custos adicionais.

A Virtual DSM A carga de trabalho que redimensionamos aqui é a instalação completa do DSM executada como uma máquina virtual. Ela executa o Container Manager, que por sua vez executa os dois contêineres Docker por trás deste armazenamento. Essa estrutura em camadas é intencional e foi o que tornou a tarefa segura. Já abordamos a migração de uma pilha Docker entre máquinas virtuais em [referência omitida]. nosso guia passo a passo para migração do VDSM para o Docker; Este artigo trata de como fazer com que o convidado embaixo dele tenha o tamanho certo.

VMM Pro vs. Edição Gratuita: O que a Atualização Realmente Oferece

A versão gratuita não é uma demonstração limitada. Ela executa máquinas virtuais de produção, tira snapshots e, para um único NAS, é realmente tudo o que a maioria das pessoas precisa. O que você está comprando com VMM Pro Não se trata de funcionalidades exclusivas de um convidado, mas sim de funcionalidades comuns a todos os hosts.

CapacidadeEdição gratuitaVMM Pro
Execute máquinas virtuais em um único NAS.SimSim
instantâneos locaisSimSim
Várias unidades NAS como um clusterNãoSim
Transferir um hóspede entre anfitriõesNãoSim
Failover de alta disponibilidadeNãoSim
Replicar snapshots para outro hostNãoSim

Antes de comprar, verifique a página oficial de recursos, cujo link está nas referências, pois a versão Synology revisa a divisão de edições entre as versões do DSM. O teste prático é mais simples do que a tabela: se você possui um NAS e está satisfeito em restaurar manualmente a partir de um snapshot, a edição gratuita é suficiente. No entanto, se você tiver um segundo NAS e quiser que as máquinas virtuais do primeiro sobrevivam a uma falha, você precisará da versão paga. Licença VMM Pro.

Nosso cluster possui três nós, e apenas dois deles permanecem ligados na maior parte do tempo. O terceiro é um servidor de espera a frio que é ativado periodicamente para receber snapshots replicados e retorna ao estado de repouso. Esse padrão — pagar pela energia elétrica somente quando a redundância é necessária — é um padrão VMM Pro, e é por isso que o console exibe um aviso permanente sobre um host ao qual não consegue se conectar. O aviso é o funcionamento correto do projeto, não uma falha.

Como um convidado de produção acaba com o dobro do tamanho necessário

Três coisas fazem com que os hóspedes aumentem o tamanho da memória e nada os faça diminuir. A primeira é que o tamanho inicial é um palpite, e um palpite generoso não custa nada no primeiro dia. A segunda é que todo incidente termina com alguém aumentando o limite. O nosso teve dois incidentes de memória em uma semana; ambos foram resolvidos dando mais espaço a algum item, e nenhum deles voltou a acontecer. A terceira é que um painel mostrando 80% de uso de memória parece alarmante, então ninguém se oferece para liberar memória. Nada disso é um problema do VMM Pro. É um problema humano, e é por isso que hóspedes com tamanho acima do permitido são a norma.

Essa última é a armadilha, e vale a pena dizer claramente: o número que a maioria das pessoas usa para decidir se um contêiner tem espaço é o número errado. O nosso indicava que o contêiner do banco de dados estava com 81% da sua capacidade. Não estava. A seção cinco explica exatamente o porquê, e a medição que transformou o redimensionamento do VMM Pro em uma decisão segura, em vez de uma decisão otimista.

Dimensionando corretamente uma conexão ao vivo com o VMM Pro em 4 etapas

Todo o processo consiste em quatro etapas, e apenas a terceira tira o site do ar. O tempo total de inatividade para nós foi de dois minutos e sete segundos, medido desde o momento em que os contêineres foram interrompidos até o primeiro HTTP 200 após o retorno da máquina virtual. VMM Pro Está envolvido nas etapas um e três; a etapa intermediária ocorre dentro do hóspede.

Faça uma captura de tela com a tela bloqueada antes de qualquer outra coisa.

Faça um snapshot da máquina virtual (máquina virtual) a partir da imagem VMM Pro e marque-a como bloqueada para que a rotação de snapshots agendada não a exclua. Isso servirá como um botão de desfazer para todas as etapas subsequentes, capturando a máquina inteira em vez de apenas uma pasta. Dê a ela uma descrição que explique o que você estava prestes a fazer, pois daqui a três meses o registro de data e hora não terá mais significado algum.

Meça o que a carga de trabalho realmente utiliza, não o que o painel de controle mostra.

Leia as estatísticas de memória do cgroup dentro de cada contêiner e separe a memória anônima do cache de páginas. Somente a memória anônima não pode ser recuperada, e somente esse valor deve orientar o dimensionamento. Aproveite e verifique o buffer pool do banco de dados em relação ao tamanho real do banco. O nosso tinha um buffer pool de três gigabytes para um banco de dados de seiscentos e sessenta e três megabytes.

Reduza o tamanho dos recipientes antes de reduzir o tamanho do convidado.

Primeiro, reduza os limites de memória do aplicativo e do banco de dados e sincronize esses mesmos valores no seu arquivo de composição para que uma reconstrução posterior não os desfaça. Um contêiner cujo uso atual já exceda o novo limite não pode simplesmente ser limitado – altere sua configuração e reinicie-o para que volte com um consumo menor, depois aplique o limite inferior. Inverter essa ordem é o que causa um loop de falta de memória na primeira inicialização.

Pare os contêineres corretamente, redimensione-os e verifique o comportamento em vez das configurações.

Pare o contêiner do banco de dados com um tempo limite generoso e confirme um desligamento limpo em seu log, para que o sistema convidado não inicialize no modo de recuperação de falhas. Desligue o sistema convidado, defina os novos valores de vCPU e memória em VMM Pro e ligue-o novamente. Em seguida, verifique o que os usuários interagem: páginas reais retornando código 200, preços corretos, nenhum evento de falta de memória – e não apenas os números digitados na caixa de diálogo.

Um snapshot bloqueado do VMM Pro tirado antes do redimensionamento da máquina virtual de produção.
A imagem bloqueada da primeira etapa. O cadeado é o que impede que a rotação agendada a exclua.

Por que o comando `docker stats` pode te levar a uma resposta errada?

Antes da redimensionamento, o painel de controle do contêiner parecia uma máquina sem espaço para mais nada:

docker stats WordPress 2,51 GiB / 7 GiB (35,9%) WordPress-DB 3,25 GiB / 4 GiB (81,1%) <-- parece quase cheio

Ao ler isso, você conclui que o banco de dados precisa de seus quatro gigabytes e que a máquina virtual não pode ficar com menos de doze. Ambas as conclusões estão erradas, porque o uso de memória relatado por essas ferramentas inclui o cache de páginas, e o cache de páginas é liberado automaticamente assim que qualquer outra coisa precisa da memória. O número que determina se você receberá um erro de falta de memória é a memória anônima. Leia-a diretamente:

docker exec sh -c 'awk "/^(cache|rss) /{printf "%-8s %8.0f MBn", $1, $2/1048576}" /sys/fs/cgroup/memory/memory.stat' WordPress rss 1305 MB cache 1609 MB WordPress-DB rss 2553 MB cache 1543 MB

Agora o cenário se inverte. O contêiner da aplicação está realmente usando 1,3 GB, e não 2,5 GB. E desses 1,3 GB, 768 MB correspondem a um único cache de opcode compartilhado que cada processo de trabalho mapeia em vez de copiar — portanto, vinte processos de trabalho consumiam aproximadamente 27 megabytes cada, e não os 250 megabytes que uma soma ingênua da memória dos processos sugere. Os 2,5 GB do banco de dados eram quase inteiramente um pool de buffers com três gigabytes para um banco de dados de 663 MB.

Mais uma armadilha da mesma família: o contador de picos históricos exibirá com prazer um contêiner que atingiu seu limite, porque esse contador também inclui o cache de páginas. Os nossos dois tinham atingido. Nenhum deles jamais havia sido encerrado por falta de memória. Verifique o contador de falta de memória, não o contador de pico.

Com esses dois fatos em mãos, oito gigabytes deixaram de ser um número arriscado. Reduzir o buffer pool para um gigabyte — ainda consideravelmente maior que todo o banco de dados — liberou mais memória real do que o necessário para o redimensionamento. O número que finalmente digitamos em VMM Pro já havia sido comprovado antes do desligamento da máquina virtual.

Como uma pequena equipe usa o VMM Pro para recuperar um servidor inteiro.

A memória em uma máquina virtual Synology é fixa. O hipervisor a bloqueia e pré-aloca, o que significa que você não pode sobrecarregá-la como em algumas outras plataformas. Dezesseis gigabytes atribuídos a uma máquina virtual são dezesseis gigabytes que nenhuma outra máquina virtual pode usar, esteja ela ocupada ou ociosa. Essa restrição é o que torna o dimensionamento correto importante. VMM Pro Especificamente: liberar memória é a única maneira de criar capacidade sem comprar um NAS.

Visão do cluster VMM Pro mostrando a memória do host disponível após o redimensionamento correto da máquina virtual.
Visualização do cluster VMM Pro após o redimensionamento. A memória reservada para máquinas virtuais caiu de 19,74 GB para 11,74 GB.

Oito gigabytes foram recuperados em um host com um total de 46,83 GB. A memória disponível passou de aproximadamente 22 gigabytes para 30,29 GB. Na prática, isso equivale a duas máquinas virtuais adicionais do tamanho que realmente executamos, criadas do zero, apenas por medição. Em um cluster de três nós, isso também significa que os hosts sobreviventes têm mais espaço para absorver as máquinas virtuais de um nó que falha, que é o principal motivo para pagar pelo VMM Pro.

O lado da CPU contou a mesma história de forma mais direta. O sistema convidado tinha oito CPUs virtuais e estava usando cerca de um sexto de um núcleo em repouso. Quatro não era um compromisso; quatro ainda é um valor generoso, e o VMM Pro o aplicou em um único campo. Desde o redimensionamento, o sistema convidado apresenta uma carga média de 1,36 contra quatro vCPUs, o que representa aproximadamente um terço de utilização no período de maior movimento do dia.

Synology VMM Pro mostrando o convidado com o tamanho correto, com 4 vCPUs e 8 GB de memória.
O resultado após a alteração: quatro núcleos, oito gigabytes e trinta e oito snapshots registrados.

A ordem das operações que impede um loop de falta de memória durante a inicialização.

Esta é a parte que é fácil de errar e cara de errar. Os limites de memória do contêiner e a memória do convidado que você definiu em VMM Pro são dois limites distintos, e se a soma dos limites do contêiner exceder a memória do convidado, você terá dito aos contêineres que eles podem usar mais memória do que a máquina possui. Sob carga, o kernel resolve essa discrepância encerrando algum processo.

Antes da mudança, nossos limites eram de sete gigabytes para o contêiner da aplicação e quatro para o banco de dados — onze gigabytes em uma máquina virtual de dezesseis gigabytes, o que era aceitável. Em uma máquina virtual de oito gigabytes, teria sido um incidente assim que o primeiro pico de tráfego acontecesse. Portanto, os contêineres tiveram que ser desligados primeiro.

ContextoAntesDepois
Convidado8 vCPUs / 16 GB4 vCPUs / 8 GB
Limite do contêiner de aplicativos7168 MB4096 MB
limite do contêiner de banco de dados4096 MB2048 MB
pool de buffers do banco de dados3 GB1 GB
conexões máximas do banco de dados300100
teto do trabalhador Apache5035

Existe uma regra de segunda ordem oculta nessa tabela. Você não pode reduzir o limite de memória de um contêiner abaixo do que ele está usando atualmente e esperar que o kernel se comporte de forma adequada. O contêiner do aplicativo estava usando menos do que seu novo limite, então seu uso foi limitado em tempo real, sem reinicialização e sem tempo de inatividade. O contêiner do banco de dados estava usando mais, então seu pool de buffers teve que ser reconfigurado e o contêiner reiniciado primeiro; somente então o limite inferior pôde ser aplicado. Nenhuma dessas etapas ocorre no VMM Pro — ambas precisam ser concluídas antes de você abrir a caixa de diálogo de redimensionamento.

O Gerenciador de Contêineres mostra que o limite de memória do contêiner do WordPress foi reduzido para 4 GB.
O contêiner do aplicativo após a alteração, com seu horário de inicialização coincidindo com a reinicialização do sistema convidado.

O limite de workers é o único custo real de todo o projeto e merece ser mencionado, em vez de omitido. Reduzir o contêiner da aplicação de sete gigabytes para quatro significa que menos requisições simultâneas podem ser executadas: de cinquenta para trinta e cinco, uma redução de trinta por cento na concorrência máxima. No dia a dia, o site utiliza onze workers, então nada mudou. Durante um pico de tráfego publicitário, isso pode mudar. Essa é uma troca que fizemos conscientemente e que está documentada para que a próxima pessoa não a descubra durante uma interrupção.

O que o assistente de IA realmente fez e onde errou.

O assistente realizou as tarefas que recompensam a paciência: tirou o snapshot VMM Pro antes de fazer qualquer alteração, leu as estatísticas do cgroup em vez de confiar no painel de controle, calculou a restrição de ordenação nos limites do contêiner e verificou o resultado buscando páginas reais e conferindo se os preços ainda eram exibidos na moeda correta. Isso representa talvez quarenta minutos de trabalho cuidadoso comprimidos em poucos minutos, e é realmente útil.

Também errou três vezes em uma única sessão, o que é a parte mais útil da história.

  • O sistema recomendou dez gigabytes quando o usuário solicitou oito. O usuário estava certo — mas apenas porque o buffer pool superdimensionado foi corrigido ao mesmo tempo. O assistente tinha a medida em mãos e ainda assim insistiu no número mais seguro.
  • Renomeou o convidado, leia sucesso: verdadeiro A API retornou o erro e informou que a renomeação havia sido concluída. No entanto, o nome não havia sido alterado. O campo de renomeação utilizado foi o que identifica o convidado, não o que altera o nome, e a API retorna sucesso de qualquer forma.
  • O sistema detectou um alerta de cluster VMM Pro sobre um host inacessível e o sinalizou como um caminho de failover degradado. O host era um servidor de espera a frio, desligado propositalmente. O alerta estava presente há meses, conforme o esperado.

O padrão nos três casos é o mesmo: um resultado confiável a partir de uma verificação plausível. As salvaguardas que realmente importam, portanto, são pouco glamorosas. Tire um instantâneo primeiro, sempre, antes do primeiro comando, e não antes do comando arriscado. Nunca aceite um valor de retorno como prova — leia o estado de volta e observe o campo que você pretendia alterar. E verifique o comportamento, não as configurações: uma página que carrega e um preço correto são mais importantes do que qualquer número de confirmações de que um comando retornou zero.

Nada disso é específico da IA. É a mesma disciplina que você esperaria de um novo colega com acesso root, que seja rápido, incansável e, ocasionalmente, tenha certeza de algo que não é verdade.

Onde encontrar mais recursos oficiais

Três vídeos que valem a pena assistir antes de redimensionar qualquer coisa com o VMM Pro. O primeiro oferece a melhor visão geral do pacote; os outros dois abordam a criação e o licenciamento de convidados, que é onde a maioria das pessoas encontra dificuldades na primeira tentativa.

Um guia passo a passo do Virtual Machine Manager, o pacote de atualizações do VMM Pro.
Criação de uma máquina virtual DSM do zero, incluindo a solicitação de licença.
Uma análise antiga, porém ainda precisa, da instalação do Virtual DSM dentro do Virtual Machine Manager.

Limitações a conhecer antes de confiar a produção ao modelo VMM Pro

A memória não pode ser sobrecarregada. Cada gigabyte alocado fica isolado de todo o resto no NAS, esteja ele ocupado ou não. Essa restrição é o que torna o dimensionamento correto valioso, e também o motivo pelo qual uma estimativa generosa no primeiro dia é mais cara aqui do que em plataformas que permitem sobrealocação.

Reduzir a memória requer uma reinicialização, pois o VMM Pro não remove memória de uma máquina virtual em execução. Aumentar o tamanho do disco virtual e o número de recursos é feito em tempo real, mas remover memória significa desligar a máquina virtual. Reserve um curto período para a interrupção e agende-a; dois minutos são possíveis, mas não é zero.

Discos virtuais crescem e nunca diminuem. Se você alocou armazenamento em excesso em vez de memória, VMM Pro Não vou devolver. A única solução é criar um novo servidor para convidados e migrar para ele, o que levaria muito mais tempo do que esta tarde.

Os limites de CPU dentro de contêineres podem não funcionar de forma alguma. Neste sistema operacional convidado, o kernel não possui controle de largura de banda CFS, portanto, as cotas de CPU do contêiner são rejeitadas imediatamente — e pior, tentar definir uma cota no mesmo comando que um limite de memória faz com que todo o comando falhe silenciosamente. Os limites de memória e o limite máximo de processos do próprio aplicativo são a única proteção de CPU disponível.

Um snapshot não é um backup. Ele reside no mesmo host e no mesmo pool de armazenamento que a máquina virtual que protege. O VMM Pro pode replicar snapshots para outro host mais próximo, mas o que realmente sobrevive a um incêndio é o backup externo dos dados em si.

Por fim, observe o que o console exibe. As páginas de detalhes do contêiner mostram as variáveis de ambiente em texto simples, incluindo as senhas do banco de dados. Isso demonstra a honestidade do Docker, e não uma falha no pacote, mas significa que uma única captura de tela da página errada pode expor uma credencial. Se isso lhe incomoda — e deveria —, mova os segredos para um arquivo que o contêiner lê, em vez de passá-los como variáveis.

Referências

Perguntas frequentes

Vale a pena usar o VMM Pro como um único NAS?

Provavelmente não. O Virtual Machine Manager é gratuito e a edição gratuita executa máquinas virtuais de produção com snapshots locais em um único servidor. O VMM Pro se paga quando você tem um segundo NAS e deseja que as máquinas virtuais se movam entre hosts, realizem failover automático ou repliquem seus snapshots em um local diferente da máquina em que estão sendo executadas.

Posso reduzir o tamanho de uma máquina virtual Synology sem tempo de inatividade?

Não. A memória é bloqueada e pré-alocada em um host Synology, portanto, o VMM Pro não pode reduzi-la em tempo real e o sistema convidado precisa ser desligado. O nosso ficou inacessível por dois minutos e sete segundos de ponta a ponta, incluindo um desligamento limpo do banco de dados antes disso. A expansão de um disco virtual, por outro lado, ocorre enquanto o sistema convidado está em execução.

Como posso saber quanta memória um contêiner realmente precisa?

Leia as estatísticas de memória do cgroup dentro do contêiner e observe o valor da memória anônima, não o total relatado pelas ferramentas de monitoramento. O uso total inclui o cache de páginas, que o kernel recupera sob demanda. Nosso contêiner de banco de dados relatou 3,25 GB de um limite de 4 GB, mas continha apenas 2,55 GB de memória não recuperável, a maior parte da qual era um pool de buffers superdimensionado.

Em que ordem devo alterar os limites do contêiner e a memória do convidado?

Primeiro os contêineres, depois o convidado – não abra a caixa de diálogo de redimensionamento do VMM Pro até que os limites do contêiner sejam adequados. Se os limites do contêiner ultrapassarem a capacidade do convidado, este poderá ficar sem memória na primeira inicialização. Observe também que um contêiner que já esteja usando mais memória do que o novo limite não pode simplesmente ser limitado: reconfigure-o e reinicie-o para que volte com um tamanho menor, e então reduza o limite.

Um snapshot bloqueado em VMM Pro conta para o meu período de retenção?

O bloqueio impede a rotação programada de um snapshot, e é exatamente por isso que você o deseja antes de uma alteração como essa. Sem o bloqueio, uma programação de replicação ocupada pode excluir silenciosamente o ponto de restauração do qual você dependia antes que você consiga confirmar se a alteração é segura.

É seguro permitir que um assistente de IA redimensione uma máquina virtual de produção?

Com mecanismos de segurança, sim, e esses mecanismos não são complicados. Tire um instantâneo antes do primeiro comando, em vez de antes do comando arriscado. Exija que o estado seja lido de volta, em vez de confiar em uma resposta de sucesso. Verifique o comportamento que os usuários podem ver, em vez das configurações que você acabou de escrever. Nosso assistente errou três vezes em uma sessão, e todas as falhas foram detectadas pela leitura do estado.

O que o redimensionamento realmente gerou em termos de economia?

Oito gigabytes de memória fixa e quatro CPUs virtuais foram devolvidos ao pool do host VMM Pro, elevando a memória disponível de aproximadamente 22 gigabytes para 30,29 GB de um total de 46,83 GB. Isso oferece espaço para mais duas máquinas virtuais do porte que utilizamos, além de maior margem de segurança para o cluster absorver a falha de um nó.

O Virtual DSM consegue executar o Docker? E redimensionar a máquina virtual afeta os contêineres?

Sim, uma máquina virtual Virtual DSM é uma instalação completa do DSM, portanto o Container Manager é instalado exatamente da mesma forma que seria em um NAS físico. Redimensionar a máquina virtual em VMM Pro não afeta os contêineres em si, mas seus limites de memória representam um teto separado que deve ser reduzido para se adequar à máquina virtual menor antes de você redimensioná-la.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *


Avaliação
5.0
Leia nossas avaliações