¿Cuántas y qué particiones debo crear para un servidor Linux?

15

Las particiones son muy importantes en el servidor Linux porque le brinda mucha flexibilidad, por ejemplo, cuando se actualiza a un disco duro más grande.

Pero, ¿cuántas particiones debo crear al construir una caja de Linux? ¿Qué tamaño debo establecer para cada partición?

Por último, pero no menos importante, ¿qué particiones debería tener en un disco separado (estoy pensando en / home, / var en un disco más rápido, etc.) y qué particiones puedo compartir en el mismo disco?

paulgreg
fuente
1
¿Cuántas unidades tienes? ¿Anticipa que ese número cambiará con el tiempo? ¿Es esta una caja de propósito único o una de uso general? ¿Usuario único o múltiple? Todas estas cosas importan.
pjz
La pregunta es más sobre un propósito general pero aún para servidores.
paulgreg

Respuestas:

17

La planificación de una buena estructura de partición depende en gran medida de saber realmente cómo va a utilizar el 'servidor'. Cualquier consejo al azar que no tome los servicios reales que se proporcionarán no será particularmente útil.

Por ejemplo, si se trata de un cuadro basado en Debian que se utilizará para mysql, es posible que desee particiones separadas para /, / var y / var / lib / mysql.

¿Será un servidor de archivos con mucho almacenamiento compartido? Es posible que desee particiones /, / home y / srv.

Para un cuadro que solo ejecuta calamar, es posible que desee en la partición para / y una partición en un disco rápido para el carrete de calamar.

Mientras planifica sus particiones, es muy útil tener una buena comprensión del Estándar de Jerarquía del Sistema de Archivos y si su distribución elegida se desvía del estándar.

El uso de LVM puede hacer que sea mucho más fácil cambiar de opinión en el futuro y ajustar sus particiones sin tener que reiniciar, y su capacidad para crear instantáneas puede ser muy fácil de crear buenas copias de seguridad.

Zoredache
fuente
1
La mejor respuesta hasta ahora.
Pausado hasta nuevo aviso.
Gran respuesta ... tanto la recomendación de que la estructura depende del uso previsto como que LVM es un buen camino a seguir.
RickMeasham
Vea más información sobre el valor de particionar aquí. serverfault.com/questions/61284/sell-partitions-to-me
Zoredache
Ni siquiera estaba consciente de que no era un estándar de jerarquía del sistema de archivos. Gracias por mencionarlo.
Joe Internet
8

Siempre creo estas particiones, y desde el año pasado, siempre en LVM:

/       - a few Gig
/usr    - 24 Gig and mostly empty
/var    - 4 Gig works for me, YMMV
/home   - depends on how many users you will have

Una de las más importantes es /var: si se trata de una partición separada, cuando se llene, no bloqueará la partición raíz. Aunque nunca he hecho esto, algunos lo hacen por separado /usrpara poder montarlo como de solo lectura.

y a veces creo estas particiones:

/boot   - even 1 Gig is way more than enough

El razonamiento es que no siempre es posible arrancar desde una partición RAID o LVM. Por lo tanto, /bootpuede ser una simple partición ext3, lo /que permite ser más avanzado.

Si tendré una gran cantidad de archivos grandes, a veces crearé una partición específica para estos archivos grandes para que el sistema de archivos pueda modificarse para que sea eficiente en el almacenamiento de archivos grandes. Algunas personas, si van a servir NFS desde un servidor, crearán una partición separada para sus recursos compartidos NFS o incluso una partición separada para cada recurso compartido NFS. Esto depende de tus necesidades.

¿Por qué LVM? Como mencioné en otras respuestas, pero olvidé mencionarlo aquí, hace MUCHO más fácil cambiar de opinión más tarde y expandir una partición. Esto ya me ha salvado el trasero.

Estas son pautas generales. Por supuesto, espero que si su servidor tiene necesidades especiales, lo tendrá en cuenta y haga una partición que refleje estas necesidades.

Eddie
fuente
7

Suponiendo que está construyendo una máquina que va a durar un tiempo, sería inconveniente reconstruirla y necesita ser bastante flexible, puede que le guste un esquema similar al siguiente:

  1. Instale un mínimo de dos unidades físicas, del mismo tamaño; a los fines de este ejemplo, voy a asumir unidades SATA de 500 GB, pero los principios funcionan bien con otros tamaños de unidades.

  2. Particione cada unidad de la siguiente manera:

    /dev/sda1   500MB
    /dev/sda2   100GB
    /dev/sda3   the rest
    

    El objetivo es tener una pequeña partición de 500 MB en el frente, una partición considerable en el medio para el sistema operativo y las aplicaciones, y la mayor parte de la unidad en la parte posterior para obtener datos adicionales.

  3. Cree un conjunto SW RAID 1,, /dev/md0desde /dev/sda1y /dev/sdb1; construir conjuntos SW RAID 1 adicionales /dev/md1y a /dev/md2partir de las particiones correspondientes.

  4. Formatear /dev/md0como ext3; esto sera /boot.

  5. Formato /dev/md1y /dev/md2como volúmenes físicos LVM.

  6. Cree un grupo de volúmenes LVM vg_system, que contiene /dev/md1.

  7. Cree volúmenes LVM apropiados en vg_systemsu interior para sus diversas particiones del sistema operativo; por lo menos, querrás swap, /varde un par de GB, y /de 10GB más o menos. NOTA : ¡no asigne todo vg_system! Cuando más tarde decida que desea aumentar el tamaño de \var, o si desea agregar un /opto no, entonces querrá ese espacio adicional.

  8. Cree un grupo de volúmenes LVM vg_data, que contiene /dev/md2.

  9. Cree volúmenes LVM dentro vg_datacomo lo desee; por lo menos, querrá un tamaño considerable /home, y es posible que desee volúmenes adicionales para, por ejemplo, bobinas de correo electrónico o bases de datos, raíces web o cualquier otro dato que no sea parte del sistema operativo. Nuevamente, no asigne todo vg_data, por razones similares a las mencionadas anteriormente.

Las ventajas de esta estrategia incluyen lo siguiente:

  • Es tolerante a fallas de hardware; cualquiera de las unidades puede fallar sin causar una falla del sistema, y ​​si invierte en un controlador de intercambio en caliente, puede recuperarse sin tiempo de inactividad.

  • Es a prueba de futuro y ampliable; cuando compre unidades de 2 TB en el futuro, puede colocarlas en la máquina, convertirlas en otro conjunto SW RAID, formatearlo como un volumen físico LVM, agregarlo a cualquier grupo de volumen que necesite más espacio (probablemente lv_data), luego use pvmovepara migrar sus datos de las unidades antiguas a las nuevas. Además, las principales actualizaciones del sistema operativo pueden ser significativamente menos dolorosas; si necesita reinstalar el sistema operativo para una actualización importante (ejem Red Hat :(), puede hacerlo mientras conserva los directorios de inicio (y los spools de correo y todo lo que haya agregado vg_data).

Las desventajas de esta estrategia son pocas; Supongo que es un poco complejo, y usted tiene un impacto en el rendimiento en las escrituras debido al RAID 1. Sin embargo, he estado construyendo estaciones de trabajo y servidores independientes de acuerdo con estos principios durante algunos años, y en mi experiencia cada vez que no lo hago. No construya una máquina en este sentido, en poco tiempo desearía haberlo hecho.

-steve

PD: Debo agregar que si tiene la infraestructura para aprovisionar una nueva máquina de manera rápida y sin problemas, entonces un sistema como este es excesivo; en lugar de jugar con conjuntos RAID y LVM, simplemente reconstruya la máquina si necesita algo cambiado.

hakamadare
fuente
2

Durante años, cada computadora que he usado ha sido un sistema de arranque dual, y en el lado de Linux me quedé con este esquema (estoy hablando de estaciones de trabajo personales aquí, no hay cosas de servidor, por lo que su kilometraje puede variar)

/     - main thing
/boot - not that relevant, since cylinder being < 1024 and 
        exotic filesystems are no longer an issue
/home - handy if you upgrade your laptop with each new distro :-)

Para mi última actualización hice una instalación desde cero, borrando mi /partición. Eso me hizo pensar que una partición /opto /usr/localpartición hubiera sido agradable, evitándome la molestia de reinstalar todas las cosas que puse allí (java, eclipse ... Por lo general, no me importan las distro empaquetadas).

agnul
fuente
2

Además de las particiones mencionadas por Eddie, típicamente creo dos particiones separadas más

/ tmp: por las mismas razones que creó una partición / var separada (he tenido el espacio temporal completo antes). Normalmente voy con 1-2 GB

/ usr / local: esto le permite actualizar y limpiar / usr según sea necesario sin eliminar todo el software instalado por separado. El tamaño aquí depende de la cantidad de software externo que instales. Normalmente voy con unos 10 GB, pero estoy descubriendo que es un poco pequeño en estos días.

Siempre hago que / home dure y llene el resto del disco con él.

En la partición / boot, nunca lo hice más grande que 100 Mb y nunca me encuentro con problemas de espacio (eventualmente limpio los núcleos viejos). Realmente puede ser muy pequeño.

Además, no olvide una partición de intercambio también.

dagorym
fuente
1

Para la mayoría de las máquinas, hago

100MB /boot
1GB * NUMBER_OF_USERS /home
10GB /var/log
10GB /var
REST /

En algunos casos, esto tendrá que cambiarse, pero soy bastante firme sobre los usuarios que no obtienen más de 1 GB de espacio en un servidor. Si necesitan más, pueden usar / tmp, con el entendimiento de que se eliminará a través de cron todas las noches.

Glen Solsberry
fuente
1

Suponiendo que no use un RAID de hardware allí, en Linux siempre usaría LVM sobre RAID. Incluso para una configuración de disco único. La razón es que tiene la opción de agregar más espacio de almacenamiento (ampliando el grupo LVM) o cambiar las opciones de redundancia (por ejemplo, convertir una configuración "raid1" de disco único "extraño" en una duplicada o incluso RAID10 con un trabajo pesado).

Para responder a su pregunta, generalmente tengo algo similar a esto para un servidor genérico. Comenzando con 2 discos (digamos un 1RU Dell), ambos particionados como:

  • ~ 100MB RAID1 para / boot
  • LVM encima de RAID1 para el resto del disco

Luego creamos todo el volumen como volúmenes LVM: * / * / var * / tmp * / home * / opt

Evitaría crear demasiados sistemas de archivos ya que es difícil de manejar. Si se está quedando sin disco, terminará teniendo espacio libre en muchos sistemas de archivos, pero no lo suficiente para trabajar.

/ home y / tmp en un sistema de archivos separado siempre es una buena idea; generalmente no me separo / opto a menos que esté planeando poner muchas cosas en él. (NFS podría ser una mejor opción para / opt si tiene muchos servidores que requieren la misma pila de software)

En resumen, use LVM para todo, a menos que tenga una razón para no hacerlo, de esa manera tiene la opción de cambiar.

Además, use un servidor de registro para que los registros no llenen su / var.

Lester Cheung
fuente
0
  • / boot - 128MB

Grupo de volúmenes - rootvg

  • / var - 5GB (depende de si se usa como servidor de correo. También puede cambiar el tamaño para capturar archivos principales)
  • / tmp - 2GB
  • / opt - 10GB (usado para software que no viene con la distribución)
  • / - 6GB - mínimo

Grupo de volumen - datavg

  • / home - el resto

Puede hacer un / usr por separado para su software, pero en mi caso la caja se reinstala, por lo que no es necesario obtener su propia partición.

setatakahashi
fuente