Servidor de arranque extremadamente rápido

19

Estoy cambiando la forma en que nuestro material DHCP / DNS funciona en el trabajo. Actualmente tenemos 3 servidores DNS y una caja DHCP. Todos ellos son máquinas virtuales.

Hay una dependencia circular donde el arranque de cosas requiere NFS, que requiere DNS. Entonces, cuando reiniciamos cosas, las cosas pueden volver sutilmente rotas hasta que el DNS esté activo, y reiniciamos algunos servicios.

Lo que quiero hacer es tener algunos servidores de baja potencia, probablemente Atoms de doble núcleo o similares, que se ejecutan desde SSD, para que arranquen muy rápido. Quiero hacer que todo arranque lo más cerca posible de forma instantánea.

Idealmente, me gustaría usar Ubuntu 11.10 o Debian 6 como sistema operativo. No estoy interesado en Gentoo o compilar mi propio núcleo. Esto debe ser razonablemente soportable por mí mismo.

Además de las unidades SSD, ¿qué otros pasos de optimización puedo tomar para mejorar la velocidad de arranque?

Tom O'Connor
fuente
2
¿Hay alguna pregunta real aquí?
ceejayoz
14
@ceejayoz me Other than SSDing drives, what other optimisation steps can I takeparece una pregunta.
MDMarra
77
@ceejayoz Así que no respondas si crees que tomará mucho tiempo responder. No está orientado a la discusión y sin duda es una pregunta, no importa cómo lo llames.
MDMarra
2
Por las razones cercanas, "Esta pregunta es ambigua, vaga , incompleta, demasiado amplia o retórica y no se puede responder razonablemente en su forma actual".
ceejayoz
44
@ceejayoz No creo que sea vago o demasiado amplio en absoluto. Es una pregunta bien definida que puede tener una respuesta complicada, pero no es de largo alcance como "Halp! My thingz don't boot rite!". Sin embargo, eres más que bienvenido a entrar en el chat de fallas del servidor y discutir si quieres. Hay un montón de nosotros hablando de eso allí, incluido el OP.
MDMarra

Respuestas:

29

¿No es esta una situación en la que debes diseñar alrededor de las dependencias circulares? Establezca retrasos de encendido en el BIOS del servidor. Tienes varios servidores DNS, así que eso es una ventaja. Almacenamiento en caché de DNS? ¿Sería tan simple como usar direcciones IP o archivos host para su NFS o red de almacenamiento? No mencionó la tecnología de virtualización particular, pero es posible establecer la prioridad de arranque de VM en VMWare, por ejemplo ... ¿Es esto en varios servidores host?

De lo contrario, las unidades de arranque basadas en SSD pueden ayudar. Use una distribución con procesos de arranque de Upstart. Recorta los demonios.

ewwhite
fuente
55
Creo que esta es una buena respuesta. Arregle las dependencias circulares lo mejor que pueda.
mfinni el
Buena respuesta. Esta es la razón por la cual los archivos de host todavía están disponibles. Proporcionan una solución para antes de que el DNS esté disponible, o para los casos en que necesite búsquedas incluso si DNS no está disponible (es decir, el clúster Oracle RAC).
Christopher Cashell
11

Dependiendo del estado de su UPS, este podría ser uno de los pocos casos de uso en los que una hibernación ACPI puede ser una buena idea. En general, restaurar desde hibernación supera a un arranque desde cero, especialmente en el caso de los sistemas basados ​​en SSD de baja RAM. Si tiene la capacidad, el paso de 'apagado' para su software UPS puede configurarse para hibernar el servidor DNS.

sysadmin1138
fuente
Esa es en realidad una idea interesante: el único inconveniente es volver a encender la máquina (o despertarla del modo de suspensión). Si la fuente de alimentación está configurada para "encenderse automáticamente después de una pérdida de energía", esto debería funcionar siempre y cuando la máquina realmente pierda energía; de lo contrario, solo debe tener en cuenta el caso de la esquina donde se envía la señal de hibernación, pero luego la energía de CA vuelve antes El UPS muere.
voretaq7
2
@ Voretaq7 Si tuviera que hacer esto, el DNS primario se comportaría normalmente (sin trucos ACPI), y el DNS secundario haría este truco. Se ralentizará el inicio del servicio en otros lugares debido a la falla de DNS, pero los servicios aún se iniciarían. De lo contrario, es posible que deba realizarse alguna magia de activación en LAN.
sysadmin1138
WoL realmente resolvería esto bien
voretaq7
Tenemos un UPS gordo, muy gordo ... y tiene el software Apcupsd en algún tipo de configuración de red ... Realmente me gusta esta idea. También implementaremos WOL en la red para otros fines, más adelante en el mes.
Tom O'Connor el
6

Puedo recomendar un sistema NetBSD muy pequeño en SSD, pero si tiene su corazón puesto en Linux, hay dos opciones que me vienen a la mente de inmediato:

  • Damn Small Linux es una de las pequeñas distribuciones de Linux de renombre. No sé cuál es su tiempo de arranque, pero debe ser relativamente corto.
  • Slax es un poco más personalizable desde el principio, y puede ser un poco más rápido.

También existe la opción de soluciones personalizadas / incrustadas realmente pequeñas como esta (sistema basado en ARM de $ 99 en un módulo con un tiempo de arranque de 1 segundo (ish). No es hardware básico pero podría guardarse en un rincón tranquilo) de un centro de datos y se fue a correr para siempre ...

voretaq7
fuente
3

En la mayoría de las configuraciones, DNS es el servicio de infraestructura más importante. Si se rompe, todo lo demás también se romperá. La conclusión es que los servidores DNS no deberían depender de otros servidores.

Si realmente necesita NFS para el arranque, haga que sus servidores DNS sean esos servidores NFS (esto también está rompiendo una regla), pero asegúrese de exportar solo ro y asegúrese de que no puede poner sus servidores NFS en peligro de Un ataque DoS.

Probablemente, la mejor solución es un enfoque diferente (HA) para proporcionar el servicio NFS necesario para el arranque, rompiendo así la dependencia circular ( nscd también puede ayudar en los servidores NFS).

Actualización 2011-11-17 en NFS: De uno de sus comentarios veo que NFS se está utilizando para / home-dirs. Los usuarios técnicos locales no deberían tenerlos. Cualquier otra cosa debe montarse a través de autofs con bg, hard, intr.

Nils
fuente
2

Es posible que desee utilizar el diagrama de arranque para ver cuáles son los puntos calientes de tiempo de arranque.

También hay readahead: https://fedorahosted.org/readahead/ , que no he probado.

alex
fuente