Servidor de inicialização extremamente rápido

19

Estou mudando a maneira como nosso material DHCP / DNS funciona no trabalho. Atualmente, temos 3 servidores DNS e uma caixa DHCP. Todos eles são VMs.

Existe uma dependência circular em que a inicialização de itens requer NFS, o que requer DNS. Então, quando reinicializamos as coisas, as coisas podem voltar sutilmente quebradas até que o DNS esteja ativo e reiniciar alguns serviços.

O que eu quero fazer é ter alguns servidores de baixa potência, provavelmente Atoms dual core ou similares, rodando a partir de SSDs, para que eles inicializem rapidamente. Eu quero fazer a coisa toda inicializar o mais instantaneamente possível.

Idealmente, gostaria de usar o Ubuntu 11.10 ou o Debian 6 como SO. Eu não estou interessado em Gentoo ou compilar meu próprio kernel. Isso precisa ser razoavelmente suportável por mim mesmo.

Diferentemente das unidades SSD, que outras etapas de otimização eu posso fazer para melhorar a velocidade de inicialização?

    
por Tom O'Connor 16.11.2011 / 16:56

5 respostas

29

Esta não é uma situação em que você deve projetar em torno das dependências circulares? Definir atrasos na inicialização do BIOS do servidor. Você tem vários servidores DNS, então é uma vantagem. Cache de DNS? Isso seria tão simples quanto usar endereços IP ou arquivos host para o seu NFS ou rede de armazenamento? Você não mencionou a tecnologia de virtualização específica, mas é possível definir a prioridade de inicialização da VM no VMWare, por exemplo ... Isso ocorre em vários servidores host?

Caso contrário, unidades de inicialização baseadas em SSD podem ajudar. Use uma distro com processos de inicialização do Upstart. Apare os daemons.

    
por 16.11.2011 / 17:30
11

Dependendo do status do seu UPS, esse pode ser um dos poucos casos de uso em que um hibernate ACPI pode ser uma boa ideia. Geralmente, o restore-from-hibernate supera um arranhão a partir do zero, especialmente no caso de sistemas baseados em SSD com pouca memória RAM. Se você tiver a capacidade, a etapa de 'desligamento' do software do no-break pode ser definida para hibernar o servidor DNS.

    
por 16.11.2011 / 17:10
6

Eu posso recomendar um sistema NetBSD muito pequeno em SSDs, mas se você tiver o coração no Linux, há duas opções que se lembram imediatamente:

  • O Damn Small Linux é uma das grandes distribuições de Linux. Eu não sei qual é o tempo de inicialização deles, mas tem que ser relativamente curto.
  • Slax é um pouco mais personalizável desde o início, e pode ser um pouco mais rápido.

Existe também a opção de soluções personalizadas / incorporadas muito pequenas, como este (Sistema baseado em ARM de US $ 99 em um módulo com um tempo de inicialização de 1 segundo. Não é um hardware comum, mas pode ser guardado em um canto silencioso de um datacenter e deixado para ser executado para sempre ...

    
por 16.11.2011 / 17:10
3

Na maioria das configurações, o DNS é o serviço de infra-estrutura mais importante. Se isso quebrar, todo o resto irá quebrar também. A conclusão é que o servidor DNS não deve depender de outros servidores.

Se você realmente precisa do NFS para inicializar - faça com que os servidores DNS usem esses servidores NFS (isso também quebra uma regra) - mas certifique-se de exportar somente ro e certifique-se de não colocar seus servidores NFS o perigo de um ataque DoS.

Provavelmente, a melhor solução é uma abordagem diferente (HA) para fornecer o serviço NFS necessário para a inicialização, quebrando assim a dependência circular ( nscd também pode ajudar nos servidores NFS).

Atualizar 2011-11-17 no NFS: De um dos seus comentários, vejo que o NFS está sendo usado para / home-dirs. Usuários técnicos locais não devem tê-los. Qualquer outra coisa deve ser montada via autofs whith bg, hard, intr.

    
por 16.11.2011 / 22:27
2

Você pode querer usar o bootchart para ver quais são os pontos de tempo de inicialização.

Há também readahead: link , que eu não tentei.

    
por 17.11.2011 / 00:14