Está en la página 1de 2

Buenas prácticas en el particionado de GNU/Linux (Parte 2): Avanzado

Marc included in  GNU/Linux  Sistemas


 2013-12-24   1160 words    6 minutes 

En esta segunda parte de la guía revisaremos algunos de los directorios del estándar FHS, aprenderemos a qué están destinados y
conoceremos las ventajas que nos puede aportar separarlos de la partición raíz.
/wp-content/uploads/2013/11/Linux.jpg
Linux

Antes de seguir quiero matizar que el particionado, como la mayoría de las cosas relacionadas con GNU/Linux, tiene un nivel de
personalización extremo. Es por eso que seguramente no todo el mundo verá necesarias algunas de las cosas que se propongan en
esta entrada, así como quizás haya gente que piense que hay 90 directorios más susceptibles de ser particionados y que no quedan
recogidos en este texto. Yo repasaré en esta entrada los 4 que considero “más importantes” junto a los mencionados en la primera
parte de esta entrega.

Los archivos de arranque de /boot


Empezamos con la revisión de los directorios con el que lo inicia todo, /boot. Este directorio contiene los archivos encargados del
arranque del sistema, es decir, el cargador de arranque, kernel o initrd. La separación del directorio /boot, en la mayoría de los casos
no atiende a razones actuales. Antiguamente se separaba /boot debido a restricciones en las BIOS, pero en los modelos actuales esto
ha dejado de ser necesario. No obstante, hay varios motivos por los que podríamos querer separar nuestra partición /boot del
sistema de ficheros raíz:
Si nuestro cargador de arranque no lee el tipo de sistema de archivosempleado en nuestra partición raíz esta partición será
de uso obligatorio. Esto pasa, por ejemplo, con Grub Legacy y LVM.
Muy relacionado con el anterior, si tenemos cifrada la raíz del sistematambién será de uso obligatorio la separación del
sistema, puesto que nuestro cargador de arranque no tendrá la capacidad de leer dicha partición.
Como sistema de recuperación ante desastres.
Si bien por la información que he podido encontrar esto hoy en día no se aplica del todo, podemos utilizar un sistema de
ficheros como ext2, que no tiene journaling, para intentar acelerar el arranque del sistema.
Si por algún oscuro misterio queremos compartir /boot entre distintos sistemas GNU/Linux.
Si bien separar esta partición no nos aportará “grandes beneficios”, como herencia aunque sea, sigue siendo una práctica
recomendada como podremos encontrar en la mayoría de Wikis de las distribuciones actuales. En el caso de que decidamos
separarla, que nunca está de más, con dejarle 100-200MB de espacio será más que suficiente.

Los archivos variables de /var


En la carpeta /var encontraremos todo tipo de archivos de los cuales se espera que, en una ejecución normal del sistema, estén
cambiando continuamente. Estos podrían ser logs, bases de datos, spool, cachés, temporales de e-mail, etc.
El directorio /var, en sistemas que actúan como servidores, suele ser siempre separado del sistema raíz por diversos motivos:
Puesto que en esta partición es donde se alojan bases de datos y archivos a los que podemos necesitar tener buenos tiempos
de escritura y lectura, podemos querer usar discos más rápidos que los que usamos para el sistema principal o sistemas de
archivos más rápidos para reducir tiempos de acceso.
Debido a la criticidad que pueden adquirir los archivos ubicados en este directorio podemos ubicarlo en discos que dispongan
de medidas de seguridad más altas, como raids más fiables y discos de mejor calidad.
En este directorio se contienen archivos que pueden experimentar un crecimiento muy rápido y en ocasiones descontrolarse.
Separar la carpeta en una partición aislada es una buena forma de evitar que estos archivos acaben creciendo demasiado y
dejando nuestro sistema principal sin espacio, con lo que esto puede conllevar en el sistema.
En resumen, separar /var del sistema raíz nos aporta velocidad, fiabilidad y seguridad.
Otra cosa que podemos tener en cuenta es que podemos realizar más de un particionado del directorio. Esto quiere decir que por
un lado nos puede interesar separar /var/log y por otro /var/www para asegurarnos de que el directorio de logs no se acaba
comiendo el espacio del servidor web o viceversa.
Hay que ser conscientes de que en una máquina de escritorio las ventajas pueden no ser demasiadas si no estamos corriendo algún
tipo de servicio que haga uso intensivo de este directorio. No obstante, no sería la primera vez que por un mal funcionamiento del
sistema el directorio /var/log se descontrolara en un sistema de escritorio.
Sobre el tamaño de la partición dependerá enormemente de los servicios que soporte la máquina y de cuanto uso den al directorio.
Así, podrán ser necesarios unos pocos GB en máquinas de escritorio (hay que tener en cuenta de que aquí se almacena la caché de
los gestores de paquetería) hasta cientos de ellos en servidores.
Los programas de /usr y /usr/local
En /usr es donde se ubican la mayoría de programas multiusuario. Esta carpeta, sobretodo en servidores, no necesita ser modificada
a no ser que instalemos nuevos programas, por lo que para muchos administradores se convierte en una práctica habitual ponerla en
una partición separada del sistema y montarla en solo lectura. Esto es especialmente útil para cerciorarnos de que ningún error ni
ataque será capaz de alterar los binarios que contiene nuestra máquina.
Por otro lado, puesto que el directorio /usr es compartible podríamos tenerlo, por ejemplo, en un share NFS al que distintas
máquinas atacaran.
El tamaño a ubicar en esta partición dependerá de la cantidad de aplicaciones que tengamos instaladas en nuestro sistema.
También puede ser útil tener en cuenta la carpeta /usr/local, una carpeta de similar estructura que /usr destinada a almacenar
programas locales. Es una carpeta estática, que nos puede interesar mantener intacta después de un formateo de la máquina, por
tanto también puede ser una buena idea separarla.

Los archivos temporales de /tmp


/tmp es el directorio donde nuestras aplicaciones almacenarán archivos temporales. Este directorio tiene la particularidad de que,
como norma general, siempre será borrado tras un reinicio del sistema.
El principal motivo por el que nos puede interesar separar esta partición es para asegurarnos de que ninguna aplicación descontrole
su uso de este directorio y acabe llenando el sistema de archivos temporales.
Hay que tener en cuenta que systemd por defecto utiliza tmpfs sobre el directorio /tmp. Otro uso por el que nos puede ser útil
separar /tmp es para evitar que esto ocurra, puesto que si systemd detecta que tenemos /tmp en una partición separada no
montará tmpfs por defecto. Esto puede ser de ayuda si necesitamos que nuestro directorio /tmp sea más grande que la mitad de la
memoria RAM del sistema. A raíz de lo anteriormente comentado, en sistemas donde por defecto se usa tmpfs sobre el directorio
/tmp, debemos ser conscientes de que este comportamiento ya implica de por si una separación del directorio /tmp en una partición
(virtual) separada.
Hasta aquí esta pequeña aproximación sobre el particionado en GNU/Linux. Esto es una pequeña pincelada de lo que podemos
realizar con nuestros sistemas. Si queréis ampliar información podéis dirigiros a las correspondientes Wiki’s de vuestras distribuciones
donde seguramente encontraréis toneladas de información al respecto.

También podría gustarte