Meu título provavelmente não abrange o escopo completo do que eu preciso, então vou descrever o que quero realizar.
Eu tenho dois servidores Linux com grandes matrizes de unidade, várias CPUs e uma grande quantidade de RAM. Eu tenho o que será o array de armazenamento de arquivos primário em uma placa RAID separada do sistema operacional em cada servidor. Os servidores também têm uma placa Infiniband de 40 Gbps para conexão entre si e uma placa LAN de 1 Gbps de 4 portas para conectar máquinas virtuais à rede.
Meu objetivo é este:
Eu quero eliminar alguns servidores físicos mais antigos, virtualizando suas funções (com o Qemu-KVM). Eu quero os dois grandes servidores para lidar com as máquinas virtuais, mas eu quero ser capaz de reprová-los. Não precisa ser automático. Se o ServerA tiver uma falha de hardware, eu quero poder entrar no ServerB e iniciar os servidores virtuais nessa máquina e ir.
Vários servidores físicos que quero virtualizar são servidores de arquivos. Eu gostaria que as matrizes de armazenamento nos grandes servidores agissem como uma espécie de SAN para as máquinas virtuais, por isso não preciso criar uma imagem de unidade virtual para armazenar os arquivos. Eu, é claro, gostaria que o storage array ServerA para ser espelhado para ServerB, novamente para fornecer failover.
Meu pensamento era usar algo como o Gluster of Ceph para lidar com o armazenamento de arquivos e o espelhamento das imagens virtuais do ServerA para o ServerB. Minha confusão vem da sobrecarga de informação. Como as máquinas virtuais acessariam o sistema de arquivos distribuído no mesmo host em que são executadas? Haveria um gargalo? O host virtual teria que sair da placa de rede de 1 Gbps e, em seguida, fazer o loop de volta, ou poderia de alguma forma se comunicar internamente? Eu tenho tudo isso para trás?
Eu não espero uma resposta passo a passo, mas uma recomendação geral com links para me apontar na direção certa seria muito apreciada.