Então, basicamente, preciso hospedar uma aplicação web frontal e traseira, toda PHP, e também um banco de dados MySQL com HA.
Haverá 2 servidores em datacenters diferentes.
E estou pensando se deveríamos usar o Proxmox com 2 VMs, uma para a aplicação web e outra para o banco de dados.
Ou se eu deveria apenas instalar o debian e juntar tudo e pronto.
A HA para o servidor web está sendo tratada por uma instância HaProxy que está em outro servidor. O banco de dados HA será tratado pelo ProxySQL em HA (então basicamente o servidor MySQL e o ProxySQL estarão no mesmo servidor), mas meus aplicativos precisam saber a qual ProxySQL eles devem se conectar.
Se eu usar o Proxmox é bem simples fazer isso com o Keepalived, porque tudo vai usar IP's internos e está tudo bem.
Mas se eu usar debian serão os ip's públicos, e a hospedagem que estou usando ( OVH ), tem algo que permite isso chamado IP's flutuantes, mas demora em torno de 5 minutos para fazer a troca, então são 5 minutos que o site está em baixo.
Usando o proxmox também tenho outras vantagens: posso ativar servidores para fazer atualizações e depois apenas trocar e assim por diante sem quebrar nada. Usar o debian implica diretamente em reformatar o servidor e assim por diante.
E é claro que o uso do Proxmox terá um leve impacto no desempenho, mas acho que isso é insignificante.
Existem prós/contras para qualquer solução e não tenho certeza de qual direção seguir.
Então virtualização ou bare metal?
Os servidores são:
CPU: Xeon-E 2288G - 8c/16t
Memory: 32GB
Disks: 2× 960GB SSD NVMe - RAID 1
Alguma ideia? Obrigado!
Responder1
Sua justificativa para usar o Proxmox aqui parece ser para que você possa usar o keepalived (embora eu não saiba exatamente para que serve). Isso parece um grande exagero.
Existem outras razões que podem fazer sentido neste contexto que você sugeriu.
Você também menciona IPs flutuantes da OVH.
Este é o problema XY.
Sua principal preocupação parece garantir que (pelo menos um) os serviços estejam disponíveis através de um IP virtual.
Os IPs virtuais não funcionam em data centers sem muitas configurações de roteamento inteligentes. Complexidade é ruim.
IPs virtuais como mecanismo de HA são uma droga. Você está confiando no seu sistema para fazeralgoquando está em um estado quebrado. Existem complicações em torno do cérebro dividido. É difícil testar/monitorar. Há sempre uma interrupção no serviço.
Você não precisa de um IP virtual - se o ProxySQL (ou haproxy ou similar) estiver disponível/configurado em cada nó que precisa se conectar ao banco de dados e conhecer todos os nós do banco de dados que você possui HA para seu serviço de banco de dados. Para o serviço HTTP, a parte principal do HA são os endereços DNS round-robin em vários hosts. NB: Ainda há muita informação errada sobre rrDNS e HTTP flutuando nas interwebs. Ele lida com casos que um balanceador de carga não pode e lida com a maioria dos casos de uso que um balanceador de carga faz.
Seu maior custo para usar a virtualização em um contexto como esse é a E/S de disco DBMS. Se o desempenho do mysql tiver um impacto significativo no desempenho geral do serviço e seu orçamento permitir isso, você poderá eliminar esse problema passando por um controlador de disco dedicado e armazenamento para a VM DBMS.