Redundant FreeRADIUS + MySQL

1

Estou trabalhando em algum serviço da web com o AAA implementado pelo FreeRADIUS + MySQL no Debian.

O problema que estou trabalhando agora é o HA & escalabilidade do RADIUS. Se a máquina FreeRADIUS ou a máquina MySQL caírem, será necessário todo o serviço.

Eu fiz o check-out após os whitepapers:

link

link

Agora tenho o seguinte conjunto de perguntas:

  1. Até onde eu sei, dois servidores FreeRADIUS podem usar o mesmo banco de dados MySQL sem “quebrar” sua integridade, certo? Em caso afirmativo, quais são os inconvenientes de desempenho de tal configuração?
  2. O que deve ser redundante para arquivar o HA? É o próprio servidor FreeRADIUS ou apenas o seu armazenamento de dados MySQL ou ambos? O que deve ser redundante para arquivar a escalabilidade?
  3. Se o servidor RADIUS se multiplicasse, como o balanceamento de carga pode ser implementado para o servidor web distribuído pela Internet?
  4. Como posso distribuir o cluster MySQL pela Internet? (Devo usar a replicação e deixar os dois membros do cluster na mesma rede local?
por Aleksa 04.06.2012 / 16:22

2 respostas

2

  1. É realmente possível conectar vários servidores FreeRadius a um cluster MySQL, que lhe dará HA em ambos os lados (Radius e SQL)
  2. Quanto à pergunta nr2. Você precisará criar um cluster MySQL com no mínimo 2 máquinas, além disso, você precisará ter no mínimo 2 máquinas com o FreeRadius instalado. obviamente, você poderia instalar 2 máquinas com o MySQL e FreeRadius em cada máquina, isso depende do tamanho da sua instalação em relação ao número de clientes.
  3. Isso depende muito do modo como seu cliente Radius é implementado, ele suporta vários servidores? suporta pesos ou prioridades?
  4. O MySQL tem várias opções para construir um Cluster, por isso sugiro os white papers do MySQL Cluster e escolha a opção que melhor atenda às suas necessidades.
por 04.06.2012 / 16:38
2
  1. O uso de servidores radius não deve quebrar a integridade dos dados. Somente o servidor radius que recebe uma solicitação executará as consultas de autenticação / contabilidade apropriadas. Além disso, o bloqueio no nível do banco de dados pode ser usado, se necessário.
  2. Para fornecer redundância, será necessário replicar o servidor radius e o banco de dados mysql.
  3. Você precisa ter algum balanceador de carga antes dos servidores radius. Isso precisa ser um balanceador de carga baseado em UDP. Outra opção que você pode considerar é balancear a carga dos pedidos manualmente do seu serviço (por exemplo, você pode escolher aleatoriamente um dos vários IPs e usá-lo como servidor radius). Isso depende da implementação do seu serviço.
por 04.06.2012 / 16:38