Gentoo Logo

Renuncia de responsabilidad: Este manual ha sido sustituido por una versión más reciente y no tendrá soporte de aquí en adelante.


[ << ] [ < ] [ Inicio ] [ > ] [ >> ]


4. Preparando los Discos

Contenido:

4.a. Introducción a Dispositivos de Bloque

Dispositivos de Bloque

Examinaremos de forma detallada los aspectos de Gentoo Linux así como Linux en general que tengan que ver con discos, sistemas de ficheros de Linux, particiones y dispositivos de bloque. Una vez esté familiarizado con las entrañas de los discos y sistemas de ficheros, le guiaremos a través del proceso de creación de particiones y sistemas de ficheros de tu instalación Gentoo Linux.

Para empezar, explicaremos el término dispositivos de bloque. Quizás el dispositivo de bloque más conocido es el que representa la primera unidad IDE llamada /dev/hda en un sistema Linux. Si tu máquina utiliza discos SCSI entonces el primer disco duro se denominará /dev/sda.

Los dispositivos de bloque mencionados anteriormente representan una interfaz abstracta de disco. Las aplicaciones pueden hacer uso de estas interfaces para interactuar con el disco duro de la máquina sin importar el tipo de unidad que tienes: IDE, SCSI, o cualquier otra. La aplicación puede simplemente dirigirse al almacenamiento en el disco como a una serie de bloques de acceso aleatorio de 512-bytes situados de forma contigua.

Particiones

Aunque teóricamente es posible utilizar el disco duro completo para albergar la instalación Linux, esto casi nunca se hace. En su lugar, los dispositivos de bloque enteros se dividen en partes más manejables y pequeñas. En los sistemas x86 éstas se llaman particiones.

Particiones se dividen en tres tipos: primarias, extendidas y lógicas.

La partición primaria es aquella que almacena su información en el MBR (registro principal de arranque). Ya que el MBR puede almacenar hasta 512 bytes, sólo pueden definirse cuatro particiones primarias (por ejemplo, desde /dev/hda1 hasta /dev/hda4).

Una partición extendida es una partición primaria especial (entendemos que la partición extendida debe ser una de las cuatro posibles particiones primarias) la cual contiene más particiones. Al principio no existía este tipo de partición, pero como cuatro primarias eran muy pocas, se diseñó para extender el esquema de particionamiento sin perder la compatibilidad inversa.

Una partición lógica es aquella que está dentro de la partición extendida. En otras palabras, estas particiones no se definen dentro del MBR, sino que se declaran dentro de la partición extendida.

Almacenamiento Avanzado

Los LiveCds de x86 proporcionan soporte para EVMS (en inglés, Enterprise Volume Management System) manejo empresarial de volúmenes o LVM2 (en inglés, Logical Volume Management) manejo lógico de volúmenes, incrementando la flexibilidad ofrecida por el esquema de particionamiento. Durante la instalación las instrucciones principalmente se enfocan sobre particiones "habituales", pero es bueno saber que EVMS y LVM2 también están soportadas.

4.b. Diseñando un Esquema de Particionamiento

Esquema de Particionamiento por Defecto

Si no está interesado en diseñar un esquema de particionamiento particular para tu sistema, puede hacer uso del esquema que utilizaremos en este manual:

Partición Sistema de Ficheros Tamaño Descripción
/dev/hda1 ext2 32M Partición de arranque
/dev/hda2 (swap) 512M Partición de intercambio
/dev/hda3 ext3 El resto del disco Partición de raíz

Si está interesado en conocer el tamaño que debería tener una partición, o incluso cuantas particiones necesita, continué leyendo. En caso contrario, siga con el particionamiento del disco leyendo Utilizando fdisk para particionar su disco.

¿Cuántas? y ¿de qué tamaño?

El número de particiones que necesita depende mucho de su entorno particular. Por ejemplo, si la máquina tiene muchos usuarios, lo más probable es que desee tener /home en una partición separada para facilitar las tareas de copia de respaldo y aumentar la seguridad. Si está instalando Gentoo para funcionar como servidor de correo, debe tener /var sobre una partición separada ya que es allí dónde se almacena todo el correo. Asimismo, una buena elección de sistema de ficheros optimizará el rendimiento del equipo. Las estaciones de juegos deben disponer de una partición /opt ya que la mayoría de juegos se instalan en ese directorio. Las razones para todas estas recomendaciones son similares a aquellas que hemos mencionado para el caso de /home: seguridad y salvaguarda de datos.

Como puede ver, todo depende de lo que quiera conseguir. Tener particiones o volúmenes separados tiene las siguientes ventajas:

  • Puede elegir el mejor sistema de ficheros para cada partición o volumen
  • El equipo en su totalidad no puede quedar sin espacio si una herramienta o aplicación está escribiendo datos de forma continua al volumen o partición
  • Si es el caso, el tiempo dedicado a las comprobaciones de integridad de sistemas de fichero se reduce ya que las comprobaciones pueden ser llevadas acabo en paralelo (sin embargo esta ventaja es mayor con múltiples discos que con múltiples particiones)
  • La seguridad puede ser aumentada montando algunas de las particiones en modo sólo lectura, nosuid (los setuid bits se ignoran), noexec (los bits de ejecución se ignoran), etc.

Pero, tener múltiples particiones tiene una gran desventaja: si la configuración no es la adecuada, puede acabar teniendo mucho espacio libre en una de las particiones y quedarse sin espacio en otras. Además, existe un límite de 15 particiones para SCSI y SATA.

Como ejemplo de un esquema de particionamiento utilizaremos un disco duro de 20 Gb de un portátil para fines de demostración (incluye servidor web, servidor de correo, gnome, etc.):

Listado de Código 2.1: Ejemplo de particionamiento

Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/hda5     ext3    509M  132M  351M  28% /
/dev/hda2     ext3    5.0G  3.0G  1.8G  63% /home
/dev/hda7     ext3    7.9G  6.2G  1.3G  83% /usr
/dev/hda8     ext3   1011M  483M  477M  51% /opt
/dev/hda9     ext3    2.0G  607M  1.3G  32% /var
/dev/hda1     ext2     51M   17M   31M  36% /boot
/dev/hda6     swap    516M   12M  504M   2% <not mounted>
(Espacio sin particionar para uso futuro: 2 Gb)

/usr parece estar bastante llena (83%), pero una vez que todo el software esté instalado no tiende a llenarse más. La gente puede pensar que el espacio que asignamos a /var es excesivo, sin embargo hay que saber que Gentoo compila todas las aplicaciones en /var/tmp/portage, por lo tanto se debe tener al menos 1 Gb de espacio libre en /var si no se planea compilar aplicaciones grandes, en caso contrario se recomienda tener 3 Gb libres, si compilar KDE u OpenOffice.org no es demasiado para usted.

4.c. Utilizando fdisk para particionar su disco

Las siguientes instrucciones explican como particionar el disco duro según el esquema descrito anteriormente:

Partición Descripción
/dev/hda1 Partición de arranque (boot)
/dev/hda2 Partición de intercambio (swap)
/dev/hda3 Partición de raíz (root)

Cambie el esquema de particionamiento según su propio criterio.

Examinando el Esquema de Particionamiento Actual

fdisk es una herramienta potente y bastante popular que permite dividir el disco en particiones. Arranca fdisk sobre tu unidad de disco (en nuestro ejemplo usamos el dispositivo de disco /dev/hda)::

Listado de Código 3.1: Iniciando fdisk

# fdisk /dev/hda

Una vez que fdisk esté en ejecución, el programa ofrecerá el siguiente símbolo de comandos:

Listado de Código 3.2: Símbolo de espera de órdenes de fdisk

Command (m for help): 

Teclee p para mostrar el esquema de particionamiento actual:

Listado de Código 3.3: Un ejemplo sobre configuración de particiones

Command (m for help): p

Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1        14    105808+  83  Linux
/dev/hda2            15        49    264600   82  Linux swap
/dev/hda3            50        70    158760   83  Linux
/dev/hda4            71      2184  15981840    5  Extended
/dev/hda5            71       209   1050808+  83  Linux
/dev/hda6           210       348   1050808+  83  Linux
/dev/hda7           349       626   2101648+  83  Linux
/dev/hda8           627       904   2101648+  83  Linux
/dev/hda9           905      2184   9676768+  83  Linux

Command (m for help): 

Este disco en particular está configurado para albergar siete sistemas de ficheros Linux, cada uno con su correspondiente partición con la etiqueta "Linux", así como una partición de intercambio (swap) que aparece con la etiqueta "Linux swap".

Eliminación de todas las Particiones

Primero eliminaremos todas las particiones existentes en el disco. Teclee d para eliminar una partición, seguido por intro. Por ejemplo, para borrar una partición existente en /dev/hda1:

Listado de Código 3.4: Eliminando una partición

>
Command (m for help): d
Partition number (1-4): 1

La partición ha sido marcada para su borrado. Ya no aparecerá si teclea p, pero no será eliminada hasta que guarde los cambios realizados. Si comete una equivocación y desea abortar los cambios realizados, teclee q inmediatamente y pulse intro; las particiones no serán eliminadas.

Ahora, asumiendo que intenta eliminar todas las particiones existentes del disco duro, debe teclear p en forma repetida para ver el listado de particiones y pulsar d junto con el número de la partición para borrarlas. Finalmente, acabará teniendo una tabla de particiones vacía:

Listado de Código 3.5: Una tabla de particiones vacía

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System

Command (m for help):

Ahora que la tabla de particiones en memoria del sistema está vacía, estamos preparados para crear nuevas particiones. Utilizaremos el esquema por defecto, tal como hemos acordado anteriormente. ¡Claro está, que no debe seguir estas instrucciones al píe de la letra si no desea tener una tabla de particiones exactamente igual que la nuestra!

Creación de una Partición de Arranque

En primer lugar debemos crear una pequeña partición de arranque. Teclee n para crear esta nueva partición, y luego p para seleccionar una partición primaria, siguiendo por 1 para elegirla como primera partición primaria. Cuando el sistema solicite introducir el primer cilindro, pulse intro y cuando pida definir el valor del último cilindro, teclee +32M para crear una partición de tamaño 32 Mb.::

Listado de Código 3.6: Creando una partición de arranque

Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3876, default 1): (Hit Enter)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M

Si ahora teclea p, debe ver la siguiente partición en la tabla:

Listado de Código 3.7: Una partición creada

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1          1        14    105808+  83  Linux

Necesitamos hacer que esta partición sea arrancable. Teclee a para marcar esta partición como arrancable. Si introduce p de nuevo, verá que el * ha aparecido en la columna "Boot".

Creación de una Partición de Intercambio

Vamos a crear ahora la partición de intercambio. Para hacerlo, teclee n para crear una nueva partición, y luego p para comunicar a fdisk que debe ser una partición primaria. Entonces teclee 2 para crear la segunda partición primaria, /dev/hda2 en nuestro caso. Cuando el sistema solicite introducir el valor del primer cilindro, pulse intro y cuando solicite introducir el valor del último, teclee +512M para crear una partición de 512 Mb. Cuando lo haya hecho, teclee t para establecer el tipo de partición, 2 para seleccionar la partición que acaba de crear y entonces 82 para fijar el tipo "Linux Swap". Una vez completados estos pasos la introducción de p visualizará la tabla de particiones que debe ser similar a ésta.

Listado de Código 3.8: Listado de particiones después de la creación de la partición de intercambio

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1 *        1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap

Creación de la Partición de Raíz

En el último lugar, creamos la partición de raíz. Introduzca n para crear la nueva partición, p para marcarla como partición primaria. A continuación teclee 3 para crear la tercera partición primaria, /dev/hda3, según nuestro ejemplo. Al solicitar la introducción del valor del primer cilindro de la partición pulsamos intro, mientras que cuando el sistema solicite que introduzcamos el valor del último cilindro, también le damos a intro para crear una partición que ocupe todo el espacio restante en el disco. Tras completar todos estos pasos, introducimos p para ver la tabla de particiones que debe parecer mucho a la siguiente:

Listado de Código 3.9: Listado de particiones después de crear la partición de raíz

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1 *        1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap
/dev/hda3         82      3876  28690200   83  Linux

Almacenamiento de la Tabla de Particiones

Para guardar el esquema de particionamiento y salir del fdisk tecleamos w.

Listado de Código 3.10: Guardado y salida del fdisk

Command (m for help): w

Ahora que las particiones están creadas, puede proseguir con la Creación de Sistemas de Ficheros.

4.d. Creación de Sistemas de Ficheros

Introducción

Ahora que ya tiene creadas las particiones, debe formatearlas para poder tener un sistema de ficheros. Si no le importa el tipo de sistema de ficheros que desee utilizar y está conforme con nuestra elección por defecto, continúe con la sección Creación de Sistema de Ficheros en una Partición. En caso contrario, siga leyendo para ver qué sistemas de ficheros puede utilizar ...

¿Sistemas de Ficheros??

El kernel de Linux soporta varios sistemas de ficheros. Explicaremos ext2, ext3, ResiserFS, XFS y JFS por ser los más utilizados en sistemas Linux.

ext2 es un sistema de ficheros Linux probado, pero no dispone de soporte para transacciones, lo que significa que las comprobaciones rutinarias al arrancar pueden tardar bastante tiempo. Ahora, hay muchas opciones alternativas, sistemas de ficheros de nueva generación con soporte para transacciones cuya integridad puede ser verificada con mayor rapidez, por lo que gozan de mayor popularidad. Los sistemas de ficheros transaccionales previenen retrasos durante el reinicio del equipo, incluso cuando el sistema de ficheros está en un estado inconsistente.

ext3 es la versión transaccional de ext2, que proporciona soporte para una rápida recuperación además de otros modos mejorados de funcionamiento como registro completo y ordenado de datos. Ext3 es un buen sistema de ficheros además de fiable. Posee una opción adicional para indización basada en árboles B que proporciona un alto rendimiento en casi todas las situaciones. En resumen, ext3 es un excelente sistema de ficheros.

ReiserFS es un sistema de ficheros B*-tree (basado en árboles balanceados) que tiene un gran rendimiento y que sobrepasa con creces a ext2 y ext3 cuando se trate de trabajar con ficheros pequeños (archivos menores de 4kb.), a veces diez o quince veces mejor. ReiserFS es extremadamente escalable y soporta transaccionalidad. Desde la versión 2.4.18+, ReiserFS es sólido y estable para su uso en casos genéricos así como en casos extremos cuando es necesario trabajar por ejemplo con sistemas de ficheros grandes, utilizar múltiples ficheros pequeños o manejar archivos grandes y directorios con miles y miles de ficheros.

XFS es un sistema de ficheros transaccional el cual viene con un juego de características robustas y está optimizado para ser escalable. Recomendamos el uso de este sistema de ficheros para aquellas plataformas Linux que dispongan de dispositivos de almacenamiento SCSI de alto rendimiento y/o almacenamientos de canal de fibra (en inglés, fiber channel) con sistema de alimentación ininterrumpida. XFS realiza un almacenamiento temporal agresivo de datos en tránsito en RAM, pues aquellas aplicaciones con defectos de diseño (de las cuales hay muchas) que no toman precauciones necesarias durante la escritura de datos al disco pueden perderlos en caso de que el sistema se apague de forma inesperada.

JFS de IBM es un sistema de ficheros de alto rendimiento con soporte transaccional. Sólo recientemente ha entrado en fase de producción por lo tanto en este momento todavía no hay datos suficientes para opinar de forma favorable o negativa sobre su estabilidad.

Creación de Sistema de Ficheros en una Partición

Para crear un sistema de ficheros en una partición o volumen existen herramientas específicas para cada sistema de ficheros:

Sistema de Ficheros Comando de Creación
ext2 mke2fs
ext3 mke2fs -j
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs

Por ejemplo, para formatear la partición de arranque (/dev/hda1 según el ejemplo) en formato ext2 y la partición de raíz (/dev/hda3 según el ejemplo) en formato ext3, utilizaría los siguientes comandos:

Listado de Código 4.1: Creación de un sistema de ficheros en una partición

# mke2fs /dev/hda1
# mke2fs -j /dev/hda3

Y ahora, puede crear sistemas de fichero sobre sus particiones o volúmenes lógicos recién creados.

Activando la Partición de Intercambio

mkswap es el comando usado para inicializar particiones swap:

Listado de Código 4.2: Inicialización de una partición de intercambio

# mkswap /dev/hda2

Para activar la partición, usa el comando swapon:

Listado de Código 4.3: Activación de una partición de intercambio

# swapon /dev/hda2

Crea y activa tu partición de intercambio ahora.

4.e. Montaje

Ahora que las particiones están inicializadas y albergan sistemas de ficheros, es la hora de montarlas. Utiliza el comando mount. No olvides de crear puntos de montaje necesarios para cada partición que has creado. Como ejemplo montamos la partición de raíz y de arranque:

Listado de Código 5.1: Montaje de particiones

# mount /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot

Nota: Si quiere que su /tmp resida sobre una partición diferente, asegúrese de cambiar los permisos después de montarla: chmod 1777 /mnt/gentoo/tmp. Lo mismo debe ser aplicado a /var/tmp.

También necesitamos montar el sistema de ficheros proc (la interfaz virtual del kernel) en /proc. Pero primero necesitamos situar nuestros ficheros en las particiones.

Continué con Instalación de Ficheros de Instalación de Gentoo.


[ << ] [ < ] [ Inicio ] [ > ] [ >> ]


Imprimir

Ver completo

Página actualizada 21 de octubre, 2004

Esta traducción ha dejado de tener soporte

Sumario: Para poder instalar Gentoo, debe crear las particiones necesarias. Este capítulo describe cómo particionar un disco para uso futuro.

Daniel Robbins
Autor

Sven Vermeulen
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Desarrollador Gentoo x86

Tavis Ormandy
Desarrollador Gentoo Alpha

Jason Huebel
Desarrollador Gentoo AMD64

Guy Martin
Desarrollador Gentoo HPPA

Pieter Van den Abeele
Desarrollador Gentoo PPC

Joe Kallar
Desarrollador Gentoo SPARC

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Grant Goodyear
Revisor

Gerald J. Normandin Jr.
Revisor

Donnie Berkholz
Revisor

Ken Nowack
Revisor

Lars Weiler
Contribuidor

José Alberto Suárez López
Editor-Es

John Christian Stoddart
Editor-Es Adjunto

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.