Tema 9– Puesta en Marcha Del Sistema (Linux)
-
Upload
amanda-trujillo -
Category
Documents
-
view
41 -
download
4
Transcript of Tema 9– Puesta en Marcha Del Sistema (Linux)
Tema 9: Puesta en marcha del sistema Página1
Tema 9: Puesta en marcha del sistema
9.1.‐ Administración de usuarios .................................................................................................. 3
9.1.1.‐ Gestión de Usuarios ....................................................................................................... 4
A. Creación de usuarios ......................................................................................................... 4
B. Propiedades de una cuenta de usuario ............................................................................. 6
C. Modificación de la contraseña de un usuario ................................................................... 6
D. Deshabilitar una cuenta de usuario .................................................................................. 6
E. Eliminación de una cuenta de usuario .............................................................................. 7
9.1.2.‐ Gestión de grupos .......................................................................................................... 7
A. Crearungrupo ............................................................................................................... 8
B. Borrarungrupo ............................................................................................................. 8
C. Modificarlapertenenciaaungrupo ......................................................................... 8
9.1.3.‐ Usuarios/Grupos. Intérprete de comandos ................................................................. 9
9.1.4.‐ Ficheros passwd, shadow, group y gshadow. .............................................................. 10
9.2.‐ Sistemas de Ficheros ........................................................................................................... 12
9.2.1.‐ particionamiento .......................................................................................................... 13
9.3.‐ Sistemas RAID..................................................................................................................... 22
9.3.1. Información básica sobre RAIDs .................................................................................... 22
9.3.2. Montar un sistema RAID ............................................................................................... 24
Crear RAID ............................................................................................................................... 27
Ver información del RAID ........................................................................................................ 28
Formatear la RAID ................................................................................................................... 29
Montar la RAID ........................................................................................................................ 29
Guardar RAID ........................................................................................................................... 30
Administración de una RAID y sus discos ................................................................................ 30
9.3.3.‐ Monitorización ............................................................................................................. 30
Monitorización del estado una RAID y sus discos ................................................................... 30
Monitorización del sistema de ficheros .................................................................................. 32
9.4. Cuotas de disco .................................................................................................................... 35
A. Instalación y Configuración de Cuotas de Disco.............................................................. 35
B. Asignación de cuotas por usuario ................................................................................... 37
C. Asignación de cuotas por grupo ...................................................................................... 37
E. Asignación de cuotas por sistema de ficheros ................................................................ 38
Tema 9: Puesta en marcha del sistema Página2
F. Verificación de las cuotas de un usuario ......................................................................... 38
G. Informes de Cuota de Disco ............................................................................................ 38
H. Activación y Desactivación de Cuotas ............................................................................. 39
9.5.‐ Permisos .............................................................................................................................. 39
9.5.1.‐ Establecer los permisos ................................................................................................ 40
9.5.2.‐ Establecer el usuario y grupo propietario .................................................................... 41
Tema 9: Puesta en marcha del sistema Página3
Existen varias formas de administrar el sistema que van variando dependiendo de su facilidad o control sobre el sistema. Básicamente, puede administrar el sistema a través de tres formas diferentes:
Interfaces gráficas. Existen diferentes interfaces gráficas que permiten administrar el sistema de una forma fácil y sencilla. Puede utilizar la interfaz de administración de x-Windows o utilizar la web de administración (webmin). Este método es el más sencillo, pero es el que menos control proporciona sobre el sistema.
Terminal del sistema. Una de las ventajas de los sistemas GNU/Linux es que puede administrarlo totalmente a través del intérprete de comandos o terminal del sistema. El terminal del sistema permite una gran flexibilidad a la hora de interactuar con el sistema pudiendo crear pequeños programas (scripts) para simplificar la administración del sistema.
Ficheros de configuración. Por último, la modificación directa de los ficheros de configuración es el método que permite tener un mayor control del sistema. Como desventaja hay que destacar que para administrar el sistema de esta forma hay que conocer muy bien el sistema.
No se puede decir que un método sea el mejor siempre ya que el uso de un método u otro depende siempre de la tarea que desea realizar y de sus conocimientos. Lo mejor, como siempre, es conocer los tres métodos y utilizar el mejor en cada momento.
Para poner en marcha el sistema es necesario saber administrar los usuarios del sistema y el sistema de ficheros.
9.1.‐Administracióndeusuarios
En los sistemas GNU/Linux existen tres tipos de usuarios:
Root. Es el usuario más importante ya que es el administrador y dueño del sistema. Se aconseja utilizar la cuenta de root para las tareas específicas de administración y el resto del tiempo utilizar una cuenta de usuario normal.
Usuarios normales. Son los usuarios que pueden iniciar sesión en el sistema y tienen una funcionalidad limitada tanto en los comandos que pueden ejecutar como a los ficheros a los que tiene acceso.
Usuarios asociados a servicios. Este tipo de usuarios no pueden iniciar sesión en el sistema. Su utilización es muy útil ya que permiten establecer los privilegios que tiene un determinado servicio. Por ejemplo, el servidor de páginas web Apache tiene asociado el usuario apache para poder especificar a qué ficheros tiene acceso; y por lo tanto que ficheros son visibles a través de Internet.
Todos los usuarios del sistema tienen un identificador de usuario (UID) y un identificador de grupo (GID). El administrador del sistema root tiene los identificadores de usuario y grupo 0:0 y los demás usuarios tienen un valor mayor que 0.
A continuación se van a ver las acciones más básicas de administración de usuarios y grupos utilizando X-Windows.
Tema 9: Puesta en marcha del sistema Página4
En Ubuntu para utilizar la herramienta de Usuarios y grupos antes hay que instalarla ejecutando:
# apt-get install gnome-system-tools
9.1.1.‐GestióndeUsuarios
A. Creacióndeusuarios
Vamos a continuación a explicar la gestión de usuarios en Fedora, en Ubuntu cambiarían la disposición de las ventanas. Añadir un usuario al sistema es una de las tareas más básicas que se encuentra un administrador de sistemas. Para añadir un usuario debemos seguir los siguientes pasos:
Ejecutamos el gestor de usuarios tecleando system-config-users en la línea de órdenes, o ejecutar Usuarios y grupos que se encuentra en el submenú Administración dentro de sistema. Aparecerá la ventana Gestor de Usuarios (véase la figura 1). Si existen más de 15 cuentas en el sistema, el gestor de usuarios nos filtrará los usuarios. Puedes elegir el rango de cuentas o desactivar el filtrado. Para añadir un usuario basta con pulsar en el botón Añadir usuario que se encuentra en la barra de herramientas. De este modo se abrirá la pantalla Crear un nuevo usuario, como podemos ver en la figura 2.
Figura 1. Gestor de usuarios
La ventana Crear nuevo usuario es el lugar donde se introduce toda la información de una nueva cuenta. Cuando creamos un usuario hay campos obligatorios y otros campos que son opcionales.
Figura 2. Crear un nuevo usuario
Los campos obligatorios son los siguientes:
Nombre (login). Identifica el nombre de la cuenta. Normalmente irá en letras minúsculas. Es bastante común
Tema 9: Puesta en marcha del sistema Página5
usar el primer nombre o apellido o los dos en alguna combinación como “perez”, “juan”, “jps” o “jperez” para un usuario llamado Juan Pérez Sánchez. Por supuesto que también funcionará perfectamente si pones “juanito” o cualquier cosa por el estilo. También puedes usar números, por lo que si otra persona tiene las mismas iniciales, no hay problema en poner algo como “jps2”.
Contraseña del usuario. La contraseña debe de ser de al menos seis caracteres y, para que sea segura, se aconseja utilizar letras minúsculas, letras mayúsculas, números o símbolos.
Nota
En el fichero /etc/login.defs podemos establecer las directivas de seguridad de las contraseñas del
sitema. Las directivas de seguridad nos permiten establecer la logitud mínima, caducidad de las
contraseñas, etc.
Los campos opcionales son los siguientes:
Nombre completo. Identifica el nombre del usuario de la cuenta. Si es una persona, podría ser su nombre, por ejemplo “Juan Pérez Sánchez”. Si la cuenta representa al puesto de una persona en una empresa, entonces podrías poner el nombre completo de ese cargo. Por lo tanto una cuenta llamada “webmaster” debería tener como nombre completo algo así como “Webmaster”.
Grupo. Especifica el grupo asociado a la cuenta. Por defecto se crea un grupo con el mismo nombre que la cuenta. Por lo tanto “jperez” pertenecería al grupo “jperez”. En general se establecen grupos en función de los departamentos de trabajo o tipo de aplicaciones que utilice.
Directorio principal. Especifica el directorio home o directorio de trabajo de un usuario. Por defecto los directorios se crean en /home/ (p.e. /home/javier es el directorio de trabajo del usuario javier). El directorio de usuario es el punto de partida en la estructura de directorios cuando entramos al sistema y es el directorio donde se guardan los ficheros de preferencias de los usuarios.
Shell de conexión. Especifica al intérprete de órdenes que se va a utilizar. Los intérpretes de órdenes suelen ser denominados “shells” y los más utilizado son: /bin/bash, /bin/sh y /sbin/nologin.
El shell bash (GNU Bourne-Again Shell) es el shell por defecto y el más utilizado. Es compatible con los el shell sh e incorpora las características de Korn y C shells (ksh y csh) Si establecemos el shell /sbin/nologin o False estamos indicando que el usuario no puede iniciar sesión en el sistema.
Identificación de usuario. Especifica el número asociado con cada cuenta de usuario y se genera cuando se crea la cuenta. Este identificador puede ser cambiado.
Tema 9: Puesta en marcha del sistema Página6
Nota
Es recomendable asignar a los servicios del sistema el shell /sbin/nologin para que no pueden iniciar
sesión en el sistema.
B. Propiedadesdeunacuentadeusuario
Para ver las propiedades de la cuenta de un usuario, seleccionamos el usuario y pulsamos en el botón Propiedades que se encuentra en la barra de herramientas. Se abrirá la ventana Propiedades de usuario, donde podremos cambiar la información del usuario (véase la figura 3).
Figura 3. Propiedades de la cuenta de un usuario
La información de un usuario se divide en las siguientes categorías: * Datos del usuario. En esta información se encuentra el nombre completo del usuario, la contraseña, el directorio principal y el shell de conexión asociado a dicho usuario. * Información de cuenta. Nos permite activar la fecha de activación de una cuenta y se puede bloquear la contraseña local del usuario. * Información de la contraseña. Nos permite activar los datos de expiración de la contraseña. Por ejemplo: Días antes de permitir cambios, días antes de desactivar la cuenta, etc. * Grupos. Podemos seleccionar los grupos a los que pertenece el usuario.
C. Modificacióndelacontraseñadeunusuario
Si deseamos cambiar la contraseña de un usuario utilizando el gestor de usuarios, seleccionamos la cuenta y pulsamos el botón propiedades que se encuentra en la barra de herramientas. En la ventana Propiedades del usuario escribimos la nueva contraseña en los campos contraseña y confirme la contraseña.
D. Deshabilitarunacuentadeusuario
¿Por qué deshabilitar una cuenta? Ésta no es una respuesta sencilla, hay muchas razones por la que se debe desactivar una cuenta de usuario. La razón más importante es por motivos de seguridad. Por ejemplo, puede que se haya creado una cuenta especial que será usada por clientes, compañeros o amigos para acceder a ficheros específicos en tu sistema. Esta cuenta se usa esporádicamente pero sólo debería estar activa cuando se necesite. Una cuenta que no se usa es un objetivo para los atacantes del sistema. Si se borra tendremos que crearla cuando queramos
Tema 9: Puesta en marcha del sistema Página7
utilizarla. Deshabilitar la cuenta resuelve ambos problemas con sólo activar o desactivar dicha cuenta de usuario. Para deshabilitar una cuenta utilizamos el gestor de usuarios, seleccionamos la cuenta deseada, pulsamos el botón propiedades que se encuentra en la barra de herramientas, seleccionamos la pestaña Información de la cuenta y activamos la casilla La contraseña local está bloqueada. La cuenta queda deshabilitada y puede ser habilitada más tarde volviendo a desactivar la misma casilla.
E. Eliminacióndeunacuentadeusuario
Para borrar una cuenta seleccionamos la cuenta que deseamos borrar, pulse Borrar en la parte superior de la pantalla. Nos aparece una pantalla de confirmación (Véase la figura 5) en la que podemos decidir si queremos conservar los ficheros asociados a la cuenta o no. Los ficheros asociados de la cuenta son aquellos que se encuentran en el directorio /home/nombre_usuario.
Nota
Aunque existen opciones para conservar los ficheros asociados a una cuenta si se
activa dicha opción, cualquier información o fichero que se borre será eliminado y no
hay forma de recuperarlos.
Figura 5. Borrar una cuenta de usuario
9.1.2.‐Gestióndegrupos
Todos los usuarios pertenecen a uno o más grupos. Al igual que cada fichero tiene un propietario específico, también pertenece a un grupo en particular. El grupo puede ser específico al propietario del fichero, o puede ser un grupo compartido por todos los usuarios. Puede asignársele a un grupo la capacidad de leer, escribir o ejecutar un fichero; esto va separado de los derechos del propietario. Por ejemplo, el propietario de un fichero puede ser capaz de escribir en él, mientras que los miembros de otro grupo pueden ser capaces sólo de leerlo. Para gestionar los grupos utilizamos el gestor de usuarios y pulsamos en la pestaña Grupos.
Tema 9: Puesta en marcha del sistema Página8
A. Crearungrupo
Para añadir un grupo pulsamos en el botón Añadir Grupo que se encuentra en la barra de herramientas y aparece la ventana Crear nuevo grupo (figura 7) donde se introduce el nombre del grupo y, si lo deseamos, podemos especificar el identificador de grupo (GID).
Figura 6. Gestor de usuarios
Figura 7. Crear nuevo grupo - usuarios
B. Borrarungrupo
Para borrar un grupo abrimos el gestor de usuarios, pulsamos la pestaña grupos, seleccionamos el grupo deseado y pulsamos el botón borrar.
C. Modificarlapertenenciaaungrupo
Existen dos formas de indicar la pertenencia de un usuario a un grupo: Indicando que un usuario pertenece a una serie de grupos, o al contrario indicando que en un grupo pertenecen una serie de usuarios. Para realizar la primera forma, abrimos el gestor de usuarios, seleccionamos el usuario deseado, pulsamos propiedades y seleccionamos la pestaña Grupos nos aparecerá el listado de todos los grupos del sistema (ver figura 8). Para dar de alta a un usuario dentro del grupo tan sólo tendremos que seleccionar el grupo deseado. Si por el contrario queremos indicar que una serie de usuarios pertenecen a un grupo determinado, la opción más rápida es abrir el gestor de usuarios,
Tema 9: Puesta en marcha del sistema Página9
dentro de la pestaña grupos seleccionamos el grupo deseado, pulsamos propiedades y en la pestaña Usuarios del grupo nos aparecen todos los usuarios del sistema (Ver figura 9). Para dar de alta a un usuario dentro del grupo tan sólo tendremos que seleccionar el usuario.
Figura 8. Crear nuevo grupo - usuarios
Figura 9. Propiedades de un grupo
9.1.3.‐Usuarios/Grupos.Intérpretedecomandos
La gestión de usuarios y grupos se puede realizar directamente a través del intérprete de comandos. A continuación se detallan los comandos más importantes para la gestión de usuarios:
Adduser. Permite dar de alta a un usuario y su sintaxis más utilizada es: o adduser nombre_usuario. Da de alta al usuario nombre_usuario o adduser nombre_usuario –g grupo_inicial. Da de alta al usuario y establece su
grupo de trabajo inicial o adduser nombre_usuairo –G grupo1,grupo2. Da de alta al usuario y le asigna los
grupos indicados. o adduser nombre_usuario -c comentario Incluir comentario (normalmente
nombre completo del usuario)
Tema 9: Puesta en marcha del sistema Página10
o adduser nombre_usuario -d directorio_home Permite especificar su directorio deinicio
o adduser nombre_usuario -m Crea directorio de inicio /home/usuario y le pone todos los subdirectorios y ficheros que haya en /etc/skel
userdel. Permite borrar un usuario. o userdel [-r] user Borra la cuenta de un usuario -r Borra también su
directorio home
usermod. Permite modificar las propiedades de un usuario. [opciones] Si se deja en blanco toma las opciones por defecto
-L Look. Bloquea la contraseña (deshabilita la cuenta) -U directorio_home Unlook. Desbloquea la contraseña.
addgroup. Permite dar de alta a un usuario dentro de un grupo. passwd. Permite cambiar la contraseña de un usuario. Si ejecuta passwd cambia la
contraseña del usuario actual y si ejecuta passwd nombre_usuario cambia la contraseña del usuario indicado.
chage. Permite establecer los periodos de vigencia de las contraseñas. Las opciones más utilizadas son:
o chage – d ul_dia usuario. Fecha del último cambio del password. o chage –m min_dias usuario. Número de días que han de pasar para poder cambiar
la contraseña. o chage –M max_dias usuario. Número de días máximo que puede estar con la
misma contraseña sin cambiarla. o chage – W warn_dias usuario. Indicamos cuántos días antes será avisado de que
la contraseña va a expirar (maxlife) y que tiene que cambiarla. o chage –I inac_dias usuario. Número de días que tienen que pasar después de que
la contraseña expire para que la cuenta se deshabilite de forma automática si la contraseña no ha sido cambiada.
o chage –E exp_dias usuario. Número de días para que expire la cuenta y se deshabilite de forma automática.
Los comandos utilizados para la gestión de grupos son:
groups. Muestra los grupos a los que pertenece un usuario. groupadd. Permite dar de alta un grupo. groupdel. Permite borrar un grupo. groupmod, Permite modificar las propiedades de un grupo.
9.1.4.‐Ficherospasswd,shadow,groupygshadow.
Una vez aprendidas las herramientas para gestionar y crear usuarios y grupos debemos de conocer los archivos que almacenan toda esta info. de usuarios y contraseñas.
Toda la información sobre usuarios, grupos y contraseñas se guarda en los archivos:
o /etc/passwd (información sobre usuarios) o /etc/group (información sobre grupos) o /etc/shadow (contraseñas cifradas) o /etc/gshadow (contraseñas cifradas de los grupos) [normalmente no se
Tema 9: Puesta en marcha del sistema Página11
usa este fichero]
Es muy importante conocer su ubicación pero también protegerlos de hurtos y asaltos por medio de programas o comando que intentan modificarlos o borrarlos.
A. /Etc/passwd:
en este fichero se almacenan todos los user dados de alta en el sistema. Podemos visualizarlo con cualquier comando como “cat” o “more”.
Su estructura es:
Login name: nombre del usuario login. Encrypted pass: es la contraseña cifrada. Sale
una “X” porque esta info. no está aquí, está en el fichero “/etc/shadow”.
Uid: identificador único de usuario. Gid: identificador de grupo primario. User información: algún comentario del usuario. Logon directory: aquí se indica cual es el $home del usuario. Al hacer login se aparecerá
en ese directorio por defecto directamente. Login shell: se indica cual va a ser la shell por defecto “/bin/bash/”. Nos podemos
encontrar con usuarios con “/etc/false” o “/etc/nologin”, esto quiere decir que no tienen shell y no pueden acceder a ella. Esto seria para usuarios que solo usan el correo electrónico por ejemplo.
Ejemplo: root:x:0:0:root:/root:/bin/bash
B. /etc/shadow:
en este fichero se almacena la contraseña cifrada de cada usuario. Esto sirve para que la contraseña este oculta. El único usuario con permiso de lectura de este fichero es el root, así nadie podrá obtener las contraseñas cifrada de manera directa. Esto es una opción que en las distribuciones actuales bien por defecto y no se puede deshabilitar.
Su estructura es:
Usuario: el nombre del usuario. Clave: la clave cifrada. Ultimo: días desde el último cambio
de clave. Desde el 1/1/1970. Puede: Días transcurridos antes de que
la clave se puede modificar. Debe: días transcurridos antes de que
la clave tenga que ser modificada. Aviso: días de aviso al usuario antes de
que expire la clave. Expira: días en que se desactiva la
cuenta tras expirar la clave.
Tema 9: Puesta en marcha del sistema Página12
Desactiva: días de duración de la cuenta desde el 1/1/1970. Reservado: campo reservado.
C. /etc/group:
en este fichero se refleja la pertetencia de los usuarios a cada uno de los grupos creados en el sistema. Cada usuario puede pertenecer a tantos grupos quiera siempre que pertenezca al suyo propio definido en “/etc/passwd”
Su estructura es:
Grupo: nombre del grupo. Pass: contraseña del grupo. Si no tiene aparecerá una “x”. Gid: identificador del grupo. User1,user2,user3……..
D. /etc/gshadow
Al igual que el fichero /etc/shadow de las contraseñas encriptadas para usuarios, también se puede usar un fichero /etc/gshadow de contraseñas encriptadas para grupos.
Se suele usar para permitir el acceso al grupo, a un usuario que no es miembro del grupo.
Ese usuario tendría entonces los mismos privilegios que los miembros de su nuevo grupo
Algunos administradores de sistemas modifican estos ficheros a mano en vez de usar los comandos. Esto puede provocar que los ficheros queden corruptos. Pero hay herramientas para verificar la integridad de estos ficheros.
Pwck: sirve para verificar la integridad de los ficheros “/etc/passwd” y “/etc/shadow”. –r abre en modo solo lectura
Grpck: sirve para verificar la información de grupos en “/etc/group” y “/etc/gshadow”. –r abre en modo solo lectura.
Antes no se usaba el fichero “shadow” y se utilizaba el “passwd” para almacenar las contraseñas. De todas maneras tenemos un par de comandos para habilitar y deshabilitar esto. Son el “pwconv” que sirve para crear el “shadow” y el “pwunconv” que sirve para dejar de utilizar el “shadow” y usar directamente el “passwd”.
9.2.‐SistemasdeFicherosUn sistema de archivos establece el modo en el que se organiza la información dentro de una partición. Existe un gran número de sistemas de archivos distintos. entre ellos se encuentran los siguientes:
Sistemas de archivos Windows: FAT, FAT32 y NTFS
Sistemas de archivos Linux: est2, ext3, ext4, ReiserFS, etc.
Tema 9: Puesta en marcha del sistema Página13
En las versiones actuales de Ubuntu, el sistema de archivos que se utiliza de forma mayoritaria es ext4, aunque durante el proceso de instalación del sistema vimos que se podía elegir entre varias opciones más.
A finales de 2008, el sistema de archivos ext4 fue etiquetado como estable y, a partir de ahí se incorporó a diferentes distribuciones de Linux.
Una de las principales características de ext4 es que sigue siendo transaccional, igual que su antecesor ext3, con el que mantiene la compatibilidad. Sin embargo, ahora soporta volúmenes que lleguen hasta 1 Exabyte, incluye mecanismos que reducen drásticamente la fragmentación y mejoran el rendimiento cuando trabaja con archivos de gran tamaño, amplía el número máximo de archivos hasta los 64000 (o incluso más, si se usa la opción dir_nlink), mejora la velocidad de lectura y escritura en disco y disminuye el consumo de tiempo de procesador, entre muchas otras características.
¿Qué es un sistema transaccional?
Como hemos dicho más arriba, una de las características más importantes de ext4 es que se trata de un sistema transaccional (en inglés, journaling). Este mecanismo consiste en que, cuando el sistema de archivos necesita realizar una operación de disco, se guardan en un registro los cambios que se harán en la estructura del directorio, los bloques de disco que se verán afectados y los cambios que se realizarán en los archivos implicados. De esta forma, se podrán deshacer los cambios que se hayan realizado si no termina de forma satisfactoria la operación completa. El resultado es que cuando se produce una avería, un cuelgue del sistema o un fallo de alimentación eléctrica, la integridad del sistema de archivos no se verá comprometida.
Toda la información relativa a la operación en curso se almacena en unos bloques particulares del disco, de forma que sigan estando disponibles cuando se reinicie el sistema después del fallo.
Como curiosidad, diremos que esta técnica comenzó a utilizarse en los sistemas gestores de bases de datos (SGBD) para garantizar la integridad referencial de sus diferentes tablas.
Existen diferentes formas que permiten administrar el sistema de ficheros y cada una de ellas proporciona diferentes resultados dependiendo de si desea administrar el sistema utilizando particiones, volúmenes o sistemas.
9.2.1.‐particionamientolas particiones son bloques en los que se divide una unidad física de almacenamiento, ya sea
un disco duro, una memoria flash o un disco óptico.
Los discos ópticos utilizan un formato de partición especial denominado UDF, por sus siglas del
inglés Universal Disc Format).
Por su parte, los los discos duros y los sistemas de memoria flash disponen de tres clases
distintas de particiones:
Tema 9: Puesta en marcha del sistema Página14
Particiones primarias: En una unidad de almacenamiento puede haber un máximo de
cuatro. En cualquier caso, para que un sistema operativo pueda utilizar un
determinado medio de almacenamiento, éste debe tener, como mínimo, una partición
primaria.
Particiones extendidas: En una unidad de almacenamiento sólo puede haber una,
aunque también puede no existir ninguna. Si existe, ocupa el espacio de una partición
primaria, por lo que sólo podrían existir tres particiones primarias. Las particiones
extendidas se inventaron para evitar la limitación existente con el número de
particiones primarias. En realidad, una partición extendida no puede contener datos,
sólo contendrá particiones lógicas.
Particiones lógicas: Se ubican siempre dentro de una partición extendida. En una
partición extendida pueden definirse hasta 23 particiones lógicas.
En cuanto a la nomenclatura que sigue Linux para identificar las particiones, se siguen las
siguientes pautas:
El identificador de una unidad de almacenamiento IDE siempre comienza con las
letras hd. Por su parte, con las unidades SATA o SCSI se utilizan las letras sd.
A continuación, se utiliza una letra, en orden alfabético, para identificar las diferentes
unidades del mismo tipo. Así, el primer disco SATA conectado al ordenador será sda, el
segundo sdb y así sucesivamente.
Finalmente, las particiones de la misma unidad quedarán identificadas con un número.
Si el número está entre 1 y 4, representará una partición primaria. En número 5
representará la primera partición lógica, el 6 la segunda, etc.
Así, a modo de ejemplo, podríamos decir que sdc6 representa a la segunda partición lógica del
tercer disco SATA conectado al sistema.
Veamos en la siguiente imagen tres posibles combinaciones a partir de lo dicho anteriormente:
Debemos observar que, en la segunda imagen, no existe sda4, que correspondería a la
partición extendida (en amarillo más claro) y no es accesible.
Tema 9: Puesta en marcha del sistema Página15
En la tercera imagen, se aprecia que, a pesar de que sólo existe una partición primaria (sda1),
la primera partición lógica siempre será sda5 (recuerda que los números 1 a 4 se reserva para
particiones primarias)
Por último indicar que, desde el punto de vista de los sistemas operativos, éstos manejan las
particiones primarias y lógicas como si fuesen unidades de almacenamiento independientes y,
como tales, cada una dispondrá de su propio sistema de archivos.
En el caso de Linux, lo normal es que haya, al menos, dos particiones: una para el intercambio
de memoria (llamada swap) y otra para el sistema, donde se monta el directorio raíz (/). Sin
embargo, es común que exista alguna partición más. Por ejemplo, suele utilizarse una partición
más para almacenar la información de los usuarios (que se monta en /home).
Como puede deducirse del párrafo anterior, a diferencia de Windows, donde existe una letra
de unidad para cada partición montada, en Linux existe un árbol de directorios único y las
diferentes particiones se montan en puntos determinados de dicho árbol.
La administración de las particiones de los sistemas de ficheros se puede realizar con
herramientas gráficas como editor de particiones Gparted y el administrador de volúmenes
lógicos o con el comando fdisk.
9.2.1.1.‐Herramientasgráficas.
Administración de volúmenes lógicos
El administrador de volúmenes lógicos nos permite administrar los volúmenes físicos y lógicos del sistema. Para iniciar la herramienta debemos ir al menú aplications y ejecutar el Administrador de volúmenes lógicos que se encuentra dentro del submenú System Tools. Si no hemos instalado el Administrador de volúmenes lógicos durante la instalación podemos hacerlo ejecutando:
apt-get install gnome-disk-utility apt-get install system-config-lvm apt-get install gparted
Figura 1. Administrador de volúmenes lógicos
Tema 9: Puesta en marcha del sistema Página16
Nota
Volumen físico. Es una agrupación de uno o varios discos duros. El sistema operativo no permite utilizar directamente un volumen físico ya que es necesario dividirlo en volúmenes lógicos.
Volumen lógico. Es una división de un volumen físico que puede ser utilizada por el sistema operativo. A la hora de crear el volumen podemos indicarle las características que queramos que tenga (redundancia de datos, capacidad, etc.).
El primer paso que debemos realizar es inicializar los discos duros para empezar a trabajar con ellos. Para poder inicializar un disco duro pulsamos Inicializar del menú Herramientas. Introducimos la ruta del dispositivo (p.e. /dev/sdb) y pulsamos Inicializar. El sistema nos indica que se van a perder todos los datos del sistema. Tras unos segundos el dispositivo se inicia y a partir de ahora aparece en la categoría Volúmenes no asignados (véase la figura 2).
Figura 2. Administrador de volúmenes lógicos – Volúmenes no asignados
Si deseamos crear un nuevo volumen físico, tenemos que ir a la sección Volúmenes no asignados, seleccionar el disco duro que queremos utilizar y pulsar el botón Crear un nuevo grupo de volúmenes. En la ventana que nos aparece (figura 3) tenemos que indicar el nombre del volumen.
Figura 3. Nuevo volúmen
Tema 9: Puesta en marcha del sistema Página17
Si queremos añadir más discos duros a nuestro volumen entonces tendremos que seleccionar el disco duro y pulsar el botón Agregar al grupo Volumen existente. Una vez añadidos todos los discos duros al volumen pulsamos en el nombre del volumen para ver su estructura física, lógica y las propiedades del volumen (véase la figura 4).
Figura 4. Volumen creado
Una vez creado el volumen físico, vamos a proceder a la creación del volumen lógico que es el que puede ver el sistema operativo. Para crear un volumen lógico, nos vamos a la vista lógica y pulsamos en Crear Nuevo Volumen Lógico. Tal y como aparece en la figura 5, debemos introducir los siguientes datos:
Propiedades del VL. Indicamos el tipo de volumen que queremos (lineal o striped) y si queremos tener mayor seguridad seleccionamos la casilla Reflejado para que se refleje la información y, en caso de que se rompa un disco duro no perdamos la información.
Tamaño. Indicamos el tamaño de nuestro volumen. Hay que tener en cuenta que si utilizamos un volumen reflejado ocupa el doble de espacio.
Sistema de ficheros. Indicamos el tipo de sistema de ficheros que queremos utilizar (ext3, ext4, ext2 o xfs) y el punto de montaje. Para indicar el punto de montaje tenemos que seleccionar la casilla Cantidad (y si queremos que se mantengan siempre los cambios Cantidad cuando reinicie) e indicamos el nombre del punto de montaje (p.e. /datos).
Figura 5. Crear volúmenes lógicos
Tema 9: Puesta en marcha del sistema Página18
Si deseamos ver el resultado podemos verlo pulsando el nombre del volumen y nos de forma gráfica la estructura del sistema de ficheros. Por ejemplo, en la figura 6 podemos ver que el volumen físicamente esta compuesto por 3 discos duros (color rojo) que se ha repartido en dos volúmenes lógicos (color azul): El volumen de datos que se encuentra reflejado, y el volumen copia_de_seguridad que ocupa el espacio restante.
Figura 6. Volumen lógico creado
9.2.1.2.‐fdisk
La utilidad fdisk, a pesar de que es un poco incomoda de utilizar porque no trabaja bajo una interfaz gráfica, es muy útil y potente. Para aprender mejor, vamos a utilizar fdisk para crear una partición en uno de los discos duros que tenemos libre en el sistema, lo formatearemos y lo montaremos para poder utilizarlo.
El primer paso que debemos realizar es conocer los discos duros y particiones que tiene nuestro sistema. Para ello ejecutamos:
# fdisk –l
Tal y como podemos ver en la figura 8, el equipo tiene dos discos duros (/dev/sda y /dev/sdb). El primer disco duro (/dev/sda) tiene dos particiones donde esta el sistema operativo (/dev/sda1) y la partición swap (/dev/sda2). Y el segundo disco duro no contiene ninguna tabla de particiones válida.
Figura 8. fdisk –l
Por ejemplo, si queremos empezar a utilizar fdisk en el segundo disco duro entonces tendremos que ejecutar:
Tema 9: Puesta en marcha del sistema Página19
# fdisk /dev/sdb
Una vez dentro del disco duro (véase la figura 9) el sistema nos informa de que el disco duro no contiene ninguna tabla de particiones válida. Si deseamos conocer los comandos disponibles podemos pulsar m.
Figura 9. fdisk /dev/sdb
En la tabla 1 muestra las opciones más interesantes que nos proporciona esta utilidad.
Tabla 1. Principales parámetros de fdisk
Opción Descripción
a Nos permite indicar a nuestro sistema que partición vamos a utilizar como partición activa
d Suprime una partición
l Lista tipos de particiones conocidas
m Imprime el menú de ayuda
n Agrega una nueva partición
p Imprime la tabla de particiones
q Salir sin guardar los cambios
t Cambia el identificador de sistema de una partición: De esta forma, nos permite cambiar el sistema de ficheros que va a utilizar una partición.
v Verifica la tabla de particiones
w Guarda los cambios y sale de la aplicación
Para crear una partición en el sistema pulsamos n y realizamos los siguientes pasos:
Seleccionamos el tipo de partición que queremos crear: (p) primaria y (e) extendida. Pulsamos p.
Indicamos el número de la partición primaria. Como es la primera pulsamos 1. Ahora tenemos que indicar el tamaño de la partición. Para ello el sistema nos
muestra una línea de texto de la siguiente forma:
Primer cilindro (1-1044, valor predeterminado 1): Pulsamos directamente enter para que la partición empiece en el inicio del disco duro.
Tema 9: Puesta en marcha del sistema Página20
A continuación nos pide el último cilindro. Para especificar el tamaño de la partición podemos indicar el número del útimo cilindro o indicar el tamaño en MBytes que queremos asignarle a la partición de la forma +tamañoM (p.e. 1000M). En nuestro caso pulsamos enter para utilizar todo el disco duro.
Una vez creada la partición, podemos ver la tabla de particiones pulsamos p. Tal y como podemos ver en la figura 10, la partición creada es /dev/sdb1.
Figura 10. fdisk – partición creada
Una vez realizados todos los cambios hay que guardar dicha información y salir de la aplicación, utilizando w.
9.2.1.3.‐Formateo
Una vez creada la partición, el siguiente paso es formatearla con el comando mkfs. Para formatear nuestra partición ejecutamos:
# mkfs /dev/sdb1
Figura 11. mkfs /dev/sdb1
9.2.1.4.‐CrearunespacioSWAP
Un especio swap puede ser un fichero normal que es tratado de una forma especial por el kernel. Aunque normalmente la zona de swap reside en un partición específica del tipo linux swap (tal y como se vio en el proceso de instalación). A continuación veremos cómo reservar una zona swap en un fichero.
Lo primero que hay que hacer es reservar el espacio que queremos utilizar como espacio swap. Para ello, utilizamos la orden dd. Dicho comando nos permite crear un fichero con un tamaño determinado tal y como se muestra en el siguiente ejemplo:
dd if=/dev/zero of=/extra-swap bs=1024 count=1014
Tema 9: Puesta en marcha del sistema Página21
if determina la entrada de nuestro sistema de ficheros (en el ejemplo anterior un dispositivo vacío) y of determina la salida de nuestro sistema o el nombre del fichero que vamos a crear. El tamaño del fichero es determinado por count=N donde N es el número de bloques y bs es utilizado para determinar el tamaño del bloque. Este tamaño debe de ser un múltiplo de 4 ya que el tamaño de las páginas de memoria es de 4 Kb. Si el tamaño no es múltiplo de 4 se desperdiciará parte del fichero.
Después de reservar en un fichero el espacio que queremos utilizar como zona swap, debemos de indicarle al sistema que dicho fichero va a ser un fichero swap. Para ello se utiliza el comando mkswap. Un ejemplo de este comando es el siguiente:
mkswap /extra-swap 1024
donde /extra-swap es el nombre del fichero al que le vamos a asignar la zona swap y 1024 es el tamaño de bloque. Dicho valor se ha introducido también con el parámetro bs=1024 en el comando dd.
9.2.1.5.‐Montarlaunidad
Ya tenemos lista la partición /dev/sdb1. Para poder utilizarla debemos montarla en un directorio existente.
# mkdir /datos
Existen dos formas diferentes de montar una partición:
Manualmente con el comando mount. Esta opción es la más sencilla y permite montar un sistema de ficheros de forma puntual ya que si se reinicia el ordenador se pierde el punto de montaje.
Automáticamente editando el fichero /etc/fstab. Esta opción permite montar de forma permanente un sistema de ficheros. Es la mejor opción en el caso de que queramos utilizar siempre el sistema de ficheros, o que queramos realizar en él acciones especiales como por ejemplo, utilizar las cuotas de usuarios.
Para montar manualmente nuestra partición ejecutamos
# mount /dev/sdb1 /datos
Y si deseamos montar de forma definitiva el sistema de ficheros entonces tenemos que editar el fichero /etc/fstab y añadir al final la siguiente línea de configuración.
/dev/sdb1 /datos ext2 defaults 0 0
Una vez modificado el fichero de configuración, la partición se montará automáticamente al reiniciar el equipo o, si queremos, podemos montarla ahora ejecutando mount /datos. Para finalizar, si queremos ver que la partición está correctamente montada ejecutamos el siguiente comando mount o df.
Tema 9: Puesta en marcha del sistema Página22
Nota
Hay que tener mucho cuidado al modificar el fichero /etc/fstab ya que podemos dañar el sistema.
9.3.‐SistemasRAID
Los sistemas RAID permiten mantener la redundancia de datos para que ante un posible fallo no se pierdan los datos.
9.3.1.InformaciónbásicasobreRAIDs
¿QuéesunaRAID?¿Paraquésirve?
Historia
La tecnología RAID fue definida por primera vez en 1987 por un grupo de informáticos de la Universidad de California, Berkeley. Este grupo estudió la posibilidad de usar dos o más discos que aparecieran como un único dispositivo para el sistema.
En 1988, los niveles RAID 1 a 5 fueron definidos formalmente por David A. Patterson, Garth A. Gibson y Randy H. Katz en el ensayo "Un Caso para Conjuntos de Discos Redundantes Económicos (RAID)" (A Case for Redundant Arrays of Inexpensive Disks (RAID)), publicado en la Conferencia SIGMOD de 1988 (págs. 109-116) PDF original. El término «RAID» se usó por vez primera en este ensayo, que dio origen a toda la industria de los conjuntos de discos.
¿Paraquesirve?
Así pues una RAID sirve para crear un único volumen lógico, el cual físicamente esté compuesto por varios discos físicos. Dependiendo de que modo de RAID utilicemos, esto nos servirá para conseguir simplemente un volumen de capacidad mayor, o para conseguir un volumen con mayor seguridad contra fallos de hardware de los discos que lo componen gracias al almacenamiento redundante de estos.
Hay que tener en cuenta que cuando hablamos de Software RAID, siempre que hablamos de discos debemos entender que hablamos de particiones.
9.3.1.1.ModosbásicosdeRAID
ModoLineal(Linearmode)
Dos o más discos se combinan en un único dispositivo físico. Los discos se «adjuntan» unos a otros de tal manera que las escrituras en el dispositivo RAID primero llenarán el disco 0, a continuación el disco 1 y así sucesivamente. Los
Tema 9: Puesta en marcha del sistema Página23
discos no tienen porqué ser del mismo tamaño. De hecho, los tamaños no importan para nada aquí. Se trata de una simple concatenación de discos
No existe redundancia en este nivel. Si un disco falla perderá toda su información con toda probabilidad. Sin embargo, puede tener suerte y recuperar algunos datos, ya que el sistema de ficheros simplemente habrá perdido un gran puñado de datos consecutivos.
El rendimiento de las lecturas y las escrituras no se incrementará para lecturas/escrituras individuales. Pero si varios usuarios usan el dispositivo, puede tener la suerte de que un usuario use efectivamente el primer disco y el otro usuario acceda a ficheros que por casualidad residan en el segundo disco. Si esto ocurre, verá un aumento en el rendimiento.
RAID0(Striped)
También llamado modo striping o de distribución por bandas. Como el modo lineal salvo que las lecturas y escrituras se realizan en paralelo en los dispositivos. Éstos deben tener aproximadamente el mismo tamaño. Puesto que todos los accesos se realizan en paralelo, los discos se llenan por igual. Si un dispositivo es mucho mayor que los otros demás, el espacio extra se utilizará en el dispositivo RAID durante las escrituras en el extremo superior, aunque sólo se accederá a este disco más grande. Naturalmente, esto perjudica el rendimiento.
Como en el modo lineal, tampoco hay redundancia en este nivel. A diferencia del modo lineal, no será capaz de recuperar ningún dato si un disco falla. Si elimina un disco de un grupo RAID-0, el dispositivo RAID no perderá simplemente un bloque consecutivo de datos, sino que se llenará con pequeños agujeros por todo el dispositivo.
El rendimiento de las lecturas y las escrituras se incrementará, ya que las lecturas y las escrituras se realizan en paralelo sobre los dispositivos. Normalmente, ésta es la razón principal para usar RAID-0.Si los buses a los discos son suficientemente rápidos, puede obtener casi N*rendimiento de cada disco MiB/seg.
RAID1(Mirrored)
Este es el primer modo que realmente tiene redundancia. RAID-1 se puede usar en dos discos idénticos. Este modo mantiene en un disco un duplicado exacto de la información del otro disco.
Si uno falla, los datos permanecerán intactos, puesto que tendremos el otro disco.
Normalmente, el rendimiento de las lecturas es la suma de los rendimientos de los discos, mientras que el rendimiento de las escrituras es el mismo que el de un único dispositivo o, tal vez, incluso menos. Las lecturas se pueden hacer en paralelo pero, cuando se escribe, la CPU debe transferir 2 veces la cantidad de datos que normalmente transferiría (se deben enviar 2 copias idénticas de todos los datos, una a cada disco).
RAID3yRAID4
Este nivel de RAID no se usa con mucha frecuencia. Se puede usar sobre 3 o más discos. En lugar de duplicar completamente la información, guarda
Tema 9: Puesta en marcha del sistema Página24
información de paridad en un único disco y escribe datos a los otros discos de forma parecida a un RAID-0. Ya que uno de los discos se reserva para información de paridad, el tamaño del array será (N-1)*S, donde S es el tamaño del disco más pequeño del array. Como en un RAID1, los discos deben ser del mismo tamaño, o de lo contrario tendrá que aceptar que el valor de S en la fórmula (N-1)*S anterior será el tamaño del disco más pequeño del array.
Si un disco falla, y no es el de paridad, se puede usar la información de paridad para reconstruir todos los datos. Si dos discos fallan, se perderá toda la información.
La razón por la que estos niveles no se usan con mucha frecuencia es que la información de paridad se guarda en un único disco. Esta información se debe actualizar cada vez que se escribe en uno de los otros discos. Por eso, el disco de paridad se convertirá en un cuello de botella si no es mucho más rápido que los otros discos.
RAID5
Este es quizás el modo RAID más útil cuando uno desea combinar un mayor número de discos físicos y todavía conservar redundancia. RAID5 se puede usar sobre 3 o más discos. El tamaño del dispositivo RAID5 resultante será (N-1)*S, tal y como sucede con RAID4. La gran diferencia entre RAID5 y RAID4 es que la información de paridad se distribuye uniformemente entre los discos participantes, evitando el problema del cuello de botella del RAID4.
Si uno de los discos falla, todos los datos permanecerán intactos, gracias a la información de paridad. Si dos discos fallan simultáneamente, todos los datos se perderán. RAID5 puede sobrevivir a un fallo de disco, pero no a dos o más.
El rendimiento de lectura de RAID5 es equiparable al de RAID0 con el mismo numero de discos. Exceptuando los bloques de paridad, los cuales pueden causar un ligero relentimiento en las escrituras (en las lecturas no se usan los bloques de paridad de no ser que algún disco falle).
RAID6
La idea es la misma que RAID5, solo que se agrega un segundo algoritmo de paridad a parte del XOR normal, por tanto permite la perdida de 2 discos fisicos, el tamaño del RAID6 resultante será (N-2)*S.
OtrosmodosdeRAID
Existen multitud de modos de RAID basados en la convención de diferentes RAIDs, es decir se utiliza un conjunto de RAIDs en un determinado sistema para crear una nueva RAID en -normalmente- otro sistema. Algunos de éstos sistemas son: RAID01, RAID10, RAID03, RAID30, RAID50, RAID51 (también llamada RAID53), RAID60, y RAID 100.
9.3.2.MontarunsistemaRAID
A continuación vamos a montar un sistema RAID a nivel de software. Para eso necesitamos que al menos el equipo tenga 2 discos duros (en el caso de RAID0 y 1) y 3 discos duros (para RAID5). Tal y como muestra la figura 1, básicamente lo que
Tema 9: Puesta en marcha del sistema Página25
hacemos es que el sistema GNU/Linux utilice los diferentes discos duros que componen el RAID y lo monte en /dev/md0. De esta forma tendremos acceso directo a /dev/md0 para leer o escribir datos, y el sistema se encarga de almacenar la información en los diferentes discos duros según el tipo de RAID que se esté utilizando.
Figura 1. Esquema general
Para la creación y administración de una RAID por software necesitaremos el paquete mdadm. En principio el paquete mdadm viene instalado por defecto en Ubuntu.
Asimismo si no disponéis del paquete instalado podéis instalarlo con el Gestor de paquetes Synaptic o bien con el siguiente comando:
$ sudo apt-get install mdadm
Para que ubuntu pueda trabajar con las RAID puede ser necesario cargar primero el módulo correspondiente.
$ sudo modprobe raid1 o $ sudo modprobe raid0
si se quiere un RAID0, o los dos si quieres usar ambos tipos de RAID.
Particionamiento
Debemos tener en cuenta, que puesto que vamos a crear una Software RAID, vamos a utilizar particiones en lugar de discos. Sin perjuicio que cada disco contenga una sola partición con la totalidad del tamaño del disco, como de hecho es indicado.
Así pues primeramente debemos preparar las particiones que vamos a utilizar para crear la RAID.
Para esto podemos utilizar cualquier herramienta de particionamiento. En nuestro caso vamos a utilizar GParted, una herramienta gráfica de fácil uso.
Procedemos a crear una partición para la totalidad de cada uno de los discos idénticos de los que disponemos para crear la RAID. Debemos crear una partición sin formato, puesto que el formato de la RAID lo daremos cuando esta esté construida. A parte del
Tema 9: Puesta en marcha del sistema Página26
formato debemos indicar que se tratará de un disco para crear una RAID. Esto lo podemos hacer de manera fácil con GParted, seleccionando la partición e yendo a Menú Partición>gestionar señaladores y marcando el señalador "RAID", tal y como muestran las imágenes.
GParted con partición sin formato y con señalador RAID
Marcar la partición como RAID no es vital para el funcionamiento de la RAID, asimismo es la manera más correcta de hacerlo y nos ayudará a distinguir las particiones en un futuro. Con fdisk veremos este hecho marcado como "Autodetección Linux raid" (Linux raid autodetect). Una vez acabado el proceso podemos ver con fdisk -l un listado de las particiones como el siguiente.
$ sudo fdisk –l Disc /dev/sdb: 200.0 GiB, 200049647616 octets 255 capçals, 63 sectors/pista, 24321 cilindres Unitats = cilindres de 16065 * 512 = 8225280 octets Dispositiu Arrenc. Comença Acaba Blocs Id Sistema /dev/sdb1 1 24321 195358401 fd Autodetecció Linux raid Disc /dev/sdc: 200.0 GiB, 200049647616 octets 255 capçals, 63 sectors/pista, 24321 cilindres
Tema 9: Puesta en marcha del sistema Página27
Unitats = cilindres de 16065 * 512 = 8225280 octets Dispositiu Arrenc. Comença Acaba Blocs Id Sistema /dev/sdc1 1 24321 195358401 fd Autodetecció Linux raid
Podemos observar que la columna Id muestra el valor "fd" esto es debido a que lo hemos marcado como "Autodetección Linux raid" (Linux raid autodetect).
Primeramente antes de crear la RAID podemos ver en el fichero /proc/mdstat si al algún otro array:
$ cat /proc/mdstat Personalities : Event: 0 unused devices: <none>
Vemos que no aparece ningún array.
Proseguimos a la creación del md en el que crearemos la RAID. Para ello utilizaremos el comando mknod como se muestra en la siguiente orden:
$ sudo mknod /dev/md0 b 9 0
Si ya tuviéramos algún otro array llamado md0, podemos crear un md diferente: md1, md2, ...
CrearRAID
Para crear un RAID deberemos ejecutar
mdadm -C /dev/md0 --level=raid1 --raid-devices=2 /dev/sdb1 /dev/sdc1
donde
/dev/md0 es el raid a crear ‐‐level=raid1 es el tipo de RAID ‐‐raid‐devices=2 /dev/sdb1 /dev/sdc1 Son las particiones que vamos a utilizar para el
RAID
La raid hecho esto empezará a crearse.
Una vez hemos lanzado la orden de creación de la RAID, empezarán a trabajar los discos como locos: están creando la RAID. Este proceso puede durar varias horas dependiendo de la capacidad de los discos y la potencia del ordenador/discos.
Tema 9: Puesta en marcha del sistema Página28
Podemos visualizar en cualquier momento el estado de éste proceso en el fichero /proc/mdstat:
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdc1[0] sdb1[1]
488383936 blocks [2/2] [UU]
[>....................] resync = 0.7% (4103401/488383936) finish=177.6min speed=97640K/sec
[2/2] [UU] nos indica el numero de discos que está activo y correcto en este momento. No nos tenemos que preocupar porque durante éste periodo de creación de la RAID nos marque que hay alguno incorrecto. Cuando finalice el proceso éste indicador deberá mostrarnos que todos los discos están correctos.
Una vez ha terminado el proceso de construcción de la raid podemos ver de nuevo en el fichero /proc/mdstat el estado de nuestro array:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdc1[0] sdb1[1]
488383936 blocks [2/2] [UU]
unused devices: <none>
Perfecto!
Una vez creada la RAID solo debemos montarla y formatearla con el sistema de ficheros que deseemos.
VerinformacióndelRAID
Para ver información del RAID se utiliza el siguiente comando:
mdadm --detail /dev/md0
Tema 9: Puesta en marcha del sistema Página29
FormatearlaRAID
Para formatear la RAID utilizaremos el comando mkfs:
Con ReiserFS
mkfs.reiserfs /dev/md0
En mi caso he utilizado el sistema de archivos ReiserFS, pero podemos utilizar cualquier otro como ext3:
Con ext3
mkfs.ext3 /dev/md0
MontarlaRAID
Para montar la RAID añadimos la siguiente línea al fichero /etc/fstab
/dev/md0 /punto_de_montaje sistema_de_archivos defaults,user 0 0
Recuerda que debes tener creada la carpeta /punto_de_montaje (la ruta que quieras), con los permisos correspondientes a los usuarios que quieras que accedan a la RAID. Recuerda también que debes especificar que sistema de archivos es la RAID cambiando sistema_de_archivos por reiserfs, ext3... según hayas escogido.
Luego para montarlo automáticamente, insertaremos la siguiente línea al final de /etc/fstab:
$ nano /etc/fstab
/dev/md0 /media/raid ext3 defaults 0 0
Para montar la raid bastara luego con hacer:
$ sudo mount /punto_de_montaje
Tema 9: Puesta en marcha del sistema Página30
O bien reiniciar y que Ubuntu la monte automáticamente en el inicio del sistema.
GuardarRAID
Para guardar la configuración del RAID ejecutamos:
mdadm -Es > /etc/mdadm.conf ó mdadm -Es > /etc/mdadm/mdadm.conf
Nota: comprobar que el fichero de configuración del array se encuentra en /etc si no es el caso grabar el fichero en /etc/mdadm/mdadm.conf
Al reiniciar, el array se detectará correctamente.
AdministracióndeunaRAIDysusdiscos
Establecer un disco como faulty/failed:
$ sudo mdadm --fail /dev/md0 /dev/sdb1
No utilizar en RAID0 ó RAID en modo linear. Pueden perderse los datos!
Quitar un disco fallido de una RAID:
$ sudo mdadm --remove /dev/md0 /dev/sdb1
Limpiar cualquier información previa de un disco RAID (Ej. al reutilizar un disco de otra raid antigua)
$ sudo mdadm --zero-superblock /dev/sdb1
Añadir un disco a la RAID
$ sudo mdadm --add /dev/md0 /dev/sdb1
9.3.3.‐Monitorización
MonitorizacióndelestadounaRAIDysusdiscos
Estado actual de los discos y unidades RAID
cat /proc/mdstat
$ cat /proc/mdstat Personalities : [raid5] [raid4] md0 : active raid5 sdb1[0] sde1[3] sdd1[2] sdc1[1] 586075008 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
Tema 9: Puesta en marcha del sistema Página31
unused devices: <none>
Mas detalles sobre las unidades RAID
mdadm --query /dev/md0
$ sudo mdadm --query /dev/md0 /dev/md0: 558.92GiB raid5 4 devices, 0 spares. Use mdadm --detail for more detail.
mdadm --detail /dev/md0
$ sudo mdadm --detail /dev/md0 /dev/md0: Version : 00.90.03 Creation Time : Sat Jan 20 17:27:56 2007 Raid Level : raid5 Array Size : 586075008 (558.92 GiB 600.14 GB) Device Size : 195358336 (186.31 GiB 200.05 GB) Raid Devices : 4 Total Devices : 4 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Sun Jan 21 22:23:05 2007 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 64K UUID : d65ce83c:150ba8ab:cfc213b0:81723f7b Events : 0.3084 Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1 2 8 49 2 active sync /dev/sdd1 3 8 65 3 active sync /dev/sde1
Mas detalles de los discos
mdadm --query /dev/sdb1
$ sudo mdadm --query /dev/sdb1 /dev/sdb1: is not an md array /dev/sdb1: device 0 in 4 device active raid5 /dev/md0. Use mdadm --examine for more detail.
Tema 9: Puesta en marcha del sistema Página32
mdadm --examine /dev/sdb1
$ sudo mdadm --examine /dev/sdb1 /dev/sdb1: Magic : a92b4efc Version : 00.90.00 UUID : d65ce83c:150ba8ab:cfc213b0:81723f7b Creation Time : Sat Jan 20 17:27:56 2007 Raid Level : raid5 Device Size : 195358336 (186.31 GiB 200.05 GB) Array Size : 586075008 (558.92 GiB 600.14 GB) Raid Devices : 4 Total Devices : 4 Preferred Minor : 0 Update Time : Sun Jan 21 22:23:05 2007 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Checksum : 7cd3d7e7 - correct Events : 0.3084 Layout : left-symmetric Chunk Size : 64K Number Major Minor RaidDevice State this 0 8 17 0 active sync /dev/sdb1 0 0 8 17 0 active sync /dev/sdb1 1 1 8 33 1 active sync /dev/sdc1 2 2 8 49 2 active sync /dev/sdd1 3 3 8 65 3 active sync /dev/sde1
Monitorizacióndelsistemadeficheros
Para conocer el espacio ocupado en los sistemas de archivo de un equipo, cualquier instalación de Linux incluye los comandos du y df.
Veamos dos de los comandos que se utilizan con mayor frecuencia para obtener información de un sistema de ficheros.
9.3.3.1df
El comando df nos informa de la cantidad de espacio libre en disco, expresada en bloques y no en bytes. Su sintaxis es la siguiente:
df [opciones] sistema–de-ficheros
A continuación se muestra un ejemplo de la ejecución del comando:
Tema 9: Puesta en marcha del sistema Página33
[root@adminso copias]# df S.ficheros Bloques de 1K Usado Dispon Uso% Montado en /dev/mapper/ddf1_datosp1 39674192 20579708 17046600 55% / /dev/mapper/ddf1_datosp3 189780376 39370536 140769564 22% /portales tmpfs 1036828 0 1036828 0% /dev/shm 1.2.3.4:/datos/copias_seguridad 430189056 69603328 338733056 18% /copias [root@adminso copias]#
Los parámetros de este comando son comentados en la tabla 1.
Tabla 1. Parámetros de df
Parámetro Comentario
Sistema‐de‐
ficheros
Con este parámetro le indicamos la lista de sistemas de ficheros de los que se
creará el informe. Si se deja en blanco, se hace el informe de todos los
sistemas de ficheros del sistema.
‐a Lista los sistemas de ficheros que tiene 0 bloques (estos sistemas de ficheros
son omitidos de forma predeterminada).
‐i Lista la información de la utilización de i‐nodos en vez de la de bloques.
‐k Muestra los tamaños en bloques de 1kb en vez de hacerlos en bloques de 512
bytes.
‐P Utiliza el formato de salida de POSIX.
‐t fstype Limita el informe a los sistemas de ficheros de un tipo determinado (fstype).
Figura 9.Salida del comando df
Tema 9: Puesta en marcha del sistema Página34
9.3.3.2.‐du
El comando du nos muestra la cantidad de espacio que están utilizando los directorios o los archivos especificados. Esta información se muestra en bloques de 1Kb. Su sintaxis es la siguiente:
du [opciones] nombres
Los parámetros de este comando podemos verlos en la tabla 2.
Tabla 2. Parámetros de du
Parámetro Comentario
Nombres Se indica el listado de los directorios o ficheros para los que se quiere calcular es
espacio utilizado. Cuando se deja en blanco se utiliza el directorio actual.
‐s En el informe tan sólo se muestra un tamaño total para cada uno de los nombres
especificados. Normalmente, se muestra el tamaño para cada subdirectorio.
‐a Hace que cada fichero encontrado se visualice con su tamaño.
‐b Muestra los tamaños en bytes.
‐L Muestra el espacio utilizado por un fichero utilizando su enlace simbólico en vez del
espacio utilizado por el enlace.
Nota
Los ficheros con más de un enlace sólo se cuentan una vez. Sin embargo, comando du puede presentar
sólo un número máximo de enlaces. Cuando se sobrepasa este número, los tamaños utilizados por esos
ficheros se incluyen en el total.
Por ejemplo, si deseamos un informe del directorio /usr/bin (la información se muestra en bloques de 512 bytes), el comando se utiliza es:
du –s /usr/bin
Tema 9: Puesta en marcha del sistema Página35
9.4.CuotasdediscoEn Linux, el administrador puede establecer límites de forma individual a cada usuario o puede
hacerlo para todo un grupo. Además, existen dos enfoques diferentes en el momento de
establecer cuotas:
Limitar el número de bloques de disco, con lo que se restringe el tamaño máximo que
se puede ocupar.
Limitar el número de i‐nodos, que restringe el número máximo de archivos que
pueden crearse. Un i‐nodo guarda las características de un objeto del sistema de
archivos (un archivo, un directorio, etc,). Por lo tanto, limitando su número limitamos
la cantidad máxima de objetos.
Además, cuando un administrador establece cuotas, puede fijar dos tipos de límites:
Rígido (hard): El sistema operativo impedirá que el límite sea sobrepasado.
Flexible (soft): El sistema operativo avisará cuando el límite sea sobrepasado.
A. InstalaciónyConfiguracióndeCuotasdeDisco
Para implementar cuotas de disco siga los siguientes pasos:
Instalar los paquetes necesarios Active las cuotas del sistema de archivos modificando el fichero /etc/fstab. Vuelva a montar el sistema de archivos. Cree los archivos de cuota y genere la tabla de uso de espacio en disco. Asigne las cuotas.
A continuación se describen cada uno de estos pasos en detalle.
1) InstalarlospaquetesnecesariosAunque la mayoría de distribuciones Linux incorporan en su núcleo (kernel) la capacidad para
manejar cuotas, puede que alguna de ellas no lo haga.
Si nos encontráramos en ese caso, sería preciso volver a compilar el núcleo del sistema (cosa
que, de momento, no forma parte de nuestros objetivos). En cualquier caso, si estás utilizando
una distribución diferente de Ubuntu, puedes comprobar que soporta cuotas ejecutando el
siguiente comando:
dmesg | grep quotas
El comando dmesg (diagnostic message) muestra los mensajes generados por el proceso de
arranque. Lo que hacemos con este comando es enviar la salida a grep para localizar la línea
que hace referencia a las cuotas durante el arranque. Lógicamente, si en al ejecutar el
comando no aparece ningún texto, significa que el núcleo no está preparado para manejar
cuotas.
Una vez realizada esta comprobación, procederemos a instalar los paquetes necesarios para
manejar las cuotas:
Tema 9: Puesta en marcha del sistema Página36
sudo apt‐get install quota quotatool
Si utilizas Ubuntu, el soporte para cuotas está incluido en el núcleo.
2) Activarcuotas
Para activar las cuotas de usuario en un sistema de archivos debe modificar el archivo /etc/fstab añadiendo las opciones usrquota y/o grpquota al sistema de archivos donde quiere utilizar las cuotas. Por ejemplo, en el siguiente código se activan las cuotas en el directorio /home.
LABEL=/ / ext3 defaults 1 1 none /dev/pts devpts gid=5, mode=620 0 0 none /dev/shm tmpfs defaults 0 0 LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2 none /proc proc defaults 0 0 /dev/hda2 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
3) Volveramontarelsistemadearchivos
Después de agregar las opciones userquota y grquota, vuelva a montar cada uno de los sistemas de archivos cuyas entradas en /etc/fstab hayan sido modificadas. Si el sistema de archivos no está siendo usado por ningún proceso, use el comando umount para desmontar y mount para montar el sistema de archivos. Si el sistema de archivos está siendo utilizado, puede reiniciar el equipo o ejecutar la orden:
#mount –o remount filesystem
donde filesystem es el sistema de ficheros al que queremos aplicar las cuotas.
4) Creacióndearchivosdecuotas
Después de volver a montar el sistema de archivos hay que prepararlo para soportar cuotas. El comando quotacheck examina el sistema de archivos y construye una tabla del uso del disco por sistema de archivo. La tabla es luego usada para actualizar la copia del uso del disco del sistema operativo.
Para crear los archivos de cuotas (aguota.user y aguota.group) en el sistema de archivos, use la opción –c del comando quotacheck. Por ejemplo, si quiere activar las cuotas de usuario y grupo en el directorio /home ejecute la orden:
#quotacheck –cug /home
En la tabla 1, se muestran las opciones de la orden quotackeck.
Tema 9: Puesta en marcha del sistema Página37
Tabla 1. Opciones de la orden quotacheck
Opción Acción Realizada
a Verifica todos los sistemas de archivos montados localmente con cuotas
activadas
v Muestra información de verificación de cuotas
u Verifica la información de cuotas de usuario
g Verifica la información de cuotas de grupo
m Se utiliza si el sistema de ficheros está montado y en uso
Si no se especifica ninguna de las opciones –u ni –g, sólo se creará el archivo de cuota de usuario.
B. Asignacióndecuotasporusuario
Si la cuota esta activada en /etc/fstab para la partición /home y ejecuta el comando edquota usuario_prueba, se mostrará lo siguiente en el editor de cuotas predeterminado por su sistema.
Disk quotas for user usuario_prueba (uid 502) Filesystem blocks soft hard inodes soft hard /dev/hda5 24 0 0 0 0 0
Filesystem es el nombre del sistema de archivos que tiene la cuota activada. Blocks muestra el número de bloques que está usando actualmente el usuario. Inodes muestra cuántos inodos está usando actualmente el usuario. Hard es el límite máximo absoluto que un usuario o grupo puede utilizar. Una vez que alcance el límite, no se puede utilizar más espacio. Soft es el límite máximo temporal que un usuario o grupo puede utilizar. A diferencia de Hard, el límite definido por soft puede ser excedido durante un cierto tiempo. Este tiempo es conocido como periodo de gracia y puede ser expresado en diferentes unidades de tiempo (segundos, minutos, horas, días, etc).
Si cualquiera de los valores hard o soft están especificados a 0, ese límite no está configurado.
C. Asignacióndecuotasporgrupo
Para asignar las cuotas por grupos de usuario ejecute el comando edquota <nombre del grupo> y obtendrá una salida del siguiente formato:
Disk quotas for user grupo_prueba (gid 503)
Tema 9: Puesta en marcha del sistema Página38
Filesystem blocks soft hard inodes soft hard /dev/hda5 24 0 0 0 0 0
Modifique los límites y guarde el archivo.
Advertencia
Si quiere utilizar las cuotas de usuario es muy recomendable montar una unidad para el directorio /home.
El sistema de ficheros de la unidad tiene que ser EXT3.
E. Asignacióndecuotasporsistemadeficheros
Para asignar las cuotas del sistema de archivos utilice el comando edquota –t. Al igual que con los comandos anteriores, edquota abre el editor de texto con las cuotas actuales.
Grace period befor enforcing soft limits for users: Time units may be: days, hours, minutes, or seocnds Filesystem Block grace period Inode grace period /dev/hda3 7 days 7 days
F. Verificacióndelascuotasdeunusuario
Para verificar que la cuota ha sido configurada use el comando quota.
Si quiere verificar la cuota de cuota de un usuario ejecute quota <nombre de usuario>. Por ejemplo:
Disk quotas for user usuario_prueba (uid 502) Filesystem blocas quota limit grace files quota limit grace /dev/hda5 24 100 300 0 6 0 0 0
Para verificar la cuota de un grupo utilice quota –g <nombre del grupo>
G. InformesdeCuotadeDisco
El comando repquota genera un informe del uso de cuotas en el sistema de archivos. Por ejemplo, el comando repquota /home genera la siguiente salida:
Report for user quotas on device /dev/hda3 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ----------------------------------------------------------- root -- 36 0 0 4 0 0 usuario-- 28 100 500 7 0 0
Tema 9: Puesta en marcha del sistema Página39
La marca - - mostrada después del nombre del usuario es una forma rápida de establecer si los límites han sido excedidos. Si el límite suave ha sido excedido aparecerá un símbolo + en lugar de -. El primer – representa el límite de bloque, y el segundo el límite de inodo.
Para ver el informe sobre el uso de disco en todos los sistemas de archivos con cuotas, use repquota –a.
H. ActivaciónyDesactivacióndeCuotas
Para desactivar las cuotas en el sistema de archivos utilice el siguiente comando:
quotaoff –aug
Utilice –u para desactivar las cuotas de usuario, y –g para desactivar las cuotas de grupo. Si no indica ninguna opción, por defecto, se desactivarán las cuotas de usuario.
Para activar nuevamente las cuotas, use el comando quotaon con las mismas opciones. Por ejemplo:
quotaon –aug
9.5.‐Permisos
Es muy importante establecer correctamente los permisos en el sistema de ficheros porque así evitamos usos indebidos o pérdidas de datos en el sistema. Si ejecutamos en un directorio el comando ls –la podremos ver los permisos del sistema de ficheros. Tal y como muestra la figura 2, para cada fichero o directorio se muestran los siguientes datos:
• Permisos. Indica los permisos que tiene el fichero o directorio.
• Usuario propietario
• Grupo propietario.
• Tamaño del fichero o directorio.
• Fecha de creación o de la última modificación
• Nombre.
Tema 9: Puesta en marcha del sistema Página40
Figura 2.Permisos
Por ejemplo, los permisos para el directorio documentos son drwxrwx---. El carácter d indica que es un directorio. Luego tenemos tres grupos de caracteres (rwx) (rwx) (---) que permiten indicar los permisos del usuario propietario, del grupo propietario y de los demás usuarios. El formato para establecer los permisos es (rwx) donde r indica lectura, w escritura y x indica ejecución. Si existen los permisos entonces encontraremos su correspondiente letra y en el caso de que no exista ese permiso entonces tendremos el carácter (-). Por ejemplo, el directorio documentos tiene todos los permisos (rwx) para el usuario propietario, que es maria, el grupo propietario jefes también tiene todos los permisos (rwx), y el resto de los usuarios no tiene ningún permiso (---). El directorio programas tiene todos los permisos para el usuario propietario maria (rwx) y tanto para el grupo propietario usuarios como el resto de los usuarios tiene permisos de lectura y ejecución (r-x).
Nota
En un fichero el permiso de ejecución permite ejecutar un programa y en el caso de los directorios el permiso permite indicar que es posible entrar en ese directorio.
9.5.1.‐Establecerlospermisos
Para definir los permisos de un fichero o directorio se emplea el comando chmod. Su sintaxis es:
chmod <modo> fichero
donde <modo> indica los permisos que le queremos dar al fichero. Por ejemplo, si queremos darle los permisos de rw- para el propietario y r-- para el resto, el comando que se debe utilizar es:
$chmod 644 fichero
Con chmod podemos establecer los permisos con tres valores numéricos (p.e. 664): el primer valor corresponde al usuario propietario, el segundo al grupo propietario y el
Tema 9: Puesta en marcha del sistema Página41
tercer valor corresponde a todos los demás usuarios del sistema. Cada permiso tiene una equivalencia numérica donde r vale 4, w vale 2 y x vale 1. De esta forma si tenemos el valor 7 corresponde a (rwx), el valor 6 corresponde a (rw-), etc.
9.5.2.‐Establecerelusuarioygrupopropietario
El propietario de un fichero es aquel usuario que creó dicho fichero. Unix permite cambiar al propietario de cualquier fichero o directorio. Opcionalmente se puede cambiar también al grupo al que pertenece dicho fichero o directorio. Para ello se utiliza la orden chown. Veamos su sintaxis:
chown <NombreUsuario> [.<NombreGrupo>] <fichero>...
<NombreUsuario> identifica el nuevo propietario de fichero o directorio. <NombreGrupo> el nuevo grupo y <fichero> identifica el fichero o directorio sobre el que se va a actuar. Por otro lado, para cambiar el grupo al que pertenece un directorio se utiliza chgrp. Su sintaxis es: chgrp <NombreGrupo> <fichero>... <NombreGrupo> identifica el nuevo nombre de grupo que se le va a asignar al fichero o directorio <fichero>. Se puede actuar sobre varios ficheros a la vez.
Nota
En los comandos chmod, chown y chgrp la opción –R significa que estamos estableciendo los permisos al directorio y a todos los datos que contiene. Por ejemplo
chmod 777 /datos –R
establece todos los permisos a la carpeta datos y a todo su contenido.