domingo, 30 de diciembre de 2007

Administrar maquinas Windows desde Linux

rdesktop sería el equivalente en Linux a la aplicación "escritorio remoto" que trae el Windows. Sirve para conectarte remotamente a la interfaz gráfica de un Windows con el Terminal Server ejecutándose.

* Instalación:

apt-get install rdesktop


* Ejecución habitual:
rdesktop miservidorwin


* Ejecución que suelo utilizar a menudo:
rdesktop -0 -u miusuario -p - -d midominio.int -a 16 -g 80% -k es -x l miservidorwin


Con esto te conectas a miservidorwin que estará dentro del dominio midominio.int a la sesión iniciada por el usuario "miusuario" con el password que vas a introducir por consola. La profundidad de color es a 16 bits, la pantalla se va a ver más pequeña, un 80% de la original y el teclado es el español.

* Ejecución si el Windows es un servidor de streaming
rdesktop -r sound:remote miservidorwin


Dejamos el sonido en remoto para que no se queden sin sonido los streamings de audio o video que se estén sirviendo desde el Windows.

sábado, 1 de diciembre de 2007

uname: Información de la maquina

Este es comandito muy simple y muy apañado, sobre todo si se tiene que administrar una red grande de servidores con diversas configuraciones de hardware y software y no te acuerdas de que es lo que tiene cada maquina.

Con uname -a vemos toda la información del sistema que puede proporcionar este comando, que no es mucha, cabe en una linea. También nos puede interesar invocar el comando para que devuelva una información especifica.

uname -n
Te devuelve el nombre de la maquina, por ejemplo "servidor315"

uname -m
¿que hardware lleva? ¿es una maquina de 32 o de 64 bits? Una salida que podría devolver sería "i686"

uname -r
Se ve mucho en scripts, devuelve el kernel Linux que está utilizando la maquina, por ejemplo "2.6.20-16-generic"

uname -o
Nos devuelve el nombre del sistema operativo, "GNU/Linux", aunque más practico hubiera sido que nos dijera que distribución Linux es la que está instalada en la maquina. Si queremos saber esta información podemos hacer un cat /proc/version.

martes, 27 de noviembre de 2007

Desmontar un punto de montaje

A veces es frecuente el cambio de almacenamiento, y el volumen que antes estaba en un filer pasa a estar en otro con una ip distinta. Aquí el marrón de hacer la migración se lo lleva los encargados de gestionar el almacenamiento, que en empresas medio grandes no tiene porque ser un compañero tuyo de sistemas, sino que puede que esta gestión del almacenamiento la lleve una empresa externa, eso que llaman outsourcing. Para los que gestionamos los servidores, que en este caso serían clientes del sistema de almacenamiento, las operaciones a realizar suelen ser simples, desmontar el volumen, cambiar el /etc/fstab y montar de nuevo ya con la ip del servidor de almacenamiento correcta. Os cuento algún truquillo para el desmontaje.


    * Ver los volumenes que están montados.
    mount

    * Desmontar todos los volumenes montados.
    umount -a

    * Y si no desmonta,
    Pues si no desmonta suele ser porque algún proceso está utilizando el recurso montado, si es algún servicio entonces lo pararemos para terminar su ejecución. Podemos ser nosotros mismos si estamos desde una shell en el directorio que queremos desmontar nos cambiamos de directorio. Si es otro usuario el que ocupa el recurso, pues tenemos 2 opciones o se le avisa por las buenas que desaloje o bien directamente le damos la patada con un kill al proceso de su shell y nos lo quitamos de en medio. Son usuarios, se les puede hacer putadillas de vez en cuando.

    * Sigue sin desmontarse,
    umount -f

    Hacemos un force, que dicho sea de paso tampoco suele funcionar, pero por probar.

    * Y claro, tampoco desmonta,
    Bueno, entonces hay que desenfundar la katana y aplicar técnicas ninja,
    umount -l



A parte de todo esto, para desmontar un punto de montaje no es necesario que el /etc/fstab tenga una linea con la configuración de ese punto de montaje, ya que umount lee esa información del /etc/mtab, que es un fichero que contiene una los sistemas de ficheros montados por el sistema.

Más en el man umount.

martes, 13 de noviembre de 2007

Sysbench: Una herramienta para realizar pruebas de rendimiento

Hace un rato he tenido que hacer unas pruebas de rendimiento de un Mysql que almacenaba los datos en un volumen montado mediante iscsi. Buscando un poco en internete me he encontrado con esta herramienta, sysbench, la cual permite hacer pruebas de rendimiento de la utilización de algunos recursos hardware como la memoria, cpu y el disco por parte del sistema. También permite hacer testeos contra un mysql bien conectandose a este directamente al socket en local o haciéndolo en remoto indicando la maquina con el servidor Mysql.

Me ha gustado bastante, así que dejo una pequeña referencia rápida para su uso.

Para instalarlo se baja las fuentes y se compila.


wget http://dfn.dl.sourceforge.net/sourceforge/sysbench/sysbench-0.4.8.tar.gz
tar xvzf sysbench-0.4.8.tar.gz
cd sysbench-0.4.8
./configure --prefix=/opt/sysbench-0.4.8/
make
make install


Con esto tenemos el binario sysbench instalado en la carpeteta /opt/sysbench-0.4.8/bin .

En mi caso he hecho algunas pruebas de rendimiento del disco, este tipo de testeo se indica con el parametro --test=fileio


cd /directorio_a_probar/tmp-bench
sysbench --num-threads=20 --test=fileio --file-total-size=5G --file-test-mode=rndrw prepare
sysbench --num-threads=20 --test=fileio --file-total-size=5G --file-test-mode=rndrw run
sysbench --num-threads=20 --test=fileio --file-total-size=5G --file-test-mode=rndrw cleanup


Con prepare se crean los archivos con los que se haran las pruebas, por defecto 128. Todos los archivos no ocuparan más de 5Gb entre todos.

Con run se ejecuta las pruebas, que seran unas 6000 lecturas y 4000 escrituras en disco. El parametro --file-test-mode=rndrw que las operaciones de entrada/salida al disco están formadas por lecturas y escrituras aleatorias. Cuando termine de ejecutarse el testeo apareceran algunos datos estadísticos como el tiempo que se ha tardado.

Con cleanup borras los ficheros que se crearon con prepare.

Lo interesante es realizar varias pruebas de bench cambiando los parámetros, con más o menos archivos, cambiando el tipo de acceso, etc y ver como se comporta el sistema de archivos.


* Referencias:
Documentación de Sysbench
sysbench help

miércoles, 31 de octubre de 2007

Crear base de datos en MySQL

Esta es una de las incidencias típicas. Pasos a seguir:

* Conexión a la base de datos.


mysql -u root -p -h maquina


* Se crea la base de datos.

create database nombre_db;


* Se crea el usuario con los permisos que necesite para gestionar esa base de datos.

grant select, insert, update, delete on nombre_db.* to 'usuario'@'maquina' identified by 'password_usuario';


Esta es la manera más básica y simplona para crear una base de datos a un usuario que va a necesitar permisos para realizar operaciones CRUD sobre las tablas.

Luego tienes mil opciones más.

Puedes darle al usuario todos los privilegios posibles para que haga y deshaga a su antojo (normalmente más lo segundo que lo primero).

grant all privileges on nombre_db.* to 'usuario'@'localhost';


O se puede limitar el numero de conexiones, consultas y actualizaciones por hora que puede hacer el usuario (limitar recursos).

O puedes poner restricciones de acceso a la cuenta, obligando a usar certificados y SSL por ejemplo (conexiones seguras).



Recursos:
CREATE DATABASE
GTANT

lunes, 8 de octubre de 2007

A que vlan está conectada la interfaz de red

Cuando estas en medio de una instalación de varios servidores con varias interfaces de red cada uno de ellos, en ese CPD que cuida tan bien de tus servidores es frecuente la tarea de comprobar que las etiquetas del cableado que conecta a los switch estén correctas. La eth0 tiene que conectarse a esta VLAN, la eth1 a esta otra... Para comprobar que este etiquetado es el correcto y no encontrarnos con sorpresas lo más rápido es hacer un revisión "in situ" con un portátil al que le iremos pinchando los cables, uno por uno, y como usuario root comprobamos lo siguiente:

1.- Que la interfaz de red tenga link y la velocidad sea correcta.


ethtool eth0


2.- Que la interfaz escuche trafico de la VLAN adecuada.

tcpdump -n -s0 -i eth0


La experiencia me dice que siempre te encuentras con etiquetas incorrectas o tarjetas de red sin conexión. Si alguno de los dos procedimientos falla, la solución suele ser abrir ticket en el CPD para que cambien el cableado o el etiquetado del mismo.

Recursos:
man ethtool
man tcpdump

Porque lo llevamos en las venas

SysAdmins de vocación cada vez quedan menos, son una especie en extinción. La administración de sistemas, al menos en el mercado que medio conozco, el español, es una profesión cada vez más desprestigiada y menos valorada tanto por usuarios como por los propios responsables de los proyectos en las Empresas. Hace falta mucho amor a la administración de sistemas para decidir dedicarse profesionalmente a esto, y más aun para conservar el interés con el paso de los años y seguir aprendiendo y renovando conceptos y puntos de vista.

A pesar de todo lo que tenemos en contra, muchos de nosotros seguimos disfrutando con esto y nos divierte enfrentarnos a retos nuevos. No hay miedo, sabemos que somos capaces de conseguir lo que nos propongamos.

La idea de este blog, es la de ser un simple cuaderno de notas donde iré dejando simples soluciones que se utilizan a diario en el desempeño de la administración de sistemas. La finalidad es que me sirva de recordatorio de conceptos y si además le puede ser útil a alguien más pues mejor que mejor.

Otra cosa que quería comentar, la periodicidad del blog no va ser periódica, es decir, que habrá días que a lo mejor escribo 10 posts seguidos y otras veces lo mismo me tiro un mes sin escribir nada nuevo. Lo importante no es hablar mucho sino decir mucho con poco.

Asi que adelante con ello.

sábado, 7 de abril de 2007

Montar tu propio RAID a base de pendrives USB

Capitulo de "CSI in Sun Microsystems", donde explican como simular un RAID de hasta 16 discos usando memorias USB y concentradores de USB. Por si andamos mal de pelas para comprar y mantener un servidor de verdad.