Particiones lógicas y primarias
- Particiones primarias
Las particiones más usadas son las primarias, pero los discos duros sólo pueden contener cuatro, debido al límite del tamaño de la tabla de particiones.
- Particiones lógicas
Sin embargo, por cuestiones de administración y de seguridad, muchas veces conviene tener más de 4 particiones. Para poder tener más de 4 particiones en un disco duro se usan particiones lógicas. Se pueden crear hasta 60 particiones lógicas en un disco IDE (12 en un disco SCSI): Linux las numera a partir de 5 porque las posiciones de 1 a 4 las reserva para las 4 particiones primarias posibles.
- Partición extendida
Todas las particiones lógicas son contenidas en una partición extendida que no contiene datos sino que actúa como contenedor de las particiones lógicas. Sólo puede haber una partición extendida por disco: en ese caso el disco podrá contener 3 primarias y 1 extendida. La partición extendida no hace falta crearla, el particionador de Debian la creará automáticamente al crear una partición lógica.
Partición swap
¿Por qué debo crear una partición swap y cuántos megas debo asignarle?
Con el fin de incrementar la memoria RAM disponible, Linux utiliza el disco duro como RAM virtual (aunque disponga de suficiente memoria RAM física), llamándose ese área del disco duro espacio de intercambio o swap.
Esto lo hacen todos los sistemas operativos: sin duda, simular la costosa memoria RAM con la barata memoria del disco duro es una buena idea, aunque algunos sistemas operativos lo hacen de manera más eficiente que otros. Windows simula memoria RAM física de un modo desordenado, simplemente coloca bits allí donde encuentra espacio: por eso se mueve tanto el disco duro cuando la computadora está pensando. Los sistemas UNIX, en cambio, simulan memoria RAM física en una partición especial (swap) que por regla general tiene el doble de tamaño que la memoria RAM física (si tienes 128 MB de RAM la partición swap tendrá 256 MB).
La memoria swap es mucho más lenta que la memoria RAM física, pero permite al sistema ejecutar aplicaciones grandes guardando en el disco duro partes de código que están inactivas o aumentar el número de usuarios que el sistema puede atender a la vez.
Atención
Aunque Linux puede funcionar sin swap, por motivos de rendimiento es conveniente crear siempre una partición swap.
¿Son necesarias otras particiones además de swap y raíz?
No, Linux puede funcionar tan sólo con swap y raíz (/). Esta disposición es la más recomendable para nuevos usuarios y para aquellos equipos que sólo los utiliza un único usuario, ya que simplifica la instalación y nos evita el problema de quedarnos sin espacio en alguna partición mientras sobra en otras.
Sin embargo, los usuarios avanzados generalmente utilizan otras particiones además de swap y raíz (/), como por ejemplo /home (donde se ubican los archivos personales de los usuarios) y /var (donde se ubican los archivos del sistema que varían de tamaño, como logs, buffers, etc.), y esto se debe a dos motivos:
- Es más seguro para la integridad de los datos tener varias particiones.
En caso de problemas se podría reiniciar el sistema con un dispositivo de rescate, montar /home y copiar su contenido a un CD o a la red sin perder información, aunque esto no debería preocuparnos demasiado si hacemos copias de seguridad con regularidad.
- Es más seguro para la estabilidad del sistema tener varias particiones.
Si un usuario ocupa gran cantidad de espacio en /home, o si alguna aplicación comienza a generar gran cantidad de logs en /var, en caso de que estos directorios están en particiones individuales se podrá llenar esa partición pero no la partición raíz (/), por lo que la estabilidad del sistema no peligrará: simplemente el proceso dejará de escribir. En caso contrario, si tenemos sólo la partición raíz (/), ésta se llenará y probablemente el sistema se cuelgue.
Sistemas de archivos
Ext2, Ext3, ReiserFS, XFS, JFS. ¿Cuál es el mejor sistema de archivos?
En Windows existen los sistemas de archivos FAT32, NTFS, etc. En Linux existen varios:
- Ext2
Fue el sistema de archivos de Linux durante muchos años, estable, eficiente y flexible, pero no tiene journaling, lo que significa que las comprobaciones rutinarias al arrancar pueden tardar bastante tiempo y que un apagón puede afectar a la integridad de los datos.
- Ext3
Es una extensión de Ext2 con journals, estable y con un rendimiento similar a Ext2. Guarda más información sobre los datos que los demás sistemas con journals, lo cual lo hace más seguro y algo más lento.
- ReiserFS
Basado en journals, estable y rápido. Es el más veloz manejando archivos de tamaño normal.
- XFS y JFS
Basados en journals, estables y rápidos, especialmente con archivos enormes de cientos de megas e incluso gigas. Están optimizados para plataformas Linux que dispongan de dispositivos de almacenamiento SCSI de alto rendimiento. Se utilizan en la industria gráfica de efectos especiales y en grandes servidores de bases de datos.
Conclusión
Los sistemas de archivos más usados para Linux son Ext3 y ReiserFS, cualquiera de los dos será buena elección.
¿Qué es el journaling?
El journaling se basa en el concepto de journal o registro y permite que si se apaga inadecuadamente la máquina, al arrancar no necesita hacer un chequeo de comprobación sino que recupera automáticamente su último estado.
El journal guarda la información de las modificaciones de los archivos en el dispositivo de almacenaje, de esta manera si la máquina se apaga por un fallo eléctrico u otra eventualidad, el sistema en lugar de revisar todo el disco duro buscando inconsistencias acude exactamente al punto donde el journal le indica que existe un error y lo repara. Esto proporciona mayor integridad a los datos y más rapidez en la detección de errores.
Acceder a unidades de disco
- ¿Cómo nombra Linux los discos duros?
En Linux el primer disco duro IDE se conoce como /dev/hda. Si tenemos un segundo disco duro IDE se llamará /dev/hdb, etc.
Los discos duros SCSI y SATA se denominan /dev/sda, /dev/sdb, etc.
- Acceder a unidades de disco
Para acceder a una unidad de disco (partición, CD, disquete, unidad de red o imagen), hay que montarla con el comando mount. Su sintaxis es:
# mount -t <file_sustem> <dispositivo> <directorio>
Por ejemplo:
- para montar una partición FAT de Windows:
# mount -t vfat /dev/hda1 /mnt
- para montar un disquete MS-DOS:
# mount -t msdos /dev/fd0 /media/floppy
- para montar el CD:
# mount -t iso9660 /dev/cdrom /media/cdrom
- para montar un CD-RW haremos:
# mount -t udf /dev/cdrom /media/cdrom
- para montar un archivo imagen:
# mount -o loop /home/francis/qemu.img /mnt
- para montar una partición FAT de Windows:
- Montar en el inicio
Las unidades que figuran en /etc/fstab se montan automáticamente al iniciar el sistema. El contenido de /etc/fstab es:
# File_system Mount_point Type Options Dump Pass proc /proc proc defaults 0 0 /dev/hda2 / ext3 defaults 0 1 /dev/hda5 none swap sw 0 0 /dev/hdd /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Desmontar unidades de disco
- Desmontar unidades de disco
Antes de sacar el disquete o el CD debemos desmontarlo:
# umount dispositivo
Si sacamos el disquete sin desmontarlo puede que el kernel no haya volcado los últimos cambios, con lo que perderemos esos datos.
- Error ‘Device is busy’
Si al intentar desmontar una unidad obtenemos el error:
No se pudo desmontar dispositivo, el dispositivo está ocupado
algún proceso está leyendo esa unidad. Para saber cuál es el proceso usaremos el comando fuser (paquete psmisc):
$ fuser -v /dev/fd0 USER PID ACCESS COMMAND /dev/fd0: francis 265 f.... xfe
Vemos que el proceso 265 xfe tiene el dispositivo abierto, de manera que si queremos desmontar la unidad tendremos que dejar que termine o matarlo. El comando fuser, con la opción -k, nos permite matar directamente los procesos que están usando el dispositivo:
# fuser -k /dev/fd0
- Expulsar un CD
El comando eject (paquete eject) expulsa el CD, desmontándolo si es necesario.
Comprobar las unidades de disco
- Unidades montadas: mount sin argumentos mostrará las unidades montadas.
- Espacio ocupado en el disco: el comando df (disk free) informa del espacio
usado en las unidades de disco que se encuentran montadas:
$ df S.archivos 1K-blocks Used Available Use% Montado en /dev/hdd1 6040288 3247924 2485528 57% / /dev/hda2 11719052 3526412 8192640 31% /home none 128008 0 128008 0% /dev/shm
Y el comando du (disk usage) muestra el espacio ocupado por un directorio:
$ du /mnt 2928 /mnt
- Chequear y reparar un filesystem Linux: el comando fsck (file system check) permite chequear y reparar un filesystem Linux o de otro tipo.
Manejar unidades de disco en el entorno gráfico
Para manejar unidades de disco en el entorno gráfico disponemos de varios frontales para mount, df y du:
Quiero clonar Mandriva que tengo instalado en una PC que tiene un HDD IDE, el proceso se hace bien con el programa Acronis, pero cuando hago hago el clone para un arreglo de disco SCSI no logro levantar el Linux nuevamente.
Gracias por cualquier ayuda.