Heartbeat

Con la Alta disponibilidad y la replicación distribuida de datos, podemos conseguir que además de ese servidor principal, tengamos otro mas (o varios) que tengan los mismo servicios y datos. De esta manera, en caso que el servidor principal falle o se sature, el servidor secundario empezará a atender las nuevas peticiones, bajando de esta manera la carga del principal.

Todo esto depende de la manera en que se configure,  si quisieramos balancear la carga y poder añadir mas de un nodo al cluster tendriamos que configurar HeartBeat como CRM. En el caso que a mi se me planteaba no era necesario un balanceador de carga ni mas de 2 nodos lo he configurado sin CRM, permitiendo solo 2 nodos en la red.

En primer lugar configuraremos heartbeat con apache, para mas tarde añadir MySQL. Los datos los sincronizaremos con rsync sobre ssh.
El primer paso es instalar HeartBeat en ambas maquinas, para proporcionar la alta disponibilidad de los servicios y chkconfig para replicar los ficheros de configuración. Tambien instalaremos apache y mysql que serán los primeros servicios que replicaremos.

# aptitude install heartbeat apache2 mysql-server

Una vez instalado, añadimos al fichero hosts los nombres de los servidores que formaran el cluster con su ip:

# nano /etc/hosts
127.0.0.1    localhost
192.168.10.10    master.casa.local   master
192.168.10.11    slave.casa.local   slave

Ahora pasamos a modificar los ficheros de configuración del servicio, que estarán situados en /etc/ha.d/:

# nano /etc/ha.d/ha.cf

#Archivos de log de HB
debugfile /var/log/ha-debug
logfile /var/log/ha-log
keepalive 2

# tiempo en segundos en el que se considera un sistema como 'muerto' si no responde
deadtime 10

# puerto de comunicacion por la interfaz de red
udpport 694

# interfaz de red para el heartbeat
bcast eth0

# se define el auto_failback en off para que el servicio solo se balancee ante el fallo de uno de los nodos
auto_failback off

# definicion de nodos del cluster
node master.casa.local
node slave.casa.local

# definimos la IP donde se realiza ping constantemente para comprobar la correcta conectividad del nodo
ping 192.168.10.1

#Deshabilitamos el CRM, ya que solo tenemos dos nodos conectados
crm off

AUTHKEYS

auth 2
# 1 crc your_secret_password
2 sha1 your_secret_password
# 3 md5 your_secret_password

Ahora replicaremos los ficheros de configuracion al servidor secundario mediante SCP e iniciamos el servicio en ambos nodos. Si todo ha ido bien, al desconectar el cable en el servidor primario, el secundario levantará una interfaz de red con la IP del primario.

Anuncios

Protegiendo Grub

Por temas de trabajo, el otro día tuve que meterle contraseña a una entrada del grub, de manera que al querer acceder tuvieras que introducirla para poder encender el SO, de paso, se protege también el editar los parámetros de arranque. Vamos a ello.

Primero vamos a introducir la contraseña que queremos:

root@astaroth:~# grub-md5-crypt
Password:
Retype password:
$tu-chorro-de-caracteres

Ahora editamos el fichero “menu.lst”, buscamos el apartado “password [‘–md5’] passwd” y lo dejamos asi:

## password [‘–md5’] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command ‘lock’
# e.g. password topsecret
#      password –md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
password –md5 $tu-chorro-de-caracteres

De esta manera ya tenemos protegido el grub con nuestra contraseña, ahora vamos a hacer que solicite la misma contraseña cuando accedamos a una partición concreta, en mi caso, la de recuperación de Windows Vista que viene con el portátil.

title           [recovery] Microsoft Windows Vista Home Premium
lock
root            (hd0,5)
savedefault
makeactive
chainloader     +1

Lo único que hemos añadido es el comando “lock” entre el titulo y la partición, ahora solo nos queda reiniciar y probarlo.

Highlighting en nano

Para habilitar el coloreado de sintaxis en nano solo tenemos que añadir unas lineas en nuestro fichero .nanorc (si no lo tenemos, lo creamos), las lineas a añadir son las siguientes:

include “/usr/share/nano/c.nanorc”
include “/usr/share/nano/sh.nanorc”
include “/usr/share/nano/html.nanorc”
include “/usr/share/nano/perl.nanorc”

Guardamos y ya tenemos la sintaxis de esos lenguajes coloreada. Por defecto nano trae varios ficheros, podéis verlos listando la carpeta /usr/share/nano/

Ademas de los que trae por defecto, existen mas disponibles por internet, por ejemplo nos podemos bajar este de php:

wget http://pbxinaflash.net/source/nano/php.nanorc

lo movemos a su directorio y lo incluimos en .nanorc.

Lector de huellas digitales en Ubuntu 8.04/Debian

Hoy vamos a configurar nuestro lector de huellas!

Lo primero es que ubuntu (o la distro que usemos) nos lo reconozca, asi que:

root@astaroth:~$ lsusb | grep Fingerprint
Bus 001 Device 003: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader

Ok, lo coje, asi que procedemos a instalar los paquetes necesarios:

aptitude install libthinkfinger0 libpam-thinkfinger thinkfinger-tools

Ya lo tenemos instalado, asi que ahora vamos a probarlo, para eso, cuando tecleemos el comando y nos ponga “Please swipe your finger” pasar el dedo por el lector.

root@astaroth:~# tf-tool –acquire

ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de>

Initializing… done.
Please swipe your finger (successful swipes 3/3, failed swipes: 1)… done.
Storing data (/root/.thinkfinger.bir)… done.
root@astaroth:~#

Despues, tecleamos el siguiente comando y pasamos el dedo una vez… o las que hagan falta hasta que lo hagas bien:

root@astaroth:~# tf-tool –verify

ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de>

Initializing… done.
Please swipe your finger (successful swipes 1/1, failed swipes: 0)… done.
Result: Fingerprint does match.
root@astaroth:~#

Para el uso diario del lector, editamos el fichero “/etc/pam.d/common-auth” y lo dejamos como el siguiente:

# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
# traditional Unix authentication mechanisms.
#
auth    sufficient      pam_thinkfinger.so
auth    required        pam_unix.so try_first_pass nullok_secure

El siguiente paso es añadir un modulo del kernel, asi que editamos el fichero “/etc/modules” y añadimos al final (si no esta ya) uinput.

Ahora vamos a crear nuestro login, para eso escribimos: sudo tf-tool –add-user your_login

Los usuarios de KDE tenemos un problema con el lector de huellas, y es que KDM actualmente no soporta esta opcion, asi que lo unico que funcionaria en KDE con el lector de huellas es ksudo.

Fuente

Touchpad en Dell XPS M1530 y BIOS A08

Recientemente compre este portátil y con el único problema que me encontré en la instalación es con el touchpad. Tras un poco de búsqueda por Internet descubrí que el que no funcionase en linux es debido a una actualización de la BIOS del portátil, puesto que con la version A07 iba bien (a mi ya me vino con la A08 directamente) por lo que hice lo siguiente:

Agregar al final de la linea del kernel en /boot/grub/menu.lsti8042.nomux=1” (sin las comillas obviamente) Con esto resolvemos el problema parcialmente, ya que la velocidad del touchpad es realmente lenta, por lo que en /etc/X11/xorg.conf agregamos lo siguiente en la sección del touchpad:

Section “InputDevice”
Identifier ”Synaptics Touchpad”
Driver ”synaptics”
Option “SendCoreEvents” “true”
Option “Device” “/dev/psaux”
Option “Protocol” “auto-dev”
Option “HorizEdgeScroll” “0″
Option “SHMConfig” “on”
Option “MaxTapTime” “180″
Option “MaxTapMove” “220″
Option “MinSpeed” “0.70″
Option “MaxSpeed” “1.10″
Option “AccelFactor” “0.0520″
Option “HorizScrollDelta” “17″
Option “VertScrollDelta” “17″
EndSection

Fuente

Por lo visto, que no lo he probado, no hay problemas para que el lector de huellas funcione, solo hay que seguir los pasos de la wiki de ubuntu

Compartiendo Carpetas con NFS

Cuando estamos trabajando varias personas en un mismo proyecto, o simplemente para pasar a otro PC una canción, una película, un documento, etc.. necesitamos compartir una serie de ficheros, para ello existen varias formas de hacerlo, por ejemplo NFS, Samba, sshfs y otros mas. Yo me he decantado por NFS ya que es bastante rápido de implantar y para lo que lo vamos a usar va bastante bien.

Lo primero que tendremos que hacer es instalar el servidor de NFS:

apt-get install nfs-kernel-server nfs-common

Ahora debemos de modificar el fichero “/etc/exports” para indicarle la carpeta que queremos compartir con los demás ordenadores, por ejemplo:

/home/compartir/ (?) (rw,no_root_squash)

donde “(?)” tiene que ser sustituido por el nombre de la maquina a la que vas a permitir el acceso, las IP o un * para permitir el acceso a todo el mundo.

“rw” es lectura y escritura, pero si queremos que solo sea lectura bastara con cambiarlo por “ro”.

“no_root_squash” deshabilita la opción de root squashing, permitiendo conexión en modo root. Esta opción es particularmente útil para clientes sin disco.

Ahora exportamos el sistema de ficheros con la orden:

exportfs -a

Si queremos ver los sistemas de ficheros disponibles podemos usar “showmount -e“, lo que nos dará una salida parecida a esta:

root@Astaroth:~# showmount -e
Export list for Astaroth:
/home/compartir/ 192.168.1.1/24
root@Astaroth:~#

Con esto ya tenemos configurada la parte del servidor, así que pasamos a configurar el cliente.

Lo primero a hacer en el cliente es instalar el paquete de NFS:

apt-get install nfs-common

Lo siguiente es añadir al fstab una linea para que monte la carpeta compartida del servidor en el cliente como si de un HD se tratara, para ello, editamos dicho fichero en la maquina cliente y añadimos una linea al final como esta:

IP_SERVIDOR:/carpeta/en/maquina/servidor /carpeta/en/maquina/cliente nfs rw 0 0

Ahora solo falta “recargar” el fstab para que se hagan efectivos los cambios que hemos hecho.

mount -a

Fuente

Instalacion de BCM4318 [AirForce One 54g] [II]

Hace tiempo escribí un post sobre como instalar la BCM4318 en Ubuntu GNU/Linux, ahora probe a instalarla en debian, y lo hice con ndiswrapper, y a verdad es que es mucho mas estable que con bcm43xx-fwcutter

Si tenemos ndiswrapper instalado, procedemos a descargar el modulo del kernel:

# rmmod ndiswrapper

Le decimos a ndiswrapper donde esta el driver

# ndiswrapper -i [ruta_archivo]/bcmwl5.inf

vemos si ha instalado correctamente el driver

# ndiswrapper -l

Cargamos ndiswrapper en el kernel

# modprobe ndiswrapper

Una vez esto hecho, no me funcionaba, por lo que instale este paquete.
Para ello:

# wget http://wifislax.com/modulos-extra/broadcom-wifislax-injects.tar.gz
# tar -zxvf broadcom-wifislax-injects.tar.gz
# cd broadcom-wifislax-injects
# install.sh —> EDITAR y CAMBIAR LA VERSION DEL KERNEL POR LA VUESTRA

Saludos