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 CDs de instalación 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. Muy recomendable mantener
/usr con un tamaño considerable: no salemente contiene la
mayor parte de las aplicaciones sino que además el propio árbol de
Portage ocupa sobre unos 500 Mbytes sin contar las fuentes que guarda
dentro de él.
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>
|
/usr parece estar bastante llena (83%), pero una vez que
todo el software esté instalado no tiende a llenarse más. Aunque asignar unos
cuantos gigabytes de espacio a /var puede parecer excesivo,
recuerde que Portgae utiliza esta partición por defecto para compilar
paquetes. Si se quiere mantener /var de un tamaño razonable,
cómo 1 GB, necesitará modificar su variable PORTAGE_TMPDIR en
/etc/make.conf para que apunte a una partición con espacio libre
suficiente para compilar paquetes muy grandes como OpenOffice.
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):
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. Se puede activar esta opció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 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 ]
[ > ]
[ >> ]
El contenido de este documento, a no ser que se especifique
expresamente, está registrado bajo los términos de la licencia
CC-BY-SA-2.5. Se aplican las
Pautas de
Utilización del logotipo y nombre de Gentoo.
|