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.
Há uma dependência circular em que a inicialização de coisas requer NFS, que requer DNS. Portanto, quando reiniciarmos as coisas, as coisas poderão voltar sutilmente quebradas até o DNS estar ativo e reiniciaremos alguns serviços.
O que eu quero fazer é ter alguns servidores de baixa potência, provavelmente átomos de núcleo duplo ou similar, executando SSDs, para que eles sejam inicializados rapidamente. Eu quero fazer a inicialização toda o mais próximo possível instantaneamente.
Idealmente, eu gostaria de usar o Ubuntu 11.10 ou o Debian 6 como sistema operacional. Não estou interessado no Gentoo ou em compilar meu próprio kernel. Isso precisa ser razoavelmente suportável por mim.
Além das unidades SSD, que outras etapas de otimização posso executar para melhorar a velocidade de inicialização?
Other than SSDing drives, what other optimisation steps can I take
parece uma pergunta para mim."Halp! My thingz don't boot rite!"
. Você é bem-vindo ao entrar no Chat de falha do servidor e discutir se você gostaria. Muitos de nós estamos falando sobre isso lá, incluindo o OP.Respostas:
Não é uma situação em que você deve criar as dependências circulares? Defina os atrasos de inicialização no BIOS do servidor. Você tem vários servidores DNS, então isso é uma vantagem. Cache de DNS? Seria tão simples quanto usar endereços IP ou arquivos host para 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, as unidades de inicialização baseadas em SSD podem ajudar. Use uma distribuição nos processos de inicialização Upstart. Apare os daemons.
fonte
Dependendo do status do seu no-break, esse pode ser um dos poucos casos de uso em que uma hibernação da ACPI pode ser uma boa ideia. Geralmente o restore-from-hibernate supera uma inicialização do zero, especialmente no caso de sistemas baseados em SSD com pouca RAM. Se você tiver a capacidade, a etapa 'shutdown' do seu software UPS pode ser configurada para hibernar o servidor DNS.
fonte
Posso recomendar um sistema NetBSD muito pequeno para SSDs, mas se você tem o coração no Linux, há duas opções que surgem imediatamente:
Há também a opção de soluções customizadas / incorporadas realmente pequenas como este (sistema baseado em ARM de US $ 99 em um módulo com tempo de inicialização de 1 segundo (ish). Não é um hardware comum, mas pode ser escondido em um canto silencioso de um datacenter e deixado para rodar para sempre ...
fonte
Na maioria das configurações, o DNS é o serviço de infraestrutura mais importante. Se ele quebrar, todo o resto também será quebrado. A conclusão é que os servidores DNS não devem depender de outros servidores.
Se você realmente precisa do NFS para inicializar - torne seus servidores DNS esses servidores NFS (isso também está infringindo uma regra) - mas certifique-se de exportar apenas ro e verifique se você não pode colocar seus servidores NFS em perigo. um ataque de 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 (o nscd pode ajudar também nos servidores NFS).
Atualização 2011-11-17 no NFS: De um de seus comentários, vejo que o NFS está sendo usado para / home-dirs. Usuários técnicos locais não devem ter esses. Qualquer outra coisa deve ser montada via autofs com bg, hard, intr.
fonte
Você pode usar o gráfico de inicialização para ver quais são os pontos ativos no momento da inicialização.
Há também readahead: https://fedorahosted.org/readahead/ , que eu não tentei.
fonte