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

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 de abajo.

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

Hace mucho mucho tiempo…

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

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

  1. /boot hubo un momento en que el sistema de archivos de Linux era frágil y los discos duros eran pequeños. La gente temía que el disco duro se llenara o se corrompiera y que Ubuntu no se iniciara. 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 comstackr su propio kernel y limpiar los antiguos. Estos días me parece un poco contraproducente. En un escritorio que recibe todas las actualizaciones, una pequeña partición /boot tiende a llenarse con los kernels antiguos y el sistema detiene el arranque a menos que uno lo limpie periódicamente. Vea qué sucede si tiene una partición /boot separada y olvide limpiarla regularmente: ¿Cómo libero más espacio en / boot?
  2. Por otro lado, si desea cifrar la partición / (para proteger el software secreto en el que está trabajando), necesitará una partición /boot separada (y sin cifrar). De lo contrario, el sistema no arrancará. De manera similar, si tiene una unidad RAID, puede ser útil mantener /boot en una partición que no sea RAID. Mucha gente piensa que tener una partición /boot separada es una muy buena idea por estas y otras razones.
  3. /home Mantener el hogar en una partición separada todavía tiene algún 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 de DVD / USB. Esta opción mantiene /home intacto incluso si no está en una partición separada. Si se queda sin espacio en su unidad principal con / partition. Es posible que desee agregar una nueva unidad y crear una sola partición /home en la nueva unidad.
  4. /tmp es donde van los archivos temporales. Si está ejecutando un servidor que crea archivos temporales grandes, pueden llenar todo el espacio del 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 rest del sistema. Me han dicho que es más fácil tratar con una partición /tmp rellenada que con una carpeta temporal en / partición.
  5. /usr/ , /opt/ , y /usr/local son todos los lugares donde los progtwigs y aplicaciones se mantienen bajo diferentes condiciones. Si desarrolla software para Linux, puede tener sentido mantener estas particiones separadas, de modo que si reinstala Ubuntu, no eliminará los progtwigs que ha escrito o en los que ha estado trabajando.
  6. Mantener /opt/ y /usr/local en una partición separada también tiene sentido si instala progtwigs desde su propia fuente o desde otro lugar y quiere usarlos en otra distribución (por ejemplo, Red Hat) instalada en la misma computadora por su cuenta dividir. Entonces ambas distribuciones, Ubuntu y Red Hat pueden compartir las particiones /opt y /usr/local . (Gracias Rmano!)
  7. /srv y /var son 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 que sea de valor para el usuario. Para un desarrollador web, perder /var/www puede significar perder su trabajo.

Para estar seguros, 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

Ventajas genéricas de tener múltiples particiones:

  1. Puede usar diferentes discos / LUN y tener un mejor rendimiento. Esto puede boost 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 assembly (que aumentan la seguridad o que afectan el rendimiento o la estabilidad de una manera más detallada)
  3. Puedes tener diferentes sistemas de archivos.
  4. Manejas el espacio por separado. Así que puedes tener una aplicación desagradable que llena el espacio que no afecta a otras aplicaciones.
  5. La fragmentación de una partición es independiente de la otra.
  6. Puede hacer instantáneas, montar, desmontar, formatear, desfragmentar y monitorear el rendimiento de esos sistemas de archivos de forma independiente.
  7. Puede tener cifrado en volúmenes específicos.
  8. Puede montar volúmenes bajo demanda.

Desventajas genéricas de tener múltiples particiones:

  1. Incrementa los gastos generales de administración.
  2. Tendrá mayores posibilidades de perder más espacio en disco.
  3. Tendrás más incidencias que involucran disco lleno.
  4. Es más difícil crear una instantánea consistente de una aplicación que se ejecuta en diferentes volúmenes.
  5. Utiliza un poco más de recursos.
  6. Dependiendo del tipo de volumen (etiqueta MS-DOS, LVM, btrfs …) es posible que no pueda asignar fácilmente espacio desde un volumen al reducir 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 dividirse en volúmenes en un momento posterior y tiene menores costos de mantenimiento.

Ahora cosas específicas:

  • / boot es bueno para ser una partición separada. El sistema de archivos debe ser compatible con su cargador 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 mapeada como tmpfs.
  • / usr se puede montar de solo lectura y solo rw montado de nuevo para las actualizaciones, puede ser remoto como un recurso compartido de 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, no lo haga. La única partición que podría necesitar además de / is / boot.

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

Para escritorio?

Ninguna diferencia.

Para el servidor?

Gestión del espacio y backup.

Si su sistema tiene muchos usuarios, puede crear una partición adicional para / home /, entonces los usuarios no utilizará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 (1GB)

/ dev / sda2 / (60GB)

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

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

Para laptop

/ en m-sata (rápido)

/ var / home / opt / tmp en hdd (lento)

La respuesta de przemo, imo, golpea más estrechamente los puntos prácticos. Aquí hay algunas consideraciones prácticas adicionales:

Los entornos empresariales normalmente usan particiones separadas para al menos / /, / opt, / var, / boot, y sistemas de archivos adicionales (1 por aplicación o equipo de aplicación) bajo / opt. Esto se debe principalmente a evitar que el sistema se quede sin espacio debido a que el directorio principal de alguien se está volviendo masivo (/ home), los registros se salen de control (/ var) o las aplicaciones que consumen mucho 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 corrompa por algún motivo.

Para mis propios usos personales no relacionados con el servidor, solo mantengo las particiones separadas /, / boot y / home para poder iniciar de forma dual los sistemas operativos Linux / UNIX de Linux y usar la misma partición / home para ellos.

En el caso de crear 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 assembly debido a las agradables capacidades para compartir carpetas proporcionadas por al menos VirtualBox y VMWare Player / Workstation / Fusion. La única excepción podría ser / boot para el motivo del shell de recuperación que se indica en el párrafo “entorno empresarial”.

Si algo va 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 limpiar completamente 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 una al lado de la otra.

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

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

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.