Qual é a melhor prática de implantação em massa do sistema Linux?

9

Se você estiver tentando instalar o sistema 500 Linux através da instalação em rede ao mesmo tempo, o gargalo seria o NFS / HTTP / FTP ou qualquer servidor que contenha os arquivos necessários para a instalação.

Na IMO, isso só pode ser resolvido com a adição de mais servidores de instalação e, em seguida, a alternância entre eles.

Existe alguma solução melhor para esse problema? Algo como "instalação P2P Linux"?

ATUALIZAÇÃO: preciso descrever minha situação de maneira mais específica. Atualmente estou implantando o RHEL usando o kickstart + NFS. Quando tento implantar o 500 RHEL simultaneamente, o servidor NFS terá um tráfego enorme e torna cada processo de instalação lento. Configurar mais servidores NFS é uma solução, mas não acho que seja uma boa.

yegle
fonte
O que você quer fazer? Instale o sistema base, gerencie o sistema depois? implantar configurações ou aplicativos?
shakalandy
@shakalandy Estou implantando o RHEL usando o kickstart + NFS. Quando tento implantar o 500 RHEL simultaneamente, o servidor NFS terá um tráfego enorme e torna cada processo de instalação lento. Configurar mais servidores NFS é uma solução, mas não acho que seja uma boa.
yegle

Respostas:

7

Geralmente é onde as imagens Multicast aparecem. Algo como o Clonezilla ou o Ghost suporta o envio de multicast de dados, o que permitiria enviar a imagem a todos os 500 sistemas de uma só vez, basicamente na mesma velocidade que enviar a imagem para 1 sistema.

dgibbons
fonte
3

O instalador do Avalanche da distribuição de clusters rocks linux é baseado em bittorrent e dimensiona bem. Ele também leva você da inicialização do PXE ao sistema em execução. No entanto, você está vinculado ao uso de rochas (com base no CentOS) e a fazer as coisas da maneira certa.

Kjetil Joergensen
fonte
2

O SystemImager também pode usar o bit-torrent para uma implantação em massa mais rápida.

Agora não
fonte
1

Eu não usaria multicast porque isso torna as coisas mais complicadas. Primeiro, tente minimizar o tráfego NFS, ou seja, obtenha os pacotes que você precisa instalar via HTTP. Se o servidor da Web para o repositório de pacotes ficar sobrecarregado, use dois deles e distribua a carga atribuindo servidores diferentes a cada cliente (por exemplo, endereço IP módulo 2).

Seu servidor NFS pode ser mais rápido se mais daemons nfsd forem inicializados. Geralmente, apenas 8 deles são iniciados.

Acabei de medir o tráfego de uma instalação Debian (via PXE, NFS, HTTP) usando FAI. Ao instalar 4,2 GB de software, 1,3 GB de HTTP (todos os pacotes) e 100 NFS de tráfego (o nfsroot durante a instalação) foram enviados pela rede. Isso foi para um cliente de instalação. Então, acho que reduzir o tráfego NFS e distribuir o tráfego HTTP ajudará muito.

Uma placa de rede de 10 GB no servidor ou uma placa de rede servidora também ajudaria. E acho que não é necessário instalar toda a máquina ao mesmo tempo, mas mais em um curto espaço de tempo.

De qualquer forma, primeiro você precisa analisar qual será o seu gargalo. Portanto, faça alguns testes para remover 20 máquinas, por exemplo

Thomas Lange
fonte
0

Não conheço uma maneira de usar bittorrent ou multicast, a menos que você possa mudar para implantar uma imagem em vez de executar instalações. Caso não esteja, aqui está uma maneira de abordar o problema.

Vamos pensar mais de perto sobre o gargalo. CPU não é o gargalo; O NFS não requer muito poder de processamento. Disco não é o gargalo; os arquivos necessários para instalar o RHEL não têm mais do que alguns gigabytes; portanto, devem caber facilmente na RAM do servidor NFS. O rendimento da rede é definitivamente um gargalo; supondo que um sistema sendo instalado solicite em média 50 megabits por segundo, você precisará de pelo menos 25 gigabits de largura de banda para alimentar 500 instalações. São muitas placas de rede ou algumas muito caras.

Isso não significa que você não deve tentar melhorar o desempenho jogando mais hardware nele, dentro do razoável. Obtenha o número de NICs possível no servidor NFS e vincule-as. Se você puder justificar o tempo e o custo, configure mais servidores NFS. Obviamente, verifique se os servidores NFS estão bem ajustados .

Independentemente de você adicionar hardware, verifique se você obtém um aumento no desempenho, evitando o congestionamento da rede e equilibrando os picos e vales na taxa de transferência. Para fazer isso, divida as instalações em lotes. Execute uma única instalação e faça um gráfico da taxa de transferência durante a instalação. Observe esse gráfico e determine quantas instalações você pode iniciar simultaneamente e quando são os horários ideais para iniciar mais lotes.

Por exemplo, digamos que você possa transferir 4Gb / s dos servidores NFS. Talvez você descubra que uma instalação copia 100 Mb / s pelo primeiro minuto enquanto o instalador está sendo baixado, depois não copia dados por um minuto enquanto o instalador funciona como particionamento e copia 50 Mb / s por três minutos enquanto o instalador é copiado. O instalador baixa e extrai pacotes. Sabendo disso, você pode calcular que você pode iniciar 40 instalações, aguarde um minuto, iniciar outras 40 instalações, aguarde 5 minutos e repita o processo.

sciurus
fonte
0

Em relação à implantação em massa de arquivos, já existe uma solução trazida pelo twitter, baseada no bittorent: Murder .

Se você está falando sobre a instalação do SO no seu servidor, obviamente não funcionará com esta solução.

Shadok
fonte