Reflexiones sobre el diseño del sistema de archivos del servidor Linux

8

Me pregunto y estoy seguro de que muchos por ahí también se preguntan, cuál sería el mejor o al menos el diseño óptimo del sistema de archivos para un servidor basado en GNU / Linux. Soy consciente de que no hay un diseño general, porque los diseños varían según lo que el usuario final quiera lograr, por lo que limitaré mi pregunta a una implementación muy específica. El propósito del servidor es como servidor de telefonía SIP de tamaño medio. El diseño del sistema de archivos que se me ocurrió es el siguiente:

El tamaño completo del disco duro es de 146 GB

  • 1 GB de partición primaria montada como / boot
  • Partición primaria de 16 GB montada como /
  • Partición extendida de 16 GB montada como intercambio (el servidor tiene 8 GB de memoria y al menos no crecerá pronto)
  • Partición extendida de 52 GB montada como / var
  • Partición extendida de 16 GB montada como / var / log
  • Partición extendida de 30 GB montada como / usr
  • Partición extendida de 5 GB montada como / tmp
  • Partición extendida de 10 GB montada como / home

Puse el intercambio en el medio considerando que permitirá un acceso más rápido, hice una gran partición var porque habrá una gran cantidad de datos variables como archivos de base de datos. Moví / var / log y / tmp a una partición diferente para asegurarme de que estén llenos, no derribarán todo el sistema y moví / usr también para poder hacer que sea de solo lectura si es necesario Tal medida. Hice una partición pequeña / doméstica porque el número de usuarios será bajo, por lo que no hay necesidad de un gran espacio de almacenamiento en los directorios principales.

Hay muchos argumentos a favor y en contra de este diseño, supongo, y tengo curiosidad (tratando de elegir la mente de los más experimentados o más sabios que yo) sobre lo que otros piensan: ¿esta fragmentación y orden es bueno teniendo en cuenta el acceso rápido? es por eso que puse el intercambio casi en el medio), seguridad y seguridad de datos? ¿Alguna idea? ¡Gracias!

crazybyte
fuente
8
No voy a publicar esto como una respuesta, pero ... Me han mordido suficientes particiones que soy un gran admirador de usar tan pocas particiones como sea absolutamente necesario. La razón detrás de particionar un sistema Linux de esta manera se siente bastante anticuada.
Boden
66
¿Por qué no usar LVM y hacer crecer los sistemas de archivos como necesariamente?
Cristian Ciupitu
2
¿Cómo es LVM un punto de falla?
Aaron Brown
3
Creo que estás haciendo una partición excesiva, personalmente. Además, iría con LVM. Está listo para la producción, y se quedará allí para siempre o guardará su tocino más tarde.
pboin
2
Entonces lo voy a usar.
crazybyte

Respuestas:

10

Dos cosas:

  1. / boot solo debe tener unos 256 MB, 512 MB si realmente quieres estar seguro. ¿Cuántos granos necesitas realmente?
  2. Por amor a [insertar deidad aquí] usa LVM

En general usaré:

  • Primera partición primaria 256MB / boot (ext2)
  • Segunda partición primaria como volumen físico (PV) en LVM
  • Volumen Lógico /
  • Volumen Lógico / inicio
  • Volumen lógico / usr (opcional)
  • Volumen lógico / tmp (opcional, prefiera HDD a SSD)
  • Volumen lógico / var (opcional, prefiera HDD a SSD)
  • Volumen lógico de intercambio (2 * RAM && <= 4GB)

Los tamaños dependen del uso, pero dejan algo (la mayoría) de espacio no utilizado en el grupo de volúmenes (VG) para expandir cualquier volumen lógico que se llene.

Swoogan
fuente
sin intercambio entonces? si usaras el intercambio, ¿lo pondrías en el LVM o como una partición primaria separada?
quack quijote
Sí, usaría un intercambio y lo pondría en el LVM.
Swoogan
Miré en LVM y jugué un poco con él. Permite tener una increíble flexibilidad en la configuración del sistema. Gracias Swoogan!
crazybyte
1

Definitivamente vale la pena crear algo como lo que ha establecido, pero consideraría usar LVM y aumentar sus particiones según sea necesario.

Personalmente, uso algo muy similar a lo que tiene, pero el tamaño de partición más pequeño posible, ya que tengo monitoreo de espacio en disco en todos mis cuadros en Nagios, sé con mucha antelación cuándo tengo que extender una partición.

Ah, y 1GB para / boot? Dependiendo de tu distribución, no deberías necesitar más que unos pocos cientos de megas ...

thehatter
fuente
0

Generalmente estoy de acuerdo con su enfoque de dividir el disco en múltiples sistemas de archivos. No estoy seguro si poner swap en el medio realmente hace algo por ti. Me concentraría en asegurarme de que todas las particiones sean lo suficientemente grandes para las tareas previstas. Por ejemplo, ¿cuál es el riesgo de que se llenen sus 16GB / var / log? En un servidor Linux estándar que debería tener mucho espacio para registros, pero un servidor especializado podría haber creado archivos de registro mucho más grandes en función del uso.

Puede considerar aumentar el tamaño de / tmp en caso de que alguno de los programas que está utilizando quiera crear muchos archivos temporales grandes.

Mi recomendación principal sería utilizar este tipo de enfoque para los tamaños de los sistemas de archivos, pero concéntrese en hacer un monitoreo adecuado y en la rotación de los archivos de registro para asegurarse de no llenar esos sistemas de archivos críticos / tmp y / var / log.

Phil Hollenback
fuente
Bueno, no soy consciente del hecho de que el software del servidor SIP usará o creará muchos archivos temporales o grandes archivos temporales, pero como usted dijo, es mejor prevenir que curar. Además, no habrá una gran cantidad de registros desde la parte del servidor. Algunos datos, como los CDR o los archivos de la base de datos, residirán en otro directorio en / var y esos podrían ser bastante grandes, por eso pensé que debería tener un gran tamaño. Lo investigaré para asegurarme de que el espacio para / tmp y / var / log sea lo suficientemente grande y también usaré la rotación adecuada del archivo de registro. ¡Gracias por el consejo!
crazybyte
0

Yo probablemente no lo habría dividido tanto; vas a tener problemas si alguna partición en particular se llena, y lo has hecho para que tengas ~ 6 que podrían llenarse y causar problemas, y es un sistema nuevo, por lo que realmente no sabes seguro de dónde se va a apretar el espacio.

Asegúrese de configurar alertas para cuando el espacio disponible sea bajo.

Satanicpuppy
fuente
Por supuesto, el monitoreo será obligatorio para asegurarse de evitar problemas.
crazybyte
0

No me molestaría en dividir una partición de 30 GB para / usr. 16 GB es un tamaño razonable para / y / usr combinados; dale a tu partición raíz 20-30GB si realmente quieres la habitación.

No tengo mucha experiencia con LVM, pero con su uso propuesto tiene sentido.

Realmente parece que primero debe hacer una instalación de prueba, para saber exactamente cuáles serán sus requisitos de espacio para el sistema y el software básicos. Especialmente si evitará una solución LVM. Una vez que haya hecho eso, tendrá una idea mucho más sólida de cuán grandes deben ser sus particiones / y / usr . Luego puede ajustar el tamaño de sus particiones para maximizar el espacio disponible para las áreas que espera que las necesite: / var, / var / log y / tmp.

quijote curandero
fuente