Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción a la administración
de sistemas
Red Hat Enterprise Linux 4: Introducción a la administración de sistemas
Copyright © 2005 por Red Hat, Inc.
1801 Varsity Drive Raleigh NC 27606-2072 USA Teléfono: +1 919 754 3700 Teléfono: 888 733 4281 Fax: +1 919 754 3701 PO Box 13588 Re-
search Triangle Park NC 27709 USA
rhel-isa(ES)-4-Print-RHI (2004-08-25T17:11)
Copyright © 2005 por Red Hat, Inc. Este material solamente se distribuye bajo los términos y condiciones establecidas en la
Open Publication License, V1.0 o versiones posteriores (la última versión está disponible en
http://www.opencontent.org/openpub/).
Los derechos de autor del propietario prohiben la distribución de versiones de este documento sustancialmente modificadas
sin un permiso explícito.
La distribución del producto o una copia del mismo en forma de libro con fines comerciales está prohibida a menos que se
obtenga permiso previo del propietario de los derechos de autor.
Red Hat y el logo "Shadow Man" de Red Hat, son marcas registradas de Red Hat, Inc. en los Estados Unidos y otros países.
Todas las demás marcas referenciadas aquí son propiedad de sus respectivos dueños.
La marca de GPG de la clave security@redhat.com es:
CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E
Tabla de contenidos
Introducción ......................................................................................................................................... i
1. Información específica a la arquitectura ................................................................................ i
2. Convenciones del documento ............................................................................................... ii
3. Active su suscripción ........................................................................................................... iv
3.1. Proporcione un nombre de conexión a Red Hat .................................................... v
3.2. Proporcione su número de suscripción .................................................................. v
3.3. Conecte su sistema................................................................................................. v
4. ...y hay más ........................................................................................................................... v
4.1. Envíenos sus comentarios ..................................................................................... vi
1. Filosofía de la Administración de Sistemas .................................................................................. 1
1.1. Automatizar todo ............................................................................................................... 1
1.2. Documentar todo................................................................................................................ 2
1.3. Comunique tanto como sea posible ................................................................................... 3
1.3.1. Informe a sus usuarios sobre lo que va a hacer................................................... 3
1.3.2. Informe a sus usuarios sobre lo que está haciendo ............................................. 4
1.3.3. Informe a sus usuarios sobre lo que ha hecho..................................................... 5
1.4. Conozca sus recursos ......................................................................................................... 6
1.5. Conozca a sus usuarios ...................................................................................................... 6
1.6. Conozca su negocio ........................................................................................................... 6
1.7. La seguridad no puede ser una ocurrencia posterior.......................................................... 7
1.7.1. Los riesgos de Ingeniería Social ......................................................................... 7
1.8. Planifique ........................................................................................................................... 8
1.9. Espere lo inesperado .......................................................................................................... 8
1.10. Información específica a Red Hat Enterprise Linux ........................................................ 9
1.10.1. Automatización ................................................................................................. 9
1.10.2. Documentación y comunicación..................................................................... 10
1.10.3. Seguridad ........................................................................................................ 10
1.11. Recursos adicionales...................................................................................................... 11
1.11.1. Documentación instalada ................................................................................ 11
1.11.2. Sitios web de utilidad...................................................................................... 12
1.11.3. Libros relacionados......................................................................................... 12
2. Supervisión de recursos ................................................................................................................ 15
2.1. Conceptos básicos............................................................................................................ 15
2.2. Monitorizar el rendimiento del sistema ........................................................................... 15
2.3. Monitorizar la capacidad del sistema............................................................................... 16
2.4. ¿Qué monitorizar?............................................................................................................ 16
2.4.1. Monitorizar el poder de CPU............................................................................ 17
2.4.2. Monitorizar el ancho de banda.......................................................................... 18
2.4.3. Monitorizar la memoria .................................................................................... 19
2.4.4. Monitorizar el almacenamiento ........................................................................ 19
2.5. Información específica a Red Hat Enterprise Linux ........................................................ 20
2.5.1. free .................................................................................................................. 20
2.5.2. top .................................................................................................................... 21
2.5.3. vmstat.............................................................................................................. 23
2.5.4. Las herramientas para monitorizar recursos de la suite Sysstat........................ 24
2.5.5. OProfile ............................................................................................................. 27
2.6. Recursos adicionales........................................................................................................ 31
2.6.1. Documentación instalada .................................................................................. 31
2.6.2. Sitios Web útiles ............................................................................................... 32
2.6.3. Libros relacionados........................................................................................... 32
3. Ancho de banda y poder de procesamiento ................................................................................ 33
3.1. Ancho de banda................................................................................................................ 33
3.1.1. Buses ................................................................................................................. 33
3.1.2. Datapaths........................................................................................................... 34
3.1.3. Problemas potenciales relacionados al ancho de banda.................................... 34
3.1.4. Soluciones potenciales relacionadas al ancho de banda ................................... 35
3.1.5. En resumen. . . ................................................................................................... 35
3.2. Poder de procesamiento ................................................................................................... 36
3.2.1. Hechos sobre el poder de procesamiento.......................................................... 36
3.2.2. Consumidores de poder de procesamiento ....................................................... 36
3.2.3. Mejorando la escasez de CPU........................................................................... 37
3.3. Información específica a Red Hat Enterprise Linux ........................................................ 40
3.3.1. Monitorizar el ancho de banda en Red Hat Enterprise Linux........................... 40
3.3.2. Monitorizar la utilización del CPU en Red Hat Enterprise Linux .................... 42
3.4. Recursos adicionales........................................................................................................ 46
3.4.1. Documentación instalada .................................................................................. 46
3.4.2. Sitios Web útiles ............................................................................................... 46
3.4.3. Libros relacionados........................................................................................... 46
4. Memoria física y virtual ............................................................................................................... 49
4.1. Patrones de acceso a almacenamiento ............................................................................. 49
4.2. El espectro de almacenamiento........................................................................................ 49
4.2.1. Registros de CPU .............................................................................................. 50
4.2.2. Memoria caché.................................................................................................. 50
4.2.3. Memoria principal — RAM.............................................................................. 51
4.2.4. Discos duros...................................................................................................... 52
4.2.5. Almacenamiento para respaldos fuera de línea ................................................ 53
4.3. Conceptos básicos sobre Memoria Virtual ...................................................................... 53
4.3.1. La memoria virtual en términos sencillos......................................................... 54
4.3.2. Almacenamiento de respaldo — el Tenet central de la memoria virtual .......... 55
4.4. La memoria virtual: los detalles....................................................................................... 55
4.4.1. Fallos de página ................................................................................................ 56
4.4.2. El conjunto de direcciones de trabajo ............................................................... 56
4.4.3. Intercambio ....................................................................................................... 57
4.5. Implicaciones de rendimiento de la memoria virtual....................................................... 57
4.5.1. Escenario de rendimiento del peor caso............................................................ 57
4.5.2. Escenario de rendimiento del mejor caso ......................................................... 58
4.6. Información específica de Red Hat Enterprise Linux ...................................................... 58
4.7. Recursos adicionales........................................................................................................ 61
4.7.1. Documentación instalada .................................................................................. 61
4.7.2. Sitios web de utilidad........................................................................................ 61
4.7.3. Libros relacionados........................................................................................... 61
5. Administración del Almacenamiento.......................................................................................... 63
5.1. Una vista general del hardware de almacenamiento........................................................ 63
5.1.1. Platos de discos ................................................................................................. 63
5.1.2. Dispositivo de lectura/escritura de datos .......................................................... 63
5.1.3. Brazos de acceso ............................................................................................... 64
5.2. Conceptos de direcciones de almacenamiento................................................................. 65
5.2.1. Direcciones basadas en la geometría ................................................................ 65
5.2.2. Direcciones basadas en bloques........................................................................ 67
5.3. Interfaces de dispositivos de almacenamiento masivo..................................................... 67
5.3.1. Antecedentes históricos .................................................................................... 67
5.3.2. Interfaces de hoy día con estándares de la industria ......................................... 68
5.4. Características de rendimiento del disco duro ................................................................. 71
5.4.1. Limitaciones mecánicas/eléctricas.................................................................... 71
5.4.2. Cargas y rendimiento de E/S............................................................................. 73
5.5. Preparar el almacenamiento para ser utilizado ................................................................ 74
5.5.1. Particiones/cuotas ............................................................................................. 74
5.5.2. Sistemas de archivos ......................................................................................... 76
5.5.3. Estructura del directorio.................................................................................... 78
5.5.4. Activando el acceso al almacenamiento ........................................................... 79
5.6. Tecnologías avanzadas de almacenamiento ..................................................................... 79
5.6.1. Almacenamiento accesible a través de la red ................................................... 79
5.6.2. Almacenamiento basado en RAID.................................................................... 80
5.6.3. Administración de Volúmenes Lógicos ............................................................ 85
5.7. La administración del almacenamiento día a día............................................................. 87
5.7.1. Monitorizar el espacio libre .............................................................................. 87
5.7.2. Problemas de cuotas de usuarios....................................................................... 90
5.7.3. Problemas relacionados a archivos ................................................................... 90
5.7.4. Añadir/Eliminar almacenamiento ..................................................................... 92
5.8. Un comentario sobre Respaldos....................................................................................... 98
5.9. Documentación específica a Red Hat Enterprise Linux .................................................. 98
5.9.1. Convenciones de nombres de dispositivos........................................................ 98
5.9.2. Conceptos básicos de sistemas de archivos .................................................... 100
5.9.3. Montaje de Sistemas de Archivos ................................................................... 102
5.9.4. Almacenamiento accesible desde la red bajo Red Hat Enterprise Linux ....... 105
5.9.5. Montar sistemas de archivos automáticamente con /etc/fstab ................. 106
5.9.6. Añadir/Eliminar almacenamiento ................................................................... 107
5.9.7. Implementación de Cuotas de Disco............................................................... 111
5.9.8. Creación de Formaciones RAID ..................................................................... 115
5.9.9. Administración día a día de las formaciones RAID ....................................... 116
5.9.10. Administración de Volúmenes Lógicos ........................................................ 118
5.10. Recursos adicionales.................................................................................................... 118
5.10.1. Documentación instalada .............................................................................. 118
5.10.2. Sitios Web de utilidad ................................................................................... 119
5.10.3. Libros relacionados....................................................................................... 119
6. Administración de cuentas de usuarios y acceso a recursos ................................................... 121
6.1. Administración de cuentas de usuarios.......................................................................... 121
6.1.1. El nombre de usuario ...................................................................................... 121
6.1.2. Contraseñas ..................................................................................................... 124
6.1.3. Información de control de acceso ................................................................... 128
6.1.4. Administración día a día de cuentas y acceso a recursos................................ 129
6.2. Administración de recursos de usuarios ........................................................................ 131
6.2.1. ¿Quién puede acceder a los datos compartidos?............................................. 131
6.2.2. ¿Donde los usuarios acceden a los datos compartidos?.................................. 132
6.2.3. ¿Qué barreras se colocan para prevenir el abuso de los recursos?.................. 133
6.3. Información específica a Red Hat Enterprise Linux ...................................................... 133
6.3.1. Cuentas de usuarios, Grupos y Permisos ........................................................ 133
6.3.2. Archivos que controlan Cuentas de Usuarios y Grupos ................................. 135
6.3.3. Aplicaciones para Cuentas de Usuarios y Grupos .......................................... 139
6.4. Recursos adicionales...................................................................................................... 141
6.4.1. Documentación instalada ................................................................................ 141
6.4.2. Sitios Web de utilidad ..................................................................................... 141
6.4.3. Libros relacionados......................................................................................... 142
7. Impresoras e impresión .............................................................................................................. 143
7.1. Tipos de impresoras ....................................................................................................... 143
7.1.1. Consideraciones de impresión ........................................................................ 143
7.2. Impresoras de impacto ................................................................................................... 144
7.2.1. Impresoras de matriz de puntos ...................................................................... 145
7.2.2. Impresoras margarita ...................................................................................... 145
7.2.3. Impresoras en línea ......................................................................................... 145
7.2.4. Consumibles para las impresoras de impacto ................................................. 145
7.3. Impresoras de inyección de tinta.................................................................................... 146
7.3.1. Consumibles de inyección de tinta ................................................................. 146
7.4. Impresoras láser ............................................................................................................. 147
7.4.1. Impresoras a color láser .................................................................................. 147
7.4.2. Consumibles para impresoras láser................................................................. 147
7.5. Otros tipos de impresoras............................................................................................... 148
7.6. Lenguajes y tecnologías de impresión ........................................................................... 148
7.7. Impresión de red Versus Impresión local....................................................................... 149
7.8. Información específica de Red Hat Enterprise Linux .................................................... 149
7.9. Recursos adicionales...................................................................................................... 151
7.9.1. Documentación instalada ................................................................................ 151
7.9.2. Sitios web de utilidad...................................................................................... 151
7.9.3. Libros relacionados......................................................................................... 151
8. Planificación para Desastres ...................................................................................................... 153
8.1. Tipos de desastre............................................................................................................ 153
8.1.1. Fallas del hardware ......................................................................................... 153
8.1.2. Fallas del software .......................................................................................... 159
8.1.3. Fallas ambientales ........................................................................................... 161
8.1.4. Errores humanos ............................................................................................. 167
8.2. Respaldos ....................................................................................................................... 172
8.2.1. Datos diferentes: Necesidades de respaldos diferentes................................... 172
8.2.2. Software de respaldos: Comprar contra Construir.......................................... 173
8.2.3. Tipos de respaldo ............................................................................................ 174
8.2.4. Media de respaldo ........................................................................................... 176
8.2.5. Almacenamiento de las copias de seguridad o respaldos ............................... 177
8.2.6. Problemas de restauración .............................................................................. 178
8.3. Recuperación de desastres ............................................................................................. 179
8.3.1. Creación, Evaluación e Implementación de un Plan de Recuperación de
Desastres ....................................................................................................... 179
8.3.2. Sitios de respaldo: frío, templado y caliente................................................... 180
8.3.3. Disponibilidad del Hardware y Software........................................................ 181
8.3.4. Disponibilidad de los respaldos ...................................................................... 182
8.3.5. Conectividad de red al sitio de respaldo ......................................................... 182
8.3.6. Personal del sitio de respaldo.......................................................................... 182
8.3.7. Regreso a la normalidad.................................................................................. 183
8.4. Información específica a Red Hat Enterprise Linux ...................................................... 183
8.4.1. Soporte de Software........................................................................................ 183
8.4.2. Tecnologías de respaldo .................................................................................. 183
8.5. Recursos adicionales...................................................................................................... 187
8.5.1. Documentación instalada ................................................................................ 187
8.5.2. Sitios Web de utilidad ..................................................................................... 187
8.5.3. Libros relacionados......................................................................................... 187
Índice................................................................................................................................................ 189
Colofón ............................................................................................................................................. 197
Introducción
Bienvenidos a Introducción a la administración de sistemas de Red Hat Enterprise Linux.
El libro Introducción a la administración de sistemas de Red Hat Enterprise Linux contiene informa-
ción introductoria para los nuevos administradores de sistemas de Red Hat Enterprise Linux. No le
enseña como llevar a cabo tareas específicas bajo Red Hat Enterprise Linux; más bien le hace llegar
el conocimiento general que los administradores de sistemas con más experiencia han aprendido con
el paso del tiempo.
Esta guía asume que usted tiene una experiencia limitada como usuario de Linux y ninguna experi-
encia como administrador de sistemas. Si usted es completamente nuevo a Linux en general (y en
particular a Red Hat Enterprise Linux), debería comenzar comprando un libro introductorio de Linux.
Cada capítulo en Introducción a la administración de sistemas de Red Hat Enterprise Linux tiene la
estructura siguiente:
• Material de descripción general — Esta sección discute el tema del capítulo sin profundizar mucho
en detalles sobre un sistema operativo específico, tecnología o metodología.
• Material específico a Red Hat Enterprise Linux — Esta sección describe aspectos del tópico rela-
cionado a Linux en general y en particular a Red Hat Enterprise Linux.
• Recursos adicionales para complementar los estudios — Esta sección incluye apuntadores a otros
manuales de Red Hat Enterprise Linux, sitios web de utilidad y libros que contienen información
aplicable al tópico.
Al adoptar una estructura consistente, los lectores pueden leer más fácilmente Introducción a la ad-
ministración de sistemas de Red Hat Enterprise Linux de la forma que deseen. Por ejemplo, un ad-
ministrador de sistemas con experiencia pero con poca experiencia con Red Hat Enterprise Linux,
puede hojear solamente las secciones que se enfocan específicamente en Red Hat Enterprise Linux,
mientras que un nuevo administrador de sistemas podría comenzar leyendo las secciones de descrip-
ción general y utilizar las secciones específicas de Red Hat Enterprise Linux, como una introducción
a recursos más avanzados.
En el lado de los recursos adicionales, el Manual de administración del sistema de Red Hat Enterprise
Linux es un recurso excelente para llevar a cabo tareas específicas en el ambiente Red Hat Enterprise
Linux. Los administradores que requieren información más avanzada y específica, deberían consultar
el Manual de referencia de Red Hat Enterprise Linux.
Las versiones en HTML, PDF y RPM de los manuales están disponibles en el CD de documentación
de Red Hat Enterprise Linux y en línea en http://www.redhat.com/docs/.
Nota
Aunque este manual refleja la información más actualizada, lea las Notas de última hora de Red
Hat Enterprise Linux para ver aquella información que quizás no estaba disponible para el momento
antes de que la documentación se finalizara. Estas se pueden encontrar en el CD#1 de Red Hat
Enterprise Linux y también el línea en http://www.redhat.com/docs/.
comando
Los comandos en Linux (y otros comandos de sistemas operativos, cuando estos se utilicen) se
representan de esta manera. Este estilo le indica que puede escribir la palabra o frase en la línea
de comandos y pulsar [Intro] para invocar el comando. A veces un comando contiene palabras
que aparecerían con un estilo diferente si fueran solas (p.e, nombres de archivos). En estos casos,
se las considera como parte del comando, de manera que toda la frase aparece como un comando.
Por ejemplo:
Utilice el comando cat testfile para ver el contenido de un archivo, llamado testfile, en
el directorio actual.
aplicación
Este estilo indica que el programa es una aplicación de usuario final (lo contrario a software del
sistema). Por ejemplo:
Use Mozilla para navegar por la Web.
[tecla]
Una tecla del teclado aparece en el siguiente estilo. Por ejemplo:
Para utilizar la completación con [Tab], introduzca un carácter y pulse la tecla [Tab]. Aparecerá
una lista de archivos en el directorio que empiezan con esa letra. Su terminal visualizará la lista
de archivos en el directorio que empiezan con esa letra.
[tecla]-[combinación]
Una combinación de teclas aparece de la siguiente manera. Por ejemplo:
La combinación de teclas [Ctrl]-[Alt]-[Retroceso] le hará salir de la sesión gráfica y volver a la
pantalla gráfica de inicio de sesión o a la consola.
Seleccione la casilla de verificación Pedir contraseña si quiere que su salvapantallas pida una
contraseña antes de terminar.
salida de pantalla
El texto en este estilo indica el texto desplegado en un intérprete de comandos de la shell, tales
como mensajes de error y respuestas a comandos. Por ejemplo:
Utilice el comando ls para visualizar los contenidos de un directorio. Por ejemplo:
Desktop about.html logs paulwesterberg.png
Mail backupfiles mail reports
La salida de pantalla que le devuelvan como respuesta al comando (en este caso, el contenido del
directorio) se mostrará en este estilo.
intérprete de comandos
El intérprete de comandos es el modo en el que el ordenador le indica que está preparado para
que usted introduzca algo, aparecerá con el siguiente estilo. Ejemplos:
$
#
[stephen@maturin stephen]$
leopard login:
replaceable
El texto usado para los ejemplos, que se supone debe ser reemplazado con datos
proporcionados por el usuario, usualmente se representa en este estilo. En el siguiente ejemplo,
version-number se visualiza en este estilo:
iv Introducción
El directorio para la fuente del kernel es /usr/src/ version-number /, donde
version-number es la versión del kernel instalado en este sistema.
Adicionalmente, usamos diferentes tipos de estrategias para llamar su atención para determinados
tipos de información. Dependiendo de lo importante que esta información sea para su sistema, estos
elementos serán marcados como nota, sugerencia, importante, atención o aviso. Por ejemplo:
Nota
Recuerde que Linux es sensible a mayúsculas y minúsculas. En otras palabras, rosa no es lo mismo
que ROSA o rOsA.
Sugerencia
El directorio /usr/share/doc/ contiene documentación adicional de los paquetes instalados en su
sistema.
Importante
Si modifica el archivo de configuración de DHCP, los cambios no surtirán efecto sino hasta que
reinicie el demonio DHCP.
Atención
No lleve a cabo tareas rutinarias como root — utilice una cuenta de usuario normal a menos que
necesite usar una cuenta de usuario para administrar su sistema.
Aviso
Tenga cuidado de solamente borrar las particiones Red Hat Enterprise Linux necesarias. Si elimina
otras particiones esto puede resultar en la pérdida de datos o en un ambiente del sistema dañado.
3. Active su suscripción
Antes de que pueda acceder a cualquier información de mantenimiento de software o servicios y a la
información de soporte incluida con su suscripción, debe activar su suscripción registrándose con Red
Hat. El registro incluye los pasos siguientes:
• Conecte su sistema
La primera vez que arranque su instalación de Red Hat Enterprise Linux, se le pedirá que se registre
con Red Hat utilizando el Agente de configuración. Si sigue las indicaciones durante el Agente de
configuración, puede completar los pasos para la inscripción y activar su suscripción.
Si por alguna razón no puede terminar la inscripción durante el Agente de configuración (lo que
requiere de acceso a la Internet), alternativamente puede completar el proceso de registro en línea en
http://www.redhat.com/register/.
https://www.redhat.com/apps/activate/newlogin.html
https://rhn.redhat.com/help/forgot_password.pxt
1. Durante el Agente de configuración — Marque las opciones Enviar información del hard-
ware y Enviar lista de paquetes del sistema cuando se le pregunte.
2. Después de terminar el Agente de configuración — Desde el Menú principal, vaya a Her-
ramientas del sistema, luego seleccione Red Hat Network.
3. Después de completarse el Agente de configuración — Escriba el comando siguiente desde la
línea de comandos como usuario root.
• /usr/bin/up2date --register
vi Introducción
rhel-isa(ES)-4-Print-RHI (2004-08-25T17:11)
Si menciona el identificador del manual, sabremos exáctamente cuál versión del manual posee.
Si tiene alguna sugerencia para mejorar la documentación, trate de ser lo más específico posible. Si
encuentra algún error, por favor incluya el número de la sección y algo del texto que lo rodea para que
lo podamos encontrar fácilmente.
Capítulo 1.
Filosofía de la Administración de Sistemas
Aún cuando los detalles específicos de la administración de sistemas pueden variar entre plataformas,
hay temas subyacentes que no. Estos temas conforman la filosofía de la administración de sistemas.
Los temas son:
• Automatizar todo
• Documentar todo
• Comunicar tanto como sea posible
• Conocer sus recursos
• Conocer sus usuarios
• Conocer el negocio
• La seguridad no puede ser una ocurrencia posterior
• Planifique
• Espere lo inesperado
Las secciones siguientes exploran cada tema en detalle.
Sugerencia
Recuerde que si tiene una tarea que debería ser automatizada, es muy probable que no sea el primer
administrador con esa necesidad. Aquí es donde los beneficios del software de código abierto real-
mente brillan — quizás pueda utilizar el trabajo de otra persona para automatizar el procedimiento
manual que actualmente está consumiendo su tiempo. Por esto, asegúrese siempre de hacer una
búsqueda en internet antes de escribir cualquier cosa más compleja que un pequeño script de Perl.
Políticas
Las políticas son escritas para formalizar y clarificar la relación que usted tiene con su comu-
nidad de usuarios. Estas establecen la forma en que se manejan las solicitudes de recursos o de
asistencia. La naturaleza, estilo y método de diseminación de las políticas a su comunidad varían
de organización a organización.
Capítulo 1. Filosofía de la Administración de Sistemas 3
Procedimientos
Los procedimientos son secuencias de pasos sobre acciones que deben ser tomadas para alcanzar
una tarea determinada. Los procedimientos a documentar incluyen procedimientos de respaldo,
procedimientos de administración de cuentas de usuarios, procedimientos de reportes de proble-
mas, etc. De la misma manera que la automatización, si un procedimiento es seguido más de una
vez, es una buena idea documentarlo.
Cambios
Una gran parte de la carrera de un administrador de sistemas gira alrededor de ejecutar cambios
— configurar sistemas para un máximo rendimiento, ajustar scripts, modificar archivos de config-
uración, etc. Todos estos cambios deberían estar documentados de alguna forma. De lo contrario,
se puede encontrar completamente confundido sobre los cambios que realizó unos meses atrás.
Algunas organizaciones utilizan métodos más complejos para hacer un seguimiento de los cam-
bios, pero en muchos casos una simple revisión histórica al comienzo del archivo que está siendo
modificado, es todo lo que se necesita. Como mínimo, cada entrada en la revisión histórica de-
bería contener:
• El nombre o iniciales de la persona que está ejecutando el cambio
• La fecha en que se realizó el cambio
• La razón del cambio
Esto genera entradas concisas pero útiles:
ECB, 12-Junio-2002 — Entrada actualizada para la nueva impresora de Contabilidad (para apo-
yar la habilidad de impresión duplex de la impresora de reemplazo)
Ya advirtió a sus usuarios; ahora está listo para comenzar a hacer el trabajo.
Con este tipo de información, sus usuarios tendrán suficiente información de fondo para continuar con
su trabajo y para entender cómo los cambios los impactan.
1. Asegúrese de enviar este mensaje tan pronto termine el trabajo, antes de irse a su casa. Una vez que deje la
oficina, es muy fácil olvidarse, dejando a los usuarios en la oscuridad sobre si pueden usar el sistema o no.
6 Capítulo 1. Filosofía de la Administración de Sistemas
• Recursos del sistema, tales como el poder de procesamiento disponible, memoria y espacio en disco
• Ancho de banda
• Dinero disponible en el presupuesto para IT
Pero pueden no ser tan obvios:
• Los servicios del personal de operaciones, otros administradores de sistemas o hasta un asistente
administrativo
• Tiempo (a veces de importancia crítica cuando el tiempo incluye cuestiones tales como la cantidad
de tiempo durante la que se realizan los respaldos del sistema)
• Conocimiento (bien sea almacenado en libros, documentación del sistema o en el cerebro de una
persona que ha trabajado en la compañía durante los últimos 20 años)
Lo importante es tomar en cuenta que es de gran valor llevar un inventario completo de los recursos
disponibles y mantenerlo actualizado — una falta de "consciencia situacional" sobre los recursos
disponibles a veces es peor que ninguna consciencia.
• Aplicaciones que se deben ejecutar en un período de tiempo particular, tal como al final del mes,
trimestre o año
Capítulo 1. Filosofía de la Administración de Sistemas 7
• La naturaleza de las posibles amenazas a cada uno de los sistemas bajo su cuidado
• La ubicación, tipo y valor de los datos en esos sistemas
• El tipo y la frecuencia del acceso autorizado a los sistemas
Cuando piense sobre seguridad, no cometa el error de asumir que los posibles intrusos solamente
atacarán sus sistemas desde afuera de su compañía. Muchas veces el autor es alguien dentro de la
compañía. Así que la próxima vez que camine alrededor de la oficina, mire a la gente que lo rodea y
hágase la siguiente pregunta:
¿Qué pasaría si esa persona intentara subvertir nuestra seguridad?
Nota
Esto no significa que usted deba tratar a sus compañeros de trabajo como criminales. Simplemente
significa que debe observar el tipo de trabajo que cada persona realiza y determinar qué tipos de
violaciones de seguridad puede llevar a cabo una persona en esa posición, si tuviese esas inten-
ciones.
¿Sabe usted qué hará el operador? A menos que su operador tenga las pautas claras (en cuanto a las
políticas y procedimientos), lo más seguro es que no esté seguro de lo que hará.
De la misma forma que los semáforos, el objetivo de las políticas y procedimientos es el de propor-
cionar direcciones inequívocas sobre lo que es y no es el comportamiento apropiado. Sin embargo,
así como los semáforos, las políticas y procedimientos solamente funcionan si todos los siguen. Está
además el quid del problema — es muy poco probable que todos se sometan a las políticas y proced-
imientos. De hecho, dependiendo de la naturaleza de su organización, es posible que ni siquiera tenga
suficiente autoridad para definir las políticas, mucho menos para hacerlas cumplir. Entonces ... ¿qué
hacer?
Lamentablemente, no hay respuestas fáciles para esto. La educación para los usuarios puede ayudar;
haga todo lo que pueda para poner a su comunidad al tanto de la seguridad y de la ingeniería social.
Haga presentaciones durante la hora del almuerzo sobre seguridad. Publique enlaces a artículos rela-
cionados con la seguridad en la lista de correo de su organización. Exprese su disponibilidad como
una junta para contestar preguntas de los usuarios sobre cosas que no parecen del todo correctas.
En resumidas cuentas, entregue el mensaje a sus usuarios de la forma que pueda.
1.8. Planifique
Los administradores de sistemas que hayan seguido todos estos consejos y que hicieron lo posible
por seguirlo serán excelentes administradores — por un día. Eventualmente el entorno cambiará y un
día nuestro fantástico administrador será tomado por sorpresa. ¿La razón? Nuestro fantástico admin-
istrador falló en planificar con tiempo.
Por supuesto, nadie puede predecir el futuro con un 100% de fidelidad. Sin embargo, con un poco de
consciencia es fácil leer las señales de muchos cambios:
hardware2 . Un repuesto de este tipo puede ser instalado rápidamente3 de forma temporal para solu-
cionar a corto plazo la necesidad de espacio de disco, dando tiempo para resolver el problema de forma
permanente (siguiendo el procedimiento estándar para obtener unidades adicionales, por ejemplo).
Si trata de anticipar los problemas antes de que estos ocurran, usted estará en una mejor posición
para responder rápida y efectivamente que si dejara las cosas para ser sorprendido cuando surja el
momento.
1.10.1. Automatización
La automatización de tareas realizadas frecuentemente bajo Red Hat Enterprise Linux requiere el
conocimiento de diferentes tipos de tecnologías. Primero están los comandos que controlan el tiempo
de ejecución de los scripts. Los comandos cron y at son los más utilizados para estas funciones.
cron incorpora un sistema de especificación de tiempos fácil de entender, flexible y a la vez poderoso.
cron puede planear la ejecución de comandos o scripts en intervalos repetitivos que pueden variar en
duración desde minutos hasta meses. El comando crontab es utilizado para manipular los archivos
que controlan el demonio cron que planifica la ejecución de cada trabajo cron.
El comando at (y el comando relacionado batch) son más apropiados para planificar la ejecución
de comandos o scripts que sólo se ejecutan una vez. Estos comandos implementan un subsistema
rudimentario por lotes que consiste de múltiples colas con varias prioridades de planificación. Las
prioridades son conocidas como niveles de niceness (debido al nombre del comando — nice). Tanto
at como batch son perfectos para las tareas que deben comenzar en un momento determinado pero
que no son críticas en términos de cuando finalizar.
Luego están los diferentes lenguajes de scripting. Estos son los "lenguajes de programación" que el
administrador de sistemas promedio utiliza para automatizar las operaciones manuales. Hay muchos
lenguajes de scripting (y cada administrador tiende a tener un favorito), pero los siguientes son los
que se utilizan más a menudo:
2. Y por supuesto, un administrador de sistemas que espera lo inesperado naturalmente utilizará RAID (u otras
tecnologías relacionadas) para disminuir el impacto de la falla de un disco crítico durante producción.
3. Una vez más, los administradores de sistemas que piensan a futuro configuran sus sistemas de manera que
sea fácil y rápido añadir un nuevo disco al sistema.
10 Capítulo 1. Filosofía de la Administración de Sistemas
Por otro lado, aprender perl (y python), tiende a ser un proceso más "autocontenido". Sin embargo,
muchas construcciones de perl están basadas en la sintáxis de varios programas de utilerías UNIX
y como tales los administradores de sistemas Red Hat Enterprise Linux con experiencia en progra-
mación del shell están familiarizados con ellos.
1.10.3. Seguridad
Como se indicó anteriormente en este capítulo, la seguridad nunca puede ser una ocurrencia posterior y
la seguridad bajo Red Hat Enterprise Linux es un poco más profunda. La autenticación y los controles
de acceso están profundamente integrados dentro del sistema operativo y están basados en diseños
recogidos a partir de la larga experiencia en la comunidad UNIX.
Para la autenticación, Red Hat Enterprise Linux utiliza PAM — Pluggable Authentication Modules.
PAM hace posible afinar la autenticación de usuarios a través de la configuración de bibliotecas com-
partidas que todas las aplicaciones compatibles con PAM utilizan, todo, sin requerir ningún cambio a
las aplicaciones mismas.
Los controles de acceso bajo Red Hat Enterprise Linux utilizan los permisos tradicionales tipo UNIX
(lectura, escritura, ejecución) para las clasificaciones usuario, grupo y "otros". Como UNIX, Red Hat
Enterprise Linux también utilizan los bits setuid y setgid para conferir temporalmente los derechos de
acceso a procesos ejecutando un programa particular, basado en la propiedad del archivo del programa.
Por supuesto, esto hace crítico que cualquier programa que se ejecute con privilegios setuid o setgid
debe ser auditado cuidadosamente para asegurarse de que no existan vulnerabilidades explotables.
Capítulo 1. Filosofía de la Administración de Sistemas 11
Red Hat Enterprise Linux también incluye el soporte para las listas de control de acceso. Una lista
de control de acceso (ACL) es una construción que permite un control refinado sobre qué usuarios
o grupos pueden tener acceso a un archivo o directorio. Por ejemplo, los permisos de un archivo
pueden restringir todo el acceso de cualquiera que no sea el dueño del archivo, sin embargo, la ACL
del archivo se puede configurar para permitir que solamente el usuario bob a que escriba y al grupo
finance a que lea el archivo.
Otro aspecto de la seguridad es poder hacer un seguimiento de la actividad del sistema. Red Hat
Enterprise Linux hace un uso extensivo de los registros, tanto al nivel del kernel como de la aplicación.
El registro es controlado por el demonio syslogd, el cual registra información del sistema localmente
(normalmente a archivos en el directorio /var/log/) o a sistemas remotos (que actúa como un
servidor de registro dedicado para múltiples computadores).
Los sistemas de detección de intrusos (IDS) son herramientas poderosas para cualquier administrador
de sistemas Red Hat Enterprise Linux. Un IDS hace posible que un administrador pueda determinar
si los cambios autorizados fueron realizados a uno o más sistemas. El diseño general del sistema
operativo mismo incluye funcionalidades de IDS.
Debido a que Red Hat Enterprise Linux es instalado usando RPM Package Manager (RPM), es posible
utilizar RPM para verificar si se han hecho cambios a los paquetes comprendidos dentro del sistema
operativo. Sin embargo, debido a que RPM es fundamentalmente una herramienta de administración
de paquetes, sus habilidades como IDS son limitadas. Aún así, puede ser un buen primer paso hacia
la supervisión de un sistema Red Hat Enterprise Linux para las modificaciones no autorizadas.
• Las páginas man crontab(1) y crontab(5) — Aprenda a planificar comandos y scripts para su
ejecución automática a intervalos regulares.
• La página man de at(1) — Aprenda a planificar la ejecución posterior de comandos y scripts con
esta utilidad.
• La página man de bash(1) — Aprenda más sobre el shell predeterminado y la programación shell.
• La página man de perl(1) — Revise apuntadores a las numerosas páginas man que conforman la
documentación en línea de perl.
• La página man de python(1) — Aprenda más sobre las opciones, archivos y variables de entorno
que controlan el interpretador de Python.
• La página man de gedit(1) y la entrada de menú Help — Aprenda cómo modificar archivos de
texto con este editor gráfico de texto.
• La página man de bash(1) — Aprenda más sobre este flexible editor de texto, incluyendo como
ejecutar el tutorial en línea.
• La página man de vim(1) — Aprenda cómo utilizar este poderoso editor de texto.
• Las entrada de menú Mozilla Help Contents — Aprenda cómo editar archivos HTML, leer correo
y navegar la web.
12 Capítulo 1. Filosofía de la Administración de Sistemas
• La página man de evolution(1) y la entrada de menú Help — Aprenda cómo manejar su correo
con este cliente de correo gráfico.
•
La página man de mutt(1) y los archivos en /usr/share/doc/mutt- version — Aprenda
cómo administrar su correo con este cliente de correo electrónico basado en texto.
•
La página man de pam(8) y archivos en /usr/share/doc/pam- version — Aprenda sobre
el funcionamiento de la autenticación bajo Red Hat Enterprise Linux.
• El Manual de referencia de Red Hat Enterprise Linux; de Red Hat, Inc. — Proporciona una de-
scripción general de las ubicaciones de archivos de sistema clave, configuraciones de usuarios y
grupos y la configuración de PAM.
• El Manual de seguridad de Red Hat Enterprise Linux; de Red Hat, Inc. — Contiene una discusión
completa de muchos problemas relacionados a la seguridad para los administradores de sistemas
Red Hat Enterprise Linux.
• El Manual de administración del sistema de Red Hat Enterprise Linux; de Red Hat, Inc. — Incluye
capítulos para la administración de usuarios y grupos, automatización de tareas y administración de
archivos de registro.
• El Linux Administration Handbook por Evi Nemeth, Garth Snyder y Trent R. Hein; Prentice Hall
— Proporciona una buena sección sobre las pautas y políticas del lado de la administración de
sistemas, incluyendo muchas discusiones "que pasaría si.." concernientes a éticas.
• El libro Linux System Administration: A User’s Guide por Marcel Gagne; Addison Wesley Profes-
sional — Contiene un buen capítulo sobre la automatización de varias tareas.
• Solaris System Management por John Philcox; New Riders Publishing — Aún cuando no está
escrito especialmente para Red Hat Enterprise Linux (ni siquiera para Linux en general) y utiliza
el término "gestor de sistemas" en vez de "administrador de sistemas," este libro proporciona una
Capítulo 1. Filosofía de la Administración de Sistemas 13
descripción general de 70 páginas sobre los muchos papeles que los administradores de sistemas
juegan en una organización típica.
14 Capítulo 1. Filosofía de la Administración de Sistemas
Capítulo 2.
Supervisión de recursos
Como se indicó anteriormente, una gran parte de la administración de sistemas gira alrededor de los
recursos y su uso eficiente. Al balancear los diferentes recursos con las personas y programas que
utilizan tales recursos, usted gasta menos dinero y mantiene a sus usuarios tan contentos como se es
posible. Sin embargo, esto deja dos preguntas:
¿Qué son los recursos?
y:
¿Cómo saber cuales recursos están siendo utilizados (y hasta que punto)?
El propósito de este capítulo es proporcionarle respuestas a estas preguntas ayudándole a conocer más
sobre los recursos y la manera de supervisarlos.
• Poder de CPU
• Ancho de banda
• Memoria
• Almacenamiento
Estos recursos se cubren en profundidad en los capítulos siguientes. Sin embargo, por los momentos
todo lo que necesita tener en mente, es que estos recursos tienen un impacto directo en el rendimiento
del sistema y, por lo tanto, en la productividad y satisfacción de sus usuarios.
En su aspecto más simple, monitorizar recursos no es más que obtener información concerniente a la
utilización de uno o más recursos del sistema.
Sin embargo, raramente esto es tan simple. Primero, debe tomar en cuenta los recursos a controlar.
Luego es necesario examinar cada sistema a monitorizar, prestando especial atención a la situación de
cada sistema.
Los sistemas que monitoriza recaen en dos categorías:
• El sistema está actualmente experimentando problemas de rendimiento al menos parte del tiempo
y a usted le gustaría mejorar su rendimiento.
• El sistema está funcionando bien y le gustaría que se mantenga de esa forma.
La primera categoría indica que usted debería supervisar su sistema desde la perspectiva del
rendimiento del sistema, mientras que la segunda categoría significa que debe supervisar los recursos
del sistema desde la perspectiva de planificación de la capacidad del mismo.
Debido a que cada perspectiva tiene sus requerimientos propios, las secciones siguientes exploran
cada categoría en mayor detalle.
16 Capítulo 2. Supervisión de recursos
1. Monitorizar para identificar la naturaleza y ámbito de la escasez de recursos que están causando
los problemas de rendimiento
2. Se analizan los datos producidos a partir de la supervisión y se toma un curso de acción (nor-
malmente optimización del rendimiento o la adquisición de hardware adicional)
3. Monitorizar para asegurarse de que se ha solucionado el problema de rendimiento
Debido a esto, tiende a tener una vida relativamente corta en duración y más detallada en ámbito.
Nota
Monitorizar el rendimiento del sistema a menudo es un proceso iterativo, repitiendo estos pasos
varias veces para llegar al mejor rendimiento posible para el sistema. La razón principal para esto
es que los recursos del sistema y su utilización tienden a estar estrechamente relacionados, lo que
significa que a menudo la eliminación de un cuello de botella descubre otro más.
Cambios de contexto
Un cambio de contexto ocurre cuando el CPU para de ejecutar un proceso y comienza a ejecutar
otro. Debido a que cada contexto requiere que el sistema operativo tome el control del CPU,
cambios excesivos de contexto y altos niveles de consumo de CPU a nivel de sistema, tienden a
ir de la mano.
Interrupciones
Como su nombre lo implica, las interrupciones son situaciones donde el procesamiento realizado
por el CPU se cambia abruptamente. Las interrupciones ocurren generalmente debido a actividad
del hardware (tal como un dispositivo de E/S que termina una operación) o del software (tales
como interrupciones de software que controlan el procesamiento de una aplicación).
18 Capítulo 2. Supervisión de recursos
Procesos ejecutables
Un proceso puede tener diferentes estados. Por ejemplo, puede estar:
• Esperando porque se termine una operación de E/S
• Esperando porque el subsistema de administración de memoria resuelva un fallo de página
En estos casos, el proceso no tiene necesidad del CPU.
Sin embargo, eventualmente el estado del proceso cambia y el proceso se vuelve ejecutable.
Como su nombre lo implica, un proceso ejecutable es aquel capaz de realizar el trabajo tan
pronto como reciba tiempo de CPU. Sin embargo, si hay más de un proceso ejecutable en un
momento determinado, todos excepto uno1 de los procesos deben esperar por su turno de CPU.
Monitorizando el número de procesos ejecutables, es posible determinar cuan comprometido está
el CPU en su sistema.
Otras métricas de rendimiento que reflejan un impacto en la utilización del CPU tienden a incluir servi-
cios diferentes que el sistema operativo proporciona a los procesos. Estas pueden incluir estadísticas
sobre la administración de memoria, procesamiento de E/S, etc. Estas estadísticas también revelan
que, cuando el rendimiento del sistema está siendo supervisado, no hay límites entre las diferentes
estadísticas. En otras palabras, las estadísticas de utilización de CPU pueden terminar apuntando a
un problema en el subsistema de E/S, o las estadísticas de utilización de memoria pueden revelar un
defecto de una aplicación.
Por lo tanto, cuando esté supervisando el funcionamiento del sistema, no es posible examinar una
estadística de forma totalmente aislada; solamente mediante el exámen del cuadro completo es posible
extraer información significativa de cualquier estadística de rendimiento que reuna.
Bytes recibidos/enviados
Las estadísticas de la interfaz de red proporcionan un indicativo de la utilización del ancho de
banda de uno de los buses más visibles — la red.
Páginas dentro/fuera
Estas estadísticas hacen posible medir el flujo de páginas desde la memoria del sistema a los
dispositivos de almacenamiento masivo (usualmente unidades de disco). Altas tasas de estas
estadísticas pueden representar que el sistema está corto de memoria física y que está haciendo
thrashing o consumiendo más recursos del sistema en mover las páginas dentro y fuera de memo-
ria que en ejecutando aplicaciones.
Páginas activas/inactivas
Estas estaditicas muestran qué tanto se están utilizando las páginas residentes en memoria. Una
falta de páginas inactivas puede estar apuntando hacia una escasez de memoria física.
Intercambio dentro/fuera
Estas estadísticas muestran el comportamiento general de la memoria de intercambio del sistema.
Tasas excesivas pueden estar apuntando a una escasez de memoria física.
La supervisión exitosa de la utilización de la memoria requiere una buena comprensión de cómo
funciona la memoria virtual bajo demanda de un sistema operativo. Mientras que esta materia puede
tomar un libro completo, los conceptos básicos se discuten en el Capítulo 4. Este capítulo junto con
tiempo invertido en monitorizar el sistema, le da los bloques de construcción necesarios para aprender
más sobre este tópico.
problemas relacionados al rendimiento. De la misma manera, es posible tener una unidad de disco que
tiene 99% de espacio libre, pero que se ha puesto más allá de sus límites en términos de rendimiento.
Sin embargo, es más probable que el sistema promedio experimente diferentes grados de escasez
de recursos en ambas áreas. Debido a esto, es probable que — hasta cierto punto — los problemas
en un área impacten a la otra. La mayoría de las veces este tipo de interacción toma la forma de
funcionamientos de E/S más y más pobres cuando el sistema se acerca al 0% de espacio libre, en
casos de cargas de E/S extremas, es posible reducir las salidas de E/S a tal nivel que las aplicaciones
no se ejecutan adecuadamente.
En cualquier caso, las estadísticas siguientes son útiles para supervisar el almacenamiento:
Espacio libre
El espacio libre es probablemente el recurso que todos los administradores de sistemas vigilan
más de cerca; sería raro el administrador que no verifica el espacio disponible (o que tiene una
forma de hacerlo automáticamente).
• free
• top (y el Monitor del Sistema de GNOME, una versión de top más orientada a lo gráfico)
• vmstat
2.5.1. free
El comando free muestra la utilización de la memoria del sistema. He aquí un ejemplo de esta salida:
La fila Mem: muestra la utilización de la memoria física, mientras que la fila Swap: muestra la uti-
lización del espacio de intercambio (swap) del sistema. La fila -/+ buffers/cache: muestra la
cantidad de memoria actualmente dedicada a las memorias intermedias del sistema (buffers).
Puesto que por defecto free solamente muestra la utilización de memoria una vez, solamente es útil
para una supervisión de corto tiempo, o para determinar rápidamente si un problema relacionado con
la memoria está en progreso actualmente. Aunque free tiene la habilidad de mostrar repetidamente
los números de utilización de memoria a través de su opción -s, la salida se desplaza, haciendo difícil
detectar cambios en la utilización de memoria.
Sugerencia
Una mejor solución que utilizar free -s, sería ejecutar el comando free usando el comando watch.
Por ejemplo, para mostrar la utilización de memoria cada dos segundos (el intervalo de muestra
predeterminado para watch), utilice este comando:
watch free
El comando watch ejecuta el comando free cada dos segundos, limpiando la pantalla para mostrar
la salida actualizada y volviendo a escribir en la misma ubicación de pantalla. Esto hace mucho
más fácil determinar cómo cambia la utilización de memoria con el tiempo, pues no es necesario
escanear contínuamente desplazando la salida. Puede controlar el retraso entre actualizaciones
usando la opción -n y causar que cualquier cambio entre actualizaciones sea resaltado usando la
opción -d, como en el comando siguiente:
watch -n 1 -d free
2.5.2. top
Mientras que free muestra solamente información relacionada con la memoria, el comando top hace
un poquito de todo. Utilización del CPU, estadísticas de procesos, utilización de memoria — top lo
monitoriza todo. Además, a diferencia de free command, el comportamiento predeterminado de top
es el de ejecutarse de forma contínua, no hay necesidad de utilizar el comando watch. He aquí una
muestra de la pantalla:
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND
17578 root 15 0 13456 13M 9020 S 18.5 1.3 26:35 1 rhn-applet-gu
19154 root 20 0 1176 1176 892 R 0.9 0.1 0:00 1 top
1 root 15 0 168 160 108 S 0.0 0.0 0:09 0 init
2 root RT 0 0 0 0 SW 0.0 0.0 0:00 0 migration/0
3 root RT 0 0 0 0 SW 0.0 0.0 0:00 1 migration/1
4 root 15 0 0 0 0 SW 0.0 0.0 0:00 0 keventd
5 root 34 19 0 0 0 SWN 0.0 0.0 0:00 0 ksoftirqd/0
6 root 35 19 0 0 0 SWN 0.0 0.0 0:00 1 ksoftirqd/1
9 root 15 0 0 0 0 SW 0.0 0.0 0:07 1 bdflush
7 root 15 0 0 0 0 SW 0.0 0.0 1:19 0 kswapd
8 root 15 0 0 0 0 SW 0.0 0.0 0:14 1 kscand
10 root 15 0 0 0 0 SW 0.0 0.0 0:03 1 kupdated
11 root 25 0 0 0 0 SW 0.0 0.0 0:00 0 mdrecoveryd
La pantalla se divide en dos secciones. La parte superior contiene información relacionada con el esta-
tus general del sistema — tiempo ejecutándose, carga promedio, cuentas de procesos, estado del CPU
y estadísticas de utilización para la memoria y el espacio de intercambio. La sección de abajo muestra
estadísticas a nivel de procesos. Es posible cambiar lo que se muestra mientras top se ejecuta. Por
ejemplo, por defecto top muestra procesos activos y ociosos. Para mostrar solamente procesos activos
o que no estén ociosos, presione [i]; otro toque lo retorna al modo de visualización predeterminado.
Atención
Aún cuando top pareciera como un simple programa de visualización, este no es el caso. Esto
es porque top utiliza comandos de carácteres simples para llevar a cabo diferentes operaciones.
Por ejemplo, si usted está conectado como root, le es posible cambiar la prioridad y hasta matar
cualquier proceso en su sistema. Por lo tanto, hasta que no haya revisado la pantalla de ayuda de
top (escriba [?] para mostrar la ayuda), es más seguro solamente pulsar [q] (sale de top).
Se puede mostrar información adicional sobre un proceso específico pulsando primero en el proceso
deseado y luego pulsando en el botón Más Info.
Para mostrar las estadísticas de uso de memoria, CPU y uso del disco, pulse la pestaña Monitor del
sistema.
2.5.3. vmstat
Para una comprensión más concisa del rendimiento del sistema, intente con vmstat. Con vmstat, es
posible obtener una vista general de los procesos, memoria, swap, E/S, sistema y actividad de CPU
en una línea de números:
La primera línea divide los campos en seis categorías, incluyendo procesos, memoria, swap, E/S,
sistema y estadísticas relacionadas al CPU. La segunda línea identifica aún más los contenidos de
cada campo, haciendo más fácil escanear datos para ver estadísticas específicas.
Los campos relacionados a procesos son:
iostat
Muestra una descripción general de la utilización del CPU, junto con las estadísticas de E/S para
uno o más unidades de disco.
mpstat
Muestra estadísticas de CPU más complejas.
Sysstat también contiene herramientas para reunir datos de utilización de los recursos y crear informes
diarios basados en esos datos. Estas herramientas son:
sadc
Conocida como el coleccionador de datos de actividad del sistema, sadc reune información
sobre la utilización de recursos y la escribe a un archivo.
sar
Los informes sar, producidos a partir de los archivos creados por sadc, se pueden generar
interactivamente o se pueden escribir a un archivo para un análisis más intensivo.
Las secciones siguientes exploran cada una de estas herramientas con más detalles.
Debajo de la primera línea (la cual contiene la versión del kernel del sistema y el nombre del host,
junto con la fecha actual), iostat muestra una vista general de la utilización promedio del CPU
desde el último arranque. El informe de utilización del CPU incluye los porcentajes siguientes:
• La especificación de dispositivos, mostrada como dev major-number -sequence-number ,
donde major-number es el número principal ("major") del dispositivo3 y
sequence-number es un número secuencial comenzando desde cero.
• El número de transferencias (u operaciones de E/S) por segundo.
3. Los números "major" de dispositivos se pueden encontrar usando ls -l para mostrar el archivo de disposi-
tivo deseado en /dev/. El número major aparece después de la especificación del grupo del dispositivo.
26 Capítulo 2. Supervisión de recursos
Con la excepción de una columna adicional mostrando las interrupciones por segundo manejadas por
el CPU, no hay diferencia real. Sin embargo, la situación cambia si se utiliza la opción de mpstat,
-P ALL.
En sistemas multiproceso, mpstat permite desplegar de forma individual la utilización de cada CPU,
haciendo posible determinar que tan efectivamente se utiliza cada CPU.
escribe a un archivo para su análisis posterior. Por defecto, los datos son escritos a archivos en el
directorio /var/log/sa/. Los archivos son llamados sa dd , donde dd es la fecha actual de
dos dígitos.
sadc normalmente es ejecutado por el script sa1. cron invoca periódicamente este script a través del
archivo sysstat, el cual está ubicado en /etc/cron.d/. El script sa1 invoca sadc por un intervalo
único de un segundo. Por defecto, cron ejecuta sa1 cada 10 minutos, añadiendo los datos reunidos
durante cada intervalo al archivo actual /var/log/sa/sa dd .
procesar los archivos reunidos automáticamente por sadc. Los archivos de informes se escriben a
/var/log/sa/ y son nombrados sar dd , donde dd son las representaciones de dos dígitos
de la fecha del día anterior.
Capítulo 2. Supervisión de recursos 27
Normalmente, sar es ejecutado por el script sa2. Periódicamente cron invoca este script a través del
archivo sysstat, el cual se ubica en /etc/cron.d/. Por defecto, cron ejecuta a sa2 una vez al
día, a las 23:53, permitiendo así producir un informe para los datos del día completo.
En esta sección, se muestra la información de utilización del CPU. Esto es muy similar a los datos
mostrados por iostat.
Otras secciones pueden tener más de una línea necesaria para datos, como se muestra en esta sección
generada a partir de los datos de utilización del CPU en un sistema con dos procesadores:
Hay un total de diecisiete secciones diferentes presente en los reportes generados por la configuración
predeterminada de Red Hat Enterprise Linux para sar; se exploran algunas en los siguientes capítulos.
Para más información sobre los datos contenidos en cada sección, consulte la página del manual de
sar(1).
4. Debido a las cargas variantes del sistema, la hora real en la que los datos fueron tomados puede variar por
uno o dos segundos.
28 Capítulo 2. Supervisión de recursos
2.5.5. OProfile
El perfilador global del sistema OProfile, es una herramienta de supervisión con poca sobrecarga.
Oprofile aprovecha el hardware de monitorización del rendimiento del procesador 5 para determinar la
naturaleza de los problemas relacionados al rendimiento.
El hardware de monitorización del rendimiento es parte del procesador mismo. Toma la forma de un
contador especial, incrementado cada vez que ocurre un determinado evento (tal como que el proce-
sador no esté ocioso o que los datos requeridos no se encuentren en caché). Algunos procesadores
tienen más de uno de tales contadores y permiten la selección de tipos diferentes para cada contador.
Los contadores se pueden cargar con un valor inicial y producir una interrupción cuando se desborde
el contador. Al cargar el contador con valores iniciales diferentes, es posible variar las tasas en las que
ocurre la interrupción. De esta forma es posible controlar la tasa de muestra y, por lo tanto, el nivel de
detalle obtenido desde los datos reunidos.
En un extremo, al establecer el contador de manera que genere una interrupción por desborde con cada
evento, proporciona datos de rendimiento en extremo detalle (pero con una sobrecarga excesiva). En
el otro extremo, al configurar el contador para que genere tan pocas interrupciones como sea posible
solamente proporciona la vista más general del rendimiento del sistema (practicamente sin ninguna
sobrecarga). El secreto para una monitorización efectiva es la selección de una tasa de muestra lo
suficientemente alta como para capturar los datos requeridos, pero no tan alta como para sobrecargar
el sistema con la monitorización.
Atención
Puede configurar OProfile para que produzca tanta sobrecarga como para dejar el sistema inutiliz-
able. Por lo tanto, debe tener cuidado cuando seleccione los valores de contador. Por esta razón,
el comando opcontrol soporta la opción --list-events, el cual despliega los diferentes tipos de
eventos disponibles para el procesador instalado actualmente, junto con los valores de contador
mínimos sugeridos para cada uno.
Es importante tener en mente el costo de la relación entre la tasa de muestra y la sobrecarga cuando
se utiliza OProfile.
op_time
Muestra el número y los porcentajes relativos de las muestras tomadas por cada archivo eje-
cutable
5. OProfile también puede utilizar un mecanismo de fallback (conocido como TIMER_INT) para aquellas
arquitecturas que no tienen el hardware de monitorización de rendimiento.
Capítulo 2. Supervisión de recursos 29
oprofpp
Muestra el número y el porcentaje relativo de muestras tomadas por función, instrucción individ-
ual o en salida estilo gprof.
op_to_source
Muestra código fuente anotado y o listados de acumulación
op_visualise
Presenta los datos reunidos de forma gráfica
Estos programas hacen posible mostrar los datos reunidos en diferentes formas.
El software de interfaz administrativa controla todos los aspectos de la colección de datos, desde
especificar cuales eventos específicos serán monitorizados hasta arrancar y detener la colección de
datos mismos. Esto se hace usando el comando opcontrol.
opcontrol \
--vmlinux=/boot/vmlinux-‘uname -r‘ \
--ctr0-event=CPU_CLK_UNHALTED \
--ctr0-count=6000
Confirme que el sistema de archivos de OProfile (ubicado en /dev/oprofile/) esté montado con el
comando ls /dev/oprofile/:
CTR_EVENT[0]=CPU_CLK_UNHALTED
CTR_COUNT[0]=6000
30 Capítulo 2. Supervisión de recursos
CTR_KERNEL[0]=1
CTR_USER[0]=1
CTR_UM[0]=0
CTR_EVENT_VAL[0]=121
CTR_EVENT[1]=
CTR_COUNT[1]=
CTR_KERNEL[1]=1
CTR_USER[1]=1
CTR_UM[1]=0
CTR_EVENT_VAL[1]=
one_enabled=1
SEPARATE_LIB_SAMPLES=0
SEPARATE_KERNEL_SAMPLES=0
VMLINUX=/boot/vmlinux-2.4.21-1.1931.2.349.2.2.entsmp
Luego, utilice opcontrol para arrancar la recolección de datos con el comando opcontrol
--start:
(La línea de comandos real de oprofiled mostrada por ps es mucho más larga; sin embargo, la
hemos truncado para propósitos de formato.)
Ahora se está monitorizando el sistema, con todos los datos reunidos por todos los ejecutables en el
sistema. Los datos son almacenados en el directorio /var/lib/oprofile/samples/. Los archivos
en este directorio siguen una convención de nombres un poco inusual. He aquí un ejemplo:
}usr}bin}less#0
La convención de nombres utiliza la ruta absoluta de cada archivo conteniendo código ejecutable,
reemplazando los carácteres de barra oblícua (/) por llaves (}), y terminándose con una almohadilla
(#) seguido de un número (en este caso, 0.) Por lo tanto, el archivo utilizado en este ejemplo representa
los datos reunidos mientras se estaba ejecutando /usr/bin/less.
Una vez que los datos son reunidos, utilice alguna de las herramientas de análisis de datos para desple-
garlos. Una de las buenas funcionalidades de OProfile es que no es necesario detener la recolección
de datos antes de efectuar el análisis de datos. Sin embargo, debe esperar al menos a que se escriban
un conjunto de muestras al disco, o utilice el comando opcontrol --dump para forzar las muestras
al disco.
En el ejemplo siguiente, op_time se utiliza para mostrar (en orden inverso — desde el número más
alto de muestras hasta el más bajo) las muestras que se han reunido:
Es una buena idea el uso de less cuando se genera un informe interactivamente, ya que los informes
pueden ser de cientos de líneas. El ejemplo dado aquí se ha truncado por este motivo.
El formato para este informe en particular es que se produce una línea para cada archivo ejecutable
para los que se tomaron muestras. Cada línea sigue el formato siguiente:
sample-count
sample-percent
unused-field
executable-name
Donde:
•
•
sample-count
sample-percent
representa el número de muestras reunidas
representa el porcentaje de todas las muestras reunidas para este ejecutable
en particular.
•
•
unused-field es un campo que no se utiliza
executable-name representa el nombre del archivo que contiene el código del ejecutable para
el que se reunen las muestras.
Este reporte (producido en la mayoría de los sistemas ociosos) muestra que casi la mitad de todas
las muestras fueron tomadas mientras que el CPU estaba ejecutando código dentro del kernel mismo.
Luego en la línea estaba el demonio de colección de datos de OProfile, seguido por una variedad de
bibliotecas y el servidor del sistema X Window, XFree86. Es de utilidad tomar en cuenta que para
el sistema ejecutando la sesión de muestra, el valor del contador usado de 6000 representa el valor
mínimo recomendado por opcontrol --list-events. Esto significa que — al menos para este
sistema en particular — la sobrecarga de OProfile en su punto más alto, consume aproximadamente
11% del CPU.
• La página man de sa1(8) — Aprenda sobre este script que ejecuta periódicamente sadc.
• La página man de sar(1) — Vea como se pueden producir informes de utilización de recursos del
sistema.
• La página man de sa2(8) — Aprenda a crear archivos de informes diarios de la utilización de
recursos del sistema.
• La página man de nice(1) — Aprenda a cambiar la prioridad de planificación de los procesos.
• La página man de oprofile(1) — Vea como se perfila el rendimiento del sistema.
• La página man de op_visualise(1) — Conozca cómo presentar gráficamente datos de OProfile.
• El Manual de administración del sistema de Red Hat Enterprise Linux; de Red Hat, Inc. — Incluye
información sobre muchas de las herramientas de supervisión descritas aquí, incluyendo OProfile.
• Linux Performance Tuning and Capacity Planning por Jason R. Fink y Matthew D. Sherer; Sams
— Proporciona descripciones más profundas de las herramientas de supervisión presentadas aquí
incluyendo otras que pueden ser apropiadas para necesidades de supervisión de recursos más es-
pecíficas.
• Red Hat Linux Security and Optimization por Mohammed J. Kabir; Red Hat Press — Aproxi-
madamente las primeras 150 páginas de este libro discuten problemas relacionados al rendimiento.
Esto incluye capítulos dedicados a los problemas de rendimiento específicos a la red, Web, correo
electrónico y servidores de archivos.
• Linux Administration Handbook por Evi Nemeth, Garth Snyder y Trent R. Hein; Prentice Hall —
Proporciona un capítulo corto similar en ámbito al de este libro, pero incluye una sección interesante
sobre el diagnóstico de un sistema que se vuelve lento repentinamente.
• Linux System Administration: A User’s Guide por Marcel Gagne; Addison Wesley Professional —
Contiene un pequeño capítulo sobre la supervisión del rendimiento y optimización.
Capítulo 3.
Ancho de banda y poder de procesamiento
De los dos recursos discutidos en este capítulo, uno (el ancho de banda) es a menudo difícil de entender
para los nuevos administradores de sistemas, mientras que el otro concepto (poder de procesamiento),
es usualmente mucho más fácil de comprender.
Adicionalmente, puede parecer que estos dos recursos no están muy relacionados — ¿por qué agru-
parlos?
La razón para referirse a estos dos recursos juntos es porque están basados en el hardware que se
une directamente con la habilidad del computador de mover y procesar datos. Como tal, su relación a
menudo está interrelacionada.
• Un conjunto de conductores eléctricos utilizados para hacer posible la comunicación a bajo nivel
• Un protocolo para facilitar la comunicación de datos confiable y eficiente
Hay dos tipos de componentes de sistemas que satisfacen estos requerimientos:
• Buses
• Datapaths
Las secciones siguientes exploran cada uno de estos en más detalles.
3.1.1. Buses
Como se mencionó anteriormente, los buses permiten la comunicación de punto a punto y utilizan
algún tipo de protocolo para asegurarse de que toda la comunicación toma lugar de forma controlada.
Sin embargo, los buses tienen otras características distintivas:
3.1.2. Datapaths
Los datapaths pueden ser más difíciles de identificar pero, como los buses, están en todas partes.
También a igual que los buses, los datapaths permiten la comunicación punto a punto. Sin embargo, a
diferencia de los buses, los datapaths:
1. El bus o datapath puede representar un recurso compartido. En esta situación, los altos niveles de
competencia por el bus reducen el ancho de banda efectivo disponible para todos los dispositivos
en el bus.
Un bus SCSI con discos duros altamente activos serían un buen ejemplo de esto. Las unidades
de disco altamente activas saturan el bus SCSI, dejando poco ancho de banda disponible para
cualquier otro dispositivo en el mismo bus. El resultado final es que toda la E/S a cualquiera de
estos dispositivos en el bus es lenta, aún si cada dispositivo en el bus no está demasiado activo.
2. El bus o datapath puede ser un recurso dedicado con un número fijo de dispositivos conectados
a él. En este caso, las características eléctricas del bus (y hasta cierto punto la naturaleza del
protocolo utilizado) limitan el ancho de banda disponible. Usualmente, este es más el caso con
datapaths que con buses. Esta es una de las razones por las que los adaptadores gráficos tienden
a funcionar más lentamente cuando se operan a altas resoluciones y/o profundidades de color —
1. En vez de un bus interno al sistema, las redes pueden ser pensadas como un bus inter-sistema.
Capítulo 3. Ancho de banda y poder de procesamiento 35
por cada refrescado de pantalla, hay más datos que transmitir a través del datapath que conecta
la memoria de vídeo al procesador gráfico.
• Distribuir la carga
• Reducir la carga
• Incrementar la capacidad
Las secciones siguientes exploran cada uno de estos enfoques en mas detalles.
3.1.5. En resumen. . .
Todos los administradores de sistemas deberían estar conscientes del ancho de banda y de cómo
la configuración y uso del sistema impacta el ancho de banda disponible. Desafortunadamente, no
siempre es aparente cuando se trata de un problema de ancho de banda y cuando no. Algunas veces,
el problema no es el bus mismo, pero uno de los componentes conectados al bus.
Por ejemplo, considere un adaptador SCSI que está conectado a un bus PCI. Si hay problemas de
rendimiento con la E/S del disco SCSI, puede ser el resultado de un adaptador SCSI funcionando muy
mal, aún cuando los buses SCSI y PCI mismos no esten ni siquiera cerca de sus capacidades de ancho
de banda.
• Aplicaciones
2. Esta situación lleva a que se llame de forma jocosa actualización con carretilla, lo que significa un reemplazo
completo de un computador.
Capítulo 3. Ancho de banda y poder de procesamiento 37
3.2.2.1. Aplicaciones
Los consumidores más obvios de poder de procesamiento son las aplicaciones y los programas que
usted desea que el computador ejecute por usted. Desde una hoja de cálculo hasta una base de datos,
las aplicaciones son la razón por las que usted tiene un computador.
Un único CPU puede solamente ejecutar una cosa en un momento dado. Por lo tanto, si su aplicación
se está ejecutando, el resto de las cosas en el sistema no. Lo contrario, por supuesto, también es cierto
— si algo diferente a su aplicación se está ejecutando, entonces su aplicación no está haciendo nada.
Pero como es que muchas aplicaciones diferentes pueden parecer que se estan ejecutando al mismo
tiempo bajo un sistema operativo moderno? La respuesta es que estos son sistemas operativos multi-
proceso. En otras palabras, estos crean la ilusión de que muchas están sucediendo simultáneamente
cuando en realidad es que esto no es posible. El truco es darle a cada proceso una fracción de segundo
de ejecución en el CPU antes de darle el CPU a otro proceso para la próxima fracción de segundo.
Si estos switches de contexto ocurren con la frecuencia necesaria, se logra la ilusión de que múltiples
aplicaciones se ejecutan simultáneamente.
Por supuesto, las aplicaciones hacen otras cosas que manipular datos usando el CPU. Pueden también
esperar por entradas del usuario así como también realizar E/S a dispositivos tales como discos duros
y visualizaciones gráficas. Cuando ocurren estos eventos, la aplicación ya no necesita el CPU. En
estos momentos, el CPU se puede utilizar para otros procesos ejecutando aplicaciones sin hacer más
lento la aplicación en espera.
Además, el CPU puede ser utilizado por otro consumidor de poder de procesamiento: el sistema
operativo mismo.
• Reducir la carga
• Incrementar la capacidad
38 Capítulo 3. Ancho de banda y poder de procesamiento
Sugerencia
Tenga en mente que una aplicación puede que no requiera ser eliminada de todos los sistemas de
su organización. Probablemente pueda mover una aplicación hambrienta de CPU desde un sistema
sobrecargado a otro sistema que esté prácticamente ocioso.
Capítulo 3. Ancho de banda y poder de procesamiento 39
Mientras que esta discusión pareciera indicar que SMP nunca es una buena idea, hay circunstancias en
las que tiene sentido. Por ejemplo, los entornos ejecutando múltiples aplicaciones con gran demanda
computacional son buenas candidatas para SMP. La razón de esto es que las aplicaciones que no hacen
nada pero computar por largos períodos de tiempo mantienen la contienda entre los procesos activos
(y por lo tanto, la sobrecarga del sistema operativo) a un mínimo, mientras que los procesos mismos
mantienen cada CPU ocupado.
Otra cosa a tener en mente sobre SMP es que el rendimiento de un sistema SMP tiende a degradarse
de forma más graciosa a medida que la carga del sistema se incrementa. Esto hace a los sistemas SMP
populares en entornos de servidor y multiusuario, pues la mezcla de procesos siempre cambiantes
pueden impactar menos la carga global del sistema en una máquina con múltiples procesadores.
En este ejemplo, el campo bi muestra dos bloques/segundos escritos a los dispositivos en bloque
(principalmente unidades de disco), mientras que el campo bo muestra seis bloques/segundos leído
desde los dispositivos de bloque. Podemos determinar que ninguna de esta actividad se debe a inter-
cambio de memoria (swap), ya que los campos si y so ambos muestran una tasa de E/S relacionada
a swap de cero kilobytes/segundo.
Usando iostat, es posible obtener un poco más de detalles sobre la actividad relacionada al disco:
Esta salida nos muestra que el dispositivo con un número major de 8 (el cual es /dev/sda, el primer
disco SCSI) tiene un promedio un poco mayor de una operación de E/S por segundo (el campo tsp).
La mayoría de la actividad de E/S para este dispositivo fueron escrituras (el campo Blk_wrtn), con
un poco más de 25 bloques escritos cada segundo (el campo Blk_wrtn/s).
Capítulo 3. Ancho de banda y poder de procesamiento 41
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz
/dev/sda 13.57 2.86 0.36 0.77 32.20 29.05 16.10 14.53 54.52
/dev/sda1 0.17 0.00 0.00 0.00 0.34 0.00 0.17 0.00 133.40
/dev/sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11.56
/dev/sda3 0.31 2.11 0.29 0.62 4.74 21.80 2.37 10.90 29.42
/dev/sda4 0.09 0.75 0.04 0.15 1.06 7.24 0.53 3.62 43.01
Más allá de las largas líneas conteniendo más campos, la primera cosa a tener en mente es que esta
salida de iostat está mostrando ahora estadísticas a un nivel de partición. Usando df para asociar los
puntos de montaje con los nombres de dispositivos, es posible utilizar este informe para determinar
si, por ejemplo, la partición conteniendo /home/ está experimentando una sobrecarga excesiva.
En realidad, cada línea de salida de iostat -x es más larga y contiene más información que esto; he
aquí el resto de cada línea (agregando la columna del dispositivo para facilitar la lectura):
En este ejemplo, es interesante observar que /dev/sda2 es la partición swap del sistema; obviamente,
a partir de los muchos campos de esta particiónque leen 0.00, el swapping no es un problema en el
sistema.
Otro punto interesante a tomar en cuenta es /dev/sda1. Las estadísticas para esta partición son
inusuales; la actividad general parece baja, pero por qué el tamaño promedio de peticiones de E/S (el
campo avgrq-sz), el tiempo promedio de espera (el campo await) y el tiempo promedio de servi-
cio (el campo svctm) son mucho más grandes que en las otras particiones? La respuesta es que esta
partición contiene el directorio /boot/, el cual es donde el kernel y el disco inicial ramdisk son alma-
cenados. Cuando el sistema arranca, las lecturas de E/S (observe que solamente los campos rsec/s
y rkB/s son diferentes de cero; no se hace ninguna escritura aquí de forma regular) usadas durante
el proceso de arranque son para grandes números de bloques, resultando en despliegues iostat de
esperas relativamente largas y tiempos de servicios.
Es posible utilizar sar para una vista de largo plazo de las estadísticas de E/S; por ejemplo, sar -b
muestra un informe general de E/S:
Aquí, como en la pantalla inicial de iostat, las estadísticas son agrupadas para todos los dispositivos
de bloque.
42 Capítulo 3. Ancho de banda y poder de procesamiento
Este informe proporciona información por dispositivo, pero con pocos detalles.
Mientras que no hay estadísticas explícitas mostrando la utilización del ancho de banda para un bus o
datapath dado, al menos podemos determinar qué están haciendo los dispositivos y utilizar su actividad
para determinar indirectamente la carga del bus.
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
30997 ed 16 0 1100 1100 840 R 1.7 0.0 0:00 top
1120 root 5 -10 249M 174M 71508 S < 0.9 13.8 254:59 X
1260 ed 15 0 54408 53M 6864 S 0.7 4.2 12:09 gnome-terminal
888 root 15 0 2428 2428 1796 S 0.1 0.1 0:06 sendmail
1264 ed 15 0 16336 15M 9480 S 0.1 1.2 1:58 rhn-applet-gui
1 root 15 0 476 476 424 S 0.0 0.0 0:05 init
2 root 0K 0 0 0 0 SW 0.0 0.0 0:00 migration_CPU0
3 root 0K 0 0 0 0 SW 0.0 0.0 0:00 migration_CPU1
4 root 15 0 0 0 0 SW 0.0 0.0 0:01 keventd
5 root 34 19 0 0 0 SWN 0.0 0.0 0:00 ksoftirqd_CPU0
6 root 34 19 0 0 0 SWN 0.0 0.0 0:00 ksoftirqd_CPU1
7 root 15 0 0 0 0 SW 0.0 0.0 0:05 kswapd
8 root 15 0 0 0 0 SW 0.0 0.0 0:00 bdflush
9 root 15 0 0 0 0 SW 0.0 0.0 0:01 kupdated
10 root 25 0 0 0 0 SW 0.0 0.0 0:00 mdrecoveryd
La primera información relacionada con el CPU se presenta en la primera línea: la carga promedio.
La carga promedio es un número correspondiente al número promedio de procesos ejecutables en el
Capítulo 3. Ancho de banda y poder de procesamiento 43
sistema. La carga promedio es a menudo listada como tres conjuntos de números (como lo hace top),
lo que representa la carga promedio para los últimos 1, 5 y 15 minutos, indicando que el sistema en
este ejemplo no estaba muy ocupado.
La línea siguiente, aunque no está relacionada estrictamente a la utilización del CPU, tiene una
relación indirecta, en que muestra el número de procesos ejecutables (aquí, solamente uno -- recuerde
este número, pues significa algo especial en este ejemplo). El número de procesos ejecutables es un
buen indicador de cuan comprometido computacionalmente puede estar un sistema.
Luego estan dos líneas mostrando la utilización actual para cada uno de los dos CPUs en el sistema.
Las estadísticas de utilización se desglosan para mostrar si los ciclos de CPU gastados se hicieron
para procesamiento a nivel de usuario o a nivel del sistema; también está incluido una estadística
que muestra cuanto tiempo de CPU se gastó por procesos con prioridades de planificación alteradas.
Finalmente, hay una estadística de tiempo ocioso.
Desplazandose más abajo en la sección relacionada a procesos, encontramos que el proceso ejecu-
tando la mayor parte del poder de CPU es top mismo; en otras palabras, el proceso ejecutable en este
sistema ocioso fue top tomando una "foto" de sí mismo.
Sugerencia
Es importante recordar que el acto mismo de ejecutar un monitor del sistema afecta las estadísticas
de utilización de recursos que usted recibe. Todos los monitorizadores basados en software hasta
cierto punto hacen esto.
Para obtener más conocimiento detallado sobre la utilización del CPU, debemos cambiar herramien-
tas. Si examinanos la salida desde vmstat, obtenemos un entendimiento ligeramente diferente de
nuestro sistema ejemplo:
Aquí hemos utilizado el comando vmstat 1 10 para tomar muestras del sistema cada segundo diez
veces. Primero, las estadísticas relacionadas al CPU (los campos us, sy, y id) parecen similares a
lo que mostraba top, y quizás hasta aparece un poco menos detallado. Sin embargo, a diferencia de
top, también podemos obtener un poco más de información en cómo el CPU es utilizado.
Si examinamos los campos system, notamos que el CPU está manejando alrededor de 500 inter-
rupciones por segundo en promedio y que se intercambia entre procesos entre 80 y 400 veces en un
segundo. Si piensa que esto parece mucha actividad, piense nuevamente, porque el procesamiento a
nivel de usuario (el campo us) está promediando solamente 2%, mientras que el procesamiento a nivel
del sistema (el campo sy) es usualmente por debajo de 1%. Una vez más, esto es un sistema ocioso.
Revisando las herramientas que Sysstat ofrece, encontramos que iostat y mpstat proporcionan
poca información adicional sobre lo que ya hemos experimentado con top y vmstat. Sin embargo,
sar produce un número de informes que son de ayuda cuando se supervisa la utilización del CPU.
44 Capítulo 3. Ancho de banda y poder de procesamiento
El primer informe se obtiene por el comando sar -q, el cual muestra el largo de la cola de ejecución,
número total de procesos y la carga promedio durante los últimos uno y cinco minutos. He aquí un
ejemplo:
En este ejemplo, el sistema siempre está ocupado (dado que siempre hay más de un proceso eje-
cutable), pero no está sobrecargado (puesto que este sistema particular tiene más de un procesador).
El próximo informe sar relacionado con el CPU lo produce el comando sar -u:
Las estadísticas contenidas en este informe no son diferentes de aquellas generadas por muchas otras
herramientas. El principal beneficio aquí es que sar hace los datos disponibles de forma contínua y
es por tanto más útil para obtener datos sobre promedios de largos tiempos, o para la producción de
gráficos de utilización de CPU.
En sistemas multiproceso, el comando sar -U puede producir estadísticas para un procesador indi-
vidual o para todos los procesos. He aquí un ejemplo de la salida desde sar -U ALL:
El comando sar -w informa sobre el número de switches de contexto por segundo, haciendo posible
ganar conocimiento adicional sobre dónde se gastan los ciclos de CPU:
12:00:01 AM cswch/s
12:10:00 AM 537.97
12:20:01 AM 339.43
...
10:10:00 AM 319.42
Capítulo 3. Ancho de banda y poder de procesamiento 45
Average: 1158.25
También es posible generar dos informes sar diferentes en actividad interrumpida. El primero, (gen-
erado usando el comando sar -I SUM) muestra una estadística simple de "interrupciones por se-
gundo":
Usando el comando sar -I PROC, es posible desglosar la actividad de interrupciones por procesador
(en sistemas multiproceso) y por nivel de interrupciones (desde 0 a 15):
Este informe (el cual se ha truncado horizontalmente para ajustarse a la página) incluye una columna
por cada nivel de interrupción (por ejemplo, el campo i002/s ilustrando las tasas para nivel de
interrupción 2). Si este fuese un sistema multiprocesador, habría una línea por período de muestra
para cada CPU.
Otro pundo importante a tomar en cuenta es que sar añade o elimina campos de interrupción especí-
ficos si no se reunen datos para ese campo. El informe de ejemplo de arriba suministra un ejemplo
de esto, el final del informe incluye los niveles de interrupción (3 y 10) que no estaban presentes al
principio del período de muestras.
Nota
Existen otros dos informes sar relacionados a interrupciones — sar -I ALL y sar -I XALL. Sin
embargo, la configuración predeterminada para la utilidad de recolección de datos sadc no re-
une la información necesaria para estos informes. Esto se puede cambiar modificando el archivo
/etc/cron.d/sysstat, y cambiando esta línea:
a esto:
Tenga en mente que este cambio ocasiona que se reuna información adicional por sadc y resulta en
tamaños de archivos más grandes. Por lo tanto, asegúrese de que la configuración de su sistema
pueda soportar el consumo de espacio adicional.
• La página man de vmstat(8) — Aprenda a mostrar una vista concisa de la utilización de procesos,
memoria, swap, E/S, sistema y CPU.
• La página man de iostat(1) — Le enseña cómo mostrar estadísticas de CPU y E/S.
• La página man de sar(1) — Aprenda a producir informes de utilización de recursos del sistema.
• La página man de sadc(8) — Aprenda a reunir datos de utilización del sistema.
• La página man de sa1(8) — Conozca este script que ejecuta periódicamente sadc.
• La página man de top(1) — Conozca cómo mostrar estadísticas de utilización del CPU y de nivel
de procesos.
• El Manual de administración del sistema de Red Hat Enterprise Linux de Red Hat, Inc. — Incluye
un capítulo sobre muchas de las herramientas de supervisión de recursos discutidas aquí.
• Linux Performance Tuning and Capacity Planning por Jason R. Fink and Matthew D. Sherer; Sams
— Proporciona descripciones más profundas de las herramientas de supervisión presentadas aquí
incluyendo otras que pueden ser apropiadas para necesidades de supervisión de recursos más es-
pecíficas.
Capítulo 3. Ancho de banda y poder de procesamiento 47
• Linux Administration Handbook por Evi Nemeth, Garth Snyder y Trent R. Hein; Prentice Hall —
Proporciona un capítulo corto similar en ámbito al de este libro, pero incluye una sección interesante
sobre el diagnóstico de un sistema que se vuelve lento repentinamente.
• Linux System Administration: A User’s Guide por Marcel Gagne; Addison Wesley Professional —
Contiene un pequeño capítulo sobre la supervisión del rendimiento y optimización.
48 Capítulo 3. Ancho de banda y poder de procesamiento
Capítulo 4.
Memoria física y virtual
Todas las computadoras de propósito general de hoy día, son del tipo conocido como computado-
ras de almacenamiento de programas. Como su nombre lo implica, las computadoras de programas
almacenados cargan las instrucciones (los bloques de construcción de programas) en algún tipo de
almacenamiento interno, donde son subsecuentemente ejecutadas.
Las computadoras de programas almacenados también utilizan el mismo almacenamiento para los
datos. Esto es en contraste con las computadoras que utilizan su configuración de hardware para con-
trolar sus operaciones (tales como las computadoras más antiguas basadas en la conexión de tarjetas).
El lugar donde los programas eran almacenados en las primeras computadoras de programas almace-
nados se llamó de varias formas y utilizó tecnologías diferentes, desde manchas en un tubo de rayos
catódicos, hasta pulsos de presión en columnas de mercurio. Afortunadamente, los computadores de
hoy en día utilizan tecnologías con mayores capacidades de almacenamiento y de menor tamaño que
antes.
• Registros de CPU
• Memoria caché
• RAM
• Discos duros
• Almacenamiento fuera de línea para respaldos (cintas, discos ópticos, etc.)
50 Capítulo 4. Memoria física y virtual
En términos de capacidades y costos, estas tecnologías forman un espectro. Por ejemplo, los registros
de CPU son:
• Muy lento (tiempos de acceso se miden en días, si la media de respaldo debe ser entregada sobre
largas distancias)
• Capacidad muy alta (10s - 100s de gigabytes)
• Capacidades de expansión prácticamente ilimitadas (solamente limitadas por el espacio físico re-
querido para hospedar la media de respaldo)
• Bajo costo (fracciones de céntimos/byte)
Usando diferentes tecnologías con diferentes capacidades, es posible afinar el diseño del sistema para
un máximo rendimiento al costo más bajo posible. Las secciones siguientes exploran cada tecnología
en el espectro del almacenamiento.
1. Mientras que "RAM" es un acrónimo para "Random Access Memory," y un término que podría ser fácil-
mente aplicable a cualquier tecnología de almacenamiento que permita el acceso no secuencial de los datos
almacenados, cuando los administradores de sistemas hablan sobre RAM invariablemente se refieren al sistema
de memoria principal.
Capítulo 4. Memoria física y virtual 51
transparente, por lo que la única diferencia entre el acceso de los datos en caché y desde la RAM es
la cantidad de tiempo que toma para que los datos sean recuperados.
En términos de la capacidad de almacenamiento, la caché es mucho más pequeña que la RAM. Por lo
tanto, no todos los bytes en la RAM tienen su ubicación única en caché. Como tal, es necesario dividir
la caché en secciones que se puedan utilizar para alojar diferentes áreas de RAM y tener un mecanismo
que permita que cada área de la caché haga un "caché" de la RAM en diferentes momentos. Aúnque
existe una diferencia en tamaño entre la caché y la RAM, dada la naturaleza secuencial y localizada
del acceso a almacenamiento, una pequeña cantidad de caché puede efectivamente acelerar el acceso
a grandes cantidades de RAM.
Cuando se escriben datos desde el CPU, las cosas se complican un poco. Existen dos enfoque que
se pueden utilizar. En ambos casos, los datos son escritos primero a la caché. Sin embargo, puesto
que el propósito de la caché es funcionar como una copia muy rápida de los contenidos de porciones
seleccionadas de RAM, cada vez que una porción de datos cambia su valor, ese nuevo valor debe ser
escrito tanto a la caché como a la RAM. De lo contrario, los datos en caché y los datos en la RAM ya
no coincidirían.
Los dos enfoques se diferencian en cómo se logra hacer esto. En un enfoque, conocido como write-
through caching, los datos modificados se escriben inmediatamente a la RAM. Sin embargo, en el
write-back caching, se retrasa la escritura de los datos modificados a la RAM. La razón para hacer
esto es la de reducir el número de veces que una porción de datos modificada frecuentemente debe ser
escrita nuevamente a la RAM.
La caché "write-through" o inmediata es un poco más simple de implementar; por esta razón es la
más común. La caché "write-back" es un poco más complicada; además de almacenar los datos, es
necesario mantener cierto tipo de mecanismo que sea capaz de notificar que los datos en caché están
al día o "limpios" (los datos en caché son los mismos que los datos en RAM), o que están "sucios" (los
datos en caché han sido modificados, lo que significa que los datos en RAM ya no están actualizados).
También es necesario implementar una forma de vaciar periódicamente entradas "sucias" en caché de
vuelta en RAM.
• La caché L1 a menudo está ubicada en el chip del CPU mismo y se ejecuta a la misma velocidad
que el CPU.
• La caché L2 usualmente es parte del módulo de CPU, se ejecuta a las mismas velocidades que el
CPU (o casi) y normalmente es un poco más grande y lenta que la caché L1
Algunos sistemas (normalmente servidores de alto rendimiento) también tienen caché L3, que usual-
mente forma parte del sistema de la tarjeta madre. Como puede imaginarse, la caché L3 es más grande
(y casi con seguridad más lenta) que la caché L2.
En cualquier caso, el objetivo del todos los subsistemas de caché — bien sean simples o de múltiples
niveles — es el de reducir el tiempo de acceso promedio a la RAM.
La operación básica de la RAM es en realidad bien sencilla. En el nivel más bajo, están los chips de
RAM — circuitos integrados que "recuerdan". Estos chips tienen cuatro tipos de conexiones con el
mundo externo:
Nota
El beneficio principal de un sistema utilizando módulos RAM basados en estándares de la industria,
es que tienden a mantener bajos los costos de las RAM, debido a la posibilidad de adquirir módulos
a partir de diferentes fabricantes.
Aunque la mayoría de las computadoras utilizan módulos de RAM basados en estándares de la
industria, existen algunas excepciones. Las más notables de estas excepciones son portátiles (e in-
clusive aquí se comienza a ver un poco más de estandarización) y servidores de punta. Sin embargo,
aún en estos ejemplos, es muy probable que estén disponibles módulos de terceros, asumiendo que
el sistema sea relativamente popular y que no se trate de un diseño completamente nuevo.
que, a diferencia de la RAM y la memoria caché, no es posible ejecutar los programas directamente
cuando son almacenados en discos duros; en vez de esto, ellos deben primero ser leídos a la RAM.
Otra diferencia de la caché y de la RAM es la velocidad del almacenamiento y recuperación de los
datos; los discos duros son de al menos un orden de magnitud más lento que todas las tecnologías
electrónicas utilizadas para caché y RAM. La diferencia en velocidad es debida principalmente a su
naturaleza electromecánica. Hay cuatro fases distintas que toman lugar durante cada transferencia de
datos desde o hacia un disco duro. La lista siguiente ilustra estas fases, junto con el tiempo que en
promedio tomaría una unidad de alto rendimiento, para completar cada fase:
Nota
Aunque hay mucho más por aprender sobre los discos duros, las tecnologías de almacenamiento de
disco son discutidas con más detalles en el Capítulo 5. Por los momentos, solamente es necesario
tener presente la gran diferencia de velocidad entre la RAM y las tecnologías basadas en disco y
que su capacidad de almacenamiento usualmente excede la de la RAM por un factor de al menos
10 y a menudo de 100 y hasta más.
• Cinta magnética
• Disco óptico
Por supuesto, el tener una media removible significa que los tiempos de acceso son aún más largos,
particularmente cuando los datos deseados están en un medio que aún no está cargado en el dispositivo
de almacenamiento. Esta situación es aliviada de alguna manera por el uso de dispositivos robóticos
capaces de montar y desmontar automáticamente la media, pero las capacidades de almacenamiento
de la media de tales dispositivos son finitas. Hasta en el mejor de los casos, los tiempos de acceso son
medidos en segundos, lo cual está bastante lejos de los tiempos típicos de acceso de los ya relativa-
mente lentos multi-milisegundos de un disco duro.
Ahora que ha visto brevemente las diferentes tecnologías de almacenamiento utilizadas hoy en día,
vamos a explorar los conceptos básicos de la memoria virtual.
54 Capítulo 4. Memoria física y virtual
posible mantener la aplicación ejecutándose usando menos memoria que lo que indicaría su espacio
de direcciones.
Pero esto genera una pregunta:
Si solamente una parte de la aplicación está en memoria en un momento dado, dónde esta el resto?
Tomando nuestra aplicación hipotética con un espacio de direcciones virtuales de 15000 bytes, asuma
que la primera instrucción de la aplicación accede a los datos almacenados en la dirección 12374. Sin
embargo, también asuma que nuestra computadora solamente tiene 12288 bytes de RAM física. ¿Qué
pasa cuando el CPU intenta acceder a la dirección 12374?
Lo que ocurre se conoce como un fallo de página.
• Encontrar dónde reside la página deseada en disco y la lee (este es usualmente el caso si el fallo de
página es por una página de código)
• Determina que la página deseada ya está en RAM (pero no está asignada al proceso actual) y
reconfigura el MMU para que apunte a el
• Apunta a una página especial que solamente contiene ceros y asigna una nueva página para el
proceso solamente si este intenta alguna vez escribir a la página especial (esto se llama una página
de copia en escritura y es utilizada a menudo por páginas que contienen datos inicializados a cero)
• Obtener la página deseada desde otro lugar (lo que se discute en detalle más adelante)
Mientras que las primeras tres acciones son relativamente sencillas, la última no lo es. Por eso nece-
sitamos cubrir algunos tópicos adicionales.
se utiliza un tipo de algoritmo de "menos usado recientemente" para determinar cuales páginas son
elegibles para eliminarse de los conjuntos de trabajo de los procesos.
4.4.3. Intercambio
Mientras que el hacer intercambio de memoria (swapping, escribiendo páginas modificadas al espacio
swap del sistema) es una parte normal de la operación del sistema, es posible experimentar demasiado
intercambio. La razón por la que estar atentos ante el excesivo intercambio es que la situación siguiente
puede ocurrir fácilmente, y repetirse una y otra vez:
• RAM — Obviamente la RAM disponible es poca (de lo contrario no habría necesidad de fallos de
páginas o de intercambio de páginas).
• Disco — Aunque el espacio en disco puede no ser impactado, el ancho de banda de E/S (debido a
mucho paginado e intercambio) si lo será.
• CPU — El CPU está utilizando ciclos haciendo el procesamiento necesario para soportar la ad-
ministración de memoria y estableciendo las operaciones necesarias de E/S para el paginado e
intercambio.
La naturaleza interrelacionada de estas cargas hace fácil entender cómo las limitaciones de recursos
pueden conducir a problemas graves de rendimiento.
58 Capítulo 4. Memoria física y virtual
Todo lo que se necesita es un sistema con poca RAM, alta actividad de fallos de páginas y un sistema
ejecutando casi en sus límites en términos de CPU o E/S de disco. En este punto, el sistema está
haciendo trashing, siendo el bajo rendimiento el resultado inevitable.
• RAM — Suficiente RAM para todos los conjuntos de direcciones de trabajo con suficiente exceso
para manejar cualquier fallo de página2
• Disco — Debido a la actividad limitada de fallos de página, el ancho de banda de E/S de disco será
impactado de forma mínima.
• CPU — La mayoría de los ciclos de CPU realmente están dedicados a ejecutar aplicaciones, en vez
de ejecutar el código de manejo de memoria del sistema
El punto a tener en mente es que el impacto en el rendimiento de la memoria virtual es mínimo
cuando se utiliza tan poco como sea posible. Esto significa que el factor determinante para un buen
rendimiento del subsistema de memoria virtual es tener suficiente RAM.
Lo siguiente (pero con mucho menos importancia) es suficiente capacidad de E/S de disco y de CPU.
Sin embargo, tenga en cuenta que estos recursos solamente ayudan a que el rendimiento del sistema
se degrade de una forma más limpia de intensivos fallos de página y del intercambio; pero hacen poco
para ayudar el rendimiento del subsistema de memoria virtual (aunque obviamente pueden jugar un
papel importante en el rendimiento global del sistema).
Podemos ver que este sistema tiene 1.2GB de RAM, de los que solamente 350MB estan realmente en
uso. Como se puede esperar para un sistema con esta cantidad de RAM disponible, no se utiliza nada
de los 500MB de memoria de intercambio.
Compare ese ejemplo con el que sigue:
2. Un sistema razonablemente activo siempre experimenta algún nivel de actividad de fallo de páginas, debido
a los fallos de página en los que se incurre cuando las aplicaciones lanzadas recientemente son traídas a memoria.
Capítulo 4. Memoria física y virtual 59
Este sistema tiena alrededor de 256MB de RAM, la mayoría de la cual está en uso, dejando solamente
8MB libres. Más de 100MB de los 512MB de swap estan en uso. Aún cuando el sistema está cierta-
mente más limitado en términos de memoria que el primer sistema, para determinar si esta limitación
de memoria está causando problemas de rendimiento, tenemos que investigar un poco más.
vmstat, aún cuando es más críptico que free, tiene el beneficio de que muestra más que simplemente
las estadísticas de utilización de memoria. He aquí la salida de vmstat 1 10:
Durante esta muestra de 10 segundos, la cantidad de memoria libre (el campo free) varía de alguna
forma, y hay un poco de E/S relacionada con la memoria de intercambio (los campos si y so), pero
en general, este sistema está funcionando bien. Sin embargo, se duda cuánta carga adicional de trabajo
pueda manejar, dada la utilización actual de memoria.
Cuando se investiga sobre cuestiones relacionadas a la memoria, a menudo es necesario determinar
cómo el subsistema de memoria virtual de Red Hat Enterprise Linux está utilizando el sistema de
memoria. Usando sar, es posible examinar este aspecto de rendimiento del sistema con muchos más
detalles.
Revisando el informe de sar -r, podemos examinar la utilización de memoria principal y de inter-
cambio más de cerca:
Los campos kbmemfree y kbmemused muestran las estadísticas típicas de memoria libre y en uso,
mostrando el porcentage de memoria utilizada en el campo %memused. Los campos kbbuffers and
kbcached muestran cuántos kilobytes de memoria son asignados a la memoria intermedia (buffers)
y a la caché de datos global del sistema.
El campo kbmemshrd siempre es cero para los sistemas usando el kernel 2.4 de Linux (tal como Red
Hat Enterprise Linux).
Se han truncado las líneas de este informe para que encajen en la página. He aquí el resto de cada
línea, con la marca de tiempo agregada a la izquierda para facilitar la lectura:
Observe que, en promedio, hay tres veces menos páginas traídas desde la memoria de intercambio
(pswpin/s) que las que se devuelven a esta (pswpout/s).
Para entender mejor cómo se utilizan las páginas, consulte el informe sar -B:
Aquí podemos determinar cuántos bloques por segundo son paginados desde el disco (pgpgin/s)
y paginados de vuelta al disco (pgpgout/s). Estas estadísticas sirven como un barómetro para la
actividad general de la memoria virtual.
Sin embargo, se puede aprender mucho más examinando los otros campos en este informe. El kernel
de Red Hat Enterprise Linux marca todas las páginas como activas o inactivas. Como su nombre
lo implica, las páginas activas son las que están siendo utilizadas de alguna manera (como páginas
de procesos o de memoria intermedia, por ejemplo), mientras que las inactivas no. Este informe de
ejemplo muestra que la lista de páginas activas (el campo activepg) promedia aproximadamente
660MB3.
El resto de los campos en este informe se concentran en la lista inactiva — páginas que, por alguna
razón o la otra, no se han utilizado recientemente. El campo inadtypg muestra cuántas páginas
inactivas estan sucias (dirty o modificadas) y requieren ser escritas al disco. Por otro lado, el campo
inaclnpg, muestra cuántas páginas inactivas están limpias (clean o sin modificar) y no necesitan ser
escritas a disco.
El campo inatarpg representa el tamaño deseado de la lista inactiva. Este valor es calculado por el
kernel de Linux y tiene un tamaño tal que la lista inactiva permanezca lo suficientemente grande para
actuar como un fondo para propósitos de reemplazo de páginas.
Utilice el informe sar -R para datos adicionales sobre el status de páginas (específicamente, la fre-
cuencia con la que las páginas cambian de estado). He aquí un ejemplo de este informe:
3. El tamaño de página bajo Red Hat Enterprise Linux en el sistema x86 utilizado en este ejemplo, es de 4096
bytes. Los sistemas basados en otras arquitecturas pueden tener diferentes tamaños de páginas.
Capítulo 4. Memoria física y virtual 61
Las estadísticas sobre este informe particular sar, son únicas, en el sentido de que pueden ser positi-
vas, negativas o cero. Cuando son positivas, el valor indica la tasa a la que se estan incrementando este
tipo de páginas. Si es negativo, el valor indica la tasa a la que se estan reduciendo este tipo de páginas.
Un valor de cero indica que las páginas de este tipo no se están incrementando ni disminuyendo.
En este ejemplo, la última parte muestra que se asignan un poco más de tres páginas por segundo
desde la lista de páginas libres (el campo frmpg/s) y se añade casi una página por segundo a la
página caché (el campo campg/s). La lista de páginas utilizadas como memoria de intercambio (el
campo bugpg/s) gana aproximadamente una página cada dos segundos, mientras que la lista de
páginas de memoria compartidas (el campo shmpg/s) ni gana ni pierde páginas.
• La página man de free(1) — Conozca cómo mostrar las estadísticas de la memoria libre y uti-
lizada.
• La página man de vmstat(8) — Aprenda a desplegar una descripción general concisa de la uti-
lización de procesos, memoria, swap, E/S, sistema y CPU.
• La página man de sar(1) — Aprenda a producir un informe de utilización de recursos del sistema.
• La página man de sa2(8) — Conozca cómo generar archivos de informes diarios de utilización de
recursos del sistema.
• El Manual de administración del sistema de Red Hat Enterprise Linux; Red Hat, Inc. — Incluye
un capítulo sobre muchas de las herramientas de supervisión de recursos discutidas aquí.
• Linux Performance Tuning and Capacity Planning por Jason R. Fink y Matthew D. Sherer; Sams
— Proporciona descripciones detalladas sobre las herramientas de supervisión de recursos presen-
tadas aquí e incluye otras que serían apropiadas para necesidades de supervisión de recursos más
específicas.
• Red Hat Linux Security and Optimization por Mohammed J. Kabir; Red Hat Press — Aproximada-
mente las primeras 150 páginas de este libro discuten problemas relacionados al rendimiento. Esto
incluye capítulos dedicados a problemas de rendimiento específicos a la red, Web, correo elec-
trónico y servidores de archivos.
• Linux Administration Handbook por Evi Nemeth, Garth Snyder, y Trent R. Hein; Prentice Hall —
Este libro proporciona un capítulo corto similar al ámbito de este libro, pero incluye una sección
interesante sobre el diagnóstico de un sistema que repentinamente se vuelve lento.
• Linux System Administration: A User’s Guide por Marcel Gagne; Addison Wesley Professional —
Contiene un pequeño capítulo sobre la supervisión y optimización del rendimiento.
• Essential System Administration (3rd Edition) por Aeleen Frisch; O’Reilly & Associates — El
capítulo sobre la administración de recursos contiene información general útil con algunos aspectos
específicos para Linux.
• System Performance Tuning (2nd Edition) por Gian-Paolo D. Musumeci y Mike Loukides; O’Reilly
& Associates — Aunque está orientado en gran medida hacia las implementaciones tradicionales
de UNIX, hay muchas referencias específicas a Linux a lo largo del libro.
Capítulo 5.
Administración del Almacenamiento
Si hay una cosa que toma la mayor parte del día de un administrador de sistemas, esto es la ad-
ministración del almacenamiento. Pareciera que los discos nunca tienen espacio suficiente, que se
sobrecargan con actividad de E/S o que fallan repentinamente. Por eso es vital tener un conocimiento
práctico sólido del almacenamiento en disco para poder ser un administrador de sistemas exitoso.
1. Algunos dispositivos ópticos - principalmente unidades de CD-ROM - utilizan diferentes enfoques para el
almacenamiento de datos; estas diferencias se mencionan en este capítulo en su momento pertinente.
64 Capítulo 5. Administración del Almacenamiento
• Moverse rápidamente
• Moverse con gran precisión
El brazo de acceso se debe mover lo más rápido posible, pues el tiempo que se pierde moviendo el
cabezal desde una posición a la otra es tiempo perdido. Esto se debe a que no se pueden leer o escribir
datos hasta que el brazo se detenga2 .
El brazo de acceso debe ser capaz de moverse con gran precisión porque, como se mencionó ante-
riormente, el área de superficie utilizada por los cabezales es muy pequeña. Por lo tanto, para usar
eficientemente la capacidad de almacenamiento del plato, es necesario mover las cabezas solamente
lo suficiente para asegurar que cualquier datos escrito en la nueva posición no sobreescribe los datos
escritos en la posición previa. Esto tiene el efecto de dividir conceptualmente la superficie del plato
en miles o más aros concéntricos o pistas. El movimiento del brazo de acceso desde una pista a la
siguiente a menudo se conoce como búsqueda y el tiempo que toma el brazo de acceso para moverse
de una pista a otra se le conoce como tiempo de búsqueda.
2. En algunos dispositivos ópticos (tales como unidades de CD-ROM), el brazo de acceso se mueve contínu-
amente, causando que el ensamble del cabezal describa una ruta en espiral sobre la superficie del plato. Esta es
una diferencia fundamental en como se utiliza el medio de almacenamiento y refleja los orígenes del CD-ROM
como un medio para almacenar música, donde la recuperación contínua de datos es una operación más común
que la búsqueda de un punto de datos específico.
Capítulo 5. Administración del Almacenamiento 65
Cuando existen múltiples platos (o un plato que con ambas superficies utilizadas para almacenamiento
de datos), se apilan los brazos para cada superficie, permitiendo que se pueda acceder a la misma
pista en cada superficie simultáneamente. Si se pueden visualizar las pistas para cada superficie con
el acceso estacionario sobre una pista dada, apareceran como que están apiladas una sobre la otra,
haciendo una forma cilíndrica; por tanto, el conjunto de pistas accesibles en una posición dada de los
brazos de acceso se conocen como cilindro.
• Cilindros
• Cabezas
• Sectores
Las secciones siguientes describen como una dirección hipotética puede describir una ubicación física
específica en el medio de almacenamiento.
3. Mientras que los dispositivos de almacenamiento masivo anteriores utilizaban el mismo número de sectores
para cada pista, los dispositivos más recientes dividen el rango de cilindros en "zonas" diferentes, con cada zona
teniendo un número de sectores por pista. La razón para esto es aprovechar el espacio adicional entre sectores en
los cilindros externos, donde existe más espacio sin utilizar.
66 Capítulo 5. Administración del Almacenamiento
5.2.1.1. Cilindros
Como se indicó anteriormente, el cilindro denota una posición específica del brazo de acceso (y por
lo tanto, las cabezas de lectura/escritura). Especificando un cilindro particular, estamos eliminando
todos los otros cilindros , reduciendo nuestra búsqueda a solamente una pista para cada superficie en
el dispositivo de almacenamiento masivo.
En la Tabla 5-1, se ha llenado la primera parte de una dirección basada en la geometría. Dos compo-
nentes más a esta dirección — la cabeza y el sector — permanecen indefinidos.
5.2.1.2. Cabezas
Aunque en el sentido más estricto estamos seleccionando un plato de disco particular, puesto que
la superficie tiene un cabezal de lectura/escritura dedicado a el, es más fácil pensar en términos de
interactuar con un cabezal específico. De hecho, la electrónica subyacente del dispositivo actualmente
selecciona un cabezal — eliminando la selección de el resto — solamente interactúa con el cabezal
por la duración de la operación de E/S. Todas las otras pistas que conforman el cilindro actual han
sido eliminados.
En la Tabla 5-2, se llenan las primeras dos partes de una dirección basada en la geometría. Permanece
indefinido un componente de esta dirección — el sector.
5.2.1.3. Sectores
Especificando un sector específico, se completa la dirección y se logra identificar unívocamente el
bloque de datos deseado.
En la Tabla 5-3, se llena la dirección completa basada en la geometría. Esta dirección identifica la
ubicación de un bloque específico fuera de todos los otros bloques en ese dispositivo.
específico, pero esto solamente aplica si no cambia el esquema de numeración para los cilindros,
cabezales y sectores. Si el esquema de numeración cambia (tal como cuando el software/hardware
interactuando con el dispositivo de almacenamiento cambia), entonces la correspondencia entre las
direcciones basadas en la geometría y sus correspondientes bloques de datos serán diferentes, ha-
ciendo imposible acceder a los datos deseados.
Debido al potencial para esta ambigüedad, se desarrolló una solución diferente. La sección siguiente
describe esto en más detalles.
FD-400
Originalmente diseñada para las unidades de discos flexibles de 8 pulgadas a mitad de los años
70. Utilizaba un cable conductor 44 con un conector a la tarjeta de circuitos que suministraba
tanto energía como datos.
68 Capítulo 5. Administración del Almacenamiento
SA-400
Otra interfaz para unidades de discos flexible (esta vez diseñada originalmente a finales de los
70 para el entonces nuevo disco de 5.25 pulgadas). Utilizaba un cable conductor de 34 con un
conector de socket estándar. Una versión ligeramente modificada de esta interfaz aún se usa hoy
día para las unidades de 5.25 pulgadas y las unidades de disco de 3.5 pulgadas.
IPI
Las siglas vienen de Intelligent Peripheral Interface; esta interfaz se utilizó en las unidades de
discos de 8 y 14 pulgadas desarrollada para los minicomputadores en los años 70.
SMD
Un sucesor de IPI, SMD (viene de Storage Module Device o Dispositivo Modular de Almace-
namiento ) se utilizó en los discos duros de los minicomputadores de 8 y 14 pulgadas de los años
70 y 80.
ST506/412
Una interfaz de disco duro que viene de los años 80. Utilizado en muchas computadoras person-
ales de hoy, esta interfaz tiene dos cables - un conducto de 34 y otro de 20.
ESDI
Viene de Enhanced Small Device Interface, interfaz de dispositivos pequeños mejorada, esta
interfaz se consideró un sucesor de ST506/412 con tasas de transferencia más rápida y soportando
tamaños más grandes de unidades. La interfaz ESDI, de mediados de los 80, utilizaba el mismo
esquema de conexión de dos cables que su predecesor.
También existían interfaces propietarias de los fabricantes más grandes (principalmente IBM y DEC).
La intención detrás de la creación de estas interfaces fue intentar proteger el negocio extremadamente
lucrativo de los periféricos para sus computadores. Sin embargo, debido a su naturaleza propietaria los
dispositivos compatibles con estas interfaces eran más costosos que sus equivalentes no propietarios.
Debido a esto, estas interfaces fallaron en alcanzar una popularidad a largo plazo.
Mientras que las interfaces propietarias han desaparecido en gran medida y las interfaces descritas
aquí al principio de esta sección ya casi no tienen mucha posición (si es que tienen alguna) en el
mercado, es importante conocer sobre estas interfaces que ya no se usan, pues prueban un punto —
nada en la industria de la computación permanece constante por mucho tiempo. Por lo tanto, siempre
esté atento a las nuevas tecnologías de interfaces; un día puede encontrar una que sea más adecuada
para sus necesidades que las ofertas tradicionales en uso.
• IDE/ATA
• SCSI
5.3.2.1. IDE/ATA
IDE viene de Integrated Drive Electronics. Esta interfaz se originó a finales de los 80 y utiliza un
conector de 40 pines.
Capítulo 5. Administración del Almacenamiento 69
Nota
En realidad, el nombre correcto para esta interfaz es "AT Attachment" (o ATA), pero el término "IDE"
(que en realidad se refiere a un dispositivo de almacenamiento masivo compatible con ATA) todavía
se utiliza. Sin embargo, para el resto de esta sección utiliza el nombre apropiado de esta interfaz -
ATA.
ATA implementa una topología de bus, con cada bus soportando dos dispositivos de almacenamiento
masivo. Estos dos dispositivos se conocen como maestro y esclavo. Estos términos pueden llevar
a confusiones, pues implican un tipo de relación entre los dispositivos; pero este no es el caso. La
selección de cual dispositivo es el maestro y cual es el esclavo, normalmente se selecciona a través
del uso de bloques de jumpers en cada dispositivo.
Nota
Una innovación más reciente es la introducción de las capacidades de selección de cable a ATA.
Esta innovación requiere el uso de un cable especial, un controlador ATA y dispositivos de almace-
namiento masivo que soporten la selección del cable (normalmente a través de una configuración
en jumpers de "selección de cable"). Cuando se configura de la forma adecuada, la selección de
cable elimina la necesidad de cambiar los jumpers cuando se mueven dispositivos; en vez de esto,
la posición del dispositivo en el cable ATA denota si se trata del maestro o del esclavo.
Una variación de esta interfaz ilustra las formas únicas en que se pueden mezclar las tecnologías y tam-
bién introduce nuestro próximo estándar de la industria para las interfaces. ATAPI es una variación de
la interfaz ATA y viene de AT Attachment Packet Interface. Utilizada principalmente por las unidades
de CD-ROM, una ATAPI sigue los aspectos eléctricos y mecánicos de la interfaz ATA pero utiliza el
protocolo de comunicación de la próxima interfaz discutida — SCSI.
5.3.2.2. SCSI
Formalmente conocida como Small Computer System Interface, Interfaz para sistemas de
computación pequeños, SCSI como se conoce hoy día se originó a principios de los 80 y se declaró
un estándar en 1986. De forma similar que ATA, SCSI utiliza una topología de bus. No obstante ese
es el fin de las semejanzas.
El uso de una topología de bus significa que cada dispositivo en el bus debe ser identificado de forma
única de alguna forma. Mientras que ATA soporta solamente dos dispositivos diferentes para cada
bus y les dá un nombre específico, SCSI hace esto asignando a cada dispositivo en el bus SCSI una
dirección numérica única o SCSI ID. Cada dispositivo en un bus SCSI se debe configurar (usualmente
mediante jumpers o switches4 ) para responder a su SCSI ID.
Antes de continuar más allá con esta discusión, es importante notar que el estándar SCSI no representa
una única interfaz, pero una familia de interfaces. Hay varias áreas en las que SCSI varía:
4. Algunos hardware de almacenamiento (usualmente aquellos que incorporan conductores de unidades re-
movibles) están diseñados para que el hecho de conectar un módulo en un lugar, automáticamente configura el
SCSI ID a un valor adecuado.
70 Capítulo 5. Administración del Almacenamiento
El estándar SCSI original describe una topología de bus en la cual ocho líneas en el bus se utilizan
para la transferencia de datos. Esto significa que los primeros dispositivos SCSI podían transferir datos
solamente un byte a la vez. En años posteriores, se expandió el estándar para permitir implementa-
ciones en las que se utilizaban dieciséis líneas, doblando la cantidad de datos que podían transmitir
los dispositivos. Las implementaciones originales SCSI de "8 bits" se les conocía como SCSI angosto
o narrow SCSI, mientras que las implementaciones de 16 bits se conocieron como SCSI amplio.
Originalmente, la velocidad del bus para SCSI estaba a 5MHz, permitiendo una tasa de transferencia
de 5MB/segundo en el bus de 8-bits original. Sin embargo, las revisiones subsecuentes duplicaron la
velocidad a 10MHz, resultando en 10MB/segundo para el SCSI angosto y 20MB/segundo para SCSI
amplio. Con respecto al ancho del bus, los cambios en la velocidad del bus recibieron nuevos nombres,
llamando a la velocidad de 10MHz rápida. Las mejoras subsecuentes empujaron la velocidad del bus
a ultra (20MHz), fast-40 (40MHz) y fast-805. Incrementos posteriores en las tasas de transferencia
llevaron a muchas versiones diferentes de la velocidad ultra160.
Combinando estos términos, se pueden nombrar de forma concisa varias configuraciones SCSI. Por
ejemplo, "ultra-wide SCSI" se refiere a un bus SCSI de 16-bits funcionando a 20MHz.
El estándar SCSI original utilizaba señalización single-ended; esto es una configuración eléctrica
donde solamente se utiliza un conductor para pasar una señal eléctrica. Las implementaciones pos-
teriores también permitieron el uso de la señalización diferencial, donde se utilizan dos conductores
para pasar una señal. El SCSI diferencial (el cual posteriormente se llamó diferencial de alto voltaje o
HVD SCSI) tiene el beneficio de una sensibilidad reducida ante el ruido eléctrico y permitía mayores
largos de cable, pero nunca se volvió popular en el mercado de la computación convencional. Una im-
plementación posterior, conocida como diferencial de bajo voltaje (LVD), finalmente se ha convertido
en el requerimiento para las velocidades de bus altas.
El ancho de un bus SCSI no solamente dicta la cantidad de datos que se pueden transferir con cada
ciclo del reloj, pero también determina cuantos dispositivos se pueden conectar a un bus. El SCSI
normal soporta 8 dispositivos direccionados unívocamente, mientras que SCSI ancho soporta 16. En
cualquier caso, debe asegurarse de que todos los dispositivos están configurados a un único ID SCSI.
Dos dispositivos compartiendo un mismo ID produce problemas que pueden llevar a corrupción de
los datos.
Otra cosa a tener en mente es que cada dispositivo en el bus utiliza un ID. Esto incluye el controlador
SCSI. A menudo los administradores de sistemas se olvidan de esto e inconscientemente configuran
un dispositivo a utilizar el mismo ID SCSI que el controlador de bus. Esto significa que, en práctica,
solamente 7 dispositivos (o 15 para SCSI ancho) pueden estar presentes en un bus sencillo, pues cada
bus debe reservar un ID para el controlador.
Sugerencia
La mayoría de las implementaciones incluyen alguna forma de escanear el bus SCSI; pero esto a
menudo se utiliza para confirmar que todos los dispositivos esten correctamente configurados. Si
el escaneo de un bus devuelve el mismo dispositivo para cada ID SCSI, ese dispositivo ha sido
configurado de forma incorrecta al mismo ID SCSI que el controlador. Para resolver este problema,
reconfigure el dispositivo para que utilice un ID SCSI diferente (y único).
Debido a la arquitectura orientada al bus de SCSI, es necesario terminar correctamente ambas puntas
del bus. La terminación se logra colocando una carga con la impedancia correcta en cada conductor
que comprende el bus SCSI. La terminación es un requerimiento eléctrico; sin el, las diferentes señales
presentes en el bus se reflejaran fuera del bus, mutilando toda la comunicación.
5. Fast-80 técnicamente no es un cambio en la velocidad del bus; en cambio, se mantuvo el bus de 40MHz,
pero los datos fueron registrados al pulso en subida y bajada del reloj, duplicando efectivamente la salida.
Capítulo 5. Administración del Almacenamiento 71
Muchos (pero no todos) los dispositivos SCSI vienen con terminadores internos que se pueden habil-
itar o inhabilitar usando jumpers y switches. También están disponibles los terminadores externos.
Una última cosa a tener en mente sobre SCSI — no es simplemente una interfaz estándar para los
dispositivos de comunicación masiva. Muchos otros dispositivos (tales como escaners, impresoras y
dispositivos de comunicación) utilizan SCSI. Aunque son mucho menos comunes que los dispositivos
de almacenamiento masivo SCSI, estos dispositivos si existen. Sin embargo, es posible que, con la
llegada de USB y IEEE - 1394 (a menudo llamados Firewire), estas interfaces se utilizaran más para
estos tipos de dispositivos en el futuro.
Sugerencia
Las interfaces USB y IEEE - 1394 también están comenzando a hacer incursiones en el campo
del almacenamiento masivo; sin embargo, no existen actualmente dispositivos de almacenamiento
masivo nativos USB o IEEE-1394. En cambio, las ofertas actuales están basadas en ATA o en SCSI
con circuitería de conversión externa.
Sugerencia
La forma más efectiva de mejorar el rendimiento del disco duro es reduciendo la actividad mecánica
de la unidad tanto como sea posible.
El tiempo de acceso promedio de una unidad de disco duro promedio es de aproximadamente 8.5
milisegundos. Las secciones siguientes desglosan este número en más detalle, mostrando como cada
componente impacta el rendimiento general del disco.
Es difícil lograr estos objetivos conflictivos, un hecho que se demuestra por la cantidad de tiempo que
se toma el brazo de acceso cuando se compara con el tiempo tomado por los otros componentes. Por
lo tanto, el movimiento del brazo de acceso es el principal determinante del rendimiento general del
disco duro, con un promedio de 5.5 milisegundos.
6. En realidad, esto no es totalmente correcto. Todas las unidades de disco duro incluyen cierta cantidad de
memoria caché que se utiliza para mejorar el rendimiento de las lecturas. Sin embargo, cualquier petición de E/S
para leer datos se debe eventualmente satisfacer leyendo físicamente los datos desde la media de almacenamiento.
Esto significa que, mientras que la caché puede aliviar los problemas de rendimiento de lecturas de E/S, nunca se
puede eliminar totalmente el tiempo requerido para leer físicamente los datos desde la media.
7. Algunos discos ópticos presentan este comportamiento, debido a las limitaciones físicas de la tecnología
utilizada para implementar el almacenamiento óptico de datos.
74 Capítulo 5. Administración del Almacenamiento
Sin embargo, con múltiples solicitantes, se pueden soportar mayores cargas de E/S. Siempre y cuando
se tenga suficiente poder de CPU para soportar el procesamiento necesario para generar las peticiones
de E/S, el añadir más solicitantes de E/S también incrementa la carga resultante de E/S.
Sin embargo, hay otro aspecto sobre esto que también tiene una influencia en la carga de E/S resul-
tante. Esto se discute en la sección siguiente.
5.5.1. Particiones/cuotas
Lo primero que sorprende a un administrador de sistemas es que el tamaño de una unidad de disco
puede ser mucho mayor que lo necesario para la tarea a realizar. Como resultado, muchos sistemas
operativos tienen la capacidad de dividir una unidad de disco duro en varias particiones o secciones.
Puesto que estas se encuentran separadas unas de otras, las particiones pueden tener diferentes can-
tidades de espacio utilizado, y ese espacio de ninguna manera impacta el espacio utilizado por las
otras particiones. Por ejemplo, la partición que almacena los archivos del sistema operativo no se ve
Capítulo 5. Administración del Almacenamiento 75
afectada aún cuando la partición que contiene los archivos de usuarios se llena completamente. El
sistema operativo todavía tiene espacio libre para su propio uso.
Aunque puede parecer un enfoque simplista, puede pensar en las particiones como unidades de disco
individuales. De hecho, algunos sistemas operativos de hecho se refieren a las particiones como
"unidades". Sin embargo, este punto de vista no es totalmente correcto; por lo tanto, es importante
observar las particiones un poco más de cerca.
• Geometría de la partición
• Tipo de la partición
• Campo del tipo de partición
Estos atributos se exploran con más detalles en las secciones siguientes.
5.5.1.1.1. Geometría
La geometría de una partición se refiere a su colocación física en la unidad de disco. La geometría se
puede especificar en términos de cilindros de comienzo y final, cabezales y sectores, aunque a menudo
las particiones comienzan y terminan en los límites del cilindro. El tamaño de una partición se define
como la cantidad de almacenamiento entre el cilindro de comienzo y el del final.
• Particiones Primarias
• Particiones extendidas
• Particiones lógicas
Las secciones siguientes describen cada tipo de partición.
sistemas operativos más antigüos con sistemas de archivos más primitivos permitían solamente carac-
teres alfanuméricos (y solamente mayúsculas) y únicamente nombres de archivos 8.3 (lo que significa
un nombre de archivo de ocho carácteres, seguido de una extensión de tres carácteres).
• Leer el archivo
• Escribir al archivo
• Ejecutar el archivo
Varios sistemas de archivos pueden extender la lista para incluir otras acciones tales como eliminar, o
hasta la habilidad de hacer cambios al control de acceso del archivo.
78 Capítulo 5. Administración del Almacenamiento
a supervisar existe en un sólo servidor centralizado. Los respaldos también se pueden simplificar en
gran medida usando un servidor de almacenamiento centralizado. Es posible hacer respaldos basados
en la red para múltiples clientes, pero se requiere más trabajo para configurar y mantener.
Existen varias tecnologías disponibles de almacenamiento en red; seleccionar una puede ser compli-
cado. Casi todos los sistemas operativos en el mercado hoy día incluyen alguna forma de acceder
a almacenamiento en red, pero las diferentes tecnologías son incompatibles entre ellas. ¿Cuál es el
mejor enfoque para determinar la mejor tecnología a implementar?
El enfoque que usualmente deriva los mejores resultados es dejar que las capacidades incorporadas
del cliente decidan el problema. Esto tiene varias razones:
Cualquiera de estos problemas puede dejar su centro de datos inútil, sin embargo los administradores
de sistemas deben enfrentarse a este tipo de problemas todos los días. ¿Qué se puede hacer?
Afortunadamente, existe una tecnología que puede resolver cada uno de estos problemas. El nombre
de esta tecnología es RAID.
• Nivel 0
• Nivel 1
• Nivel 5
Las secciones siguientes discuten cada uno de estos niveles en más detalles.
5.6.2.1.1.1. RAID 0
La configuración del disco conocida como RAID 0 tiende a confundir un poco, pues este es el único
tipo de nivel RAID que no implementa absolutamente ninguna redundancia. Sin embargo, aún cuando
RAID 0 no tiene ventajas con respecto a su confiabilidad, si tiene otros beneficios.
Una formación RAID 0 consiste de dos o más unidades de disco. La capacidad del almacenamiento en
cada disco se divide en pedazos, los cuales representan algún múltiplo del tamaño de bloque nativo del
disco. Los datos escritos a la formación se escriben, pedazo a pedazo, en cada unidad de la formación.
Los pedazos se pueden ver como tiras o rayas que se van juntando a lo largo de cada unidad en la
formación; de allí el otro nombre con el que se conoce a RAID 0: striping.
Por ejemplo, con una formación de dos discos y un tamaño de pedazos de 4KB, el escribir 12KB
de datos a la formación, produce que los datos se escriban en tres pedazos de 4KB a las unidades
siguientes:
8. Cuando comenzaron las primeras investigaciones de RAID, el acrónimo venía de Redundant Array of Inex-
pensive Disks, pero con el paso del tiempo los discos "independientes" que RAID pretendía sustituir se volvieron
más y más económicos, dejando la cuestión del costo un poco sin sentido.
82 Capítulo 5. Administración del Almacenamiento
• Tamaño total más grande - RAID 0 se puede construir de manera que es más grande que un único
disco, haciendo más fácil el almacenamiento de grandes archivos.
• Mejor rendimiento de lecturas/escrituras - Las cargas por E/S en una formación RAID 0 se pueden
distribuir uniformemente entre todas las unidades en la formación (asumiendo que todas las E/S no
están concentradas en un único pedazo)
• No se desperdicia espacio - Todo el almacenamiento en todas las unidades en la formación están
disponibles para almacenamiento de datos
Comparado con un disco sencillo, RAID 0 tiene las siguientes desventajas:
• Menos confiable - Cada disco en un RAID 0 debe estar operativo para que la formación esté
disponible; una falla en un disco-N de RAID 0 resulta en la eliminación de 1/N avo de todos los
datos, dejando la formación inutilizable
Sugerencia
Si tiene problemas para distinguir los diferentes niveles de RAID, simplemente recuerde que RAID 0
tiene un porcentaje de redundancia cero.
5.6.2.1.1.2. RAID 1
RAID 1 utiliza dos (aunque algunas implementaciones soportan más) unidades de disco idénticas.
Todos los datos son escritos a ambas unidades, haciendolos imágenes espejo. Por eso es que RAID 1
a menudo se conoce como mirroring.
Cuando los datos son escritos a una formación RAID 1, deben efectuarse dos escrituras físicas si-
multáneas: una al primer disco y otra al segundo. La lectura de datos, por otro lado, solamente se hace
una vez y se puede llevar a cabo en cualquiera de los discos.
Comparado con un disco único, una formación RAID 1 tiene las ventajas siguientes:
• Redundancia mejorada - Aún si uno de los discos falla, los datos todavía estarán accesibles
• Mejor rendimiento de lecturas - Con ambos discos operacionales, las lecturas pueden ser distribuí-
das uniformemente entre ellos, reduciendo las cargas de E/S por disco
Cuando se compara con un sólo disco de duro, una formación RAID 1 tiene algunas desventajas:
Sugerencia
Si tiene problemas para distinguir los diferentes nivels de RAID, solamente tiene que recordar que
RAID 1 tiene 100 por ciento redundancia.
5.6.2.1.1.3. RAID 5
RAID 5 trata de combinar los beneficios de RAID 0 y RAID 1, a la vez que trata de minimizar sus
desventajas.
Igual que RAID 0, un RAID 5 consiste de múltiples unidades de disco, cada una dividida en pedazos.
Esto permite a una formación RAID 5 ser más grande que una unidad individual. Como en RAID 1,
una formación RAID 5 utiliza algo de espacio en disco para alguna forma de redundancia, mejorando
así la confiabilidad.
Sin embargo, la forma en que RAID 5 funciona es diferente a RAID 0 o 1.
Una formación RAID 5 debe consistir de al menos tres discos idénticos en tamaño (aunque se pueden
utilizar más discos). Cada unidad está dividida en pedazos y los datos se escriben a los pedazos
siguiendo un orden. Sin embargo, no cada pedazo está dedicado al almacenamiento de datos como en
RAID 0. En cambio, en una formación con n unidades en ella, el enésimo pedazo está dedicado a
la paridad.
Los pedazos que contienen paridad hacen posible recuperar los datos si falla una de las unidades en
la formación. La paridad en el pedazo x se calcula matemáticamente combinando los datos desde
cada pedazo x almacenado en todas las otras unidades en la formación. Si los datos en un pedazo son
actualizados, el correspondiente pedazo de paridad debe ser recalculado y actualizado también.
Esto también significa que cada vez que se escriben datos en la formación, al menos dos unidades son
escritas a: la unidad almacenando los datos y la unidad que contiene el pedazo con la paridad.
Un punto clave a tener en mente es que los pedazos de paridad no están concentrados en una sola
unidad de la formación. En cambio, están distribuidos uniformemente a lo largo de todas las unidades.
Aún cuando es posible dedicar una unidad específica para que contenga únicamente paridad (de hecho,
esta configuración se conoce como RAID nivel 4), la actualización constante de la paridad a medida
que se escriben datos a la formación significa que la unidad de paridad se podría convertir en un
cuello de botella. Distribuyendo la información de paridad uniformemente a través de la formación,
se reduce este impacto.
Sin embargo, es importante recordar el impacto de la paridad en la capacidad general de almace-
namiento de la formación. Aún cuando la información de paridad se distribuye uniformemente a lo
largo de todos los discos, la cantidad de almacenamiento disponible se reduce por el tamaño de un
disco.
Comparado con un único disco, una formación RAID 5 tiene las ventajas siguientes:
9. Se reduce el rendimiento de E/S cuando se está funcionando con una unidad faltante debido a la sobrecarga
generada en reconstruir los datos faltantes.
84 Capítulo 5. Administración del Almacenamiento
Comparado con un sólo disco, una formación RAID 5 tiene las siguientes desventajas:
• Rendimiento de escritura reducido - Puesto que cada escritura a la formación resulta en al menos
dos escrituras a los discos físicos (una escritura para los datos y otra para la paridad), el rendimiento
de escrituras es peor que en una sola unidad10
• RAID 1+0
• RAID 5+0
• RAID 5+1
Debido a que los RAID anidados se utilizan en ambientes más especializados, no nos vamos a ir
en más detalles aquí. Sin embargo, hay dos puntos a tener en mente cuando se piense sobre RAID
anidados:
• Otros aspectos - El orden en el que los niveles RAID son anidados pueden tener un gran impacto
en la confiabilidad. En otras palabras, RAID 1+0 and RAID 0+1 no son lo mismo.
• Los costos pueden ser altos - Si hay alguna desventaja común a todas las implementaciones RAID,
es el costo; por ejemplo, la formación RAID 5+1 más pequeña posible, consiste de seis discos (y
se requieren hasta más discos para formaciones más grandes).
Ahora que ya hemos explorado los conceptos detrás de RAID, vamos a ver cómo se puede implemen-
tar RAID.
10. También existe un impacto por los cálculos de paridad requeridos por cada escritura. Sin embargo, dependi-
endo de la implementación de RAID 5 específica (específicamente, dónde se realizan los cálculos de paridad en
el sistema), este impacto puede variar desde muy grandes a inexistentes.
Capítulo 5. Administración del Almacenamiento 85
• Proporcionar los medios para permitir a los administradores que mantengan la formación (elimi-
nando y añadiendo discos, iniciando y deteniendo reconstrucciones, etc.)
Hay dos métodos principales que se pueden utilizar para lograr estas tareas. Las próximas dos sec-
ciones las describen en más detalles.
• Programas de utilerías especializados que funcionan como aplicaciones bajo el sistema operativo
anfitrión, presentando una interfaz de software a la tarjeta controladora
• Una interfaz en la tarjeta usando un puerto serial que es accedido usando un emulador de terminal
• Una interfaz tipo BIOS que solamente es accesible durante la prueba de encendido del sistema
Algunas controladores RAID tienen más de un tipo de interfaz administrativa disponible. Por razones
obvias, una interfaz de software suministra la mayor flexibilidad, ya que permite funciones adminis-
trativas mientras el sistema operativo se está ejecutando. Sin embargo, si está arrancando un sistema
operativo desde una controladora RAID, se necesita una interfaz que no requiera un sistema operativo
en ejecución.
Puesto que existen muchas tarjetas controladoras RAID en el mercado, es imposible ir en más detalles
aquí. Lo mejor a hacer en estos casos es leer la documentación del fabricante para más información.
• Algunas personas son muy frugales con su almacenamiento y nunca dejan archivos innecesarios
por allí.
88 Capítulo 5. Administración del Almacenamiento
• Otras personas pareciera que nunca tienen tiempo de desechar archivos que ya no necesitan.
Muchas veces cuando un usuario es responsable de utilizar grandes cantidades de almacenamiento, es
el segundo tipo de persona los que aparecen como responsables.
Atención
Si le presenta esta situación a un usuario, no caiga en la trampa de permitir que el espacio temporal
se convierta en espacio permanente. Deje bien claro que el espacio que se le está ofreciendo es
temporal y que no garantiza retención de datos; nunca se hacen respaldos de ningún tipo en espacio
temporal.
De hecho, muchos administradores a menudo no aprecian este hecho, eliminando automáticamente
cualquier archivo en almacenamiento temporal, que sea mayor que cierta fecha (por ejemplo, una
semana).
Otras veces, el usuario puede tener muchos archivos que son obviamente viejos y que es poco probable
que se necesite acceso contínuo a ellos. Asegúrese de que este es el caso. Algunas veces ciertos
usuarios individuales son responsables de mantener datos en archivo; en tales circunstancias, usted
Capítulo 5. Administración del Almacenamiento 89
debería asistirlos en la tarea de proporcionarles múltiples respaldos que se traten de la misma forma
que los respaldos de archivos desde su centro de datos.
Sin embargo, hay veces en que los datos tienen un valor dudoso. En tales casos, quizás le parezca que
es mejor ofrecerles un respaldo especial para ellos. Usted hace una copia de seguridad de los datos y
le entrega la media de respaldo al usuario, explicándole que ellos son responsables por su resguardo y
que si alguna vez necesitan acceder a esos datos que le solicite a usted (o al personal de operaciones
de su organización — lo que sea apropiado de acuerdo a su organización) para restaurarlos.
Hay unas cosas a tener en mente para que esto no se le devuelva de una forma negativa. Primero y
principal es no incluir archivos que posiblemente necesite restaurar; no seleccione archivos que sean
muy nuevos. Luego, asegurese de que usted es capaz de realizar una restauración si alguien se lo
solicita. Esto significa que la media de respaldo debería ser de algún tipo que será utilizada por cierto
tiempo en su centro de datos.
Sugerencia
Su selección de la media también debería tomar en cuenta aquellas tecnologías que pueden permitir
al usuario manejar la restauración ellos mismos. Por ejemplo, aún cuando respaldar varios gigabytes
en una media de CD-R es mucho más trabajo que ejecutar un sólo comando y montarlo en un
cartucho de cinta de 20GB, considere el hecho de que el usuario podrá luego acceder fácilmente a
su CD-R cuando lo desee — sin molestarlo a usted.
• Acceso a archivos
• Compartir archivos
A menudo este es el caso de usuario#1 que desea dar una copia del archivo al usuario#2. En la mayoría
de las organizaciones, la habilidad de un usuario de acceder a los archivos de otro es estríctamente
eliminada, lo que lleva a este problema.
Se pueden tomar tres enfoques:
• El usuario#1 hace los cambios necesarios para permitir que el usuario#2 acceda al archivo donde
exista.
• Se crea un área de intercambio de archivos para tales propósitos; el usuario#1 coloca una copia del
archivo allí, desde donde puede ser copiado posteriormente por el usuario#2.
• El usuario#1 utiliza el correo electrónico para darle una copia del archivo al usuario#2.
Hay un problema con este primer enfoque -dependiendo de cómo se otorgue el acceso, el usuario#2
puede tener acceso completo a todos los archivos del usuario#1. Peor, puede haberse hecho de una
forma tal que todos los usuarios de su organización tienen acceso a los archivos del usuario#1. Peor
aún, puede que no se revierta el cambio después que el usuario#2 ya no requiera el acceso, dejando
a los archivos del usuario#1 permanentemente disponibles para los otros. Lamentablemente, cuando
los usuarios están a cargo de este tipo de situación, la seguridad raramente es su mayor prioridad.
El segundo enfoque elimina el problema de hacer todos los archivos del usuario#1 accesibles a otros.
Sin embargo, una vez que el archivo está en el área de intercambio, es legible (y dependiendo de
los permisos, hasta quizás de puede modificar) por todos los otros usuarios. Este enfoque realza la
posibilidad de que el área de intercambio de archivos se llene de archivos, pues a menudo los usuarios
se olvidan de limpiar las cosas.
El tercer enfoque, aunque puede parecer una solución extraña, quizás sea la preferible de la mayoría de
los casos. Con el advenimiento de protocolos de anexos de correo electrónico y programas de correo
más inteligentes, el envio de todo tipo de archivos a través del correo electrónico es una operación
a prueba de tontos, que no requiere implicar a un administrador de sistemas. Por supuesto, está la
posibilidad de que un usuario trate de enviar por correo un archivo de bases de datos de 1GB a 150
personas en el departamento de finanzas, por lo tanto es prudente llevar a cabo un poco de educación
para sus usuarios (y posiblemente colocar limitaciones en el tamaño de los archivos anexos). Sin
embargo, ninguno de estos enfoques resuelve la situación en la que dos o más usuarios necesiten
acceso saliente a un mismo archivo. En estos casos, se requieren otros métodos.
• Los archivos compartidos desde el directorio de un usuario son vulnerables a desaparecer inesper-
adamente cuando el usuario deja la organización o hace algo tan sencillo como reorganizar sus
archivos.
• Mantener el acceso compartido para más de uno o dos usuarios adicionales se vuelve difícil, lo que
a largo plazo lleva al problema del trabajo innecesario requerido cada vez que los usuarios que se
encuentran compartiendo cambian de responsabilidades.
Por lo tanto, la solución preferida es:
Por supuesto este enfoque funcionará bien tanto con un archivo como con varios, y se puede utilizar
para implementar el almacenamiento compartido para grandes proyectos.
Nota
En muchos sistemas operativos, los dispositivos de almacenamiento masivo son nombrados de
acuerdo a su conexión física al sistema. Por lo tanto, añadir o eliminar dispositivos de almace-
namiento masivo puede resultar en cambios inesperados en los nombres de los dispositivos. Cuando
agregue o extraiga almacenamiento, siempre asegurese de revisar (y actualizar, si es necesario) to-
das las referencias a nombres de dispositivos utilizados por su sistema operativo.
1. Instalar el hardware
2. Particionar
3. Formatear la partición(es)
4. Actualizar la configuración del sistema
5. Modificar la planificación de los respaldos
Las secciones siguientes detallan cada paso.
Sugerencia
No importa qué tipo de hardware utilice, siempre debe considerar la carga que un nuevo disco añade
al subsistema de E/S de su computador. En general, debería tratar de distribuir la carga de E/S de
su disco sobre todos los canales/buses disponibles. Desde un punto de vista de rendimiento, esto
es mucho mejor que poner todas las unidades de disco en un canal y dejando otro vacío y ocioso.
Capítulo 5. Administración del Almacenamiento 93
• Escribir los datos a un dispositivo de respaldo y restaurarlos después de instalar el nuevo disco duro
• Utilizar su red para copiar los datos a otro sistema con espacio suficiente, restaurando los datos
después de instalar el nuevo disco duro
• Utilizar el espacio ocupado físicamente por un tercer disco duro mediante:
1. La eliminación temporal del tercer disco duro
2. Instalando temporalmente el nuevo disco en su lugar
3. Copiando los datos al nuevo disco
4. Eliminando el viejo disco duro
5. Reemplazándolo con el nuevo disco
6. Reinstalando el tercer dico duro que ha sido temporalmente eliminado
• Instalar temporalmente la unidad de disco original y el nuevo disco en otro computador, copiar los
datos al nuevo disco y luego instalar el nuevo disco en el computador original
94 Capítulo 5. Administración del Almacenamiento
Como puede ver, algunas veces se debe invertir un poco de esfuerzo para pasar los datos (y el nuevo
hardware) a donde tienen que ir.
• Hay un bus con menos del máximo número de unidades de disco conectadas a el
• Hay un bus sin unidades de disco conectadas
• No hay espacio disponible en ningún bus
La primera situación usualmente es la más fácil, pues es probable que el cable tenga un conector sin
utilizar en el cual se podría conectar el nuevo disco. Sin embargo, si el cable no tiene un conector sin
utilizar, es necesario reemplazar el cable existente con uno que tenga al menos un conector más.
La segunda situación es un poco más complicada, si no fuese por el cable que se debe obtener para
que se pueda conectar una unidad de disco al bus.
Si no hay espacio para una unidad de disco adicional, debe tomar una decisión. Usted:
• Escribir los datos a un dispositivo de respaldo y restaurarlos después de instalar la nueva unidad de
disco
• Utilizar su red para copiar los datos a otro sistema con espacio libre suficiente y restaurarlos después
de instalar la nueva unidad de disco
• Utilizar el espacio ocupado físicamente por un tercer disco duro mediante:
Capítulo 5. Administración del Almacenamiento 95
• Instalar temporalmente la unidad de disco original y el nuevo disco en otro computador, copiar los
datos al nuevo disco y luego instalar el nuevo disco en el computador original
Una vez que tenga un conector disponible en el que conectar la nueva unidad de disco, debe asegurarse
de que el ID de su SCSI está configurado correctamente. Para hacer esto, debe saber qué están usando
todos los otros dispositivos en el bus (incluyendo el controlador) para sus IDs SCSI. La forma más
fácil de hacer esto es acceder al BIOS del controlador SCSI. Esto normalmente se hace presionando
una secuencia de teclas específicas durante la secuencia de inicio del sistema. Puede entonces ver la
configuración de la controladora SCSI, junto con todos los dispositivos conectados a sus buses.
Luego, debe considerar la terminación de los buses. Cuando se añade una nueva unidad de disco, la
regla es bien directa — si el nuevo disco es el último (o el único) dispositivo en el bus, debe tener la
terminación activada. De lo contrario, se debe desactivar la terminación.
En este punto, puede pasar al siguiente paso en el proceso — particionar su nueva unidad de disco.
5.7.4.1.2. Particionar
Una vez instalado el disco, es hora de crear una o más particiones para colocar el espacio disponible
a su sistema operativo. Aunque las herramientas varían dependiendo del sistema operativo, los pasos
básicos son los mismos:
Atención
Cuando particione un nuevo disco, es vital que esté seguro de que la unidad que piensa particionar
es la correcta. De lo contrario, puede inconscientemente particionar una unidad que ya está en uso,
lo que resultaría en la pérdida de los datos.
También verifique que ha decidido el mejor tamaño para su partición. Siempre tome este punto
seriamente, pues cambiarlo más adelante es mucho más difícil que tomarse un poco de tiempo
ahora en pensar las cosas.
96 Capítulo 5. Administración del Almacenamiento
2. Modifique la planificación del respaldo para que no se continúe respaldando esa unidad de disco
3. Actualice la configuración del sistema
4. Borre los contenidos de la unidad de disco
5. Extraiga la unidad de disco
Como puede ver, comparado con el proceso de instalación, hay unos pocos pasos adicionales a tomar.
Estos pasos se discuten en las secciones siguientes.
Sugerencia
Tenga en cuenta que, además de cualquier pauta de retención de datos que su organización pueda
tener, probablemente también existan ciertos requerimientos legales para mantener los datos por
cierto período de tiempo. Por lo tanto, asegúrese de consultar con el departamento que haya sido
responsable por los datos mientras estos se encontraban en uso; ellos deberían saber cuál es el
período de retención adecuado.
Por otro lado, si todavía los datos están siendo utilizados, entonces se deberían dejar en el sistema
más apropiado para su uso. Por supuesto, si este es el caso, quizás sería más fácil mover los datos
reinstalando la unidad de disco en el nuevo sistema. Si hace esto, debería efectuar un respaldo com-
pleto de los datos antes — una persona puede dejar caer un disco duro lleno de datos valiosos (y en
consecuencia, perdiendo todo) haciendo algo tan simple como caminando a través del centro de datos.
Importante
Muchas compañías (y agencias del gobierno) tienen métodos específicos de borrar datos desde sus
unidades de disco y otras medias de almacenamiento. Siempre debería asegurarse de que entiende
y sigue estos requerimientos; en muchos casos hay consecuencias legales si no las sigue. El ejemplo
de arriba no se debería de considerar el método perfecto para limpiar una unidad de disco.
Además, las organizaciones que trabajan con datos clasificados quizás tengan procedimientos
legales particulares con respecto a la disposición final de la unidad (tal como la destrucción física
de la unidad). En estos casos, el departamento de seguridad de su organización debería de
indicarle las pautas en esta materia.
98 Capítulo 5. Administración del Almacenamiento
Nota
Los nombres de dispositivos bajo Red Hat Enterprise Linux se determinan en el momento del ar-
ranque.
Por lo tanto, los cambios hechos a la configuración del hardware pueden resultar en cambios en
los nombres de dispositivos cuando el sistema arranca. Debido a esto, pueden surgir problemas si
no se actualizan apropiadamente en la configuración del sistema las referencias a un nombre de
dispositivo.
• Tipo de dispositivo
• Unidad
• Partición
5.9.1.1.2. Unidad
Siguiendo las dos letras para el tipo de dispositivo están una o dos letras que denotan la unidad
específica. El designador de la unidad comienza con "a"para la primera unidad, "b" para la segunda,
y así sucesivamente. Por lo tanto, el primer disco duro en su sistema aparecerá como hda o sda.
Sugerencia
La habilidad de SCSI de direccionar grandes números de dispositivos necesitaba la adición de un
segundo carácter de unidad para soportar sistemas con más de 26 dispositivos SCSI conectados.
Por lo tanto, los primeros 26 discos duros SCSI en un sistema serían llamados sda hasta sdz, los
próximos 26 se llamarán sdaa hasta sdaz y así sucesivamente.
5.9.1.1.3. Partición
La parte final del nombre de dispositivo es un número que representa una partición específica en el
dispositivo, comenzando con "1". El número puede ser de uno o dos dígitos de largo, dependiendo del
número de particiones escritas en el dispositivo específico. Una vez que se conoce el formato para los
nombres de dispositivos, es fácil entender a cual se refiere cada uno. He aquí algunos ejemplos:
1. El administrador del sistema añade un nuevo controlador SCSI para que se puedan añadir dos
nuevas unidades SCSI al sistema (el bus SCSI existente está completamente lleno)
2. Las unidades SCSI originales (incluyendo la primera unidad en el bus: /dev/sda) no se cam-
bian de ninguna manera
3. Se reinicia el sistema
100 Capítulo 5. Administración del Almacenamiento
4. La unidad SCSI anteriormente conocida como /dev/sda ahora tiene un nuevo nombre, porque
la primera unidad SCSI en el nuevo controlador es ahora /dev/sda
En teoría, esto suena como un problema terrible. Sin embargo, en práctica raramente lo es. Raramente
es un problema por varias razones. Primero, las reconfiguraciones de hardware de este tipo no ocurren
a menudo. Segundo, es probable que el administrador del sistema tenga programado un tiempo fuera
de servicio para efectuar los cambios necesarios; los tiempos fuera de servicio se deben planear con
gran cuidado para asegurarse de que no toman más tiempo del estipulado. Esta planificación tiene el
beneficio adicional de traer a la superficie cualquier problema relacionado a cambios de nombres de
dispositivos.
No obstante, algunas organizaciones y configuraciones de sistemas son más propensas a encon-
trarse con este problema. Las organizaciones que requieren reconfiguraciones frecuentes del alma-
cenamiento para satisfacer sus necesidades, a menudo usan hardware que sea capaz de reconfigurarse
sin necesitar tiempo fuera de servicio. Este tipo de hardware de conexión en caliente hace fácil añadir
o eliminar almacenamiento.
Esto es particularmente útil en un escenario de arranque dual y cuando se migren archivos desde un
sistema operativo a otro.
Los sistemas de archivos soportados incluyen (pero no se limitan a):
• EXT2
• EXT3
• NFS
• ISO 9660
• MSDOS
• VFAT
Las secciones siguientes exploran en más detalles los sistemas de archivos más populares.
5.9.2.1. EXT2
Hasta no hace mucho tiempo atrás, el sistema de archivos ext2 era el estándar para Linux. Como tal,
ha recibido pruebas extensivas y se considera uno de los sistemas de archivos más robustos de hoy.
Sin embargo, no existe un sistema de archivo perfecto y ext2 no es la excepción. Un problema infor-
mado con frecuencia es que el sistema de archivos ext2 debe pasar por una inspección de integridad
larga si el sistema fue apagado de forma repentina. Aunque este requerimiento no es único a ext2,
la popularidad de ext2, combinada con el advenimiento de los discos más grandes, implica que las
verificaciones de integridad estaban tomando más y más tiempo. Era necesario hacer algo.
La próxima sección describe el enfoque tomado para resolver este problema bajo Red Hat Enterprise
Linux.
5.9.2.2. EXT3
El sistema de archivos ext3 se construye sobre ext2 añadiendo las capacidades de journaling o de
mantener un "diario" o journal al código base de ext2 ya evaluado. Como un sistema de archivos
con journaling, ext3 siempre mantiene el sistema de archivos en un estado consistente, eliminando la
necesidad de las largas verificaciones de integridad.
Esto se logra escribiendo todos los cambios al sistema de archivos a un diario en disco, el cual es
vaciado regularmente. Después de un evento inesperado del sistema (tal como una falla de poder o
una caída del sistema), la única operación que se necesita hacer antes de colocar el sistema de archivos
disponible, es procesar los contenidos del diario; en la mayoría de los casos esto toma aproximada-
mente un segundo.
Debido a que el formato en disco de ext3 está basado en ext2, es posible acceder a un sistema de
archivos ext3 en cualquier sistema capaz de leer y escribir sistemas ext2 (sin el beneficio de journal-
ing). Esto puede ser un gran beneficio en organizaciones donde algunos sistemas están usando ext3 y
algunos todavía utilizan ext2.
• CD-ROMs
102 Capítulo 5. Administración del Almacenamiento
• Los archivos (usualmente llamados imágenes ISO) conteniendo sistemas de archivos completos
ISO 9660, supuestamente están para ser escritos en una media de CD-R o de CD-RW.
El estándar básico ISO 9660 es más bien limitado en funcionalidad, especialmente cuando se compara
con sistemas de archivos más modernos. Los nombres de archivos deben ser de un máximo de ocho
carácteres de largo y una extensión de no más de tres caracteres. Sin embargo, hay varias extensiones
al estándar que se han vuelto populares a través de los años, entre ellas:
• Rock Ridge — Utiliza algunos campos indefinidos en ISO 9660 para proporcionar soporte a fun-
cionalidades tales como nombres de archivos largos con combinaciones de mayúsculas y minúscu-
las, enlaces simbólicos y directorios anidados (en otras palabras, directorios que pueden contener a
su vez otros directorios)
• Joliet — Una extensión del estándar ISO 9660, desarrollado por Microsoft para permitir que los
CD-ROMs contengan nombres de archivos largos, usando el conjunto de carácteres Unicode
Red Hat Enterprise Linux puede interpretar correctamente los sistemas de archivos ISO 9660 usando
extensiones Rock Ridge así como tambiénJoliet.
5.9.2.4. MSDOS
Red Hat Enterprise Linux también soporta sistemas de archivos de otros sistemas operativos. Como
el nombre lo implica, el sistema operativo original que soporta msdos fue Microsoft’s MS-DOS®.
Como en MS-DOS, un sistema Red Hat Enterprise Linux accediendo a un sistema de archivos msdos
está limitado a nombres 8.3. De la misma manera, otros atributos de archivos tales como permisos y
propiedad de archivos, no se pueden cambiar. Sin embargo, desde el punto de vista de intercambio de
archivos, msdos es más que suficiente para hacer el trabajo.
5.9.2.5. VFAT
El sistema de archivos vfat primero fue utilizado por el sistema operativo Microsoft’s Windows® 95.
Como una mejora sobre el sistema de archivos msdos, los nombres de archivos en un sistema vfat
pueden ser más largos que 8.3. No obstante, los permisos y propiedad tampoco se pueden modificar.
• Una forma de identificar unívocamente el disco deseado y la partición, tal como un nombre de
archivo de dispositivo, una etiqueta de sistema de archivo o un enlace simbólico manejado por
devlabel.
• Un directorio bajo el cual se colocará disponible el sistema de archivos montado (conocido como
un punto de montaje)
Las secciones siguientes discuten los puntos de montaje con más detalles.
Capítulo 5. Administración del Almacenamiento 103
/foo/bar.txt
En otras palabras, una vez que la partición ha sido montada, cualquier archivo que sea leído o escrito
en cualquier lugar bajo el directorio /foo/, será leído o escrito en esa partición.
Un punto de montaje utilizado a menudo en muchos sistemas Red Hat Enterprise Linux es /home/ —
esto es porque los directorios de conexión para todas las cuentas de usuarios normalmente se ubican
bajo /home/. Si se utiliza /home/ como punto de montaje, todos los archivos de usuarios se escriben
a una partición dedicada y no llenaran el sistema de archivos del sistema operativo.
Sugerencia
Puesto que un punto de montaje es simplemente un directorio normal, es posible escribir archivos a
un directorio que luego será utilizado como un punto de montaje. Si esto ocurre, ¿qué pasa con los
archivos que estaban en ese directorio originalmente?
Mientras la partición esté montada en el directorio, los archivos no estarán accesibles (el sistema de
archivos montado aparecerá en lugar de los contenidos del directorio). Sin embargo, los archivos no
sufrirán daño alguno y se podrán acceder después de desmontar la partición.
• Visualizar /etc/mtab
104 Capítulo 5. Administración del Almacenamiento
• Visualizar /proc/mounts
• Ejecutar el comando df
/dev/sda3 / ext3 rw 0 0
none /proc proc rw 0 0
usbdevfs /proc/bus/usb usbdevfs rw 0 0
/dev/sda1 /boot ext3 rw 0 0
none /dev/pts devpts rw,gid=5,mode=620 0 0
/dev/sda4 /home ext3 rw 0 0
none /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
Nota
El archivo /etc/mtab se utiliza para mostrar el estado de los sistemas de archivos montados actual-
mente. No se debería modificar manualmente.
Cada línea representa un sistema de archivos que está actualmente montado y contiene los campos
siguientes (de izquierda a derecha):
rootfs / rootfs rw 0 0
/dev/root / ext3 rw 0 0
/proc /proc proc rw 0 0
usbdevfs /proc/bus/usb usbdevfs rw 0 0
/dev/sda1 /boot ext3 rw 0 0
Hay muchas diferencias obvias entre /etc/mtab y /proc/mount que se ven inmediatamente:
5.9.4. Almacenamiento accesible desde la red bajo Red Hat Enterprise Linux
Existen dos tecnologías principales utilizadas para la implementación del almacenamiento accesible
desde la red bajo Red Hat Enterprise Linux:
• NFS
• SMB
Las secciones siguientes describen estas tecnologías.
106 Capítulo 5. Administración del Almacenamiento
5.9.4.1. NFS
Como su nombre lo implica, el Sistema de Archivos de Red o NFS(de Network File System) es un
sistema de archivos al que se puede acceder a través de una conexión de red. Con otros sistemas
de archivos, el dispositivo de almacenamiento debe estar directamente conectado al sistema local.
Sin embargo, con NFS esto no es un requerimiento, haciendo posible una variedad de diferentes
configuraciones, desde servidores de archivos centralizados hasta sistemas de computación sin discos.
Por otro lado, a diferencia de otros sistemas de archivos, NFS no dicta un formato específico en
disco. En cambio, se basa en el soporte del sistema de archivos del sistema operativo del servidor
para controlar la E/S a el/los disco(s) local(es). NFS luego coloca disponible el sistema de archivos a
cualquier sistema operativo ejecutando un cliente compatible con NFS.
Aunque principalmente NFS es una tecnología Linux y UNIX, es importante mencionar que existen
implementaciones de clientes NFS para otros sistemas operativos, haciendo NFS una técnica viable
para compartir archivos con una variedad de plataformas.
El sistema de archivos que NFS coloca disponible a los clientes es controlado por el archivo de config-
uración /etc/exports. Para más información, consulte la página man de exports(5) y el Manual
de administración del sistema de Red Hat Enterprise Linux.
5.9.4.2. SMB
SMB viene de Server Message Block y es el nombre para el protocolo de comunicación utilizado por
varios sistemas operativos producidos por Microsoft por varios años. SMB hace posible compartir
el almacenamiento a lo largo de la red. Las implementaciones de hoy día a menudo utilizan TCP/IP
como el transporte subyacente; anteriormente era NetBEUI el transporte.
Red Hat Enterprise Linux soporta SMB a través del programa de servidor Samba. El Manual de
administración del sistema de Red Hat Enterprise Linux incluye información sobre la configuración
de Samba.
• El especificador del sistema de archivos — Para los sistemas de archivos basados en disco, bien sea
un nombre de archivo de dispositivo (/dev/sda1), una especificación de etiqueta (LABEL=/) o un
enlace simbólico manejado por devlabel (/dev/homedisk)
Capítulo 5. Administración del Almacenamiento 107
• Punto de montaje — Excepto para las particiones swap, este campo especifica el punto de montaje
a utilizar cuando se monta el sistema de archivos (/boot)
• Tipo de sistema de archivos — El tipo de sistema de archivos presente en el dispositivo especificado
(observe que se puede especificar auto para seleccionar la detección automática del sistema de
archivos a montar, lo que es útil para la media removible tal como unidades de disquete)
• Opciones de montaje — Una lista de opciones separadas por comas que se puede utilizar para
controlar el comportamiento de mount (noauto,owner,kudzu)
• Frecuencia de descarga — Si se utiliza la utilidad para respaldos dump, el número en este campo
controla el manejo de dump del sistema de archivos especificado
• Orden de verificación del sistema de archivos — Controla el orden en que fsck verificará la inte-
gridad del sistema de archivos
• Particionar
• Formatear la partición(es)
• Actualizar /etc/fstab
Las secciones siguientes exploran cada paso con más detalles.
5.9.6.1.1. Particionar
Una vez instalado en disco duro, es hora de crear una o más particiones para hacer el espacio
disponible a Red Hat Enterprise Linux.
Hay más de una forma de hacer esto:
1. Seleccione la nueva unidad de disco (el nombre de la unidad se puede identificar siguiendo la
convención de nombres descrita en la Sección 5.9.1). Usando fdisk, esto se hace incluyendo
el nombre del dispositivo cuando arranca fdisk:
fdisk /dev/hda
2. Revise la tabla de particiones de la unidad para verificar que la unidad a particionar es, en real-
idad, la correcta. En nuestro ejemplo, fdisk muestra la tabla de partición usando el comando
p:
Command (m for help): p
108 Capítulo 5. Administración del Almacenamiento
3. Borre cualquier partición no deseada que pueda existir en la nueva unidad de disco. Esto se hace
usando el comando d en fdisk:
Command (m for help): d
Partition number (1-4): 1
El proceso se repetirá para todas las particiones no deseadas presentes el el disco.
4. Cree la(s) nueva(s) partición(es), asegurándose de especificar el tamaño deseado y el tipo de sis-
temas de archivos. Usando fdisk, esto es un proceso de dos pasos — primero, cree la partición
(usando el comando n):
Command (m for help): n
Command action
e extended
p primary partition (1-4)
Atención
Cuando particione un nuevo disco, es vital que esté seguro de que la unidad que piensa particionar
es la correcta. De lo contrario, puede inconscientemente particionar una unidad que ya está en uso,
lo que resultaría en la pérdida de los datos.
También verifique que ha decidido el mejor tamaño para su partición. Siempre tome este punto
seriamente, pues cambiarlo más adelante es mucho más difícil que tomarse un poco de tiempo
ahora en pensar las cosas.
Capítulo 5. Administración del Almacenamiento 109
ha seleccionado. Por ejemplo, vea la página man de mkfs.ext3 para revisar las opciones disponibles
durante la creación de un sistema de archivos ext3. En general, los programas mkfs. fstype
suministran valores por defecto razonables para la mayoría de las configuraciones; sin embargo, he
aquí algunas de las opciones que los administradores de sistemas cambian más a menudo:
mount /home
mount /dev/hda3
(Reemplace /home or /dev/hda3 con el punto de montaje o dispositivo para su situación específica.)
Si la entrada correspondiente en /etc/fstab es correcta, mount obtiene la información faltante
desde el archivo y completa la operación de montaje.
En este punto puede estar confiado de que /etc/fstab está configurado correctamente para mon-
tar automáticamente el nuevo almacenamiento cada vez que el sistema arranca (aunque si se puede
permitir un reinicio rápido, no hace daño — simplemente para estar seguros).
• Haciendo corresponder los puntos de montaje con los directorios en la segunda columna de
/etc/fstab
• Haciendo corresponder el nombre del archivo de dispositivo con el nombre de archivo en la primera
columna de /etc/fstab
Sugerencia
Asegúrese de ver líneas en /etc/fstab que identifican particiones swap en la unidad de disco a
eliminar; se pueden dejar pasar por accidente.
umount /dev/hda2
umount /home
swapoff /dev/hda4
Si no puede desactivar el swapping usando swapoff, arranque en modo de rescate y elimine la entrada
de la partición desde /etc/fstab.
Tenga en mente que badblocks en realidad está escribiendo cuatro patrones de datos diferentes a
cada bloque en la unidad de disco. Para las unidades grandes, este proceso puede tomar un largo
tiempo — a menudo varias horas.
Importante
Muchas compañías (y agencias del gobierno) tienen métodos específicos de borrar datos desde sus
unidades de disco y otras medias de almacenamiento. Siempre debería asegurarse de que entiende
y sigue estos requerimientos; en muchos casos hay consecuencias legales si no las sigue. El ejemplo
de arriba no se debería de considerar el método perfecto para limpiar una unidad de disco.
No obstante, es mucho más efectivo que utilizar el comando rm. Esto se debe a que cuando usted
elimina un archivo usando rm solamente marca el archivo como borrado — no elimina los contenidos
del archivo.
Nota
Las secciones siguientes suministran una breve descripción general de los pasos necesarios para
habilitar las cuotas de disco bajo Red Hat Enterprise Linux. Para información en más detalles sobre
esto, lea el capítulo sobre cuotas de discos en el Manual de administración del sistema de Red Hat
Enterprise Linux.
Para utilizar cuotas de disco, primero debe activarlas. Este proceso implica varios pasos:
1. Modificar /etc/fstab
2. Remontar el(los) sistema(s) de archivo(s)
3. Ejecutar quotacheck
4. Asignar cuotas
El archivo /etc/fstab controla el montaje de sistemas de archivos bajo Red Hat Enterprise Linux.
Debido a que las cuotas de discos se implementan en una base de por archivo, hay dos opciones —
usrquota y grpquota — que se deben añadir a ese archivo para activar las cuotas de discos.
114 Capítulo 5. Administración del Almacenamiento
La opción usrquota activa las cuotas basadas en disco, mientras que la opción grpquota activa
las cuotas basadas en grupos. Se puede activar una o ambas opciones colocándolas en el campo de
opciones para el sistema de archivos deseado.
Se debe entonces desmontar el sistema de archivos afectado y volver a montar para que las opciones
referentes a las cuotas surtan efecto.
Luego, se utiliza el comando quotacheck para crear los archivos de cuotas de disco y para reunir
la información referente al uso actual de los archivos ya existentes. Los archivos de cuota de disco
(llamados aquota.user y aquota.group para las cuotas basadas en usuario y grupos) contienen la
información relacionada a cuotas necesaria y residen en el directorio raíz del sistema.
Para asignar cuotas de disco, se utiliza el comando edquota.
Este programa de utilidades utiliza un editor de texto para mostrar la información de cuotas para el
usuario o grupo especificado como parte del comando edquota. He aquí un ejemplo:
Esto muestra que el usuario matt actualmente está utilizando más de 6GB de espacio en disco y más
de 17.000 inodes. No se ha asignado ninguna cuota (soft o hard) para los bloques o inodes, lo que
significa que no existe un límite en el espacio en disco que este usuario puede utilizar actualmente.
Utilizando el editor de texto mostrando la información de cuotas, el administrador del sistema puede
modificar los límites rígidos y suaves como lo desee:
En este ejemplo, se le ha asignado al usuario matt un límite suave de 6.9GB y un límite rígido de 7GB.
No se establecen límites suaves o rígidos para inodes de este usuario.
Sugerencia
El programa edquota también se puede utilizar para establecer un período de gracia por archivo
usando la opción -t.
• Generar informes de uso del disco a intervalos regulares (y hacer un seguimiento de los usuarios
que parecen tener problemas con manejar efectivamente su espacio de disco asignado)
• Asegurarse de que las cuotas de discos permanecen exactas
La creación de un informe sobre el uso del disco implica la ejecución del programa de utilidades
repquota. Usando el programa repquota /home produce la salida siguiente:
----------------------------------------------------------------------
root -- 32836 0 0 4 0 0
matt -- 6618000 6900000 7000000 17397 0 0
Se puede encontrar más información sobre repquota en el Manual de administración del sistema de
Red Hat Enterprise Linux, en el capítulo sobre cuotas de disco.
Cada vez que se desmonta un sistema de archivo de forma abrupta (debido a una falla del sistema,
por ejemplo), es necesario ejecutar quotacheck. Sin embargo, muchos administradores de sistemas
recomiendan ejecutar quotacheck regularmente, aún si el sistema no falla.
El proceso es similar al uso inicial de quotacheck cuando se activan cuotas de disco.
He aquí un ejemplo del comando quotacheck:
quotacheck -avug
La forma más fácil de ejecutar quotacheck de forma regular es usando cron. La mayoría de los
administradores de sistemas ejecutan quotacheck una vez a la semana, sin embargo, pueden haber
razones válidas para seleccionar un intervalo más largo o más corto, dependiendo de sus condiciones
específicas.
Sugerencia
Para más información sobre la creación de formaciones RAID durante el proceso de instalación de
Red Hat Enterprise Linux, consulte el Manual de administración del sistema de Red Hat Enterprise
Linux.
116 Capítulo 5. Administración del Almacenamiento
raiddev /dev/md0
raid-level 1
nr-raid-disks 2
chunk-size 64k
persistent-superblock 1
nr-spare-disks 0
device /dev/hda2
raid-disk 0
device /dev/hdc2
raid-disk 1
• raiddev — Muestra el nombre del archivo del dispositivo para la formación RAID 12
• raid-level — Define el nivel de RAID utilizado por esta formación
• nr-raid-disks — Indica cuántas particiones de disco físicas seran parte de la formación
• nr-spare-disks — El software RAID bajo Red Hat Enterprise Linux permite la definición de
uno o más particiones de repuesto; estas particiones pueden automáticamente tomar el lugar de un
disco que no esté funcionando bien
• device, raid-disk — Juntos definen las particiones de disco físicas que conforman la formación
RAID
Luego, es necesario crear la formación RAID. Esto se logra con el programa mkraid. Usando nue-
stro archivo de ejemplo /etc/raidtab, crearemos la formación RAID /dev/md0 con el comando
siguiente:
mkraid /dev/md0
La formación RAID /dev/md0 ahora está lista para ser formateada y montada. El proceso en este
punto no es diferente a formatear y montar un disco único.
12. Observe que puesto que la formación RAID está compuesta de espacio en disco formateado, el nombre de
archivo de dispositivo de una formación RAID no refleja ninguna información a nivel de particiones.
Capítulo 5. Administración del Almacenamiento 117
periódicamente el estado de todos los discos duros en el sistema, también se debería verificar el estatus
de las las formaciones RAID.
Personalities : [raid1]
read_ahead 1024 sectors
md1 : active raid1 hda3[0] hdc3[1]
522048 blocks [2/2] [UU]
4. Ejecute el comando siguiente
raidhotadd raid-device disk-partition
5. Monitorice /proc/mdstat para ver que se lleve a cabo la reconstrucción
118 Capítulo 5. Administración del Almacenamiento
Sugerencia
He aquí un comando que se puede utilizar para ver que se ejecute la reconstrucción:
• La página man de exports(5) — Conozca más sobre el formato del archivo de configuración de
NFS.
• La página man de fstab(5) — Conozca más información sobre la configuración del sistema de
archivos.
• La página man de swapoff(8) — Aprenda a desactivar particiones swap.
• La página man de df(1) — Aprenda a mostrar el uso del espacio en disco en los sistemas de
archivos montados.
• La página man de fdisk(8) — Conozca sobre este programa para el mantenimiento de las tablas
de particiones.
• Las páginas man de mkfs(8) y mke2fs(8) — Información sobre estos programas utilitarios para
la creación de sistemas de archivos.
• La página man de badblocks(8) — Aprenda cómo probar un dispositivo para verificar si tiene
bloques dañados.
• La página man de quotacheck(8) — Aprenda a verificar el uso de bloques y inode para usuarios
y grupos y opcionalmente crear archivos de cuotas de usuarios.
• La página man de edquota(8) — Información sobre este programa para el mantenimiento de
cuotas de discos.
• La página man de repquota(8) — Conozca sobre esta programa de utilerías para el informe de
cuotas de disco.
Capítulo 5. Administración del Almacenamiento 119
• La página man de raidtab(5) — Conozca sobre el formato del archivo de configuración para el
software RAID.
• La página man de mkraid(8) — Conozca este programa para la creación de formaciones de soft-
ware RAID.
• La página man de mdadm(8) — Conozca sobre este programa para la administración de forma-
ciones de software RAID.
• La página man de lvm(8) — Aprenda sobre la Administración de Volúmenes Lógicos, LVM.
• La página man de devlabel(8) — Conozca más sobre el acceso a dispositivos de almacenamiento
persistente.
• http://www.pcguide.com/ — Una buena fuente para diferentes tipos de información sobre tec-
nologías de almacenamiento.
• http://www.tldp.org/ — The Linux Documentation Project tiene una sección de HOWTOs y mini-
HOWTOs que proporcionan buenas vistas generales de las tecnologías de almacenamiento en la
forma en que se relacionan con Linux.
• El Manual de instalación de Red Hat Enterprise Linux; Red Hat, Inc. — Contiene instrucciones
sobre el particionamiento de discos duros durante un proceso de instalación de Red Hat Enterprise
Linux, así como también una descripción general de las particiones de discos.
• El Manual de referencia de Red Hat Enterprise Linux; Red Hat, Inc. — Contiene información
detallada sobre la estructura de directorios utilizada en Red Hat Enterprise Linux y una descripción
general de NFS.
• El Manual de administración del sistema de Red Hat Enterprise Linux; Red Hat, Inc. — Incluye
capítulos sobre los sistemas de archivos, RAID, LVM, devlabel, particionamiento, cuotas de
discos, NFS y Samba.
• El Linux System Administration: A User’s Guide por Marcel Gagne; Addison Wesley Professional
— Contiene información sobre permisos de usuarios y grupos, sistemas de archivos, cuotas de
discos, NFS y Samba.
• El Linux Performance Tuning and Capacity Planning por Jason R. Fink and Matthew D. Sherer;
Sams — Contiene información sobre discos, RAID y rendimiento de NFS.
• El Linux Administration Handbook por Evi Nemeth, Garth Snyder y Trent R. Hein; Prentice Hall
— Contiene información sobre sistemas de archivos, manejo de discos duros, NFS y Samba.
120 Capítulo 5. Administración del Almacenamiento
Capítulo 6.
Administración de cuentas de usuarios y
acceso a recursos
La administración de cuentas de usuario y grupos es una parte esencial de la administración de sis-
temas dentro de una organización. Pero para hacer esto efectivamente, un buen administrador de
sistemas primero debe entender lo que son las cuentas de usuario y los grupos y como funcionan.
La razón principal para las cuentas de usuario es verificar la identidad de cada individuo utilizando un
computador. Una razón secundaria (pero aún importante) es la de permitir la utilización personalizada
de recursos y privilegios de acceso.
Los recursos incluyen archivos, directorios y dispositivos. El control de acceso a estos dispositivos
forma una gran parte de la rutina diaria de un administrador de sistemas; a menudo el acceso a un
recurso es controlado por grupos. Los grupos son construcciones lógicas que se pueden utilizar para
enlazar a usuarios para un propósito común. Por ejemplo, si una organización tiene varios admin-
istradores de sistemas, todos ellos se pueden colocar en un grupo administrador de sistema. Luego se
le pueden dar permisos al grupo para acceder a recursos claves del sistema. De esta forma, los grupos
pueden ser una herramienta poderosa para la administración de recursos y acceso.
Las secciones siguientes discuten las cuentas de usuario y grupos en más detalles.
• El tamaño de su organización
122 Capítulo 6. Administración de cuentas de usuarios y acceso a recursos
• La estructura de su organización
• La naturaleza de su organización
El tamaño de su organización importa, pues dicta cuántos usuarios puede soportar su convención para
nombres. Por ejemplo, una compañía muy pequeña quizás pueda permitir que todo el mundo utilice
su primer nombre. Para una organización mucho más grande, este convenio no funciona.
La estructura de la organización también puede tener influencia sobre el convenio de nombres más
apropiado. Para organizaciones con una estructura bien definida puede ser adecuado incluir elemen-
tos de esa estructura en la convención de nombres. Por ejemplo, puede incluir los códigos de los
departamentos como parte del nombre de usuario.
La naturaleza completa de su organización también puede significar que algunas convenciones son
más apropiadas que otras. Una organización que maneja datos confidenciales puede decidirse por una
convenición que no indica ningún tipo de información personal que pueda vincular al individuo con
su nombre. En una organización de este tipo, el nombre de usuario de Maggie McOmie podría ser
LUH3417.
He aquí algunas convenciones de nombres que otras organizaciones han utilizado:
Sugerencia
Tenga en cuenta que si su convención de nombres incluye añadir datos diferentes para formar un
nombre de usuario, existe el potencial de que el resultado sea gracioso u ofensivo. Por lo tanto, aún
si crea los nombres de usuario de forma automática, es recomendable que lleve a cabo alguna forma
de revisión.
Una cosa común con la convención de nombres descrita aquí es que es posible que eventualmente
existan dos individuos que, de acuerdo a la convención, obtendrían el mismo nombre de usuario. Esto
se conoce como una colisión.
• Añadiendo números en secuencia al nombre de usuario en colisión (perez, perez1, perez2, etc.)
• Añadiendo datos específicos al usuario al nombre de usuario en colisión (perez, eperez, ekperez,
etc.)
• Añadiendo información adicional de la organización al nombre de usuario (perez, perez029,
perez454, etc.)
Es necesario tener un método para resolver las colisiones como parte de cualquier convención de
nombres. Sin embargo, hace más dificil para alguien fuera de la organización determinar el nombre
de usuario de un individuo. Por lo tanto, la desventaja de las convenciones de nombres es que hace
más probable el envio de correos electrónicos a las direcciones equivocadas.
Capítulo 6. Administración de cuentas de usuarios y acceso a recursos 123
Importante
Si utiliza un alias para el correo electrónico, asegurese de tomar todos los pasos necesarios para
proteger el viejo nombre de usuario de un reuso potencial. Si no hace esto y un nuevo usuario
recibe el viejo nombre de usuario, la entrega de correo (tanto para el usuario original como para el
nuevo) será interrumpida. La naturaleza exacta de la interrupción depende de cómo se implementa
la entrega de correo en su sistema operativo, pero los dos síntomas más probables son:
6.1.2. Contraseñas
Si el nombre de usuario responde a la pregunta "¿Quién es usted?", la contraseña es la respuesta a la
pregunta que inevitablemente sigue:
"Demuéstralo!"
En términos más prácticos, una contraseña proporciona una forma de probar la autenticidad de la
persona que dice ser el usuario con ese nombre de usuario. La efectividad de un esquema basado en
contraseñas recae en gran parte sobre varios aspectos de la contraseña:
• La confidencialidad de la contraseña
• La resistencia de adivinar la contraseña
• La resistencia de la contraseña ante un ataque de fuerza bruta
Las contraseñas que efectivamente toman en cuenta estos problemas se conocen como contraseñas
robustas, mientras que aquellas que no, se les llama débiles. Es importante para la seguridad de la or-
ganización crear contraseñas robustas, mientras más robustas sean las contraseñas, hay menos chances
de que estas sean descubiertas o que se adivinen. Hay dos opciones disponibles para reforzar el uso
de contraseñas robustas:
• El administrador del sistema puede crear contraseñas para todos los usuarios.
• El administrador del sistema puede dejar que los usuarios creen sus propias contraseñas, a la vez
que se verifica que las contraseñas sean lo suficientemente robustas.
Al crear contraseñas para todos los usuarios asegura que estas sean robustas, pero se vuelve una tarea
pesada a medida que crece la organización. También incrementa el riesgo de que los usuarios escriban
sus contraseñas.
Por estas razones, la mayoría de los administradores de sistemas prefieren dejar que los usuarios
mismos creen sus contraseñas. Sin embargo, un buen administrador de sistemas tomará los pasos
adecuados para verificar que las contraseñas sean robustas.
Para leer sobre las pautas para la creación de contraseñas robustas, vea el capítulo llamado Seguridad
de las Estaciones de trabajo en el Manual de seguridad de Red Hat Enterprise Linux.
La necesidad de mantener secretas las contraseñas debería ser una parte arraigada en la mente de un
administrador de sistemas. Sin embargo, este punto se pierde con frecuencia en muchos usuarios. De
hecho, muchos usuarios ni siquiera entienden la diferencia entre nombres de usuarios y contraseñas.
Dado este hecho, es de vital importancia proporcionar cierta cantidad de educación para los usuarios,
para que así estos puedan entender que sus contraseñas se deberían mantener tan secretas como su
sueldo.
Capítulo 6. Administración de cuentas de usuarios y acceso a recursos 125
Las contraseñas deberían ser tan difíciles de adivinar como sea posible. Una contraseña robusta es
aquella que un atacante no podrá adivinar, aún si el atacante conoce bien al usuario.
Un ataque de fuerza bruta sobre una contraseña implica el intento metódico (usualmente a través
de un programa conocido como password-cracker) de cada combinación de caracteres posible con
la esperanza de que se encontrará la contraseña correcta eventualmente. Una contraseña robusta se
debería construir de manera tal que el número de contraseñas potenciales a probar sea muy grande,
forzando al atacante a tomarse un largo tiempo buscando la contraseña.
Las contraseñas débiles y robustas se exploran con más detalles en las secciones siguientes.
• Es secreta
• Es resistente a ser adivinada
• Es resistente a un ataque de fuerza bruta
Las secciones siguientes muestran cómo pueden ser débiles las contraseñas.
Como puede ver, el número de contraseñas posibles incrementa dramáticamente a medida que se
incrementa el largo.
Nota
Aún cuando esta tabla termina en seis caracteres, esto no se debería tomar como que se recomienda
contraseñas de seis caracteres de largo como lo suficientemente largas para una buena seguridad.
En general, mientras más larga la contraseña mejor.
126 Capítulo 6. Administración de cuentas de usuarios y acceso a recursos
Nota
Muchos programas de ataque a contraseñas basados en diccionario utilizan diccionarios de difer-
entes idiomas. Por lo tanto, no piense que su contraseña es más robusta simplemente porque está
utilizando una palabra que no es en Español.
• drowssaPdaB1
Capítulo 6. Administración de cuentas de usuarios y acceso a recursos 127
• R3allyP00r
• t1Te-Bf,te
• Lb@lbhom
6.1.2.2.3. Memorizables
Una contraseña es robusta solamente si se puede recordar. Sin embargo, usualmente el ser fácil de
memorizar y fácil de adivinar a menudo van juntos. Por lo tanto, dele a su comunidad de usuarios
algunos consejos sobre la creación de contraseñas fáciles de recordar pero que no sean fáciles de
adivinar.
Por ejemplo, tome una frase favorita o dicho y utilice las primeras letras de cada palabra como el
punto de comienzo para la creación de la nueva contraseña. El resultado es fácil de memorizar (pues
la frase en la cual está basado es, en sí misma, recordable), sin embargo el resultado no contiene
ninguna palabra.
Nota
Tenga en cuenta que el usar las primeras letras de cada palabra en una frase no es suficiente
para crear una contraseña robusta. Siempre asegúrese de incrementar el conjunto de caracteres
incluyendo la combinación de carácteres alfanuméricos y también al menos un carácter especial.
6.1.4.2. Terminaciones
Es conocido el hecho de que habrá personas que dejen la organización. Algunas veces esto puede ser
bajo circunstancias felices y otras quizás no tan felices. En cualquier caso, es vital que se le informe
de la situación para que así pueda tomar las acciones adecuadas.
Como mínimo, las acciones apropiadas deben incluir:
• Inhabilitar el acceso del usuario a todos los sistemas y recursos relacionados (usualmente mediante
el cambio o bloqueo de la contraseña)
• Hacer una copia de seguridad de los archivos del usuario, en caso de que contengan algo que se
pueda necesitar en un futuro.
• Coordinar el acceso a los archivos del usuario para el supervisor
La principal prioridad es asegurar sus sistemas contra un usuario que ha dejado de trabajar con la or-
ganización recientemente. Esto es particularmente importante si el usuario fue terminado bajo condi-
ciones que pueden haberlo dejado con un poco de malicia hacia la organización. Sin embargo, aún si
las circunstancias no son tan graves, le conviene a la organización desactivar rápidamente el acceso a
una persona que ya no pertenece a la compañía.
Esto indica la necesidad de un proceso que lo alerte sobre las terminaciones - preferiblemente antes
de que estas sean efectivas. Esto implica que usted debería trabajar con el departamento de personal
de su organización para asegurarse de que se le notifique sobre cualquier terminación futura.
Sugerencia
Cuando se manejen los "bloqueos" en respuesta a una liquidación, es de suma importancia que las
cosas se hagan en el momento correcto. Si el bloqueo ocurre después de completarse el proceso de
liquidación, hay potencial para el acceso no autorizado de la persona recientemente terminada. Por
otro lado, si el bloqueo ocurre antes de que se inicie el proceso de liquidación, esto puede alertar a
la persona sobre el despido inminente y hacer el proceso más difícil para ambas partes.
El proceso de liquidación usualmente se inicia a través de una reunión entre la persona a ser liq-
uidada, el supervisor de la persona y un representante del departamento de personal de la organi-
zación. Por lo tanto, establecer un proceso que lo alerte sobre cuando esta reunión comenzará le
dará las indicaciones sobre el momento correcto para hacer el bloqueo.
Una vez desactivado el acceso, es el momento para hacer una copia de seguridad de los archivos de
esta persona. Este respaldo puede ser parte de los respaldos estándares de su organización, o puede
ser un procedimiento dedicado a hacer copias de seguridad de viejas cuentas de usuario. Aspectos
tales como regulaciones sobre la retención de datos, guardar evidencia en casos de demandas por
liquidaciones erróneas y otras parecidas, todas forman parte en determinar la forma más apropiada de
manejar las copias de seguridad.
En cualquier caso, un respaldo en este momento siempre es un buen hábito, pues el próximo paso
(cuando el supervisor accede a los datos de la persona liquidada) puede resultar en la eliminación
accidental de los archivos. En tales circunstancias, el tener una copia de seguridad reciente hace posi-
ble recuperarse fácilmente de este tipo de accidentes, haciendo el proceso más fácil tanto para el
supervisor como para usted.
En este punto, debe determinar que tipo de acceso requiere el supervisor de la persona recientemente
terminada a los archivos de esta. Dependiendo de su organización y la naturaleza de las responsabili-
dades de la persona, es posible que no se requiera ningun acceso, o que se necesite acceso completo.
Si la persona utilizó los sistemas para cosas más allá que simplemente correo electrónico, es posible
que el supervisor tenga que revisar y colar un poco los archivos, determinar lo que se debería man-
tener y qué se puede desechar. Al concluir este proceso, al menos algunos de estos archivos seran
entregados a la persona que tomará las responsabilidades de la persona liquidada. Quizás se le solicite
Capítulo 6. Administración de cuentas de usuarios y acceso a recursos 131
su asistencia para este paso final o puede que el supervisor esté en una posición de manejar esto él
mismo. Todo depende de los archivos y de la naturaleza del trabajo que realiza su organización.
• Usted
• El supervisor original del usuario
• El nuevo supervisor del usuario
Entre uds tres debería ser posible determinar qué se debe hacer para cerrar limpiamente las respon-
sabilidades anteriores del empleado y qué se debe hacer para preparar la cuenta para sus nuevas
responsabilidades. En muchos casos, este proceso se puede pensar como el equivalente de cerrar un
usuario existente y crear una nueva cuenta de usuario. De hecho, algunas organizaciones hacen esto
para todos los cambios de responsabilidades.
No obstante, es más probable que se mantenga la cuenta del usuario y que se modifique para adaptarse
a las nuevas responsabilidades. Este enfoque implica que usted debe revisar cuidadosamente la cuenta
para asegurarse de que no se estan dejando recursos o privilegios de acceso en la cuenta y que esta
tiene solamente los recursos y privilegios adecuados para las nuevas responsabilidades de la persona.
Para complicar las cosas aún más, está la situación en que hay un período de transición donde la per-
sona realiza tareas relacionadas a ambos grupos de responsabilidades. Es aquí donde los supervisores
original y el nuevo, lo pueden ayudar dándole una ventana de tiempo para este período de transición.
Otro ejemplo es el acceso asignado al directorio principal de un usuario. Solamente el propietario del
directorio principal debería poder crear y ver los archivos que se encuentran allí. Se debería negar
el acceso a todos los otros usuarios (a menos que el usuario desee lo contrario). Esto incrementa la
privacidad del usuario y previene de la posible apropiación incorrecta de archivos personales.
Pero hay muchas situaciones en las que múltiples usuarios pueden necesitar acceso al mismo conjunto
de recursos en una máquina. En este caso, puede ser necesaria la creación de grupos compartidos.
servidor de almacenamiento debe ser capaz de servir sus datos a cada uno de los sistemas operativos
en uso en su organización.
Lamentablemente, una vez que los datos son compartidos entre múltiples computadores en una red,
puede surgir el potencial para conflictos en la propiedad de un archivo.
Los permisos para este archivo se listan al principio de la línea, comenzando con rwx. El primer con-
junto de símbolos define el acceso del dueño - en este ejemplo, el dueño juan tiene acceso completo
y puede leer, escribir y ejecutar el archivo. El próximo conjunto de símbolos rwx define el acceso
de grupo (una vez más, con acceso completo), mientras que el último conjunto de símbolos define el
tipo de acceso permitido para todos los demás usuarios. Aquí, todos los otros usuarios pueden leer y
ejecutar el archivo, pero no pueden modificarlo de ninguna forma.
Otro aspecto importante a tener en mente con relación a los permisos y a las cuentas de usuarios es
que cada aplicación ejecutada en Red Hat Enterprise Linux se ejecuta en el contexto de un usuario
específico. Típicamente, esto significa que si el usuario juan lanza una aplicación, la aplicación se
ejecuta usando el contexto de juan. Sin embargo, en algunos casos la aplicación puede necesitar un
nivel de acceso más privilegiado para poder realizar la tarea. Tales aplicaciones incluyen aquellas que
modifican los parámetros del sistema o que conectan usuarios. Por esta razón, se deben crear permisos
especiales.
Hay tres tipos de permisos especiales dentro de Red Hat Enterprise Linux. Ellos son:
• setuid — utilizado solamente para aplicaciones, este permiso indica que la aplicación se va a ejecu-
tar como el dueño del archivo y no como el usuario lanzando la aplicación. Se indica por el carácter
s en el lugar de x en la categoría del propietario. Si el propietario del archivo no tiene permisos de
ejecución, la S se coloca en mayúsculas para reflejar este hecho.
• setgid — usada principalmente por las aplicaciones, este permiso indica que la aplicación se ejecu-
tará como el grupo que es dueño del archivo y no como el grupo del usuario lanzando la aplicación.
Si se aplica a un directorio, todos los archivos creados dentro del directorio son propiedad del grupo
que posee el directorio, y no por el grupo del usuario creando el archivo. El permiso de setgid se
Capítulo 6. Administración de cuentas de usuarios y acceso a recursos 135
indica por el carácter s en el lugar de x en la categoría de grupo. Si el grupo que posee el archivo o
directorio no tiene permisos de ejecución, se coloca en mayúsculas la S para reflejar este hecho.
• sticky bit — utilizado principalmente en directorios, este bit indica que un archivo creado en el
directorio solamente puede ser eliminado por el usuario que creó el archivo. Esto se indica por el
carácter t en el lugar de x en la categoría de todo el mundo (everyone). Si la categoría everyone no
tiene permisos de ejecución, la T se coloca en mayúsculas para reflejar este hecho.
Bajo Red Hat Enterprise Linux, el sticky bit se coloca por defecto en el directorio /tmp/ exacta-
mente por esta razón.
Importante
Los UIDs y los GIDs deben ser globalmente únicos dentro de su organización si pretende compartir
archivos y recursos sobre la red. De lo contrario, cualquier control de acceso que implemente no
funcionará correctamente pues estan basados en UIDs y GIDs, no en nombres de usuarios y de
grupos.
Específicamente, si los archivos /etc/passwd y /etc/group en un servidor de archivos y en la
estación de trabajo de un usuario son diferentes en los UIDs o GID que contienen, la aplicación
inadecuada de permisos puede llevar a problemas de seguridad.
Por ejemplo, si el usuario juan tiene un UID de 500 en un computador de escritorio, los archivos que
juan cree en un servidor de archivos se crearán con un propietario de UID 500. No obstante, si el
usuario bob inicia una sesión en el servidor de archivos (o en otro computador), y la cuenta de bob
también tiene un UID de 500, bob tendrá acceso completo a los archivos de juan y viceversa.
Por lo tanto, se deben evitar las colisiones de UID y GID a toda costa.
Hay dos instancias donde el valor numérico real de un UID o GID tiene un significado específico.
El UID o GID de cero (0) se utiliza para el usuario root y se tratan de forma especial por Red Hat
Enterprise Linux — automáticamente se le otorga acceso completo.
La segunda situación es que los UIDs y los GIDs por debajo de 500 se reservan para el uso del
sistema. A diferencia de UID/GID cero (0), los UIDs y GIDs por debajo de 500 no son tratados de
forma especial por Red Hat Enterprise Linux. Sin embargo, estos UIDs/GIDs nunca son asignados a
un usuario, pues es posible que algunos componentes de sistemas utilicen o utilizaran alguno de estos
UIDs/GIDs en algún momento. Para más información sobre estos usuarios y grupos estándar, consulte
el capítulo llamado Usuarios y Grupos en el Manual de referencia de Red Hat Enterprise Linux.
Cuando se añaden nuevas cuentas de usuario usando las herramientas estándar de Red Hat Enterprise
Linux, a las nuevas cuentas de usuario se les asigna el primer UID y GID disponible comenzando por
500. La próxima cuenta de usuario se le asignará un UID/GID de 501, seguido de UID/GID 502 y así
sucesivamente.
Más adelante en este capítulo se hace una breve descripción de las herramientas disponibles bajo Red
Hat Enterprise Linux para la creación de usuarios. Pero antes de revisar estas herramientas, la sección
siguiente revisa los archivos que Red Hat Enterprise Linux utiliza para definir cuentas y grupos del
sistema.
136 Capítulo 6. Administración de cuentas de usuarios y acceso a recursos
6.3.2.1. /etc/passwd
El archivo /etc/passwd es un archivo legible por todo el mundo y contiene y una lista de usuarios,
cada uno en una línea separada. En cada línea hay una lista delimitada por dos puntos (:) conteniendo
la información siguiente:
root:x:0:0:root:/root:/bin/bash
Esta línea muestra que el usuario root tiene una contraseña shadow, así como también un UID y GID
de 0. El usuario root tiene /root/ como directorio principal y utiliza /bin/bash como intérprete
de comandos.
Para más información sobre /etc/passwd, consulte la página man de passwd(5).
6.3.2.2. /etc/shadow
Debido a que el archivo /etc/passwd debe ser legible por todo el mundo (la razón principal es que
este archivo se utiliza para llevar a cabo la traducción del UID al nombre de usuario), hay un riesgo
relacionado en almacenar las contraseña de todo el mundo en /etc/passwd. Cierto, las contraseñas
1. GECOS viene de General Electric Comprehensive Operating Supervisor. Este campo fue utilizado en Bell
Labs, en la implementación original de UNIX. El laboratorio tenia muchas computadoras diferentes, incluyendo
una ejecutando GECOS. Este campo se utilizó para almacenar información cuando el sistema UNIX enviaba
trabajos por lotes o de impresión al sistema GECOS.
Capítulo 6. Administración de cuentas de usuarios y acceso a recursos 137
estan encriptadas. Sin embargo, es posible realizar ataques contra contraseñas si las contraseñas en-
criptada están disponibles.
Si un atacante puede obtener una copia de /etc/passwd, este puede llevar a cabo un ataque en
secreto. En vez de arriesgar la detección teniendo que intentar un inicio de sesión con cada contraseña
potencial generada por un descifrador de contraseñas, el atacante puede utilizar un descifrador de
contraseñas de la forma siguiente:
• Nombre de usuario — El nombre que el usuario escribe cuando se conecta al sistema. Esto permite
que la aplicación login de inicio de sesión, recupere la contraseña del usuario (y la información
relacionada).
• Contraseña encriptada — La contraseña encriptada con 13 a 24 carácteres. La contraseña es en-
criptada usando bien sea la biblioteca de funciones crypt(3) o el algoritmo de hash md5. En
este campo, los valores diferentes a una contraseña encriptada o en hash, se utilizan para contro-
lar la conexión del usuario y para mostrar el status de la contraseña. Por ejemplo, si el valor es !
o *, la cuenta es bloqueada y al usuario no se le permite conectarse. Si el valor es !!, nunca se
ha establecido una contraseña (y el usuario, como no ha establecido una contraseña, no se podrá
conectar).
• Ultima fecha en que se cambió la contraseña — El número de días desde el 1 de enero, 1970
(también conocido como epoch) en que la fecha fue modificada. Esta información es utilizada en
conjunto con los campos de caducidad de la contraseña.
• Número de días antes de que la contraseña debe ser modificada — El número mínimo de días que
deben pasar antes de que la contraseña se pueda cambiar.
• Número de días antes de que se requiera un cambio de contraseña — El número de días que deben
pasar antes de que se deba cambiar la contraseña.
• Número de días de advertencia antes de cambiar la contraseña — El número de días antes que el
usuario es notificado de que la contraseña vá a expirar.
• Número de días antes de desactivar la contraseña — El número de días después que una contraseña
expira antes de desactivar la cuenta.
• Fecha desde que la cuenta fue desactivada — La fecha (almacenada como el número de días desde
epoch) desde que la cuenta del usuario ha sido desactivada.
• Un campo reservado — Un campo que es ignorado en Red Hat Enterprise Linux.
He aquí un ejemplo de una línea de /etc/shadow:
juan:$1$.QKDPc5E$SWlkjRWexrXYgc98F.:12825:0:90:5:30:13096:
• No hay in mínimo de tiempo requerido antes de que la contraseña debe ser cambiada
• La contraseña se debe modificar cada 90 días
• El usuario recibirá una notificación cinco días antes de que la contraseña deba ser modificada
• La cuenta será desactivada 30 días después que expire la contraseña si no se realiza ninguna conex-
ión
• La cuenta caduca el 9 de noviembre del 2005
Para más información sobre el archivo /etc/shadow, consulte la página man shadow(5).
6.3.2.3. /etc/group
El archivo /etc/group es un archivo legible por todo el mundo y contiene una lista de los grupos,
cada uno en una línea separada. Cada línea es una lista de cuatro campos, delimitados por dos puntos
(:) que incluye la información siguiente:
• Nombre del grupo — El nombre del grupo. Utilizado por varios programas de utilidades como un
identificador legible para el grupo.
• Contraseña de grupo — Si se configura, esto permite a los usuarios que no forman parte del grupo
a unirse a el usando el comando newgrp y escribiendo la contraseña almacenada aquí. Si hay una
x minúscula en este campo, entonces se están usando contraseñas shadow.
• ID del grupo (GID) — El equivalente numérico del nombre del grupo. Lo utilizan el sistema oper-
ativo y las aplicaciones para determinar los privilegios de acceso.
• Lista de miembros — Una lista delimitada por comas de los usuarios que pertenecen al grupo.
He aquí una línea de ejemplo de /etc/group:
general:x:502:juan,shelley,bob
Esta línea muestra que el grupo general está utilizando contraseñas shadow, tiene un GID de 502, y
que juan, shelley y bob son miembros.
Para más información sobre /etc/group, consulte la página man de group(5).
6.3.2.4. /etc/gshadow
El archivo /etc/gshadow es un archivo legible solamente por el usuario root y contiene las con-
traseñas encriptadas para cada grupo, así como también información de los miembros del grupo y de
administración. De la misma forma que en el archivo /etc/group, cada información de grupos está
en una línea separada. Cada una de estas líneas es una lista delimitada por símbolos de dos puntos (:)
incluyendo la información siguiente:
• Nombre del grupo — El nombre del grupo. Utilizado por varios programas de utilidades como un
identificador legible para el grupo.
• Contraseña encriptada — La contraseña encriptada para el grupo. Si está configurada, los que no
sean miembros del grupo pueden unirse a este escribiendo la contraseña para ese grupo usando el
comando newgrp. Si el valor de este campo es !, entonces ningún usuario tiene acceso al grupo
usando el comando newgrp. Un valor de !! se trata de la misma forma que un valor de ! — sin
embargo, también indica que nunca se ha establecido una contraseña para el grupo. Si el valor en
nulo, solamente los miembros del grupo pueden conectarse al grupo.
• Administradores del grupo — Los miembros del grupo listados aquí (en una lista delimitada por
comas) pueden añadir o eliminar miembros del grupo usando el comando gpasswd.
Capítulo 6. Administración de cuentas de usuarios y acceso a recursos 139
• Miembros del grupo — Los miembros del grupo listados aquí (en una lista delimitada por comas),
son miembros normales, no administrativos, del grupo.
He aquí una línea de ejemplo de /etc/gshadow:
general:!!:shelley:juan,bob
Esta línea muestra que el grupo general no tiene contraseña y no permite a los no miembros a
unirse al grupo usando newgrp. Además, shelley es el administrador del grupo y juan y bob son
miembros normales, no administrativos.
Puesto que la edición manual de estos archivos incrementa las posibilidades de errores sintácticos,
se recomienda que se utilicen las aplicaciones suministradas con Red Hat Enterprise Linux para este
propósito. La sección siguiente revisa las herramientas principales para realizar estas tareas.
Aplicación Función
/usr/sbin/useradd Añade cuentas de usuarios. Esta herramienta también es utilizada para
especificar membrecias primaria y secundarias a grupos.
/usr/sbin/userdel Elimina cuentas de usuarios.
/usr/sbin/usermod Modifica los atributos de las cuentas incluyendo algunas funciones
relacionadas a la expiración de contraseñas. Para un control más
refinado, utilice el comando passwd. También se utiliza usermod
para especificar membrecias de grupos primaria y secundaria.
passwd Configura una contraseña. Aunque se utiliza principalmente para
modificar la contraseña de un usuario, esta también puede controlar
todos los aspectos de la expiración de contraseñas.
/usr/sbin/chpasswd Lee un archivo que consiste de pares de nombres de usuarios y
contraseñas, y actualiza cada contraseña de usuario de acuerdo a este.
chage Cambia las políticas de envejecimiento de contraseñas. También se
puede utilizar el comando passwd para este propósito.
chfn Cambia la información GECOS de un usuario.
140 Capítulo 6. Administración de cuentas de usuarios y acceso a recursos
Aplicación Función
chsh Cambia el intérprete de comandos por defecto de un usuario.
Tabla 6-2. Herramientas de línea de comandos para la Administración de Usuarios
La tabla siguiente describe algunas de las herramientas de línea de comandos más comunes utilizadas
para crear u administrar grupos:
Aplicación Función
/usr/sbin/groupadd Añade grupos, pero no asigna usuarios a estos grupos. Se deben
utilizar los programas useradd y usermod para asignar usuarios a un
grupo dado.
/usr/sbin/groupdel Elimina grupos.
/usr/sbin/groupmod Modifica nombres de grupos o GIDs, pero no cambia la membrecia
del grupo. Se tiene que utilizar useradd y usermod para asignar
usuarios a un grupo determinado.
gpasswd Cambia la membrecia de un grupo y configura contraseñas para
permitir a los usuarios que no sean miembro que conocen la
contraseña, unirse al grupo. También se utiliza para especificar
administradores de grupos.
/usr/sbin/grpck Verifica la integridad de los archivos /etc/group y /etc/gshadow.
Tabla 6-3. Herramientas de línea de comandos para Administrar Grupos
Las herramientas listadas proporcionan gran flexibilidad a los administradores de sistemas para con-
trolar todos los aspectos de las cuentas de usuarios y grupos. Para conocer aún más sobre su fun-
cionamiento, consulte sus páginas del manual.
Sin embargo, estas aplicaciones no determinan sobre qué recursos estos usuarios y grupos tienen
control. Para esto, el administrador del sistema debe utilizar aplicaciones de permisos de archivos.
Aplicación Función
chgrp Cambia el grupo que posee un archivo.
chmod Cambia los permisos de acceso para un archivo dado. Es capaz de
asignar permisos especiales.
chown Cambia la propiedad de un archivo (y también puede cambiar el
grupo).
Tabla 6-4. Herramientas de línea de comandos para la Administración de Permisos
También es posible alterar estos atributos en los entornos gráficos GNOME y KDE. Pulse con el botón
derecho sobre el ícono de un archivo (por ejemplo, mientras se muestra el ícono en un administrador
de archivos gráfico o en el escritorio), y seleccione Propiedades.
Capítulo 6. Administración de cuentas de usuarios y acceso a recursos 141
• El Manual de seguridad de Red Hat Enterprise Linux; Red Hat, Inc. — Proporciona una descrip-
ción general de los aspectos relacionados a la seguridad de las cuentas de usuarios y a escoger
contraseñas robustas.
• El Manual de referencia de Red Hat Enterprise Linux; Red Hat, Inc. — Contiene información
detallada sobre los usuarios y grupos presentes en Red Hat Enterprise Linux.
• El Manual de administración del sistema de Red Hat Enterprise Linux; Red Hat, Inc. — Incluye
un capítulo sobre la configuración de usuarios y grupos.
• Linux Administration Handbook por Evi Nemeth, Garth Snyder, y Trent R. Hein; Prentice Hall
— Proporciona un capítulo sobre el mantenimiento de cuentas de usuarios, una sección sobre se-
guridad pues se relaciona a los archivos de cuentas de usuarios, y una sección sobre atributos de
archivos y permisos.
Capítulo 7.
Impresoras e impresión
Las impresoras son un recurso esencial para la creación de una copia impresa — una representación
física de los datos en papel — la versión de los documentos para negocios, academia y uso en el
hogar. Las impresoras se han convertido un periférico indispensable en todos los niveles de negocios
y computación institucional.
Este capítulo discute las diferentes impresoras disponibles y compara sus usos en diferentes ambientes
computacionales. Luego describe cómo se maneja la impresión en Red Hat Enterprise Linux.
7.1.1.1. Función
La evaluación de sus necesidades organizacionales y cómo una impresora sirve esas necesidades en
un criterio esencial para determinar el tipo correcto de impresora para su ambiente. La pregunta más
importante es "¿Qué necesitamos imprimir?." Puesto que hay impresoras especializadas para texto,
imágenes o cualquier variación en medio, debe estar seguro de que adquiere la herramienta adecuada
para sus propósitos.
Por ejemplo, si sus requerimientos son de alta calidad de imágenes a color en papel brillante de grado
profesional, se recomienda que utilice una impresora de sublimación de tinte o de transferencia de
color de cera térmica en vez de una impresora láser o de impácto.
Recíprocamente, las impresoras láser o de inyección de tinta son adecuadas para la impresión de
borradores o documentos de distribución interna (tales impresoras con altos volúmenes de impresión
se llaman impresoras de grupo de trabajo). Determinar las necesidades del usuario común permite a
los administradores determinar la impresora correcta para el trabajo.
Otros factores a considerar son funcionalidades tales como duplexing — la habilidad de imprimir en
ambos lados de una hoja de papel. Tradicionalmente, las impresoras solamente imprimen en un lado
de la página (llamado impresión simplex). La mayoría de los modelos más económicos no tienen la
funcionalidad de dúplex por defecto (sin embargo, puede que tengan un método dúplex manual que
requiere que el usuario voltee la página). Algunos modelos ofrecen hardware que se puede añadir para
permitir esta funcionalidad; estos complementos de hardware pueden incrementar los costos consid-
erablemente. Sin embargo, la impresión en dúplex con el tiempo puede reducir los costos consider-
ablemente, al reducir la cantidad de papel utilizado para imprimir documentos, y por ende, reduciendo
los costos de consumibles — principalmente papel.
144 Capítulo 7. Impresoras e impresión
Otro factor a considerar es el tamaño del papel. La mayoría de las impresoras son capaces de manejar
los tamaños de papel más comunes:
7.1.1.2. Costo
El costo es otro factor a considerar cuando se evalúen impresoras. Sin embargo, el determinar el
costo único asociado con la compra de la impresora misma no es suficiente. Existen otros costos a
considerar, tales como los consumibles,repuestos, mantenimiento y los complementos de hardware.
Como el nombre implica, los consumibles es el término general utilizado para describir el material
utilizado durante el proceso de impresión. Los consumibles principalmente toman la forma de media
y tinta.
La media es el material en el cual el texto o imagen es impreso. La selección de la media depende en
gran medida del tipo de información que se imprime.
Por ejemplo, la creación de una impresión exacta de una imagen digital requiere un papel brillante
especial que pueda soportar la exposición prolongada a la luz natural o artificial, así como también
asegurar la reproducción exacta del color, estas cualidades son conocidas como resistencia del color.
Para documentos con calidad de archivado que requieren durabilidad y un nivel de legibilidad profe-
sional (tal como contratos, hojas de vida y otros registros permanentes), se debería utilizar un papel
mate (o sin brillo). También es importante el grueso del papel, ya que algunas impresoras tienen una
bandeja de papel que no es derecha. El uso de papel que es muy delgado o demasiado grueso, puede
causar obstrucciones. Algunas impresoras también pueden imprimir en transparencias, permitiendo
que la información se pueda proyectar en una pantalla durante una presentación.
La media especializada, tal como la que mencionamos aquí, puede afectar el costo de los consumibles
y se debería tomar en consideración cuando se evalúen las necesidades de impresión.
La tinta es un término generalizado, ya que no todas las impresoras utilizan tinta líquida. Por ejemplo,
las impresoras láser utilizan un polvo conocido como toner, mientras que las de impacto utilizan
cintas saturadas de tinta. Hay impresoras especializadas que calientan la tinta durante el proceso de
impresión, mientras que otras rocían pequeñas gotas de tinta sobre la media. Los costos de reemplazo
de tinta varían ampliamente y van a depender de si el contenedor de la tinta puede ser recargado o si
requiere un reemplazo completo del cartucho.
impacto, partes y suministros. Las impresoras de impacto son las más funcionales en ambientes es-
pecializados donde los bajos costos de impresión son esenciales. Las tres formas más comunes de
impresoras de impacto son matriz de puntos, margarita e impresoras en línea.
Nota
Cuando esté seleccionando una impresora de inyección de tinta para la compra, siempre asegurese
de saber el tipo de cartucho de tinta que requiere. Esto es muy importante sobre todo para las
unidades de color. Las impresoras de inyección de tinta CMYK requieren tinta para cada color; sin
embargo, el punto aquí es si cada color es almacenado en un cartucho separado o no.
Algunas impresoras utilizan un cartucho de cámaras múltiples; a menos de que se tenga algún
tipo de proceso de relleno, tan pronto como un color se acaba, se debe reemplazar el cartucho
completo. Otras impresoras utilizan cartuchos con múltiples cámaras para cyan, magenta y amarillo,
pero también tienen un cartucho separado para el negro. En ambientes donde se imprime grandes
cantidades de texto, este tipo de arreglo puede ser beneficioso. Sin embargo, la mejor solución es
encontrar una impresora con cartuchos separados para cada color; así, puede reemplazar fácilmente
un color particular cuando este se termine.
Algunos fabricantes de impresoras de inyección de tinta también requieren utilizar papel tratado de
alguna forma particular para imprimir imágenes y documentos de alta calidad. Algunos tipos de papel
utilizan una capa con una fórmula de alto brillo para absorber rápidamente las tintas de color, lo
Capítulo 7. Impresoras e impresión 147
que evita que se hagan grumos (acumulaciones de tinta basada en agua en ciertas áreas donde se
mezclan los colores, causando manchas de tinta seca) o bandas (donde la salida de la impresora tiene
un patrón de líneas extrañas). Consulte la documentación de su impresora para ver la lista de papeles
recomendados.
Sin embargo, si tiene pensado imprimir imágenes de alta calidad, debería optar por papel brilllante
para lograr una apariencia más profesional.
Con el paso de los años, los fabricantes de impresoras han desarrollado sus propios lenguajes propi-
etarios para describir formatos de documentos. Sin embargo, tales lenguajes propietarios solamente
aplican a las impresoras que los fabricantes mismos crearon. Si por ejemplo, usted tuviese que en-
viar un archivo listo para la impresión usando un PDL propietario a un periódico profesional, no
había ninguna garantía de que su archivo fuese compatible con la impresora de la máquina. Aparece
entonces el problema de portabilidad.
Xerox® desarrolló el protocolo Interpress™ para sus impresoras de línea, pero nunca se logró la
adopción completa de este lenguaje por el resto de la industria de impresoras. Dos desarrolladores
de Interpress dejaron Xerox y formaron Adobe®, una compañía de software orientada básicamente a
los gráficos electrónicos y documentos profesionales. En Adobe, ellos desarrollaron un PDL amplia-
mente adoptado llamado PostScript™, el cual utiliza un lenguaje de marcas para describir el formato
de texto y la información de imágenes que las impresoras pueden procesar. Al mismo tiempo, la com-
pañía Hewlett-Packard® desarrolló el Printer Control Language™ (o PCL) para su uso en su línea de
impresoras láser y de inyección de tinta. PostScript y PCL son hoy día PDLs ampliamente compatibles
y adoptados por la mayoría de los fabricantes de impresoras.
Los PDLs funcionan con el mismo principio que los lenguajes de programación. Cuando un docu-
mento está listo para la impresión, la PC o estación de trabajo toma las imágenes, la información
tipográfica y la distribución del documento, y los utiliza como objetos que forman instrucciones para
que la impresora los procese. La impresora luego traduce estos objetos en rasters, una serie de líneas
escaneadas que forman una imagen del documento (llamado Raster Image Processing o RIP), e im-
prime la salida en la página como una imagen completa con texto y gráficos incluidos. Este proceso
hace los documentos impresos más consistentes, resultando en ninguna o muy poca variación cuando
se imprime el documento en modelos diferentes de impresoras. Los PDLs están diseñados para ser
portables en cualquier formato y escalable para ajustarse a cualquier tamaño de papel.
La selección de la impresora correcta es una cuestión de determinar los estándares que los diferentes
departamentos en su organización han adoptado para sus necesidades. La mayoría de los departamen-
tos utilizan procesadores de texto y otros software de productividad que utilizan el lenguaje PostScript
para la salida de impresión. Sin embargo, si su departamento de gráficos requiere PCL u otra forma
de impresión propietaria, debe tomar esto en consideración también.
Red Hat Enterprise Linux 4 utiliza el sistema de impresión CUPS. Si un sistema fue actualizado
desde una versión anterior de Red Hat Enterprise Linux que usaba CUPS, el proceso de actualización
mantiene las colas configuradas.
Para usar la Herramienta de configuración de impresoras debe tener privilegios como root. Para ini-
ciar la aplicación, seleccione Botón de menú principal (en el Panel) => Configuración del sistema
=> Impresión, o escriba el comando syste-config-printer. Este comando determina automáti-
camente si ejecutará la versión gráfica o la versión basada en texto dependiendo de si el comando es
ejecutado desde el ambiente gráfico o desde una consola basada en texto.
Puede forzar a la Herramienta de configuración de impresoras a ejecutarse como una aplicación
basada en texto, utilice el comando system-config-printer-tui desde el intérprete de coman-
dos.
Importante
No modifique el archivo /etc/printcap o los archivos en el directorio /etc/cups/. Cada vez que el
demonio de impresión (cups) es iniciado o reiniciado, se crean dinámicamente nuevos archivos de
configuración. Los archivos también son creados dinámicamente cuando se aplican cambios con la
Herramienta de configuración de impresoras.
Importante
Si agrega una nueva cola de impresión o modifica una existente, debe aplicar los cambios para que
tomen efecto.
Al hacer click en el botón Aplicar guarda cualquier cambio que haya realizado y reinicia el demo-
nio de impresión. Los cambios no son escritos al archivo de configuración hasta que el demonio de
impresión no sea reiniciado. Alternativamente, puede seleccionar Acción => Aplicar.
Para más información sobre la configuración de impresoras bajo Red Hat Enterprise Linux consulte
el Manual de administración del sistema de Red Hat Enterprise Linux.
• Network Printing por Matthew Gast y Todd Radermacher; O’Reilly & Associates, Inc. — Informa-
ción completa sobre el uso de Linux como servidor de impresión en entornos heterogéneos.
• El Manual de administración del sistema de Red Hat Enterprise Linux; Red Hat, Inc. — Incluye
un capítulo sobre la configuración de impresoras.
Capítulo 8.
Planificación para Desastres
La planificación para desastres es fácil de olvidar para un administrador de sistemas — no es agradable
y siempre pareciera que hay algo más importante que hacer. Sin embargo, dejar pasar la planificación
para desastres es una de las peores cosas que un administrador de sistemas puede hacer.
Aunque a menudo se trata de los desastres dramáticos (tales como un incendio, una inundación o
tormenta) lo que primero viene a la mente, los problemas más mundanos (tales como que unos con-
tructores corten los cables por accidente o un lavamanos que esté botando agua) pueden ser igualmente
destructivos. Por lo tanto, la definición de un desastre que un administrador debe tener en mente, es
cualquier evento no planeado que pueda interrumpir la operación normal de la organización.
Aunque sería imposible listar todos los tipos diferentes de desastres que podrían ocurrir, esta sección
examina los factores principales que forman parte de cada tipo de desastre para que asi cualquier
exposición a un desastre se pueda examinar no en términos de su posibilidad, pero si de los factores
que podrían llevar a un desastre.
• Alguien está en el sitio con suficientes habilidades para diagnosticar el problema, identificar la parte
defectuosa y reemplazarla.
• Está disponible un repuesto para el hardware defectuoso.
Estos problemas se cubren con más detalles en las secciones siguientes.
Sugerencia
Antes de tomar este enfoque de reparar las cosas ud mismo, asegurese de que el hardware:
Sin embargo, aún con las habilidades mínimas, puede ser posible diagnosticar efectivamente y reem-
plazar un hardware defectuoso — si selecciona cuidadosamente sus repuestos.
Por otro lado, un sistema que no se puede permitir estar fuera de servicio más que unos pocos minutos,
y un repuesto que podría utilizarse una vez al mes (y que podría tomar semanas en reemplazar) podría
significar que se necesiten media docena de repuestos (o quizás más).
• Horas de cobertura
• Tiempo de respuesta
• Partes disponibles
• Presupuesto disponible
• Hardware cubierto
Exploramos cada uno de estos detalles más de cerca en las secciones siguientes.
La mayoría de las horas de cobertura son definidas en términos de las horas y los días durante los
cuales se puede enviar un técnico. Algunas de las horas de cobertura más comunes son:
Sugerencia
Si está considerando un Servicio Técnico, tómese un momento para considerar los mecanismos
para hacer llegar el hardware hasta el servicio. ¿Utilizará el vehiculo de la compañía o propio? Si
utiliza su propio vehículo, ¿Su vehículo tiene el espacio y la capacidad de carga suficiente?, ¿Qué
hay del seguro? ¿Se necesitará más de una persona para descargar el hardware?
Aunque estas son preocupaciones mundanas, se deberían considerar antes de tomar la decisión de
utilizar un Servicio Técnico.
Capítulo 8. Planificación para Desastres 157
Nota
Aún cuando no ocurre frecuentemente, debe estar consciente de que los acuerdos de servicios con
claúsulas de tiempos de respuesta, algunas veces pueden estirar el servicio de un fabricante más
allá de su habilidad para responder. A veces se escucha de organizaciones que envian a alguien
— cualquier persona — para responder a una llamada de servicio con tiempos de respuesta cortos,
simplemente para cubrir su responsabilidad. Esta persona aparentemente diagnostica el problema
y llama a "la oficina" para solicitar que alguien traiga "la parte correcta".
En realidad, están esperando a que llegue la persona que es capaz realmente de manejar la llamada.
Aunque quizás se pueda entender que esto ocurra bajo circunstancias extraordinarias (tales como
problemas de energía que han dañado los sistemas a lo largo del área de servicio), si este es un
método consistente de operación, debería contactar al gerente de servicios y solicitar una expli-
cación.
1. Y esto probablemente se considere el mejor caso posible, pues usualmente los técnicos son responsables por
territorios que se extienden fuera de la oficina en todas las direcciones. Si usted está en un extremo del territorio
y el único técnico disponible está en el otro extremo, el tiempo de respuesta será aún mayor.
158 Capítulo 8. Planificación para Desastres
de que el técnico mantenga un inventario de repuestos apropiado para su configuración y que estas
partes no sean consumidas por otros técnicos para sus clientes.
• La PC será utilizada desde 17:00 hasta las 09:00 de la mañana siguiente (sin mencionar los fines de
semana)
• Una falla de esta PC será notable, excepto durante 09:00 y 17:00
Por lo tanto, pagar por la casualidad de que esta PC necesite servicio a mitad del sábado en la noche,
es una pérdida de dinero.
Lo que hay que hacer aquí es dividir el acuerdo de servicio de manera que el hardware que no sea
crítico esté agrupado de forma separada al hardware crítico. De esta forma, se pueden reducir los
costos.
Nota
Si tiene veinte servidores configurados de forma idéntica que son críticos para su organización,
puede estar tentado a tener un acuerdo de servicio de alto nivel para uno o dos, dejando el resto
cubiertos por un acuerdo mucho más económico. Luego, no importa cual de los servidores falle
durante el fin de semana, usted dirá que es uno de los elegibles para el servicio de alto nivel.
No lo haga. No solamente es deshonesto, pero además la mayoría de los fabricantes hacen un
seguimiento de tales cosas usando los números de seriales. Aún si usted se las arregla para tales
verificaciones, se gasta mucho más luego de ser descubierto que siendo honesto y pagando por el
servicio que realmente necesita.
Capítulo 8. Planificación para Desastres 159
• Sistema operativo
• Aplicaciones
Cada tipo de falla tiene su impacto específico y se exploran en más detalles en las secciones siguientes.
• Documentación
• auto-asistencia
• Soporte de Web o de correo electrónico
• Soporte telefónico
• Soporte in situ
Cada tipo de asistencia se describe en más detalles en las secciones siguientes.
8.1.2.3.1. Documentación
Aunque a veces es ignorada, la documentación del software puede servir como una herramienta de
soporte de primer nivel. Bien sea en línea o impresa, la documentación a menudo contiene la infor-
mación necesaria para resolver muchos problemas.
Si el personal de soporte está saturado de trabajo, es dificil obtener la información necesaria de ellos,
pues su principal preocupación es la de responder rápidamente a cada correo y moverse al siguiente.
La razón de esto es que casi todo el personal de soporte usualmente es evaluado por el número de
problemas que pueden resolver. Los problemas de escalada también son complicados porque hay
poco que hacer dentro de un correo electrónico para promover respuestas con mejores tiempos de
respuestas y más útiles — particularmente cuando la persona leyendo su correo está apurado para
moverse al siguiente.
La forma de obtener el mejor servicio es asegurarse de que su correo electrónico responde todas las
preguntas que un técnico podría preguntarle, tales como:
• Los techos pueden tener goteras, dejando pasar agua hasta los centros de datos.
• Varios sistemas del edificio (tales como agua, desagues, o manejo del aire) pueden fallar, dejando
el edificio inhabitable.
• Los pisos puede que no tengan suficiente capacidad para soportar el equipo que desea colocar en
su centro de datos.
Es importante tener una mente creativa cuando se tiene que pensar sobre las diferentes formas en que
un edificio puede fallar. La lista de arriba solamente es un comienzo para ponerlo a pensar en esta
dirección.
8.1.3.2. Electricidad
Debido a que la electricidad es como la sangre de cualquier sistema computacional, los problemas
relacionados a la energía son de suprema importancia en la mente de un administrador de sistemas.
Hay muchos aspectos diferentes sobre la electricidad; estos se cubren con más detalles en las secciones
siguientes.
Sugerencia
Las organizaciones ubicadas cercanas a una compañía eléctrica quizás puedan negociar conex-
iones a dos rejillas de energía diferentes:
Aquí, lo principal a verificar son los métodos a través de los cuales la energía es traída a las instala-
ciones de su organización y dentro del edificio. ¿Las líneas de transmisión están por debajo o sobre la
tierra? Las líneas sobre el suelo son susceptibles a:
Voltaje
El voltaje de la energía entrante debe ser estable, sin reducciones de voltaje (a menudo conocidas
como holguras, inclinaciones oapagones parciales) o incrementos de voltaje (conocidos como
puntos y oleadas).
Frecuencia
La frecuencia debe ser estable (la mayoría de los países utilizan una frecuencia de energía de
50Hz o 60Hz).
Ruido
La energía no debe incluir ningún ruido de RFI (Interferencia de Frecuencia de Radio) o EMI
(Interferencia electro-magnética).
Corriente
La energía se debe suministrar a una tasa suficiente como para correr el centro de datos.
La energía suministrada desde la compañía eléctrica normalmente no satisface los estándares necesar-
ios para un centro de datos. Por lo tanto, usualmente se requiere un nivel de condicionamiento de la
energía. Hay varios enfoques para hacer esto posible:
164 Capítulo 8. Planificación para Desastres
Protectores de corriente
Los protectores de corriente hacen exáctamente lo que su nombre indica — filtran el oleaje de
la fuente de poder. La mayoría no hacen nada más que esto, dejando los equipos vulnerables a
otros problemas relacionados con la energía.
Acondicionadores de energía
Los acondicionadores de energía tratan de lograr un enfoque más completo; dependiendo de lo
sofisticado que sea la unidad, los acondicionadores de energía a menudo cubren la mayoría de
los problemas descritos arriba.
Conjuntos de Moto-generadores
Un moto-generador esencialmente es un motor eléctrico grande activado por su suministro nor-
mal de poder. El motor está conectado a una rueda voladora, la cual a su vez está conectada a un
generador. El motor mueve la rueda y el generador, lo cual produce la electricidad en suficientes
cantidades para correr el centro de datos. De esta forma, la energía del centro de datos está sepa-
rada de la electricidad externa, lo que significa que se eliminan una gran parte de los problemas
relacionados con la electricidad. La rueda voladora también permite la habilidad de mantener
energía durante interrupciones eléctricas cortas, pues toma varios segundos para que la rueda se
detenga al punto en que ya no genere energía.
Sugerencia
La mayoría de los apagones frecuentes duran, en promedio, no más que unos pocos segundos; los
apagones más largos son mucho menos frecuentes. En consecuencia, concéntrese primero en los
apagones de solamente unos pocos minutos de duración, luego piense en los métodos a utilizar
para protegerse de apagones más largos.
• Corto tiempo para cambiarse a la energía de reserva (conocido como tiempo de transferencia)
• Un tiempo de ejecución (el tiempo que durará la energía de reserva) medido en segundos a minutos
Las soluciones de energía de reserva que satisfacen estas características son los conjuntos de moto-
generadores y los UPSs. La rueda voladora en el moto-generador permite que el generador continue
produciendo electricidad por el tiempo suficiente para cubrir interrupciones de un segundo o un poco
más. Los moto-generadores tienden a ser bastante grandes y costosos, haciendolos una solución prác-
tica solamente para los centros de datos de mediano a gran tamaño.
Sin embargo, otra tecnología — llamada un UPS — puede cubrir estas situaciones donde un moto-
generador es demasiado costoso. También pueden manejar interrupciones más largas.
• Los UPSs fuera de línea utilizan un inversor para generar energía solamente cuando falla el sumin-
istro principal de poder.
• Un UPSs en línea utiliza un inversor para generar energía todo el tiempo, activando el inversor a
través de su batería solamente cuando la fuente principal de energía falle.
Cada tipo tiene sus ventajas y desventajas. Un UPS fuera de línea usualmente es menos costoso,
debido a que el convertidor no tiene que ser construído para operar todo el tiempo. Sin embargo,
si ocurre un problema con el UPS fuera de línea esto pasará inadvertidamente (hasta que ocurra la
próxima interrupción eléctrica).
Los UPSs en línea tienden a ser mejor en proporcionar energía limpia para su centro de datos; después
de todo, un UPS en línea básicamente está generando energía para usted a tiempo completo.
Pero no importa qué tipo de UPS usted seleccione, debe medir el tamaño de su UPS para anticipar la
carga (asegurando por tanto que el UPS tiene energía suficiente para producir electricidad al nivel de
voltage y corriente requerido), y debe determinar cuánto tiempo le gustaría ejecutar su centro de datos
usando la energía de la batería.
Para determinar esta información, primero debe determinar las cargas que el UPS servirá. Revise
cada equipo y determine cuánta energía necesita (esto normalmente está listado en una etiqueta cerca
del cable eléctrico de la unidad). Escriba el voltaje, los watts y/o amperios. Una vez que tenga estos
números para todo el hardware, debe convertirlos a VA (Volt-Amps). Si tiene un número de vatiaje,
puede utilizar el vatiaje listado como VA; si tiene amperios, multipliquelo por los voltios para obtener
el VA. Al añadir los números de vatiaje puede llegar al número aproximado VA requerido por el UPS.
Nota
Siendo más específicos, este enfoque para calcular el VA no es correcto; sin embargo, para obtener
el verdadero VA necesitaría conocer el factos de energía para cada unidad y esta información, rara-
mente se encuentra disponible. En cualquier caso, los números de VA obtenidos usando este en-
foque, reflejan los valores del peor caso, dejándole un margen de error por razones de seguridad.
166 Capítulo 8. Planificación para Desastres
Determinar el tiempo de ejecución es más que una pregunta de negocios que técnica - cpntra qué tipo
de interrupciones está dispuesto a protegerse y cuánto dinero está dispuesto a gastar para hacerlo? La
mayoría de los sitios selecciona tiempos de ejecución menores que una hora o dos como máximo,
pues a partir de este punto la energía a partir de las baterias se vuelve bastante costosa.
Nota
Tenga en mente que los generadores activados a través de motores requieren de recargas regulares
mientras se esten ejecutando. Debería conocer la tasa de uso de su combustible con una carga
máxima y programar las entregas de combustible de acuerdo a esto.
En este punto, sus opciones son bien abiertas, asumiendo que su organización tiene los fondos sufi-
cientes. Esto también es un área en la que los expertos deberían ayudarlo a determinar la mejor solu-
ción posible para su organización. Muy pocos administradores de sistemas tienen el conocimiento
especializado necesario para planear la adquisición y despliegue de estos tipos de sistemas de gen-
eración de energía.
Sugerencia
Se pueden rentar generadores portables de todos los tamaños, haciendo posible tener los beneficios
de un generador sin el gasto de dinero inicial para comprar uno. Sin embargo, tenga en cuenta que en
desastres que afectan su vecindad en general, los generadores alquilados serán difíciles de obtener
y muy costosos.
• ¿Qué pasa si no hay electricidad para mantener el control ambiental en el centro de datos?
• ¿Qué pasa si no hay electricidad suficiente para mantener el control ambiental en todo el edificio?
• ¿Qué pasa si no hay energía para operar las estaciones de trabajo, el sistema telefónico, las luces?
El punto aquí es que su organización debe determinar a qué punto una interrupción prolongada tendrá
que simplemente ser tolerada. Si esto no es una opción, su organización debe reconsiderar su habilidad
para funcionar de forma completamente independiente de un sitio con electricidad, lo que significa
que se necesitaran generadores muy grandes para servir a un edificio completo.
Capítulo 8. Planificación para Desastres 167
Por supuesto, aún este nivel de planificación no puede ocurrir en un vacío. Es muy probable que lo que
sea que esté causando la interrupción prolongada, también esté afectando el mundo externo a su orga-
nización, y que el mundo externo comenzará a tener un efecto en la habilidad de su organización para
continuar sus operaciones, aún cuando se tenga capacidad de generar electricidad de forma ilimitada.
• Las nevadas fuertes y el hielo puede impedir que el personal llegue hasta el centro de datos y hasta
puede tapar los condensadores de aire acondicionado, provocando que se eleven las temperaturas
de los centros de datos justament cuando no hay nadie que pueda acercarse al centro de datos para
llevar a cabo las acciones correctivas.
• Vientos fuertes que pueden interrumpir la energía y las comunicaciones, con vientos extremada-
mente fuertes dañando inclusive el edificio mismo.
Hay otros tipos de tiempo que también pueden provocar problemas, aún cuando no sean tan conoci-
dos. Por ejemplo, las temperaturas muy altas pueden ocasionar que se sobrecarguen los sistemas de
enfriamiento, generando apagones parciales o totales cuando el panel eléctrico se sobrecarga.
Aunque es muy poco lo que puede hacer sobre el tiempo, el conocer la forma en que este puede afectar
las operaciones de su centro de datos, lo ayudará a mantener las cosas funcionando cuando se tenga
mal tiempo.
• Eduque a sus usuarios para el uso correcto de sus aplicaciones y en las técnicas correctas de admin-
istración de archivos
• Asegurese de que se hacen copias de respaldo regulares de los archivos de sus usuarios y de que el
proceso de restauración es tan organizado y rápido como sea posible
Más allá de aquí, es poco los que se puede hacer para mantener los errores de los usuarios a un
mínimo.
• El ambiente fue modificado en algún momento en el pasado y los procedimientos nunca se actu-
alizaron. Ahora el ambiente cambia otra vez, dejando a que el operador memorice un procedimiento
3. Si los operadores en su organización no tienen procedimientos de operación, trabaje en con ellos, la gerencia
y sus usuarios para crearlos. Sin procedimientos, un centro de datos está fuera de control y vulnerable a sufrir
problemas graves en el curso de las operaciones diarias.
Capítulo 8. Planificación para Desastres 169
inválido. En este punto, aun si los procedimientos se actualizaron (lo que es poco probable, dado el
hecho de que no estaban actualizados anteriormente) el operador no lo sabrá.
• El ambiente fue modificado y no existen procedimientos. Esto es simplemente una versión más
fuera de control que la situación anterior.
• Los procedimientos existen y son correctos, pero el operador no los seguirá (o no puede).
Dependiendo de la estructura gerencial de su organización, quizás no pueda hacer mucho más que
simplemente comunicar sus preocupaciones al gerente adecuado. En cualquier caso, ofrecerse para
ayudar en lo que sea posible para ayudar es la mejor forma de abordar esto.
• Correo electrónico
• Cuentas de usuarios
• Red
• Aplicaciones
La lista puede extenderse mucho más. La tarea actual de configurar varía en gran medida; algunas
tareas requieren editar un archivo de texto (usando cualquiera de los cientos de sintaxis de archivos de
configuración), mientras que otras tareas requieren la ejecución de alguna utilidad de configuración.
El hecho de que estas tareas son manejadas de forma diferente es simplemente un reto adicional al
hecho básico de que cada tarea de configuración requiere un conocimiento diferente. Por ejemplo,
170 Capítulo 8. Planificación para Desastres
Investigación preliminar
La investigación preliminar intenta definir claramente:
• La naturaleza del cambio que tomará lugar
• Su impacto, si el cambio es exitoso
• Una posición de retroceso, si el cambio falla
• Una evaluación de qué tipos de falla son posibles
La investigación preliminar puede incluir probar el cambio propuesto durante el tiempo plan-
ificado fuera de servicio, o puede ir tan allá como para incluir la implementación del cambio
primero en un ambiente de prueba especial, ejecutándose en un hardware dedicado para las eval-
uaciones.
Planificación
Se examina el cambio con un ojo hacia las mecánicas actuales de la implementación. La plani-
ficación se hace incluyendo una descripción de la secuencia y tiempo del cambio (junto con la
secuencia y tiempo de cualquier paso necesario para cancelar el cambio en caso de que ocurra un
problema), así como también asegurarse de que el tiempo asignado para los cambios es suficiente
y no entra en conflicto con ninguna otra actividad a nivel de sistemas.
El producto de este proceso a menudo es una lista de verificación de pasos para que la use el
administrador del sistemas mientras está llevando a cabo el cambio. Junto con cada paso están
las instrucciones a realizar para cancelar el cambio y volver al estado anterior, en caso de que falle
el paso. A menudo se incluyen los tiempos estimados, haciendo fácil para que el administrador
del sistema determine si el trabajo está dentro de la planificación o no.
Ejecución
En este punto, la ejecución real de los pasos necesarios para implementar el cambio debería ser
directa y anti-culminante. El cambio es implementado o (si ocurren errores) se cancela.
Supervisión
Bien sea que se implemente el cambio o no, se monitoriza el ambiente para asegurarse de que
todo está funcionando como debería.
Capítulo 8. Planificación para Desastres 171
Documentación
Si se implementa el cambio, toda la documentación existente se actualiza para reflejar la config-
uración modificada.
Obviamente, no todos los cambios de configuración requieren este nivel de detalles. La creación de
una cuenta de usuarios no requiere ninguna investigación preliminar y la planificación probablemente
consistirá de determinar si el administrador tiene tiempo libre para crear una cuenta. La ejecución
sera igualmente rápida; la monitorización consiste de asegurarse de que la cuenta es utilizable y la
documentación probablemente consistirá en enviar un correo electrónico al supervisor del usuario.
Pero a medida que la configuración se vuelve más compleja, se hace necesario un proceso de control
de cambios más formal.
8.2. Respaldos
Los respaldos o copias de seguridad tienen dos objetivos principales:
• Un respaldo no es más que una instantánea de los datos respaldados. Es un reflejo de los datos en
un momento particular.
• Los datos que cambian con poca frecuencia se pueden respaldar menos a menudo, mientras que los
datos que cambian regularmente deben ser copiados frecuentemente.
Los administradores de sistemas que tienen un buen entendimiento de sus sistemas, usuarios y apli-
caciones deberían ser capaces de agrupar rápidamente en sus sistemas en diferentes categorías. Sin
embargo, he aquí algunos ejemplos para comenzar:
4. Estamos usando el término datos en esta sección para describir cualquier cosa que se procesa por el software
de respaldo. Esto incluye software del sistema operativo, software de aplicaciones, así como también los datos
reales. No importa lo que sea, para el software de respaldos, todos son datos.
Capítulo 8. Planificación para Desastres 173
Sistema operativo
Estos datos solamente cambia durante las actualizaciones, las instalaciones de reparaciones de
errores y cualquier modificación específica al sitio.
Sugerencia
Debería de molestarse con el respaldo del sistema operativo? Esta es una pregunta que mu-
chos administradores de sistemas operativos han evaluado por muchos años. Por un lado, si el
proceso de instalación es relativamente fácil y si las reparaciones de fallos y personalizaciones
están bien documentadas y son fáciles de reproducir, la reinstalación del sistema operativo
puede ser una opción viable.
Por otro lado, si hay alguna duda de que una instalación fresca pueda recrear completamente
el ambiente original del sistema, el respaldo del sistema operativo es la mejor opción, aún si
los respaldo se realizaron con mucho menos frecuencia que los respaldos de datos de produc-
ción. Los respaldos ocasionales de sistemas operativos son útiles cuando se deben restaurar
solamente unos pocos sistemas operativos (por ejemplo, debido a la eliminación accidental de
un archivo).
Software de aplicaciones
Estos datos cambian cuando se instalan, actualizan o eliminan aplicaciones.
Datos de aplicaciones
Estos datos cambian tan frecuente como lo hacen las aplicaciones asociadas. Dependiendo de
la aplicación específica y su organización, esto puede significar que los cambios toman lugar
segundo a segundo o al final del año fiscal.
Datos de usuarios
Estos datos cambian de acuerdo a los patrones de uso de su comunidad de usuarios. En la mayoría
de las organizaciones, esto significa que los cambios toman lugar todo el tiempo.
Basado en estas categorías (y cualquier otra adicional que sean específicas a su organización), usted
debería tener una buena idea concerniente a la naturaleza de los respaldos que se necesitan para
proteger sus datos.
Nota
Debe tener en mente que la mayoría del software de respaldo trata con datos en un directorio o a
nivel del sistema de archivos. En otras palabras, la estructura de su sistema de archivo juega un
papel importante en cómo se ejectuten los respaldos. Esta es otra razón por la que es una buena
idea considerar cuidadosamente la mejor estructura de directorios para un nuevo sistema y agrupar
los archivos y directorios de acuerdo a su uso anticipado.
• Cambiar el software de respaldo es complicado; una vez implementado, estará usando el software
de respaldo por un largo tiempo. Después de todo, tendrá archivos de respaldo por largo tiempo
que podrá leer. El cambiar el software de respaldo significa que usted debe bien sea mantener el
software original (para acceder a los archivos de respaldo), o que debe convertirlos para que sean
compatibles con el nuevo software.
Dependiendo del software de respaldo, el esfuerzo que implica convertir archivos de respaldo puede
ser tan directo (pero probablement consuma mucho tiempo) como ejecutar los respaldos a través de
un programa de conversión ya existente, o puede requerir ingeniería inversa del formato de respaldo
y escribir un software personalizado para realizar esta tarea.
• El software debe ser 100% confiable - debe respaldar lo que se supone que debe respaldar y cuando
se necesite.
• Cuando llega el momento de restaurar los datos - ya sea un archivo único o un sistema de archivos
completo - el software de respaldo debe ser 100% confiable.
• Respaldos completos
• Respaldos incrementales
• Respaldos diferenciales
Capítulo 8. Planificación para Desastres 175
8.2.4.1. Cintas
Las cintas fueron el primer tipo de media removible disponible como medio de almacenamiento.
Tiene los beneficios de bajos costos y una capacidad de almacenamiento razonablemente buena. Sin
embargo, las cintas tienen algunas desventajas - es susceptible a desgastarse y el acceso a los datos en
una cinta es por naturaleza secuencial.
Estos factores implican que es necesario hacer un seguimiento del uso de las cintas (retirando las
cintas una vez que hayan alcanzado el final de su vida útil) y que las búsquedas de un archivo en cinta
pueden ser una tarea bastante lenta.
Por otro lado, las cintas son uno de los medios de almacenamiento masivo menos costosos disponibles
y tienen una larga historia de confiabilidad. Esto significa que construir una biblioteca de cintas de
un buen tamaño no necesita consumir una gran parte de su presupuesto, y puede contar con poderla
utilizar ahora y en un futuro.
8.2.4.2. Disco
En años pasados, las unidades de disco nunca se utilizaban como medio para respaldos. Sin embargo,
los precios se han reducido tanto que, en algunos casos, el uso de discos duros como unidades de
respaldo, tiene sentido.
La razón principal para el uso de unidades de disco como medio para respaldos sería su velocidad.
No hay un medio de almacenamiento masivo más rápido disponible. La velocidad puede ser un factor
crítico cuando la ventana para hacer el respaldo de su centro de datos es corta y la cantidad de datos a
copiar es grande.
Pero por varias razones el almacenamiento en disco no es el medio ideal para respaldos.
• Normalmente los discos duros no son removibles. Un factor clave para una estrategia de respaldo
efectiva es que se pueda retirar la media de su centro de datos y en algún tipo de almacenamiento
fuera del sitio. Un respaldo de la base de datos de producción sentada en un disco duro medio metro
más allá de la base de datos misma no es un respaldo; es una copia. Y las copias no son muy útiles
si los datos del centro de datos y sus contenidos (incluyendo las copias) son dañadas o destruídas
por algún tipo de evento desafortunado.
• Las unidades de disco duro son costosas (al menos comparadas con otros tipos de media). Hay
situaciones donde el dinero realmente no es un problema, pero en todos los demas casos, los costos
asociados con el uso de discos duros para respaldos significa que el número de copias de respaldo
se debe mantener bajo para así mantener bajos los costos generales. Menos copias de seguridad
significa menos redundancia si por alguna razón uno de los respaldos no se puede leer.
• Los discos duros son frágiles. Aún si hace el gasto adicional de comprar discos removibles, su
fragilidad puede ser un problema. Si se le cae un disco, usted perdió el respaldo. Es posible comprar
estuches especiales que pueden reducir (pero no eliminar completamente) este peligro, pero esto
hace una propuesta costosa aún más costosa.
• Las unidades de disco no son media para archivado. Asumiendo que pueda superar todos los otros
problemas asociados con la realización de respaldos a unidades de disco, debería considerar lo
Capítulo 8. Planificación para Desastres 177
siguiente. La mayoría de las organizaciones tienen varios requerimientos legales para mantener los
registros disponibles por cierto tiempo. Las posibilidades de obtener data utilizable desde una cinta
de 20 años son mucho más grandes que las posibilidades de hacerlo desde un disco de 20 años.
Por ejemplo, ¿tendrá el hardware necesario para conectarlo a su sistema? Otra cosa a considerar
esn que una unidad de disco es mucho más compleja que una unidad de cinta. Cuando un motor
de 20 años gira un plato de disco de 20 años, causando que los cabezales de lectura/escritura de 20
años vuelen sobre la superficie del plato, ¿cuáles son las posibilidades de que estos componentes
funcionen sin problema después de haber estado 20 años sentados sin hacer nada?
Nota
Algunos centros de datos hacen los respaldos a unidades de disco y luego, para propósitos de
archivado, copian estos respaldos a unidades de cinta. Esto permite realizar los respaldos más
rápidos durante la ventana de respaldo que se tiene. Se puede hacer luego la escritura de los
respaldos a las unidades de cinta, durante el resto del día laboral; siempre y cuando la grabación
se termine antes de que se realicen los respaldos del próximo día laboral.
Dicho esto, todavía existen algunas situaciones en las que los respaldos a unidades de discos duros
tiene sentido. En la próxima sección podemos ver cómo se pueden combinar con una red para formar
una solución de respaldo viable (pero costosa).
8.2.4.3. Red
Por sí misma, una red no puede actuar como una media de respaldo. Pero combinada con tecnologías
de almacenamiento masivo, puede hacerlo muy bien. Por ejemplo, combinando un enlace de red de
gran velocidad a un centro de datos remoto conteniendo grandes cantidades de almacenamiento en
disco, repentinamente las desventajas sobre el respaldo a discos mencionadas anteriormente, dejan de
ser desventajas.
Al hacer respaldos sobre la red, las unidades de disco ya se encuentran en otra ubicación, fuera del
sitio, por lo que no es necesario transportar unidades de discos frágiles a otro lado. Con suficiente
ancho de banda, se mantiene la ventaja de la velocidad que puede obtener por hacer los respaldos a
discos.
Sin embargo, este enfoque todavía no soluciona el problema del almacenamiento de los archivo
(aunque se puede utilizar el mismo enfoque de copiar a las cintas luego de hacer el respaldo, como
se mencionó anteriormente). Además, los costos de un centro de datos remoto con un enlace de alta
velocidad al centro de datos principal hace esta solución extremadamente costosa. Pero para los tipos
de organización que necesitan el tipo de funcionalidades que esta solución ofrece, es un costo que
pagarían con gusto.
Lamentablemente, hay diferencias irreconciliables entre el primer y segundo caso. Cuando un usuario
elimina accidentalmente un archivo, usualmente quiere recuperar su archivo de inmediato. Esto im-
plica que el medio de respaldo no esté más allá que unos pocos pasos del sistema en el cual se
restauraran los datos.
En el caso de un desastre que necesita una restauración completa de una o más computadoras en su
centro de datos, si el desastre fue de naturaleza física, lo que sea que haya sido destruído también
habrá destruído los respaldos que estaban al lado de los computadores. Esto sería una situación muy
mala.
El almacenamiento de los archivos es menos controversial; puesto que las posibilidades de que se
vuelvan a utilizar son bastante bajas, si la media de respaldo fue ubicada a muchos kilómetros de
distancia del centro de datos no habrá realmente ningún problema.
Los enfoques para resolver estas diferencias varían de acuerdo a las necesidades de la organización en
el caso. Un acercamiento posible es almacenar varios días de respaldo en el sitio; estos respaldos se
toman luego a un sitio de almacenamiento más seguro cuando se creen respaldos diarios más nuevos.
Otro enfoque sería mantener dos fondos diferentes de media:
• Un fondo de provisiones del centro de datos utilizado estrictamente para peticiones de restauración
independientes
• Un fondo fuera del sitio utilizado para el almacenamiento fuera del sitio para casos de recuperación
en casos de desastres
Por supuesto, el tener dos fondos de datos implica la necesidad de ejecutar todos los respaldos dos
veces o de hacer copias de los respaldos. Esto se puede hacer, pero los respaldos dobles pueden
tomar bastante tiempo y requieren de múltiples unidades de respaldo para procesar las copias (y
probablemente un sistema dedicado para efectuar la copia).
El reto para un administrador de sistemas es el de encontrar un balance que reuna adecuadamente las
necesidades de todo el mundo, mientras que se asegura que los respaldos esten disponibles aún en las
peores situaciones.
Nota
Algunos computadores tienen la capacidad de crear cintas de respaldo de arranque y utilizarlas
para arrancar desde ellas e iniciar el proceso de restauración. Sin embargo, esta capacidad no está
disponible en todos los computadores. Más aún, las computadoras basadas en la arquitectura de
PC no se prestan para este enfoque.
Sugerencia
Mientras que los planes de recuperación de desastres deberían de estar a la mano en su sitio
de trabajo, también se deberían conservar copias fuera de sus instalaciones. De esta forma, si un
desastre destruye sus instalaciones no se eliminaran todas las copias de su plan de recuperación. Un
buen lugar para almacenar una copia es en su ubicación de almacenamiento de respaldos. También
se pueden mantener copias del plan de recuperación de desastres en los hogares de miembros
claves de equipo, siempre y cuando esto no viole las políticas de seguridad de la empresa.
Un documento de tal importancia merece una consideración bien seria (y posiblemente asistencia
profesional para su creación).
Una vez que este documento es creado, el conocimiento que contiene debe ser evaluado periódica-
mente. Evaluar un plan de recuperación de desastres implica seguir los pasos del plan: ir al sitio de
respaldo y configurar el centro de datos temporal, ejecutar las aplicaciones temporalmente y reactivar
las operaciones normales después de que el "desastre" termine. La mayoría de las pruebas no tratan
de llevar a cabo un 100% de las tareas del plan; en cambio, se selecciona un sistema y una aplicación
representativa para reubicarlos en el sitio de respaldo, se coloca en producción por un período de
tiempo y se lleva a operación normal al final de la prueba.
Nota
Aunque puede sonar como una frase gastada, un plan de recuperación de desastres debe ser un
documento vivo; a medida que el centro de datos cambie, el plan debe ser actualizado para reflejar
esos cambios. En muchas casos, un plan de recuperación de desastres desactualizado puede ser
peor que no tener ninguno, por lo tanto, haga revisiones y actualizaciones regulares (trimestrales,
por ejemplo) del plan.
de un desastre, el sitio de respaldo es donde se recreará su centro de datos y desde donde usted operará,
durante el mismo.
Hay tres tipos diferentes de sitios de respaldo:
quizás ya tenga todo lo que usted necesita (o quizás tenga que organizar la adquisición y entrega de
materiales especializados que el sitio no tiene disponibles); por otro lado, un sitio de respaldo frío
implica que se tienen identificadas las fuentes para cada ítem requerido. A menudo las organizaciones
trabajan directamente con los fabricantes para establecer acuerdos para la entrega inmediata de hard-
ware y/o software en el evento de un desastre.
Sugerencia
En el evento de un desastre, el último respaldo que se tiene de su centro de datos viejo, es de vital
importancia. Considere realizar copias de este antes de hacer alguna otra cosa, y luego enviando
los originales fuera del sitio lo más pronto posible.
de su organización de operar con un centro de datos remoto. Si los usuarios representantes deben
trabajar en el sitio de respaldo, también deben estar disponibles facilidades similares para ellos.
Nota
Como se comentó en la Sección 8.2.6.1, la mayoría de las computadoras basadas en la arquitectura
de PC estándar, no tienen la funcionalidad necesaria para arrancar directamente desde una cinta.
En consecuencia, Red Hat Enterprise Linux no es capaz de realizar un arranque desde cinta cuando
se esté ejecutando en hardwares de este tipo.
Sin embargo, es posible utilizar su CD-ROM de Red Hat Enterprise Linux como un ambiente de re-
cuperación del sistema. Para más información vea el capítulo sobre recuperación básica del sistema
en el Manual de administración del sistema de Red Hat Enterprise Linux.
8.4.2.1. tar
La utilidad tar es bien conocida entre los administradores UNIX. Es el método de archivado preferido
para compartir bits de código fuente y archivos entre sistemas. La implementación tar incluída con
Red Hat Enterprise Linux es GNU tar, una de las implementaciones de tar más ricas en funcional-
idades.
Usando tar, el respaldo de los contenidos de un directorio puede ser tan simple como ejecutar un
comando similar a lo siguiente:
8.4.2.2. cpio
La utilidad cpio es otro programa UNIX tradicional. Es un excelente programa de propósito general
para mover datos de un lugar a otro y, como tal, puede servir muy bien como un programa para hacer
respaldos.
El comportamiento de cpio es ligeramente diferente a tar. A diferencia de tar, cpio lee los nom-
bres de los archivos que va a procesar a través de la entrada estándar. Un método común para generar
una lista de archivos para cpio es utilizar un programa como find cuya salida se puede entubar a
cpio:
Este comando crea un fichero de archivos cpio (que contiene todo lo que hay en /home/) llamado
home-backup.cpio en el directorio /mnt/backup/.
5. La extensión .gz se utiliza tradicionalmente para identificar que los archivos han sido comprimidos con
gzip. Algunas veces .tar.gz se acorta con .tgz para mantener los nombres de archivos en un tamaño
razonable.
Capítulo 8. Planificación para Desastres 185
Sugerencia
Como find tiene un conjunto de pruebas de selección de archivos muy rico, se pueden realizar
respaldos sofisticados. Por ejemplo, el comando siguiente realiza un respaldo solamente de los
archivos que no se accesaron el año pasado.
Hay muchas otras opciones para cpio (y find); para conocer un poco más sobre ellas, lea las páginas
man de cpio(1) y de find(1).
Date: Fri, 27 Apr 2001 09:59:46 -0700 (PDT)
Cc: Kernel Mailing List linux-kernel At vger Dot kernel Dot org
[ linux-kernel added back as a cc ]
On Fri, 27 Apr 2001, Neil Conway wrote:
I’m surprised that dump is deprecated (by you at least ;-)). What to
use instead for backups on machines that can’t umount disks regularly?
Note that dump simply won’t work reliably at all even in 2.4.x: the buffer
cache and the page cache (where all the actual data is) are not
coherent. This is only going to get even worse in 2.5.x, when the
directories are moved into the page cache as well.
Right now, the cpio/tar/xxx solutions are definitely the best ones, and
will work on multiple filesystems (another limitation of "dump"). Whatever
problems they have, they are still better than the _guaranteed_(*) data
corruptions of "dump".
Linus
(*) Dump may work fine for you a thousand times. But it _will_ fail under
the right circumstances. And there is nothing you can do about it.
• El Manual de administración del sistema de Red Hat Enterprise Linux; de Red Hat, Inc. — Incluye
un capítulo sobre la recuperación del sistema, lo que podría ser útil en restauraciones en metal
pelado.
188 Capítulo 8. Planificación para Desastres
• Unix Backup & Recovery por W. Curtis Preston; O’Reilly & Associates — Aunque no está escrito
para sistemas Linux, este libro proporciona una cobertura completa sobre los muchos problemas
relacionados con el respaldo y hasta incluye un capítulo para la recuperación de desastres.
Índice cabezas, 64
cabezas de escritura, 72
cabezas de lectura, 72
cargas de E/S, escrituras, 73
Símbolos cargas de E/S, lecturas, 73
/etc/cups/, 150 cargas de E/S, rendimiento, 73
/etc/printcap, 150 cilindro, 66
conceptos de direccionamiento, 65
direcciones basadas en bloques, 67
A direcciones basadas en geometría, 65
direcciones, basadas en bloques, 67
abuso de recursos, 133 direcciones, basados en la geometría, 65
abuso, recursos, 133 geometría, problemas con, 66
activación de su suscripción, iv interfaces con estándares de la industria, 68
administración interfaces para, 67
impresoras, 143 interfaces, estándar de la industria, 68
administración de sistemas interfaces, historia, 67
filosofía de, 1 Interfaz IDE, 68
automatización, 1 Interfaz SCSI, 69
comunicación, 3 latencia rotacional, 72
documentación, 2 latencia, rotacional, 72
ingeniería social, riesgos de, 7 lectores contra escrituras, 73
negocio, 6 limitaciones eléctricas de, 71
ocurrencias inesperadas, 8 limitaciones mecánicas de, 71
planificación, 8 movimiento del brazo de acceso, 72
recursos, 6 movimiento, brazo de acceso, 72
seguridad, 7 platos de disco, 63
usuarios, 6 platos, disco, 63
administración de volúmenes lógicos procesamiento de comandos, 72
(Ver LVM) procesamiento, comando, 72
almacenamiento rendimiento de, 71
accesible a través de la red, 79, 105 sector, 66
NFS, 106 Ubicación de E/S, 74
SMB, 106 vista general de, 63
administración de, 63, 87 eliminar, 96, 109
crecimiento, normal, 89 /etc/fstab, eliminar de, 110
monitorizar espacio libre, 87 borrar los contenidos, 97, 110
problemas de usuarios, 88 comando umount, uso de, 110
uso de una aplicación, 89 datos, eliminar, 97
uso excesivo de, 87 implementación, 74
añadir, 92, 107 monitorizar el, 19
/etc/fstab, actualización, 109 partición
configuración, actualizar, 96 atributos de, 75
Discos duros ATA, 93 campo tipo, 76
formatear, 96, 109 extendidas, 75
hardware, instalación, 92 geometría de, 75
particionamiento, 95, 107 lógicas, 76
planificación de respaldos, modificar, 96 primaria, 75
Unidad de dico SCSI, 94 tipo de, 75
basado en RAID vista general de, 74
(Ver RAID) patrones de acceso, 49
cuotas de usuarios, 90 problemas relacionados a archivos, 90
(Ver cuotas de usuarios) acceso a archivos, 90
dispositivos de almacenamiento masivo compartir archivos, 91
brazos de acceso, 64 sistema de archivos, 76, 100
cabeza, 66 activando acceso a, 79
190
E H
espacio de direcciones virtuales, 55 hardware
espacio en disco contratos de servicios, 155
disponibilidad de partes, 158
(Ver almacenamiento)
hardware cubierto, 158
estadísticas de supervisión horas de cobertura, 155
relacionado a la memoria, 19 presupuesto para, 158
relacionado al almacenamiento, 19 servicio de depósito, 156
relacionado al ancho de banda, 18 servicio drop-off, 156
servicio walk-in, 156
relacionado al CPU, 17
tiempo de respuesta, 157
selección de, 17 técnico in-situ, 157
fallas de, 153
habilidades necesarias para reparar, 153
F repuestos
intercambiar hardware, 155
fallo de página, 56 mantener, 153
filosofía de la administración de sistemas, 1 repuestos, cantidades, 154
repuestos, selección de, 154
Herramienta de configuración de impresoras
(Ver configuración de impresoras)
G herramientas
cuentas de usuario, administrar
GID, 135
(Ver cuentas de usuario, herramientas para
grupo administrar)
acceso a datos compartidos usando, 132 grupos, administración
administración de, 121 (Ver grupo, herramientas para administrar)
archivos controlando, 136 supervisión de recursos, 20
/etc/group, 138 free, 21
iostat, 24
/etc/gshadow, 138
Monitor del Sistema GNOME, 22
/etc/passwd, 136 mpstat, 24
/etc/shadow, 136 OProfile, 28
estructura, determinar, 132 sa1, 24
GID, 135 sa2, 24
sadc, 24
GIDs del sistema, 135
sar, 24, 26
herramientas para administrar, 139 Sysstat, 24
comando gpasswd, 139 top, 21
comando groupadd, 139 vmstat, 23
comando groupdel, 139
comando groupmod, 139
comando grpck, 139
I
permisos relacionados a, 134 ID del grupo
ejecución, 134 (Ver GID)
ID del usuario
escritura, 134
(Ver UID)
lectura, 134 impresoras
setgid, 134 administración, 143
setuid, 134 color, 146
sticky bit, 134 CMYK, 146
inyección de tinta, 146
UID, 135
láser, 147
UIDs del sistema, 135 consideraciones, 143
duplex, 143
193