Gentoo Logo

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


4. Preparando los discos

Contenido:

4.a. Introducción a los 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 estemos familiarizados con las entrañas de los discos y sistemas de ficheros, veremos el proceso de creación de particiones y sistemas de ficheros en una 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 la máquina utiliza discos SCSI entonces el primer disco duro se denominará /dev/sda.

Los dispositivos de bloque mencionados anteriormente representan una interfaz abstracta del disco. Los programas de usuario pueden hacer uso de estas interfaces para interactuar con el disco sin importar el tipo de unidad que se trate: IDE, SCSI, o cualquier otra. El programa 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 discos se dividen en dispositivos de bloque más pequeños y manejables. En muchos sistemas se llaman particiones.

4.b. Diseño de un esquema de particionamiento

Esquema de particionamiento por defecto

Si no queremos diseñar un esquema de particionamiento específico para el sistema, podemos hacer uso del esquema utilizado en este manual:

Partición NewWorld Partición OldWorld Partición Pegasos Partición RS/6000 Sistema de ficheros Tamaño Descripción
/dev/hda1 /dev/hda1 (No aplicable) (No aplicable) (Mapa de particionamiento) 32k Apple_partition_map
/dev/hda2 (No necesario) (No aplicable) (No aplicable) (bootstrap) 800k Apple_Bootstrap
(No aplicable) (No aplicable) (No aplicable) /dev/sda1 (PReP Boot) 800k Tipo 0x41
(No aplicable) /dev/hda2 (Si se usa quik) /dev/hda1 (No necesario) ext2 32MB Partición de arranque (boot)
/dev/hda3 /dev/hda2 (/dev/hda3 usando quik) /dev/hda2 /dev/sda2 (swap) 512M Partición de intercambio (swap), Tipo 0x82
/dev/hda4 /dev/hda3 (/dev/hda4 usando quik) /dev/hda3 /dev/sda3 ext3, xfs Resto del disco Partición raíz (root), Tipo 0x83

Nota: Puede haber algunas particiones llamadas: Apple_Driver63, Apple_Driver_ATA, Apple_FWDriver, Apple_Driver_IOKit, Apple_Patches. Si no estamos pensando en usar MacOS 9 podemos borrarlas, puesto que MacOS X y Linux no las necesitan. Para borrarlas se puede utilizar tanto parted o borrar el disco entero inicializando el mapa de particiones.

Aviso: parted es capaz de redimensionar particiones. En el CD de Instalación se incluyen parches para redimensionar sistemas de ficheros HFS+. Desafortunadamente no se puede redimensionar sistemas de ficheros HFS+ con transacciones (journaling), incluso si se ha desactivado la transaccionalidad en Mac OS X. ¡Todo lo que se redimensione con parted queda bajo la responsabilidad de uno mismo! ¡Hay que asegurarse de tener copia de seguridad de los datos!

Si queremos conocer el tamaño que debería tener una partición, o incluso cuantas particiones necesitamos, hay que continuar con la siguiente sección. En caso contrario, seguiremos con Por defecto: Uso de mac-fdisk (Apple) para particionar el disco o Alternativa: Uso de parted (IBM/Pegasos) para particionar el disco.

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

El número de particiones que se necesitan depende mucho del entorno particular. Por ejemplo, si la máquina tiene muchos usuarios, lo más probable es que se quiera tener /home en una partición separada para facilitar las tareas de copia de respaldo y aumentar la seguridad. Si se está instalando Gentoo para funcionar como servidor de correo, deberemos tener /var sobre una partición separada ya que es allí dónde se almacena todo el correo. Asímismo, una buena elección del sistema de ficheros optimizará el rendimiento del equipo. Los servidores 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. Definitvamente querremos tener un gran /usr: no sólo contendrá la mayor parte de aplicaciones, también el árbol de Portage que por si mismo ocupa alrededor de 500 MB sin incluir las fuentes que igualmente se almacenan en él.

Como se puede ver, todo dependerá de lo que queramos conseguir. Tener particiones o volúmenes separados tiene las siguientes ventajas:

  • Elegimos el mejor sistema de ficheros para cada partición o volumen
  • El sistema en su totalidad no se quedará sin espacio si una herramienta o aplicación está escribiendo datos de forma continua en el volumen o partición
  • Si es el caso, el tiempo dedicado a las comprobaciones de integridad de sistemas de ficheros 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 mejorada montando algunas de las particiones en modo sólo lectura, nosuid (los bits setuid se ignoran), noexec (los bits de ejecución se ignoran), etc.

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

4.c. Por defecto: Uso de mac-fdisk (Apple) para particionar el disco

Ahora es el momento de crear las particiones con mac-fdisk:

Listado de Código 3.1: Inicio de mac-fdisk

# mac-fdisk /dev/hda

Primero borraremos las particiones que no nos sirven para dejar espacio a las particiones Linux. Usamos d en mac-fdisk para borrarla(s). Nos preguntará por el número de partición a borrar. Normalmente la primera partición de máquinas NewWorld (Apple_partition_map) no debe ser borrada.

Segundo, crearemos una partición Apple_Bootstrap usando b. Nos preguntará cuál es el bloque inicial. Introduciremos el número de la primera partición libre seguido de una p. En este caso sería 2p.

Nota: Esta partición no es una partición /boot. Linux no la utilizará para nada; no deberemos crear ningún sistema de ficheros en ella y no deberemos montarla nunca. Los usuarios de Apple no necesitan una partición extra para /boot.

Ahora crearemos una partición de intercambio presionando c. De nuevo, mac-fdisk preguntará cuál es el bloque en el que queremos que esta partición comience. Como anteriormente hemos usado 2 para crear la partición Apple_Bootstrap, ahora tendríamos que teclear 3p. Cuando nos pregunte por el tamaño, indicaremos 512M (o el tamaño que queramos, aunque se sigue recomendando 512MB) Cuando nos pida el nombre, introduciremos swap (obligatorio).

Para crear la partición raíz, teclearemos c, seguido de 4p para indicar el bloque en el que la partición debe comenzar. Cuando nos pregunte el tamaño volveremos a poner 4p. mac-fdisk interpretará esto como "Usa todo el espacio disponible". Y cuando nos pregunte el nombre, indicaremos root (obligatorio).

Para finalizar, escribiremos la estructura de particiones en el disco tecleando w y saldremos de mac-fdisk con q.

Nota: Para asegurarnos de que todo está correcto, deberíamos ejecutar mac-fdisk una vez más y comprobar que se muestran todas las particiones. Si no aparece ninguna de las particiones creadas o los cambios realizados, tendríamos que reinicializarlas pulsando "i" en mac-fdisk. Esto recreará el mapa de particiones borrándolas todas.

Ahora que las particiones ya están creadas continuaremos con Creación de los sistemas de ficheros.

4.d. Uso de parted (especialmente Pegasos) para particionar el disco

parted, por "Partition Editor", puede actualmente manejar las particiones HFS+ empleadas por MacOS y MacOS X. Con esta herramienta se pueden redimensionar éstas y así hacer espacio para las particiones Linux. Sin embargo, el ejemplo siguiente sólo describe el particionamiento para sistemas Pegasos.

Empecemos iniciando parted:

Listado de Código 4.1: Iniciando parted

# parted /dev/hda

Si el disco está sin particionar, ejecutaremos mklabel amiga para crear una nueva etiqueta para el disco.

En parted, podemos escribir print en cualquier momento para mostrar la tabla de particiones en memoria. Si por cualquier razón cambiamos de criterio o cometemos un error podemos pulsar Ctrl-c para salir de parted sin guardar ningún cambio.

Si en el Pegasos también queremos instalar MorphOS deberemos crear un sistema de ficheros affs1 llamado "BI0" (BI cero) al comienzo del disco. 32MB serán más que suficientes para almacenar el núcleo de MorphOS. Si disponemos de un Pegasos I o pretendemos usar reiserfs o xfs, también tendremos que almacenar el núcleo de Linux en dicha partición (Pegasos II sólo puede arrancar de una partición ext2/ext3 o affs1). Para crear la partición ejecutaremos mkpart primary affs1 START END donde START y END deben reemplazarse por un rango en megabytes (por ejemplo, 0 32 crea una partición de 32MB empezando en 0MB y acabando en 32MB).

Además necesitamos crear dos particiones para Linux, una como sistema de ficheros raíz para todos los programas, etc., y otra como partición de intercambio. Para crear el sistema de ficheros raíz debemos decidir primero que tipo vamos a utilizar. Las opciones disponibles son ext2, ext3, reiserfs y xfs. Si no sabemos qué elegir usaremos ext3. Ejecutando mkpart primary ext3 START END se crea una partición ext3. Nuevamente, hay que reemplazar START y END con las marcas de inicio y fin (en megabytes) de la partición.

Generalmente se recomienda crear una partición de intercambio con el doble de la RAM instalada en el ordenador. Probablemente será suficiente con una partición de intercambio más pequeña a no ser que queramos ejecutar bastantes aplicaciones al mismo tiempo (en cualquier caso, se recomienda un mínimo de 512MB). Para crear la partición de intercambio ejecutaremos mkpart primary linux-swap START END.

Anotaremos los números (minor numbers) de las particiones puesto que los necesitaremos durante el proceso de instalación. print permite mostrarlos. Accederemos a los dicos mediante /dev/hdaX donde X se reemplaza con el número de la partición.

Cuando esté todo listo en parted saldremos simplemente con quit.

4.e. Creación de los sistemas de ficheros

Introducción

Ahora que las particiones ya están creadas, es el momento de crear un sistema de ficheros en ellas. Si no nos importa el tipo de sistema de ficheros a utilizar podemos utilizar la elección por defecto propuesta en Creación de un sistema de ficheros en una partición. En caso contrario, a continuación se describen los sistemas de ficheros que podemos utilizar ...

¿Sistemas de ficheros?

Disponemos de varios sistemas de ficheros. ext2, ext3, ReiserFS y XFS se consideran estables en la arquitectura PPC.

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. En la actualidad, 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 inicio del equipo, incluso cuando el sistema de ficheros está en un estado inconsistente.

ext3 es la versión transaccional de ext2, proporcionando 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 y fiable sistema de ficheros. Posee una opción adicional para indización basada en árboles B que proporciona un alto rendimiento en casi todas las situaciones. Podemos habilitar esta indización añadiendo -O dir_index al comando mke2fs. 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 trata de trabajar con ficheros pequeños (archivos menores de 4KB), en ocasiones 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 escenarios 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 que cuenta con un juego de características robustas y está optimizado para ser escalable. Sólo 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. Como XFS realiza un almacenamiento temporal agresivo de datos en tránsito en RAM, aquellas aplicaciones con defectos de diseño (aquéllas que no toman las precauciones necesarias durante la escritura de datos al disco, y hay bastantes) pueden perderlos en caso de que el sistema se apague de forma inesperada.

Creación del 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

Por ejemplo, para formatear la partición root (/dev/hda4 según el ejemplo) en formato ext3 (siguiendo el ejemplo) utilizaríamos:

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

# mkfs.ext3 /dev/hda4

Ahora podríamos crear todos los sistemas de ficheros en las particiones o volúmenes lógicos recién creados.

Nota: En máquinas Pegasos II la partición que contiene el kernel debe ser ext2 o ext3. Los sistemas NewWorld pueden arrancar desde sistemas de ficheros ext2, ext3, XFS, ReiserFS e incluso HFS/HFS+. En las máquinas OldWorld que arranquen mediante BootX, el núcleo debe ser ubicado en una partición HFS, pero esto se completará al configurar el gestor de arranque.

Activando la partición de intercambio

mkswap es el comando usado para inicializar particiones de intercambio:

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

# mkswap /dev/hda3

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

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

# swapon /dev/hda3

Ahora crearíamos y activaríamos la partición de intercambio.

4.f. Montaje

Ahora que las particiones están inicializadas y albergan sistemas de ficheros, es hora de montarlas. Utilizaremos el comando mount. No hay que olvidarse de crear los puntos de montaje necesarios para cada partición creada. Como ejemplo crearemos un punto de montaje y montaremos la partición de raíz en él:

Listado de Código 6.1: Montaje de particiones

# mkdir /mnt/gentoo
# mount /dev/hda4 /mnt/gentoo

Nota: Si queremos que /tmp resida en una partición diferente, hay que asegurarse de cambiar sus permisos después de haberla montado: chmod 1777 /mnt/gentoo/tmp. Lo mismo se aplicaría a /var/tmp.

También hay que montar el sistema de ficheros proc (la interfaz virtual del núcleo) en /proc. Pero primero necesitaremos situar nuestros ficheros en las particiones.

Ahora continuaremos con Instalación de los ficheros de instalación de Gentoo.


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


Imprimir

Ver completo

Página actualizada 13 de octubre, 2005

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.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
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

Lars Weiler
Editor

Jochen Maes
Editor

Xavier Neys
Editor

Grant Goodyear
Revisor

Gerald J. Normandin Jr.
Revisor

Donnie Berkholz
Revisor

Ken Nowack
Revisor

José Alberto Suárez López
Traductor

John Christian Stoddart
Traductor

José Luis Rivero
Traductor

Carles Ferrer
Traductor

Donate to support our development efforts.

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