23 noviembre 2006

Discos y particiones en Linux.

Esto es una breve introducción a un tema muy preguntado generalmente, que a su vez es muy sencillo y lógico.
Cuando uno viene de windows tiene asumido lo de las letras C:, D: y demás, que windows distribuye caprichosamente y sin sentido, dando quebraderos de cabeza en muchas ocasiones al instalar discos o lectores nuevos. En Linux (y Unix) esto es muy fácil.

Hasta ahora hemos usado discos duros con interfaz IDE (ATA) paralelo. Éstos se conectan a la controladora, comúnmente situada en la placa base, de forma que con un mismo cable conectado a un enchufe de la placa podemos tener dos discos duros. Si tenemos dos discos, uno será maestro y otro esclavo. En las placas base normalmente tenemos dos puertos: el puerto principal y el secundario. Esto siempre ha sido un asco. Hay que cambiar el puente al disco para que sea maestro o esclavo según sea necesario, y para acceder al puente hay que tener el disco en la mano.

Actualmente tenemos ya la solución a este caos, los discos duros Serie, SATA. El ceporrismo patrio hace que alguna gente le diga serial, como si de una telenovela se tratase. Serial ATA es ATA serie, igual que parallel ATA era ata paralelo, el comentado antes.
Los discos duros ATA serie tienen cables de datos delgados, más flexibles, y se conectan a uno de los varios enchufes que podemos tener en la placa base, sin necesidad de tocar puentes en el disco.

Tras esta introducción física, vamos a cómo se lleva esto a Linux.
Si tenemos discos duros ATA, normalmente tendremos uno, que será el maestro del puerto primario. Este se llamará hda. Cada una de las particiones que podamos tener en este disco se numeran, con lo que tendremos hda1, hda2, hda3...
Si tenemos dos discos en el mismo puerto, el esclavo será el hdb. Sus particiones hdb1, hdb2...
Así vamos numerando, por lo que un disco siempre será el mismo mientras esté enchufado en su correspondiente puerto.
En los sata hay un cambio de nombre. Se llaman sd en lugar de hd, así que tendremos, para el puerto 1, sda. Para el 2, sdb. Y así sucesivamente. Sencillo, ¿verdad?
Por otra parte, hay que tener en cuenta que un disco duro puede tener particiones primarias y lógicas. Las primarias pueden ser como máximo 4. El resto han de ser lógicas. Por ello, las lógicas empiezan a numerarse a partir del 5. Así que en un disco maestro del puerto primario con una partición primaria y una lógica tendrá las particiones hda1 y hda5. Si es sata del puerto 1, sda1 y sda5.
Sabiendo que se nombran de esta manera queda saber cómo se accede a ellos. Puesto que los Unix manejan los dispositivos como cualquier otro fichero, tenemos que los dispositivos se encuentran en el directorio /dev. Por tanto, los discos serán /dev/hda, /dev/sda o lo que se tercie, y las particiones, /dev/hda1, etc.
Para utilizarlos hay que montarlos. Las particiones correspondientes al sistema se montan en sus sitios fijos. Si es del sistema raiz, se monta en la raiz, /. Si tenemos particiones con partes del sistema (cosa muy recomendable), se montará según convenga. El montaje de discos se indica en el fichero de texto sencillo (no plano como traducen FATAL del inglés plain text) /etc/fstab. Si tenemos una partición para los archivos de usuario, ésta se montará en el directorio /home. Para otros discos, como usb o extraibles, o la partición de windows que tengáis algunos, tendréis que montarlo en su directorio específico, que suele ser un subdirectorio de /mnt o /media que podéis crear en caso de no existir. Por ejemplo, los CD y DVD se automontan en /media/cdrom. Aunque todo se puede modificar como queramos.

No hay comentarios: