¿Cuáles son las ventajas y desventajas de montar varios directorios en particiones separadas?

41

Al instalar Ubuntu con la opción "algo más", descubrí que hay muchas carpetas que se pueden montar en particiones separadas, como se puede ver en la imagen a continuación.

muchas carpetas se pueden montar en particiones separadas

¿Cuáles son las ventajas y desventajas de montar estas carpetas (o directorios) en particiones separadas?

Específicamente los directorios son

  1. /boot
  2. /home
  3. /tmp
  4. /usr
  5. /var
  6. /srv
  7. /opt
  8. /usr/local
usuario registrado
fuente
66
@CharlesGreen Esa pregunta describe el uso de estos directorios. Estoy interesado en conocer las ventajas y desventajas de montarlos en particiones separadas. Entonces estas preguntas no son las mismas.
Usuario registrado

Respuestas:

54

Hace mucho mucho tiempo...

... Hubo un tiempo en que la gente solía instalar Linux y configurarlo a mano para sus necesidades específicas. Algo de esto es cierto incluso hoy para servidores. Las opciones que ve gpartedson algunas de las más populares para aquellos que tenían necesidades muy diferentes en comparación con los usuarios promedio de escritorio, la audiencia prevista para el escritorio de Ubuntu.

Tomemos estos uno a la vez. Me saltearé los que no conozco mucho.

  1. /boothubo un momento en que el sistema de archivos de Linux era frágil y los discos duros eran pequeños. La gente tenía miedo de que el disco duro se llene o se corrompa y Ubuntu no arranque. Mantener los núcleos en una partición separada ayudó al sistema a arrancar cuando otras cosas salieron mal. En aquellos días, los usuarios de Linux solían compilar su propio kernel y limpiar los viejos. Tan recientemente como con Ubuntu 16.04 LTS , la aplicación Software Updater instaló la última actualización del núcleo, pero no eliminó los núcleos antiguos. Como resultado, una pequeña /bootpartición se llenó con núcleos antiguos y el sistema dejó de arrancar a menos que se limpiara periódicamente. Vea lo que sucedió si tuvo una /bootpartición separada y olvidó limpiarla regularmente: ¿Cómo puedo liberar más espacio en / boot? Con Ubuntu 18.04 LTS, la aplicación Software Updater no solo mantiene el sistema actualizado, sino que también elimina los núcleos antiguos.
  2. Por otro lado, si desea cifrar la /partición (para salvaguardar el software secreto en el que está trabajando), necesitará una /bootpartición separada (y sin cifrar) . De lo contrario, el sistema no se iniciará. Del mismo modo, si tiene una unidad RAID, /bootpuede ser útil mantener una partición que no sea RAID. Mucha gente piensa que tener una /bootpartición separada es una muy buena idea por estas y otras razones.
  3. /homeMantener el hogar en una partición separada aún tiene sentido. Esta carpeta / partición tiene sus archivos personales y tenerla en una partición separada le permite formatear /y reinstalar Ubuntu mientras mantiene sus archivos intactos. Las versiones recientes del software de instalación de Ubuntu incluyen una opción de actualización desde DVD / USB. Esta opción se mantiene /homeintacta incluso si no está en una partición separada. Si te quedas sin espacio en tu unidad principal con /partición. Es posible que desee agregar una nueva unidad y crear una sola /homepartición en la nueva unidad.
  4. /tmpes donde van los archivos temporales. Si está ejecutando un servidor que crea archivos temporales grandes, pueden llenar todo el espacio en disco y detener su servidor. Mantenerlo en una partición separada solo llenará esa partición y puede detener el proceso que estaba creando los archivos temporales grandes, pero no detendrá el resto del sistema. Me dijeron que es más fácil lidiar con una /tmppartición llena que una carpeta temporal debajo de la /partición.
  5. /usr/, /opt/y /usr/localson todos los lugares donde los programas y las aplicaciones se mantienen en diferentes condiciones. Si desarrolla software para Linux, puede tener sentido mantenerlos en particiones separadas, de modo que si reinstala Ubuntu, no eliminará los programas que ha escrito o en los que ha estado trabajando.
  6. Mantener /opt/y /usr/localen partición separada también tiene sentido si instala programas desde la fuente (propia o de algún otro lugar) y desea utilizarlos en otra distribución (digamos de Red Hat) instalado en el mismo equipo en su propia partición. Entonces, ambas distribuciones, Ubuntu y Red Hat pueden compartir las particiones /opty /usr/local. (¡Gracias Rmano!)
  7. /srvy /varson particularmente útiles como particiones separadas si ejecuta servidores o desarrolla páginas web. Para el usuario promedio de escritorio, estas carpetas no ocupan mucho espacio y no contienen nada de valor para el usuario. Para un desarrollador web, perder /var/wwwpuede significar perder su trabajo.

Sin duda, estos no son los únicos directorios que se pueden montar como particiones. En Linux, uno puede montar una partición como cualquier carpeta en cualquier lugar. Las particiones a menudo se montan como subdirectorios de /mnt/y /media.

Espero que esto ayude

usuario68186
fuente
+1, buena respuesta. También puede ver mi opinión en askubuntu.com/a/379212/16395 y askubuntu.com/a/379019/16395
Rmano
1
Gracias @Rmano, había visto tu respuesta detallada antes. Tomaré prestada de tu segunda respuesta y editaré la mía.
user68186
2
Está bien (aunque hago eso para que sobrevivan a una reinstalación completa --- los instaladores más nuevos pueden guardar /homepero no /usr/local. Por cierto, "instalar a mano y adaptar" es el lema de Arch Linux ... así que todavía hay (mucho ) de personas que hacen eso.
Rmano
2
La razón histórica de tener / arrancar como una partición separada es de los días en que el disco duro era más grande de lo que el BIOS podía manejar, por lo que si el kernel estaba en la parte inaccesible del disco, no podría cargarse. Al colocar primero la partición / boot en el disco, se aseguró que el BIOS siempre pudiera acceder al kernel para que Linux pudiera arrancar.
Thorbjørn Ravn Andersen
1
También tenga en cuenta que podrían agregarse discos para obtener más espacio, pero en Unix necesita un lugar para montarlos en lugar de simplemente asignar una letra de unidad. Por ejemplo, si el disco se ejecutó por completo, se compró un nuevo disco para mantener / inicio y el contenido actual se trasladó allí.
Thorbjørn Ravn Andersen
15

Ventajas genéricas de tener múltiples particiones:

  1. Puede usar diferentes discos / LUN y tener un mejor rendimiento. Esto puede aumentar el rendimiento de las bases de datos, ya que puede tener el registro de transacciones en un almacenamiento y los archivos de datos en otro. Similar para aplicaciones web intensivas de E / S de disco.
  2. Puede usar diferentes opciones de montaje (que aumentan la seguridad o que afectan el rendimiento o la estabilidad de una manera más granular)
  3. Puedes tener diferentes sistemas de archivos
  4. Gestionas el espacio por separado. Por lo tanto, puede tener una aplicación desagradable que llene el espacio que no afecta a otras aplicaciones.
  5. La fragmentación de una partición es independiente de la otra.
  6. Puede capturar, montar, desmontar, formatear, desfragmentar, supervisar el rendimiento de esos sistemas de archivos de forma independiente.
  7. Puede tener cifrado en volúmenes específicos.
  8. Puede montar volúmenes a pedido.

Desventajas genéricas de tener múltiples particiones:

  1. Aumenta los gastos generales de administración.
  2. Tendrá más posibilidades de desperdiciar más espacio en disco.
  3. Tendrás más incidentes relacionados con el disco lleno.
  4. Es más difícil crear una instantánea coherente de una aplicación que se ejecute en diferentes volúmenes.
  5. Utiliza un poco más de recursos.
  6. Dependiendo del tipo de volumen (etiqueta de MS-DOS, LVM, btrfs ...) es posible que no pueda asignar fácilmente el espacio de un volumen reduciendo otro. Especialmente en línea.

Otra forma de particionar su sistema es usar LVM, btrfs o zfs para /. Asigne solo el espacio mínimo para / y, cuando sea necesario, cree volúmenes lógicos o extienda /. Esto le deja la opción de dividir los volúmenes en un momento posterior y tiene costos de mantenimiento más bajos.

Ahora cosas específicas:

  • / boot es bueno para ser una partición separada. El sistema de archivos debe ser compatible con su gestor de arranque (generalmente GRUB).
  • Si usa EFI / UEFI, es un requisito tener una partición del sistema EFI.
  • / home es bueno para separar las cosas del usuario del sistema operativo y las aplicaciones.
  • / tmp se puede montar con noexec, nodev, nosuid. Puede ser una memoria asignada fs como tmpfs.
  • / usr puede montarse solo lectura y solo volver a montar rw para actualizaciones, puede ser remoto como un recurso compartido NFS.
  • / srv / opt almacenará la aplicación y los datos de la aplicación. Si tiene una aplicación intensiva de E / S, puede usar un mejor subsistema de disco (por ejemplo, SSD)
  • / usr / local es el valor predeterminado utilizado por las aplicaciones instaladas localmente en la máquina actual. Por ejemplo, tiene todo lo demás en NFS y tiene un disco local ...

No hay una solucion perfecta. Si no tiene una razón clara para crear una nueva partición, entonces no la tenga. La única partición que podría necesitar crear además de / es / boot.

Para computadoras de escritorio / portátiles es bueno tener / home para que pueda reinstalar el sistema operativo independientemente de sus datos.

Mircea Vutcovici
fuente
De nada. No estoy de acuerdo con que sea una buena idea tener una /bootpartición separada para el usuario promedio de escritorio. Los núcleos antiguos no se limpian automáticamente y se agregan nuevos. Entonces esto sucede!
user68186
1
Si se llena, el usuario no podrá instalar nuevos núcleos y las actualizaciones fallarán. Pero el sistema será funcional.
Mircea Vutcovici
1
Por otro lado, si está utilizando un sistema de archivos no compatible con GRUB o si cifra la partición /, debe usar una partición / boot.
Mircea Vutcovici
Acordado en ambos puntos.
user68186
1
He editado mi respuesta para eliminar el requisito obligatorio de la partición / boot.
Mircea Vutcovici
2

Para el escritorio?

Ninguna diferencia.

Para el servidor?

Gestión del espacio y respaldo.

Si su sistema tiene muchos usuarios, puede hacer una partición adicional para / home /, entonces los usuarios no ejecutarán ese espacio y la raíz (/) no se verá afectada.

También puede montar NFS, SMB o partición en otros discos físicos en esas carpetas. Por ejemplo :

/ dev / sda1 / boot (1 GB)

/ dev / sda2 / (60 GB)

nfs: // IP / folder / home (X TB)

/ dev / sdb1 / var (1 TB para / var / www o / var / ftp)

Para laptop

/ en m-sata (rápido)

/ var / home / opt / tmp en disco duro (lento)

przemo
fuente
1
¿Puedes dar más detalles sobre tu último punto? Otra publicación aconsejó no tener esas particiones en un disco separado, debido a la creación de un punto adicional de falla: ahora, si cualquiera de las unidades falla, te quedas sin un sistema que funcione. Sin mencionar que ralentizaría el tiempo de arranque, ya que ahora / está esperando que se monten las particiones del disco duro.
Khashir el
2

La respuesta de przemo, en mi opinión, golpea más de cerca los puntos prácticos. Aquí hay algunas consideraciones prácticas adicionales:

Los entornos empresariales suelen utilizar particiones separadas para arrendar /, / home, / opt, / var, / boot y sistemas de archivos adicionales (1 por aplicación o equipo de aplicaciones) en / opt. Esto es principalmente para evitar que el sistema se quede sin espacio debido a que el directorio de inicio de alguien se vuelve masivo (/ home), los registros se salen de control (/ var) o las aplicaciones consumen toneladas de espacio (/ opt, / opt //, etc.) , y / boot para que las otras particiones se puedan construir en LVM y también para garantizar que pueda obtener algo de un shell de recuperación en caso de que la partición del sistema principal se dañe por alguna razón.

Para mis propios usos personales que no son del servidor, simplemente mantengo particiones /, / boot y / home separadas para poder arrancar dos sistemas operativos Linux / UNIX y usar la misma partición / home para ellos.

En el caso de construir una VM en Oracle Virtualbox, VMWare Player / Workstation / Fusion, etc. para uso personal, realmente no hay ninguna razón práctica para tener múltiples particiones con diferentes puntos de montaje debido a las buenas capacidades para compartir carpetas proporcionadas por al menos VirtualBox y VMWare Player / Workstation / Fusion. La única excepción podría ser / boot por el motivo del shell de recuperación que figura en mi párrafo "entorno empresarial".

MGodby
fuente
2

Si algo sale realmente mal durante la actualización o la actualización de la versión principal, tener / home en una partición diferente le permite iniciar desde el CD y luego borrar por completo y reinstalar el sistema operativo sin perder sus datos. Además, esto hace posible el arranque múltiple con varias distribuciones de Linux, a algunas personas les gusta evaluarlas lado a lado.

h22
fuente
Separate / home es una de mis cajas de jabón, pero todavía me quemé recientemente cuando instalé saucy en otra partición solo para probar en un portátil onírico y estropeó un montón de archivos de configuración en mi shared / home que hizo que oneiric fuera muy infeliz cuando Lo reinicié.
Joe
0

Además de las respuestas existentes, es posible que tenga casos de uso de compatibilidad y rendimiento no estándar / comunes que se benefician de diferentes particiones.

Es posible que desee compartir datos con otro sistema operativo como Windows y necesite usar un sistema de archivos que sea compatible con Linux y.

Es posible que tenga casos de uso especializados que le permitan tener diferentes ajustes (del mismo tipo de sistema de archivos, como una partición EXT4 para muchos archivos pequeños y una partición EXT4 para pocos archivos grandes (como máquinas virtuales), es posible optimice el almacenamiento y el rendimiento para ambos casos de uso.

NGRhodes
fuente