Como Configurar um Site WordPress Altamente Disponível do Zero, Parte 2: Criação dos Containers

Nesta série de tutoriais, estamos a criar um site WordPress altamente disponível do zero.

Na última parte, abordámos a arquitetura e o design.

As tecnologias de replicação para a base de dados e servidores exigem commits em cada site, e pode demorar bastante tempo para receber uma confirmação de volta, especialmente se estiver a atravessar oceanos. Isso pode abrandar significativamente o desempenho. Sempre que publicar algo ou um utilizador fizer um comentário, haverá um atraso substancial. Não estou a dizer que não é possível, mas este tipo de planeamento de desastres está fora do âmbito desta série.

O site será homeserver.pt, e aqui está como os nós vão ficar:

  • 123.456.789.123 node1.homeserver.pt
  • 456.123.456.789 node2.homeserver.pt
  • 789.123.456.789 node3.homeserver.pt

Para esta demonstração, apenas precisamos de 10GB. Isto será suficiente para armazenar o nosso sistema de ficheiros replicado com GlusterFS. Optámos por usar XFS, já que este é considerado ideal para GlusterFS.

Criar um Container no Proxmox e Configurar GlusterFS com NFS-Ganesha

Aqui está como podes criar um container no Proxmox e configurá-lo para usar GlusterFS com NFS-Ganesha, uma abordagem que, embora não suporte migração em tempo real (“live migration”) dos containers LXC, permite uma migração rápida com pouco tempo de inatividade.

  1. Criar o Container:
    • No Proxmox, aceda ao menu Datacenter e clique em Create CT.
    • Preencha as informações básicas do container, como o ID, nome e palavra-passe do root.
    • Selecione o template que deseja utilizar para o container.
    • Na secção Disco, defina o tamanho do disco para 10GB (ou o tamanho necessário).
  2. Instalar e Configurar NFS-Ganesha no Servidor Gluster:
    • No servidor onde o volume Gluster está localizado, instale o NFS-Ganesha:bashCopiar códigosudo apt-get install nfs-ganesha nfs-ganesha-gluster
    • Configure o NFS-Ganesha para exportar o volume GlusterFS:
      • Edite o ficheiro de configuração /etc/ganesha/ganesha.conf para incluir a configuração necessária para o volume GlusterFS.
      • Exemplo de uma configuração básica
        • EXPORT { Export_Id = 101; Path = "/mnt/glusterfs_volume"; Pseudo = "/nfs_gluster"; Protocols = "3","4"; Access_Type = RW; Squash = No_Root_Squash; FSAL { Name = GLUSTER; Hostname = "localhost"; Volume = "gluster_volume_name"; } }
      • Reinicie o serviço NFS-Ganesha
        • sudo systemctl restart nfs-ganesha
  3. Configurar o Proxmox para Usar o NFS Exportado:
    • No Proxmox, vá a Datacenter > Storage > Add > NFS.
    • Insira o IP do servidor Gluster onde o NFS-Ganesha está a correr.
    • No campo Path, insira o caminho do ponto de montagem NFS que configurou (e.g., /nfs_gluster).
    • Adicione este armazenamento para que os containers LXC possam utilizá-lo.
  4. Utilizar o NFS-Ganesha no Proxmox:
    • Agora pode criar e armazenar containers LXC diretamente no volume GlusterFS utilizando NFS.
    • Quando precisar de migrar um container LXC, o Proxmox desligará o container, migrará o disco através do NFS para o novo nó, e o container será reiniciado, com um tempo de inatividade mínimo.

Esta abordagem, como descrito, oferece uma solução simples para armazenar e gerir containers LXC com Proxmox utilizando GlusterFS e NFS-Ganesha. Embora a migração ao vivo não seja suportada, a migração rápida que obténs ao usar esta configuração é muitas vezes suficiente para ambientes de teste ou home labs.

No próximo tutorial, vamos configurar os três containers de forma eficiente utilizando Ansible, integrando esta solução de armazenamento em rede na nossa arquitetura de alta disponibilidade.

Artigos Relacionados