it-swarm-es.com

Prácticas de configuración de Linux / Unix Server para / tmp

Sobre la base de lo que todos se ven, lo que es una configuración recomendada de/TMP en un sistema de servidor y por qué. He tenido discusiones sobre estos puntos a lo largo de los años a veces con desacuerdos básicos.

Las siguientes son básicamente las preguntas que veo. Algunos podrían sugerir que se le pregunten estas preguntas con varias preguntas, sin embargo, creo que podría ser más fácil para los administradores si esta información estaba bajo un encabezado. Estoy seguro de que esto será informativo.

Específicamente para/TMP:

  1. ¿Debería LN -s/VAR/TMP/TMP?

  2. ¿Debería preservarse/TMP entre reinicios o no?

  3. ¿Debería/TMP estar en un área de disco real o se puede implementar básicamente en el área de intercambio (o TMPFS)?

  4. ¿Debe/TMP estar en un disco diferente del disco/(raíz)?

  5. ¿Places/TMP en un controlador de disco diferente del disco/(root)?

  6. ¿Alguna regla de pulgar para el tamaño de/tmp?

  7. ¿Cómo manejaría/TMP espacio mientras el sistema está arriba? Eliminar todos los archivos> Ciertosa edad? Deje solo el área hasta que alcance un% de edad de máx.

  8. ¿Debería algún artículo procesal en efecto para gobernar esta área?

8
mdpc

Específicamente para/TMP:

  • ¿Debería LN -S/VAR/TMP/TMP?

En el caso de una imagen completa de disco en memoria (Think "Live Boot CD") Esto podría ser aceptable, ya que cada byte de RAM necesita ser expulsado. De lo contrario, a menos que esté prensado por el espacio en disco, no./VAR tiene sus propias peculiaridades y mezcla/TMP con/var/tMP puede tener consecuencias involuntarias al realizar el mantenimiento de sistemas. También agrega una dependencia adicional en ese/TMP debe montarse para/var/tmp para funcionar correctamente; No todo necesita/TMP y puede tener una situación en la que desea migrarlo a una partición o unidad diferente, pero no puede, porque no desea desactivar/Var.

  • ¿Debería preservarse/TMP entre reinicios o no?

No. Si está confiando en esto como un comportamiento consistente, usted, antes o temprano, se encontrará con problemas.

  • ¿Debería/TMP estar en un área de disco real o se puede implementar básicamente en el área de intercambio (o TMPFS)?

Cuando se usa en gran medida, esta es una tentación: "Pondremos/TMP en un disco RAM, acelerará el acceso, y cuando el sistema se reinicie/se apaga, no hay nada para limpiar" . Sin embargo, si está pensando en implementar el espacio TEMP como un disco RAM, se intercambiará, entonces consideraría las ramificaciones del uso del espacio de SWAP de su sistema por otros programas. Si el intercambio está ahí como una forma de "desbordamiento de emergencia" para cuando el sistema está en directo y lo necesita, lo último que necesita es tener un espacio de intercambio consumido por un proceso de fugitivo de llenado/TMP, consumo de memoria, causando presión sobre el VM subsistema para intercambiar al disco. Entre la actividad de intercambio, y la transmisión de E/S adicional en el disco RAM (que a su vez puede hacer que Page-INTS adicionales satisfaga una búsqueda ()), su sistema se convertirá rápidamente en un límite de E/S.

  • ¿Debería/TMP estar en un disco diferente del disco/(raíz)?

Preferiblemente, sí, aunque no es necesario. Si realiza un uso intensivo de él, o tiene una carga de trabajo constante que lo requiera, definitivamente sí. Ejemplo hipotético: una base de datos que descarga los archivos TEMP a/TMP obtendría una ligera velocidad introduciendo/TMP a un husillo separado (es decir, la unidad).

  • ¿Colocaría/TMP en un controlador de disco diferente del disco/(raíz)?

Si tiene requisitos para la capacidad de recuperación o velocidad, entonces debe considerarse.

  • ¿Alguna regla de pulgar para el tamaño de/tmp?

Debe acomodar 2x su carga de trabajo esperada. Por esto, quiero decir que si tiene usuarios locales regularmente usando este espacio, tarde o temprano, alguien hará algo tonto e intentará llenarlo. Tener un ligero excedente le permitirá evitar "problemas" extraños con los programas que se detienen porque sus archivos temporales han completado el espacio que queda.

Si se trata de una instalación de "servicios comunes", donde el servidor proporciona uno o más servicios de red, pero no se encuentra a los usuarios, entonces esto probablemente estará en el lado bajo. Si se trata de una instalación de múltiples usuarios, esto estará en el lado alto (sí, todavía hay lugares que acogen usuarios reales y no solo sus servicios de red).

  • ¿Cómo se administraría/TMP espacio mientras el sistema está arriba? Eliminar todos los archivos> Ciertosa edad? Deje solo el área hasta que alcance un% de edad de máx.

Mire en el comando tmpwatch , creo que encontrará que se adapte a esta parte de su (s) pregunta (s) de su pregunta (s). El comando simplemente elimina cualquier archivo más allá de una cierta edad en horas. Dependiendo de lo rápido que se llena, podría hacer 30 días, 45 días, 90 días, etc.

  • ¿Debería realizar algún artículo procesal en efecto para gobernar esta área?

Recomendaría lo siguiente:

  1. Todos los archivos son transitorios, y no están garantizados para sobrevivir a un reinicio.
  2. Los archivos rancios pasados% La edad se eliminará por la noche a la medianoche de la hora local a través de un trabajo de Cron que ejecuta el comando TMPWATCH.

El resto es una cuestión de sus necesidades específicas.

14
Avery Payne

Un lote horrible depende de la carga de aplicación particular que está utilizando. Algunos servidores de aplicaciones (sunone, antiguas cosas de Netscape) escriben unos pocos cientos de a unos pocos miles de archivos a/tmp, en esa situación, realmente no quieres que sea un ramdisk montado, y no hay razón para preservarlo entre reinicios.

Los servidores se están volviendo menos generales y más especiales, este tipo de pregunta (y la pregunta similar "Cómo particionar mi sistema") realmente depende de su carga.

Hice recientemente un servidor que se reinició por primera vez después de 4 años o así, se quedó atrapado a medio camino a través de la bota, eliminando todos los archivos en/TMP, hubo tanto cruft que tomó una buena hora para limpiarla. . Definitivamente, una buena idea limpiarlo periódicamente si su caja no se reinicia muy a menudo.

1
Tim Howland

Desde la experiencia, recomiendo no mezclar los directorios/VAR/TMP y/TMP.

La razón de ser/var es (con suerte) donde residirá todos sus datos de registro, caché y servicio (por ejemplo, bases de datos). Por lo general, es una buena idea colocar/var en una partición separada, por lo que si se produce un evento de datos significativo (por ejemplo, muchas escrituras de registro o base de datos), las particiones de raíz y/tmp todavía tendrán espacio libre para operar de manera confiable.

Por ejemplo, literalmente, acabo de regresar de un sitio donde no se siguió esta práctica (es decir, todo estaba en una partición) y, como resultado de la creación de registros, se llevó a las rodillas todo el sistema. Si se había seguido un diseño de partición SANE, la partición/var se habría quedado sin espacio, pero el servidor se habría quedado receptivo.

1
David Harrison

Un artículo que consideraría, en referencia a su última pregunta, es hacer/TMP NOEXEC, NOSUID, es decir, ninguna ejecutable podrá ejecutarse desde/TMP, y no podrá cambiar de usuario. Sin embargo, esto podría afectar algunos programas, así que probarlo antes de confiar por completo, creo que SSH fue incluso uno de estos, pero lo olvido.

Esta es una medida de seguridad que mejorará su seguridad en lo que respecta a/tmp.

Otra cosa: Muchos usuarios intentarán usar/TMP como almacenamiento temporal permanente: cualquier limpieza forzada de/TMP debe realizarse junto con la educación de los usuarios: recuérdeles que/TMP es temporal y Cualquier cosa colocada allí puede desaparecer en cualquier momento.

0
Mei

¿Debería/TMP estar en un área de disco real o se puede implementar básicamente en el área de intercambio (o TMPFS)?

¿Ha considerado lo que sucede cuando/TMP se llena en esta situación? No es el tipo de cosa que haces dos veces. Lo he hecho una vez (en Solaris/TMP se comerá todo disponible RAM y SWAP), y trajo el servidor a sus rodillas.

0
pgs

Sólo respondiendo algunos puntos ...

Pondría/TMP en una partición diferente a la /, solo para que pudiera montar/ro durante la operación normal. Disco separado? Eso depende de la cantidad de uso/TMP y/Obtenga y si se ponen en el camino del otro.

En cuanto a las partes 1 y 2, en mi caja (Mac OS X),/VAR/TMP no se limpia a diario, pero/TMP es, por lo que tienen políticas diferentes y, por lo tanto, no deben simplificarse entre sí. No estoy seguro de que la limpieza/VAR/TMP diaria no rompería nada y quería investigar eso antes de volverse más vociferantes, es solo 172K en este momento.

0
user448