Partición óptima del sistema de archivos UNIX + estrategia de configuración


16

Al particionar un nuevo disco (s) del sistema para UNIX, ¿cuál es su estrategia preferida tanto para el escritorio como para los servidores?

Incluya el diseño de la partición del disco, los formatos y las opciones del sistema de archivos, los puntos de montaje, los niveles de RAID, los grupos y volúmenes LVM, el cifrado y cualquier otra configuración relevante.


La pregunta parece casi un duplicado de esto ( serverfault.com/questions/1145/… ).
Zoredache

¿Es esto para una estación de trabajo, un servidor de prueba o para un servidor en línea completamente maduro?
djangofan

Respuestas:


9

Soy fanático de LVM para este tipo de problemas. Solo necesita algo de espacio para / boot (uso alrededor de 100 MB). En combinación con sistemas de archivos que pueden crecer y reducirse dinámicamente (o al menos crecer), nunca más tendrá que pensar en particiones pequeñas.

En mi escritorio uso un LVM con XFS como sistema de archivos para todas las particiones. Creo lo más pequeño posible y los dejo crecer a medida que necesito más espacio.


7

Si es Linux, tenga un / boot separado.

Para otras variantes de Unix, por lo general, he recomendado particiones para / y / var, los datos generalmente se montan en / u001, / u002, etc.

Anteriormente, era necesario particionar en gran medida ya que el espacio en disco era limitado y no deseaba que una sola partición llena derribara todo el sistema. Con el almacenamiento enormemente aumentado disponible hoy en día, así como las numerosas opciones de redimensionamiento y virtualización disponibles, la necesidad de muchas particiones IMO ha disminuido. Eso, junto con el hecho de que es una molestia mover las cosas cuando tienes muchas particiones significa que si puedes salir con menos, hazlo.

Tener el intercambio como 2xRAM no tiene sentido cuando tiene 32 GB de memoria. Así que recuerde, las "reglas" son realmente pautas y algunas simplemente no tienen sentido a la luz del nuevo hardware disponible ahora.


2
Hace +1 al mencionar la necesidad de que la partición disminuya últimamente, además de que si necesita más espacio en / home, siempre podría montar un nuevo disco duro.
Spoike

1
+1: estoy de acuerdo con minimizar la necesidad de juegos de partición locos en la mayoría de los sistemas. Si sabe que necesita / var para estar en un disco rápido debido a alguna aplicación, que así sea. La mayoría de las veces, cuando me encuentro con juegos de partición locos en sistemas de producción, ha sido un solo volumen RAID-1 de hardware dividido en un montón de pequeñas particiones, todas esperando para llenarse y necesitan ser redimensionadas (para que funcione el administrador, al parecer). Si sabe que tiene una aplicación para algún tipo de esquema de partición complejo, hágalo. Si no lo haces, no lo haces.
Evan Anderson

5

La planificación de una buena estructura de partición depende en gran medida de saber realmente cómo va a utilizar el sistema. Cualquier consejo aleatorio que no tenga en cuenta lo que está haciendo el sistema no será particularmente útil.

Todos los sofisticados sistemas de archivos pueden ser útiles en ocasiones, pero si desea un sistema estable, puede ser una mejor idea seguir con el sistema de archivos 'estándar' (es decir, ext3) a menos que tenga una muy buena razón para usar otra cosa.

RAID es bueno, siempre ejecuto RAID1 en todas mis computadoras personales porque me han fallado muchos discos duros.

El cifrado con algo como dm-crypt es bueno si su sistema es un dispositivo portátil, tiene datos de alto valor o es simplemente paranoico.

Mientras planifica sus particiones, es muy útil tener una buena comprensión de cosas como el Estándar de jerarquía del sistema de archivos y si / cómo su unix elegido 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. Use LVM y no asigne inmediatamente todo su espacio.


5

Hay dos muy buenas razones para particionar además del tipo FS:

  1. Evite el desbordamiento de una aplicación que afecte la funcionalidad del sistema. Si su aplicación se llena /usr, entonces es útil tener algo de espacio /varpara permitir que el sistema continúe y se registren los registros.

    Jauder dijo anteriormente que esto es negado por el tamaño de los discos duros hoy en día; no creo que esto sea estrictamente cierto. Nuestras unidades pueden ser más grandes, pero los datos que estamos entregando aumentan cada vez más. No hay necesidad de ser complaciente.

  2. Opciones de montaje. Puede definir con más cuidado qué permisos debe adoptar cada partición. Por ejemplo, es una buena práctica no permitir que se ejecuten archivos, especialmente suid, /tmpya que es un vector de ataque común para máquinas que sirven aplicaciones web. A menos que esté ejecutando cárceles, no debería esperar ver nodos de dispositivos en ningún otro lado /dev. Y así.

p.ej.

/ noatime  
/tmp noatime,nodev,nosuid,noexec  
/var noatime,nodev,nosuid  
/usr noatime,nodev  
/home noatime,nodev,nosuid  

4

Partición de discos físicos
Comience con 2 discos como mínimo:

# 1 100MB, ID = 83 (Linux), indicador de arranque activado
# 2 restante, ID = FD (Linux Raid Auto)

La partición de 100 MB es para el volumen / boot. Lo dejo en todas mis unidades (incluso sin arranque) para permitir flexibilidad, de modo que cualquier unidad se pueda habilitar más tarde para arrancar. SI los discos no coinciden en tamaño o si tiene un número impar (500 GB, 250 GB x 2), divida las particiones de la unidad de 500 GB para que coincidan con los discos más pequeños.

RAID
Usando las particiones de 100MB sday sdbcrea un volumen RAID1 (espejo) para /boot. Esto se conviertemd0 .

md0 / boot 100MB Ext2

No se moleste en usar un FS exótico en / arranque, no vale la pena.

El espacio restante se puede configurar de diferentes maneras. Opto por un RAID10 (espejo / banda) que usa trozos de 64K y "2 copias lejanas" para la velocidad. Esto le brinda mucha flexibilidad para actualizar gradualmente las unidades en el futuro. La otra opción es hacer un RAID5 / 6. Sin embargo, el espacio utilizable se limitará a la partición más pequeña y NO use particiones de los mismos dispositivos. Nombrar a los nuevos arreglos RAID md1, md2y así sucesivamente.

LVM
Tome todas las matrices RAID excepto md0, y colóquelas en un solo grupo de volúmenes LVM llamado lvm_vg0. Si tiene volúmenes RAID5 y RAID10, probablemente sea mejor no combinarlos, pero supongo que no dolería.

Particione VG0 para los montajes restantes del sistema. Recuerde que es relativamente fácil agregar más espacio si es necesario, por lo que estos números pueden ser algo conservadores.

lvm_vg0-root / 8GB Ext3 / ReiserFS (archivos de distribución principal)
lvm_vg0-home / home 20 + GB Ext3 / ReiserFS (datos de usuario, documentos)
lvm_vg0-data / data 60+ GB XFS (medios, archivos grandes, vm)

Los sistemas de archivos XFS no se pueden reducir, así que tenlo en cuenta. Además, la reducción de un volumen raíz en línea probablemente no sea compatible.

Actualización Si alguna vez desea cambiar discos por tamaños más grandes, tiene algunas opciones. Lo más fácil es agregar unidades en pares o más, y agregar las nuevas matrices RAID al LVM VG actual.

Otra opción es agregar una sola unidad que sea> = a la suma del espacio actual. Por ejemplo, si tiene dos dispositivos de 100 GB en RAID10, puede agregar un nuevo dispositivo de 200 GB y duplicarlo utilizando los dos dispositivos antiguos. Esto es más propenso a errores, pero funcionará.

Si es necesario, los md#dispositivos se pueden eliminar del LVM VG sin perder datos. Esto se puede hacer si hay suficiente espacio libre de LVM para cambiar todos los bloques de LVM usados ​​del md#dispositivo a otros. LVM solo puede usar espacio que no ha sido asignado a un LV, por lo que un sistema de archivos vacío no cuenta como espacio "libre".


1
No estoy convencido por el miedo a los sistemas de archivos exóticos en / boot. ext3 y XFS ya no son exóticos en 2009. Solía ​​ser una preocupación cuando los liveCD no estaban empaquetados con controladores para ellos, pero casi todos lo son en estos días.
Dan Carley

@Casey, puede reducir un volumen Ext3 "en vivo", siempre que tenga suficiente espacio libre para que las cosas se muevan. Sí, esta es una experiencia de morderse las uñas, pero lo he hecho y funciona como se anuncia. Solo ten mucho cuidado con los parámetros.
Avery Payne

2

Acabo de ejecutar estaciones de trabajo Linux. Utilizo el sistema de archivos ext3 y los tamaños dependen un poco del tamaño de los discos, siendo más generoso con las particiones en los discos más grandes. Estos están más o menos en el orden en que aparecen en la tabla de particiones:

  • / boot - 100 MB
  • espacio de intercambio - 2xRAM
  • / usr - 10-20 GB
  • / - 5-10 GB
  • / var - 1-2 GB
  • / tmp - 1-2 GB
  • / usr / local - 10-20 GB
  • / home - todo lo demás.

En las estaciones de trabajo de mi esposa en la universidad, que tienen dos unidades de 750 GB, creamos, además de lo anterior, una docena de ~ 100 GB de particiones en las distintas unidades, todas montadas en / data / N, donde N era un número del 1 al 12 Ella los usa para guardar los datos de sus diferentes proyectos de investigación.


Personalmente, no veo la ventaja de tener / var, / usr separado en una partición diferente. Si bien / usr / local puede ser una buena idea si tiene un software instalado personalizado (= no instalado a través de la administración de paquetes), los dos mencionados son, en mi opinión, bastante inútiles. También 2xRAM como intercambio no es necesario. Si su sistema comienza a intercambiarse, todo se vuelve lento, por lo que debe evitar esto al principio. Personalmente, solo tengo una partición de intercambio con Ramsize + X porque a veces uso la suspensión en disco.
Martin

2
@ Martin, en Linux Box, que actúa como caché de calamar, desea que su directorio de cola y el directorio de registro estén en un disco rápido, y generalmente no necesita que ese disco sea confiable. Uno podría poner (/ var) su carrete en un RAID0 (banda) y dejar todo lo demás en una unidad más lenta.
Zoredache

@ Martin: Tienes razón, la división / usr probablemente no sea necesaria y tampoco siempre lo hago. El intercambio = 2xRAM es un viejo hábito que quedaba de los días en que estaba configurando sistemas con solo 256 MB de RAM o menos.
dagorym

1
en realidad, dividir / usr y / var le permite habilitar el registro en diario en uno y no en el otro.
Scott,

1
Y poner / var en una partición separada se asegura de que solo / var pueda llenarse con archivos de registro, que de otro modo podrían haber puesto a su sistema de rodillas.
wzzrd

1

uso noatime en todos los discos (a menos que tenga una razón para no hacerlo) Monto / tmp en tmpfs aunque esto puede no ser tan bueno en un servidor, me aseguraría de que sea una partición separada y lo monte nodev, nosuid, noexec, noatime . Siempre uso ext2 para / boot, así que no tengo que preocuparme por cambiar las cosas de fs que arruinan mi capacidad de arrancar con grub. ext4 en todo lo demás, uso journal = data en / home que probablemente ralentiza un poco las cosas (ya que no tiene dealloc) pero nunca he perdido datos con journal = data tampoco, y siendo un poco de lo último / mejor Puta, a veces mi sistema se bloquea y tengo que reiniciarlo (porque intenté algo como kms y encontré un error).


1
No olvides usar 'nodiratime' también, de lo contrario presionarás tu vfs_cache_pressure con toneladas de inodes (¡más las escrituras reales en el disco!).
Gazzonyx

0

Wow, buena pregunta. He estado navegando por la respuesta perfecta para esto para los yonks.

Personalmente tengo 50Mb / boot ~ 8GB / y el resto va hacia / home. Eso está lejos de ser perfecto. Necesito investigar sistemas de archivos alternativos, actualmente uso ext3 pero he escuchado cosas buenas de otros sistemas de archivos, por ejemplo XFS.

Por lo general también crean un contenedor de archivos de / tmp puramente para que pueda ser más flexibles con él en el futuro.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.