Otras tareas administrativas.

Anuncio
Otras tareas administrativas.
Pablo Sanz Mercado.
1
Las tareas del administrador muchas veces no pueden ser catalogadas con un
nombre concreto, no podemos decir que todos los lunes debemos hacer algo en
concreto, sino más bien el trabajo cotidiano dependerá de tantas variables que es
prácticamente determinarle a priori.
No obstante hay varios comandos o aplicaciones que vamos a necesitar en muchas
ocasiones, o nos van a resultar de bastante ayuda en nuestro trabajo cotidiano:
1.
strace
Este comando nos permite realizar una traza de las llamadas al sistema y señales
que tiene la ejecución que pasemos a este comando como argumento.
Es muy probable que alguno de nuestros usuarios nos pregunte por qué tiene un
problema en concreto con un programa. Muchas veces la solución de estas cuestiones
es prácticamente inmediata debido a la diferencia de experiencia entre el usuario y
el administrador, pero otras muchas veces es muy complicado conseguir la solución
del problema.
Para estar seguro de los pasos que realiza un comando en concreto, cada al
sistema, podemos utilizar strace, viendo ası́ los posible problemas que podemos
estar teniendo en esta ejecución para poder dar una solución correcta al usuario.
La ejecución, por ejemplo, del comando hostname sabemos que nos da como
resultado una única lı́nea con el nombre de la máquina. Si ejecutamos
strace hostname
obtendremos unas 64 lı́neas, que nos describirán todos los pasos que ha realizado el
sistema para darnos este resultado.
Con esto queremos decir que la información obtenida mediante este comando
debe ser tomada con tranquilidad, pues muchas veces es extremadamente densa,
pero siempre de gran utilidad, pues gracias a ella podremos obervar si hay alguna
librerı́a que no es encontrada o que tiene alguna irregularidad, explicaciones que sin
la ejecución de strace serı́a claremente complicado obtener.
2.
Ejecución en varias máquinas.
Cuando tenemos que administrar un cluster con varios equipos, la mayorı́a de
las veces estos son exactamente iguales, clones los unos de los otros, de tal forma
que es muy habitual tener que ejecutar el mismo comando en todos y cada uno de
ellos.
Esto, que de forma teórica parece terriblemente sencillo, puede ocuparnos mucho
tiempo innecesario.
Algo que podemos hacer para evitar estas demoras es permitir el acceso mediante
ssh sin contraseña. Por su puesto esta práctica es muy insegura, pues si accedemos
2
a la máquina principal, podremos acceder a cualquier otra, pero si tenemos actualizados los sistemas, con anti troyanos, con tcpwrappers y con una configuración
robusta de cortafuegos, la inseguridad que se plantea con esta utilidad es menor
que las ventajas que obtendremos.
Hay que tener en cuenta que lo que necesitamos es que las máquinas del clúster
acepten la entrada desde una máquina de administración (lo contrario no es necesario). Para ello lo que haremos en la máquina de adminsitración es ejecutar:
ssh-keygen -t rsa
Pulsando enter en cada una de las preguntas, para aceptar los defectos (incluso no
establecer contraseña).
Copiamos entonces el contenido de /var/root/.ssh/id rsa.pub en el archivo $HOME/.ssh/authorized keys de la maquina a la que queramos entrar sin contrasenya,
es decir, a todas las máquinas del clúster.
De esta forma ya podrı́amos teclear, en la máquina de administración:
ssh maquina-remota hostname
y ejecutarı́a el comando hostname en la máquina del clúster correspondiente.
Por supuesto lo interesante de este punto es crear un programa que nos permita
realizar la ejecución de comandos en todos los equipos del clúster, para ello lo que
podrı́amos hacer es crear un bucle que ejecutara el comando en todas y cada una
de estas máquinas:
for maquina in "maquina1 maquina2 maquinan"
do
ssh $maquina $@
done
de tal forma que si este script le hemos llamado entodas, podrı́amos ejecutar:
entodas hostname
y obtendrı́amos el resultado de esta ejecución en todas y cada una de las máquinas
del clúster.
3.
Integridad de las particiones.
Cada vez que arrancamos un equipo, el sistema realiza una comprobación de
las particiones si es necesario. Este proceso se realiza cuando ha pasado un número
determinado de dı́as desde la última vez que se realizó la comprobación.
Teniendo en cuenta que los sistemas con Linux pueden permanecer mucho tiempo arrancados, quizás es necesario realizar esta comprobación sin esperar al reinicio
de la máquina.
3
El comando que utilizaremos entonces es fsck, al que daremos la opción -t seguido del tipo de sistema de archivos de la partición que queramos escanear. Esta
orden la ejecutaremos sobre cada una de las particiones a analizar, teniendo siempre
en cuenta que la mejor forma de comprobarlas es cuando estas no están montadas,
pues si lo están la ejecución del comando puede resultar peligrosa, afectando a la
información que se genere en el momento de la ejecución.
La forma de ejecutarlo entonces es sencilla, si queremos comprobar la partición
/dev/sda3 de nuestro sistema, ejecutaremos:
fsck -t ext3 /dev/sda3
4.
Desfragmentación.
Si somos usuarios de sistemas operativos de Microsoft, la desfragmentación formará parte de nuestras vidas, pues muchas veces habremos accedido a los programas
de desfragmentación facilitados con el fin de aumentar el rendimiento del sistema.
Este tipo de utilidades son de gran utilidades en sistemas de archivos como
fat32, ya que los archivos son creados al principio del disco y en orden, de tal forma
que si queremos aumentar el contenido de un archivo, lo más probable es que no
podamos hacerlo a continuación en el disco duro pues seguro que ya tendremos algo
más grabado, necesitando por tanto que este archivo se fragmente, es decir, lo que
escribamos de nuevo tendrá que ser almacenado no a continuación del archivo, sino
donde haya espacio disponible en el disco.
En otros sistemas de archivos, como ext2 y ext3 (utilizados en Linux de forma
mayoritaria), no existe este tipo de problemas, pues lo que se hace es tender a
utilizar todo el disco duro.
Cuando escribimos un archivo, este se posiciona en una zona determinada de
la partición correspondiente. Al generar otro archivo, el sistema operativo no lo
posiciona a continuación del primero, sino en cualquier otra zona del disco. De
esta forma podremos modificar el primero, aumentándolo en tamaño, sin tener que
fragmentarlo, pues a continuación lo más probable es que no haya nada.
Con este método lo que hacemos es permitir la utilización por igual de todas las
zonas del disco duro y además evitar la fragmentación en gran medida, por tanto
es innecesario el desgragmentar archivos en particiones ext2 o ext3.
4
Descargar