Con la virtualización, ¿tiene sentido usar múltiples puntos de montaje?

15

En 2013, ¿tiene sentido seguir teniendo múltiples puntos de montaje en una nueva imagen de Linux, o tiene más sentido asignar todo el espacio?

Prefiero evitar el reinicio requerido para aumentar el tamaño de un punto de montaje. También preferiría monitorear el espacio de un solo montaje. Prefiero saber que todo el servidor está por encima del 70% del uso del espacio en disco, en lugar de tratar con puntos de montaje individuales.

Jeremy Mullin
fuente
¿Por qué tiene que reiniciar para aumentar el tamaño de un punto de montaje? Creo que todos los sistemas de archivos comunes admiten la expansión en línea en este momento.
derobert

Respuestas:

17

Claro que sigue siendo útil. No desea que un proceso desbocado llene un registro y haga que / se vaya al disco completo. Además, si está usando algo como LVM, puede hacer una expansión en línea de volúmenes.

Con muchas máquinas virtuales, querrá separar IO de todos modos. Probablemente querrá sus bases de datos en ejes separados y la única forma de lograrlo es tener un punto de montaje separado para la ubicación de su base de datos. Dejando de lado las bases de datos, ofrece una mayor flexibilidad granular en el futuro si superas tu diseño original.

En resumen, sí, todavía hay buenas razones para hacerlo en 2013.

MDMarra
fuente
¿No se bloqueará la máquina incluso si / var (o / tmp) se llena de todos modos?
onionjake
2
@onionjake No, no necesariamente. Pero se estrellarán si se /llena.
ewwhite
Gracias por la nota sobre la pérdida de control de los registros. Estas máquinas virtuales particulares usan una SAN, así que creo que IO ya está distribuido y no es una preocupación para mí en esta situación particular.
Jeremy Mullin
Además de este punto, si desea que una única VM abarque varios grupos de VMFS en ESXi, deberá usar varios discos virtuales (que aparecen como discos físicos para la VM). Todavía puede combinarlos en un punto de montaje con LVM si realmente lo desea, pero esa es una mala práctica, en mi opinión.
Paul Gear
5

Hoy en día, no usaría muchas monturas separadas, pero probablemente algunas claves serían útiles en la administración del sistema.

Solo 2 o 3, especialmente. con uno que varía en tamaño. Esto depende de lo que estés usando. Yo diría solo / (relativamente estable) y / var (cambiante). Dependiendo del sistema operativo y la geometría del disco, también puede ser necesario / boot. / tmp es probablemente un montaje tmpfs configurado por el instalador.

Los volúmenes cambiantes (/ var principalmente, pero podrían ser solo / var / log y / var / lib / mysql, etc.) generalmente son de lo que debe preocuparse y planificar la expansión. Entonces, si es posible, use lvm, etc. para facilitar el cambio de tamaño.

johnshen64
fuente
1
Personalmente utilizo LVM y el arranque debe estar en su propia partición, no como parte de un grupo de volúmenes, creo (si usa grub legacy).
4

Sí, todavía uso múltiples particiones en máquinas virtuales y puntos de montaje para los requisitos de monitoreo, seguridad y mantenimiento.

No soy fanático de las máquinas virtuales de punto de montaje único o limitado (a menos que sean máquinas descartables). Trato las máquinas virtuales de la misma manera que trato a los servidores físicos. Alinear particiones con algunos de los estándares de jerarquía del sistema de archivos de Linux todavía tiene sentido en términos de separación lógica de ejecutables, particiones de datos, almacenamiento temporal y de registro. Esto también facilita la reparación del sistema. Esto es especialmente cierto con máquinas virtuales y servidores derivados de una plantilla.

(Por cierto, tampoco me gusta LVM en máquinas virtuales ... ¡ Planifique mejor! )

En mis sistemas, trato de hacer lo siguiente:

  • / es típicamente pequeño y no crece mucho.
  • /boot es predecible en tamaño y el crecimiento está controlado por la frecuencia de las actualizaciones del kernel.
  • /tmpdepende de la aplicación y el entorno, pero se puede dimensionar adecuadamente. Monitorearlo por separado ayuda a medir el comportamiento anormal y protege el resto del sistema.
  • /usr Debe ser predecible, que contenga ejecutables, etc.
  • /varcrece, pero la cantidad de rotación de datos puede ser menor. Es bueno poder medirlo por separado.
  • Y una partición de crecimiento. En este caso, es /data, pero si se tratara de un sistema de base de datos, puede ser /var/lib/mysqlo /var/lib/pgsql... Tenga en cuenta que se trata de un dispositivo de bloque diferente, /dev/sdb. Este es simplemente otro VMDK en esta máquina virtual, por lo que se puede cambiar su tamaño independientemente del VMDK que contiene las particiones reales del sistema operativo.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              12G  2.5G  8.8G  23% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/sda1             291M  131M  145M  48% /boot
/dev/sda7             2.0G   68M  1.9G   4% /tmp
/dev/sda3             9.9G  3.5G  5.9G  38% /usr
/dev/sda6             6.0G  892M  4.8G  16% /var
/dev/sdb1             360G  271G   90G  76% /data

La separación de algunas de estas particiones hace que sea mucho más fácil identificar tendencias y detectar comportamientos anómalos; por ejemplo, 4GB de volcados de núcleo /var, un proceso que agota /tmp,

Normal ingrese la descripción de la imagen aquí

Anormal. El aumento repentino /varno habría sido fácil de detectar si /se usara una partición grande . ingrese la descripción de la imagen aquí


Recientemente, tuve que aplicar un cóctel de parámetros y atributos de montaje del sistema de archivos (nodev, nosuid, noexec, noatime, nobarrier) para una plantilla de VM con seguridad reforzada. La partición era un requisito absoluto para esto porque algunas particiones requerían configuraciones específicas que no podían aplicarse globalmente. Otro punto de datos.

ewwhite
fuente
2

Seguro que los múltiples puntos de montaje aún tienen sus ventajas, un servidor virtualizado o no.

Pero con la virtualización, probablemente también use plantillas de máquinas virtuales, ¿verdad? ¿Y su sistema de monitoreo, como Nagios (con NConf?) También admite plantillas? Si es así, debes pasar por esta pelea de puntos de montaje mental solo una vez.

Volver al tema

Yo solía dividir mis sistemas de esta manera: /, /home, /usr, /var, /tmp(y posiblemente algún otro punto de datos de montaje), pero eso era una exageración y una molestia. Hoy en día, una imagen de sistema operativo simple con solo /, quizás con un/var es un camino a seguir para mí; luego, si un servidor virtual necesita más almacenamiento para los datos, le doy otra imagen de disco y lo monte donde sea necesario.

Janne Pikkarainen
fuente
¿Cómo detecta problemas en say, /opto /tmpen una sola configuración de partición?
ewwhite
Si un servidor comienza a consumir su espacio en disco rápidamente, algo como esto du -m --max-depth=4 / | sort -nr | head -n 30 | lesses sorprendentemente efectivo. Y de forma controlada. entorno monitoreado, ¿cuántos lugares potenciales tiene para este tipo de cosas, de todos modos? /var/log, /tmp, /opt/*/log, Quizás algo más? No demasiado duro.
Janne Pikkarainen
1

Para los servidores de archivos, también tiendo a montar el /homevolumen en su propia partición / disco, y uso la noexecopción al montarlo. Paranoia, pero evita que los usuarios ejecuten archivos desde sus carpetas de inicio.

Además, tiendo a poner el /bootvolumen en un espejo RAID 1 en todas las unidades, pero de nuevo, sigo la vieja práctica que todavía no veo un inconveniente

Lucas canadiense
fuente
1
La pregunta era sobre servidores virtuales, por lo que el bit sobre / boot en RAID 1 no se aplica. Pero definitivamente es una buena idea en servidores físicos.
Paul Gear