ráctica 1 - Creación, configuración y montaje de particiones sobre la jerarquía del sistema de archivos El sistema de archivos propio de UNIX/Linux

permite la disposición de discos físicos y/o particiones para que sean accesibles como un archivo o un directorio cualquiera. En UNIX/Linux todo son ficheros, así pues, las unidades de disco están representadas por ficheros, los cuales se encuentran en un directorio llamado /dev (todos los dispositivos se encuentran representados en este directorio). Sin embargo, un acceso directo a estos dispositivos haciendo uso de la ruta /dev implica un acceso físico a la información, por lo que si disponemos de un servidor de archivos de archivos no sacaremos provecho alguno. La información obtenida tendrá la misma estructura de cómo está almacenada en el disco, sin seguir el orden lógico. Para hacer uso del servidor de archivos o, por abuso del lenguaje, del sistema de archivos hemos de indicar al sistema que lo haga. A este proceso se le denomina montar unidades, y para ello se emplea el comando mount. En esta práctica trabajaremos sobre la secuencia de acciones que han de realizarse para que un volumen llegue a ser útil para almacenar información. Identificación del dispositivo, asignación del tipo de partición. Creación de la estructura del sistema de archivos Asignación de una etiqueta al volumen Montaje sobre la jerarquía del sistema de archivos. Montaje automático del volumen. Identificación del dispositivo. Los archivos de dispositivo permiten a los programas de usuario acceder a los periféricos hardware a través del núcleo de Linux. No son ficheros en sí mismo, pero parecen ficheros desde el punto de vista del programa, se puede escribir y leer de ellos (en algunos casos como el CD-Rom, sólo se podrá leer) Los archivos de dispositivo proporcionan una forma de acceder a los recursos del sistema sin que el programador sepa el funcionamiento interno de los periféricos. Estos archivos se encuentran en el directorio /dev en casi todos los sistemas UNIX. Cada dispositivo del sistema debería tener una entrada en este directorio, aunque puede haber muchas más entradas que dispositivos. Los dispositivos suelen ser creados durante el proceso de instalación del sistema. Los dispositivos más utilizados son: /dev/hda Dispositivo maestro del primer canal IDE (Disco duro o CD-Rom) /dev/hdb Dispositivo esclavo del primer canal IDE (Disco duro o CD-Rom) /dev/hdc Dispositivo maestro del segundo canal IDE (Disco duro o CD-Rom) Almacenamiento de alto rendimiento en Unix-Linux Página 3 de 13

que el tamaño del archivo ha sido reemplazado por dos números. del cual los datos se leen y escriben por bloques de un tamaño fijo. Un dispositivo de bloques es normalmente un periférico como un disco. Normalmente será el primer o el único disco duro.1 root disk 3. Un ejemplo claro de esto es el puerto serie. correspondiente al primer dispositivo IDE de nuestro sistema. La primera letra que antecede al campo de permisos es la "b". Vemos. sino bloques (uno o varios) completos. No se pueden leer bytes sueltos de un dispositivo de bloques. lo que significa que el archivo es un dispositivo de bloques. de forma secuencial. mediante estos dispositivos podemos leer cualquier bloque del disco. no necesariamente de forma secuencial. sino aleatoria. normalmente de 1024 bytes de tamaño. Además. Cuando un archivo de dispositivo es accedido por un programa. y el grupo del archivo disk. Nada inusual en esto./dev/hdd Dispositivo esclavo del segundo canal IDE (Disco duro o CD-Rom) /dev/fd0 Primera unidad de disquete /dev/fd1 Segunda unidad de disquete /dev/sda Primer dispositivo SCSI (Disco duro o CD-Rom) /dev/sdb Segundo dispositivo SCSI (Disco duro o CD-Rom) /dev/lpt0 Primer puerto paralelo (impresora) /dev/ttyS0 Primer puerto serie (ratón o módem) /dev/ttyS1 Segundo puerto serie (ratón o módem) Por ejemplo. brw-rw---. Recuérdese que este primer carácter es "-" para los archivos normales y "d" para los directorios. Continuando con nuestro examen. ya sea para leer o escribir. Es normal que los dispositivos pertenezcan al usuario administrador del sistema. Un buen ejercicio es ver el tipo (carácter o bloque) de los dispositivos anteriormente listados. el núcleo del sistema operativo recive la petición de entrada/salida en términos de major number y minor Almacenamiento de alto rendimiento en Unix-Linux Página 4 de 13 . vemos que el dueño del archivo es root. Por el contrario un dispositivo de caracteres es un periférico que debe ser accedido. veamos una entrada del directorio /dev. y además de byte en byte. El primero de ellos se llama major device number y el segundo minor device number. sin embargo. Los archivos de dispositivo se denotan por "b" para dispositivos de bloques o por "c" para los dispositivos de caracteres. 0 May 19 1997 /dev/hda Este es el fichero /dev/hda. separados por una coma.

ya que todos se manejan con el mismo controlador. pero distinto MINOR NUMBER pues existen cuatro dispositivos en concreto. Es decir. Nosotros supondremos que es la primera de las particiones del disco duro situado en el primer canal IDE. -MINOR DEVICE NUMBER El núcleo usa este número para saber el dispositivo en concreto al que acceder mediante el controlador especificado anteriormente. Solicite del instructor el dispositivo del sistema de archivos raíz.number. al núcleo le da igual el nombre del archivo (por ejemplo /dev/hda) ya que lo que necesita para trabajar son el minor number y el major number. Por ejemplo. Así. 1. que difiere mucho de la presentación que nos puede dar los comandos ls ±R / Lectura de toda la información de directorios de archivos vi /etc/passwd Lectura del archivo de usuarios y passwords.1. -MAJOR DEVICE NUMBER El núcleo usa este número para dirigir la petición de entrada/salida a un controlador. Podemos ver los posibles dispositivos que nuestro sistema puede llegar a gestionar mediante los comandos de archivos. Mediante el comando cat /dev/hda1 realizaremos un volcado físico del disco. 1. Vemos como todos los puertos serie (/ttyS?) tienen el mismo MAJOR NUMBER.1 Ejecución Práctica 1. todos los dispositivos que tengan el mismo MAJOR NUMBER. Nota: también podremos hacer un volcado físico del dispositivo mediante el comando od Almacenamiento de alto rendimiento en Unix-Linux Página 5 de 13 . para indicarle que se trata del segundo puerto serie.1 Los dispositivos y el acceso físico. por ejemplo el controlador de puerto serie. son del mismo tipo. Si ejecuta el comando ls /dev/hd* verá las unidades de disco asociadas a los canales IDE (el instructor del laboratorio le indicará la disposición particular de sus equipos).

Para realizar esta parte del ejercicio haremos uso del espacio libre sin particionar de nuestra unidad de disco o de los discos sin uso que estén ubicados físicamente en nuestro sistema. En este guión se indicará la secuencia con fdisk Visualice las opciones de fdisk haciendo uso de las páginas del manual man fdisk Suponiendo que disponemos de una unidad libre de uso en el segundo canal IDE haremos uso de la herramienta fdisk: fdisk /dev/hdb. 1. Atendiendo a la organización física del disco.2 Creación de las particiones. Una vez marcado el primero de los cilindros de la partición se nos solicita un segundo cilindro. se nos piden los datos del primer cilindro. Seleccionaremos p para indicar que primaria. De forma automática se nos pedirán los datos del tamaño. Pulse p.od ±A d ±t x /dev/hda1 que se estudia en el módulo de teoría de Sistemas Operativos. el número del más alto (el tamaño vendrá dado por el espacio contenido entre los dos Almacenamiento de alto rendimiento en Unix-Linux Página 6 de 13 . Para crear las particiones podemos usar las herramientas fdisk o parted. La partición Para crear una partición nueva pulsaremos la tecla n. entre las que destacamos M: Menú L: Lista tipo de particiones N: nueva partición P: imprime por pantalla la tabla de particiones actual para la unidad. para indicar que queremos trabajar sobre el dispositivo de tipo hd situado en el segundo canal IDE. Si pulsamos la techa m obtendremos el menú de opciones. así como la fragmentación que implicaría para la ubicación del resto de las particiones). El sistema nos preguntará si se trata de una unidad extendida o primaria. A continuación nos solicitará el número de partición: indicaremos 1. que aceptaremos con un INTRO (si quisiéramos indicar otra posición en el disco tendríamos que considerar la relación entre el tamaño y el número de cilindro. Por defecto nos indicará el más bajo de los posibles. si la tabla contiene información solicite del instructor del laboratorio que le indique como eliminar todas las particiones.1.

Para ello desde el menú de fdisk pulsaremos la tecla t e indicaremos el tipo deseado (83). OS/2 HPFS. Grabar la tabla de particiones. Para ello. de forma que lo accedemos como si de un directorio más se tratase. Hemos creado la partición. 1.1. Nosotros indicaremos una partición de 100GB. 1. Para ello usaremos el comando mount (ver opciones con el manual). entre los que se pueden los de MS-DOS. Linux SWAP. mkfs /dev/hdb1 Al finalizar la ejecución de mkfs comprobaremos la existencia del sistema de archivos mediante el comando od. 1. desde el menú de fdisk pulsaremos la tecla w. Puede comprobarlo ejecutando el comando od o el cat sobre el dispositivo.3 El sistema de archivos. etc. nosotros hemos de guardar esta información.datos) o bien un espacio de almacenamiento de la partición indicado en MEGAS. Indicaremos al sistema que haga uso del sistema de archivos de la unidad/partición para un acceso lógico y eficiente a la información del sistema. Nosotros queremos añadir la nueva unidad al sistema Unix/Linux por lo que asociaremos un tipo 83 (Linux Nativo).1. Para crear el sistema de archivos haremos uso del comando mkfs (ver opciones con el manual). que no es más que una unidad sin ninguna estructura de información que permita un acceso eficiente. Es decir. que por defecto nos creará un sistema de archivos de tipo Linux Nativo.4 Asignación de etiqueta. El sistema dispone de una tabla de particiones con la información necesaria para su gestión y explotación. por lo que escribiremos +100000M Tipo de partición Hemos de asignar un tipo de partición. Si pulsamos la tecla l se muestran los tipos de partición. aunque facilita la gestión del sistema al hacer más fácilmente identificables los recursos. Lininux nativo.5 Montaje de la unidad. Para finalizar.1. carece de sistema de archivos. Recordemos cuatro conceptos fundamentales que se utilizan a la hora de montar las Almacenamiento de alto rendimiento en Unix-Linux Página 7 de 13 . Para ello usaremos la herramienta e2label (ver opciones con el manual). La asignación de una etiqueta es algo opcional.

y con cada arranque del sistema hemos de repetir la operación. Podremos comprobar ahora la diferencia entre el acceso físico y el lógico.6 Montaje automático /etc/fstab Para disponer de esta nueva unidad montada hemos de ejecutar el comando mount tal y como hemos realizado en líneas anteriores. entre ellas facilitar a los usuarios no administradores la posibilidad de montar y desmontar unidades de disco. y la llamaremos nueva. La sintaxis es mount /dispositivo /punto de montaje Ubicaremos nuestra nueva unidad dentro del directorio mnt. Podemos automatizar el proceso si nos servimos del archivo de configuración /etc/fstab. Este archivo tiene varias funciones.1. SISTEMA DE ARCHIVOS: Es la forma mediante la cual se estructuran los archivos y directorios dentro de un dispositivo físico. El inconveniente es que no podremos hacerlo si no somos superusuarios (root). cada una con la forma: Dispositivo directorio tipo opciones Almacenamiento de alto rendimiento en Unix-Linux Página 8 de 13 . que guarda la configuración de montaje. Se trata de acceder al dispositivo no de manera física. 1. Para ello crearemos un directorio con el nombre nueva: mkdir /mnt/nueva A continuación montaremos la unidad sobre este punto de montaje: mount /dev/hdb1 /mnt/nueva Comprobaremos que está correctamente montada invocando el comando mount (a secas). sino a través de su sistema de archivos. Dicho archivo está compuesto por una serie de entradas.unidades: DISPOSITIVO: Es el dispositivo físico que queremos montar. Este lista las unidades montadas. Gracias al sistema de archivos virtual de Linux (VFS) podemos acceder a dispositivos con sistemas de archivos distintos. generalmente un disco. PUNTO DE MONTAJE: Es el directorio a través del cual se accede al dispositivo. Este directorio contendrá la estructura de archivos y directorios definida por el sistema de archivos del dispositivo.

si tenemos una entrada con la forma: /dev/hdb /mnt/nueva EXT2 ro. al cambiar de disquete o de CD-Rom. también vistas en el apartado anterior. Esto significa que se va a desvincular el dispositivo de su punto de montaje.dispositivo es el nombre de archivo de dispositivo (/dev/loquesea) directorio es el directorio donde será montado el dispositivo. Debemos tener los permisos apropiados tipo es el tipo de sistema de archivos del dispositivo. uno de los del apartado anterior. de dos formas posibles: mount dispositivo o mount directorio Así.7 Desmontaje de unidades Cuando hemos terminado de acceder a un disco fijo. Una vez que tenemos en este archivo la entrada adecuada. montamos la unidad por medio del comando mount. opciones son las opciones con las que se montará el dispositivo.1. Así. el sistema intentará averiguar el tipo. y montarla otra vez antes de insertar el nuevo. o queremos sustituir un disco removible por otro.user El comando mount /mnt/nueva o mount /dev/hdb sabría (mirando este archivo) que lo que tiene que montar es /dev/hdb y además con el tipo iso9660. 1. Si especificamos auto. Esto se consigue con el comando umount. Almacenamiento de alto rendimiento en Unix-Linux Página 9 de 13 . debemos desmontar la unidad. se debe desmontar la unidad antes de extraer el disco viejo. quedando este libre. y con las opciones de sólo lectura y usuario.

C. 100GB de tipo EXT2. Espacio restante de tipo RAID Auto Almacenamiento de alto rendimiento en Unix-Linux Página 10 de 13 . 100GB de tipo EXT3. punto de montaje /root/disco2 /dev/hdb2.Creación de un sistema RAID. D.1. punto de montaje /mnt/disco3 /dev/hdc2. Dedicaremos solo un porcentaje de cada unidad a las tareas de RAID. Para verificarlo puede usar el comando mount desde la línea de órdenes. Esta operación conlleva el montaje del dispositivo. El resto será espacio de almacenamiento convencional. Para la realización de los siguientes ejercicios se ha dispuesto de un sistema informático con 4 unidades de disco. si tenemos montada la unidad en el directorio /mnt/nueva podemos usar indistintamente umount /dev/hdb1 o umount /mnt/nueva 1. Haciendo uso de las habilidades adquiridas en el ejercicio anterior. encargado de detectar un nuevo dispositivo y de montarlo de forma automática y transparente para el usuario. 2 Práctica 2 . Espacio restante de tipo RAID Auto /dev/hdc1. La unidad del primer canal IDE contiene tres particiones en las que está almacenado el sistema operativo Windows NT/2K/XP. Estas unidades tienen asignado los dispositivos: /dev/hdb /dev/hdc /dev/hdd Aunque todos los ejercicios siguientes se pueden realizar haciendo uso de toda la unidad (toda la unidad como una sola partición) nosotros supondremos que no disponemos de tal cantidad de almacenamiento. Los ejercicios se realizarán sólo sobre las unidades de los canales B.umount dispositivo o umount directorio Es decir. el sistema operativo Linux y la de SWAP de este.8 El automount En los sistemas Linux actuales se viene instalando el automount. el alumno realizará las operaciones oportunas para que el sistema alcance la siguiente configuración: /dev/hdb1.

Creación de un sistema LVM. Espacio restante de tipo RAID Auto El alumno comprobará el estado de las unidades /dev/hdx1 con su montaje y ejecutando el comendo mount 2.. La gestión de volúmenes lógicos proporciona una vista de alto nivel sobre el almacenamiento en un ordenador. Ya que podemos crear un PV sobre un dispositivo cualquiera de bloques ya bien sean discos usb. cintas..3 Creación de un sistema RAID 5 Se pretende dar soporte de alta disponibilidad mediante el uso de tres discos con bandas ### Secuencia de comandos y acciones ### 2. Almacenamiento de alto rendimiento en Unix-Linux Página 11 de 13 . punto de montaje /mnt/disco4 /dev/hdd2. etc. raids.4 Creación de un sistema RAID 5 con Spare (opcional) Se pretende dar soporte de alta disponibilidad mediante el uso de tres discos con bandas 3 Práctica 3 ./dev/hdd1. discos internos.2 Creación de un sistema RAID 1 Se pretende dar soporte de alta disponibilidad mediante el uso de dos discos espejo ### Secuencia de comandos y acciones ### 2.1 Creación de un sistema RAID 0 Se pretende dar soporte de altas prestaciones mediante el uso en paralelo de dos unidades de disco ### Secuencia de comandos y acciones ### 2. 100GB de tipo REISERFS. ya que la ayuda que proporciona el man es muy extensa y completa. en vez de la tradicional vista de discos y particiones. No entraremos en la sintaxis de los comandos.

3. para los temporales o para los datos personales. como ReiserFS. "ventas" o "desarrollo". Hay que tener en cuenta. La necesidad de estimar cuanto espacio será necesario para el sistema. podríamos redimensionar /home y /opt y usar el espacio que le hemos quitado a /opt y añadírselo a /home. 3. en vez de nombres de dispositivos físicos. LVM también permite la administración en grupos definidos por el usuario. # dd if=/dev/zero of=/dev/hdc1 bs=1k count=1 # dd if=/dev/zero of=/dev/hdd1 bs=1k count=1 # pvcreate /dev/hdc1 Physical volume "/dev/ hdc1" successfully created # pvcreate /dev/sdb1 Physical volume "/dev/hdd1" successfully created En este paso. por lo que muchos usuarios optan por crear una partición que ocupe todo el disco y allí introducir los datos. Otra alternativa sería dejar una cierta cantidad de espacio del disco sin asignar y cuando fuera necesario. expandir el volumen.2 Creación de la VG Creamos el grupo lógico (VG) de nombre vg_atica que contendrá las dos particiones que hemos creado anteriormente: # vgcreate vg_atica /dev/hdc1 /dev/hdd1 Almacenamiento de alto rendimiento en Unix-Linux Página 12 de 13 Almacenamiento de alto rendimiento en Unix-Linux Página 13 de 13 . es bastante común que nos quedemos sin espacio en estas particiones. Aún habiendo estimado correctamente cuando espacio se necesita para /home. Con el uso de un administrador de volúmenes lógicos. y tenemos espacio en /opt.1 Inicialización del dispositivo lógico Primero borramos la tabla de particiones e inicializamos las particiones de disco. o cualquier otro directorio importante. permitiendo al administrador del sistema tratar con volúmenes llamados. /usr. aunque esto quizá necesite actualizar las herramientas del sistema. En el caso que nos quedemos sin espacio. en /home. por ejemplo.1. cuando tenemos espacio de sobra en alguna otra. por ejemplo. nuestro sistema de ficheros debe soportar el redimensionado por arriba y por abajo. que para realizar esto.Los volúmenes de almacenamiento bajo el control de LVM pueden ser redimensionados y movidos a voluntad. como "sda" o "sdb" Una de las decisiones que afronta un usuario instalando GNU/Linux es cómo particionar el disco duro. /tmp. puede convertirse en algo problemático. el disco completo puede ser asignado a un único grupo lógico y definir distintos volúmenes lógicos para almacenar /home u otros directorios.1. tenemos creados dos volúmenes físicos (PVs).

3 Creación del LV Ahora crearemos un volumen lógico que llamaremos lv1_atica: # lvcreate -L1G -n lv1_atica vg_atica lvcreate -. de modo que al reiniciar.Volume group "vg_atica" successfully created 3.logical volume "/dev/vg_atica/lv1_atica" successfully created 3.doing automatic backup of "vg_atica" lvcreate -.1. debemos crear el sistema de ficheros sobre el LV que acabamos de definir. crearemos un sistema de ficheros JFS: # mkfs. /mnt/atica vuelva a estar disponible .1.jfs /dev/vg_atica/lv1_atica #mount -t jfs /dev/vg_atica/lv1_atica /mnt/atica Recuerde agregar la entrada en /etc/fstab. En este ejemplo.4 Creación del sistema de ficheros En este apartado.