TAREAS DE ADMINISTRACIÓN

 

 

Administrar implicar muchas tareas como planear, instalar y mantener los sistemas, lo cual implica un gran conjunto de actividades.

Un buen administrador además de tener sólidos conocimientos técnicos, también debe ser una persona con capacidad de organizar, planificar y con mucha "mano izquierda" en el trato con las personas.  Esto es así debido a que al ritmo con el que los sistemas se crean y se amplian, no vale improvisar y diseñar la estructura de la red sobre la marcha, sino que se requiere planificar con antelación.

Normalmente, las tareas de administración son de dos tipos:  Soporte a usuarios y soporte de sistemas.

Un consejo para tratar con los usuarios, es proporcionarles un medio para distribuir sus peticiones como por ejemplo una lista de correo, ya que si no, van a estar constantemente interrumpiendo el trabajo del administrador.

El soporte a los usuarios incluye la creación de sus cuentas de acceso y la ayuda y solución a sus problemas.  La información de las cuentas de usuario (logins) se almacena en el fichero /etc/passwd y según el sistema se pueden almacenar las claves encriptadas en el fichero /etc/shadow (las características específicas de cada sistema, las veremos en otro apartado) o en otra estructura.  Normalmente los usuarios se gestionan mediante las herramientas de administración del sistema (p.e. admintool en Solaris o smit en AIX), aunque puede ser interesante el poder crear scripts para dar de alta usuarios a partir de la información de la que dispongamos:  En este ejemplo se puede ver cómo hacer esto en AIX con el comando mkuser, en un sistema en el que los usuarios tienen un login del estilo: u0001, donde 0001 es un número secuencial que asigna el sistema

Nota: Este shell script solo se ejecutará correctamente desde un ksh o un bash.

set `egrep "^u[0-9]+" /etc/passwd | wc -l` `                                                 
total=$1                                                                       
let actual=total+1                                                          
read nusu?"¿ Cuantos usuarios ? "                                              
let i=actual                                                                   
let final=actual+nusu                                                          
while [ i -lt final ]                                                          
do                                                                             
        j=`echo $i | awk '{printf("%04d", $1)}'`                                
        mkuser gecos=$j pgrp=desarrollo groups=staff,desarrollo u$j
        let i=i+1                                                              
done                                         
                                  

Análogamente se podría hacer un script de creación de usuarios para otros sistemas como Solaris o HP-UX usando el comando useradd en ambos.  Para ver una descripción completa de la sintáxis de los comandos leer las páginas del man.

El soporte de sistemas incluye realizar copias de seguridad, monitorizar y solucionar los errores que se producen en los sistemas, además de añadir nuevos nodos a una red (tarea que requiere una planificación previa).

Tendremos que plantearnos las siguientes preguntas:

De aquí sacaremos la información necesaria para montar las utilidades que van a necesitar los usuarios.

Backups

Una de las tareas más importantes es definir la política de backups y usar la herramienta apropiada para realizarlos.  Se suelen usar ciclos de backup, un ciclo consiste en tener un conjunto de cintas que se van rotando según una periodicidad (por cintas entendemos cualquier formato: DLT, DDS-2, DDS-3,...) que por ejemplo puede ser semanal con 1 cinta por día que se va repitiendo cada semana, y se suele tener un conjunto de cintas mensual donde se almacena durante un mes el backup de cada lunes del mes.  Esto es solo una idea, la política de backup dependerá de lo "crítico" que sea el sistema.

Ahora vamos a pasar a describir los distintos comandos que hay para realizar un backup y sus ventajas e inconvenientes:

TAR:

Una de las formas más sencillas (y portables) de hacer un backup, es usando el comando tar.  Como dice la página man tar:  "tar - crea archivos de cinta y añade o extrae ficheros".  El comando tar archiva y extrae ficheros de y hacia un único fichero denominado fichero tar (tarfile).  Un fichero tar normalmente es una cinta pero puede ser cualquier tipo de fichero (recordemos que en Unix los dispositivos se tratan como ficheros).  Las acciones de tar se controlan mediante unos argumentos.

tar cf /dev/rmt/0 /home/felicia  realiza un backup de ese directorio en una máquina Solaris

La acción c indica escritura y f se refiere al dispositivo de cinta.

Para restaurar se podría usar: tar xvf /dev/rmt/0

La acción v muestra por pantalla los nombres de los ficheros que extrae o archiva

También se pueden archivar path relativos: tar cvf /dev/rmt/0 . archiva todos los ficheros del directorio actual.

¿ Cómo nos creamos un archivo tar ? tar cvf programas.tar *.c, crearía el archivo programas.tar con todos los programas C.  Este archivo se puede luego descomprimir con utilidades como winzip, por eso dije antes que era portable.

CPIO

cpio es otra utilidad de backup cuya sintáxis es bastante más complicada que tar, pero tiene como ventaja que es la más compatible entre sistemas Unix, por lo tanto si lo que queremos es que nuestro backup se lea correctamente y sin problemas en una máquina de otro fabricante, tendremos que usar dicha herramienta.

cpio crea un archivo de tipo cpio (al igual que tar creaba un archivo de tipo tar), y tiene tres modos de operación:

cpio, dado que toma su entrada estándar desde otro comando, se suele utilizar en conjunción con los comandos 'find' o 'ls', por ejemplo:

find . -print | cpio -o > /dev/rmt/0 

Grabaría el contenido del directorio actual.  También existe la posibilidad de ver los nombres de los archivos que está grabando con la opción y de especificar tamaños de bloque, ver las páginas man para el comando.

Las ventajas de cpio son :

OTRAS UTILIDADES

Hasta ahora las utilidades que hemos visto sirven más para copiar datos que para montar un sistema de backups.

Cada sistema operativo tiene sus propias utilidades para realizar backups orientadas a copiar particiones enteras de disco (sistemas de ficheros) más que ficheros sueltos y permiten realizar backups incrementales y restaurar interactivamente los ficheros que nos interesen.

La forma correcta de utilizarlas es realizando los backups de los sistemas de ficheros que nos interesan para lo cual habrá que desmontar primero el sistema de ficheros, chequear su consistencia mediante el comando fsck, realizar el backup y volver a montar el sistema de ficheros.

En Solaris una de estas utilidades es "ufsdump" y la utilidad para restaurar es "ufsrestore".

ufsdump 0cfu /dev/rmt/0 /dev/rdsk/c0t3d0s0

Realiza un backup de nivel 0 del sistema de ficheros que esté montado sobre /dev/dsk/c0t3d0s0

Se le puede añadir la opción v para verificar el backup.

ufsrestore i /dev/rmt/0

Restaura interactivamente los archivos que elegimos y nos "movemos" por la cinta como si estuvieramos en un directorio usando los comandos "cd" y "ls" para listar los contenidos y "add" para añadir el fichero a la lista de los que queremos restaurar.  La restauración interactiva solo funciona si el backup se ha hecho por "file system".

En AIX las utilidades son "backup" y "restore".

backup -0 -u -f /dev/rmt0 /home

Crea un backup de nivel 0 del sistema de ficheros /home en AIX

restore -i -f /dev/rmt0

Restaura interactivamente los ficheros especificados de forma análoga a ufsrestore.

El registro de los backups realizados se guarda en el fichero /etc/dumpdates.

 

Monitorización de la carga y del rendimiento

Es otra área donde la planificación y la anticipación son importantes para evitar que "algo" ocurra y reaccionar entonces (cuando podría ser demasiado tarde).

Para ello, lo mejor es usar las herramientas más apropiadas para realizar estas tareas, por ejemplo, para Solaris tenemos el "top" que nos da información sobre los procesos, qué memoria ocupa cada proceso, porcentaje de uso de la CPU, tamaño de swap usado...

En AIX existe una herramienta similar que se llama "monitor".

Es conveniente mirar, si el sistema página a swap ya que eso quiere decir que hay alguna aplicación que consume mucha memoria RAM y por lo tanto habrá que ampliarla.

También habrá que monitorizar el porcentaje de tiempo que invierte la CPU en procesos de usuario, sistema y disco y habrá que detectar también que no hayan cuellos de botella en disco.

Herramientas del sistema para monitorizar: