Para responder à sua pergunta, sim, isso não só parece possível, mas também é possível.
Primeiro, eu estou supondo pela frase que você comprou 2 servidores virtuais que estes são de alguma empresa de hospedagem? OK, vamos supor que isso seja verdade, você honestamente seria melhor usar um como servidor de banco de dados e outro como o servidor web, se você está limitado a apenas os dois. Se você acha que terá tráfego suficiente para exigir dois servidores da Web, obtenha um terceiro servidor e execute-o como seu servidor de banco de dados. Se você obtiver dois servidores web, sim, você quer seu código nos dois servidores.
Se você realmente quiser dois servidores da Web e dois servidores de banco de dados e comprar apenas dois servidores, NÃO poderá executá-los no modo ativo ativo no mesmo banco de dados. As atualizações só podem ser enviadas para um mestre e, em seguida, a replicação pode propagar essas alterações para os escravos.
A maneira simples de balancear a carga é fazer o DNS round-robin, isso é simples, rápido e não é muito difícil de configurar e faz um bom trabalho ao distribuir a carga. Com base na sua pergunta, estou fazendo suposições de seu nível de habilidade recomendando isso como ponto de partida.
Isso realmente risca a superfície e, se você levar a sério esse site e acreditar honestamente que terá tráfego suficiente para exigir uma configuração de balanceamento de carga, encontre alguém que conheça o lado dos sistemas para ajudá-lo.