linux bonding, red alta disponibilidad (HA) en Linux (Red Hat/CentOS)

En los entornos de producción es habitual encontrarse los caminos de red redundados, es decir 2 o más tarjetas de red trabajando juntas.

La idea es que cada tarjeta de red va conectada un switch diferente, de esta forma tenemos tolerancia a fallos de las tarjetas de red y la electrónica de red que hay detrás, generalmente un switch.bonding linux

Vamos a ver como configurar un interfaz de tipo bond en Red Hat/CentOS. Para documentar el procedimiento he utilizado concretamente CentOS 6.4.

La situación inicial en cuanto a configuración de red es:

 

Source   
[root@oradb ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:25:4C:B6
inet addr:192.168.174.100  Bcast:192.168.174.255  Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe25:4cb6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:217 errors:0 dropped:0 overruns:0 frame:0
TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:22757 (22.2 KiB)  TX bytes:2555 (2.4 KiB)
 
eth1      Link encap:Ethernet  HWaddr 00:0C:29:F8:6B:64
inet addr:192.168.174.134  Bcast:192.168.174.255  Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fef8:6b64/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:196 errors:0 dropped:0 overruns:0 frame:0
TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12570 (12.2 KiB)  TX bytes:1298 (1.2 KiB)
 
lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:720 (720.0 b)  TX bytes:720 (720.0 b)

 

Continue reading

yum exclude, evitar las actualizaciones de ciertos paquetes (Red Hat/CentOS)

Lo que más me gusta del mundo Linux es la facilidad de obtener software, los repositorios son una auténtica maravilla, simplifican cualquier instalación y sus dependencias.entrada yum.conf

El problema surge cuando queremos instalar algún paquete de software propietario, que es dependiente de algún paquete que tenemos instalado. La dependencia en muchos casos incluyen una versión concreta, esto entra en conflicto directo con la facilidad de actualizar software en Linux.

Vamos a ver como evitar la actualización de ciertos paquetes en Red Hat/CentOS, permitiendonos utilizar «yum» de forma segura con la tranquilidad de que no vamos a estropear nada en la siguiente actualización.

Continue reading

Pasar redologs de sistema de ficheros a RAW

No es una cosa que me guste especialmente, pero es posible que nos encontremos con personas que digan que si el rendimiento de la BD mejora mucho con los redolog en raw, frente a un sistema de ficheros (ext4 por ejemplo).

Para salir de dudas podemos trabajar con los redologs en modo RAW de forma muy sencilla. Vamos a poner un ejemplo hecho en Red Hat 4, con una BDD de pruebas con 3 redologs de 51 MB cada uno:

Source   
[oracle@clu01 DBU]$ ls -l
total 1502076
-rw-r-----  1 oracle oinstall   9748480 Jun 25 20:38 control01.ctl
-rw-r-----  1 oracle oinstall   9748480 Jun 25 20:38 control02.ctl
-rw-r-----  1 oracle oinstall   7061504 Jun 12 11:36 control03.ctl
-rw-r-----  1 oracle oinstall  52429312 Jun 25 11:06 redo01.log
-rw-r-----  1 oracle oinstall  52429312 Jun 25 10:39 redo02.log
-rw-r-----  1 oracle oinstall  52429312 Jun 25 10:39 redo03.log
-rw-r-----  1 oracle oinstall 545267712 Jun 25 20:38 sysaux01.dbf
-rw-r-----  1 oracle oinstall 744497152 Jun 25 20:38 system01.dbf
-rw-r-----  1 oracle oinstall  20979712 Jun 23 21:22 temp01.dbf
-rw-r-----  1 oracle oinstall  36708352 Jun 25 20:38 undotbs01.dbf
-rw-r-----  1 oracle oinstall   5251072 Jun 25 20:38 users01.dbf

Continue reading

Rescan scsi linux, forzar rescan de unidades SCSI en Linux

Si añadimos discos en caliente (desde cualquier sistema de virtualización) es posible que el SO no se entera hasta que hagamos un rescan del bus scsi, esto se puede hacer con la herramienta:

Source   
rescan-scsi-bus.sh -a

Para instalarla en RedHat/Centos:

Source   
yum install sg3_utils

Continue reading

LVM external drive, aceder a datos en HDs con particiones LVM (por ejemplo un HD USB)

Los volúmenes LVM tienen muchas ventajas pero cuando pinchamos un disco duro (con LVM) a un sistema operativo (mediante USB por ejemplo) y queremos acceder a los datos, vemos que no es algo automático.

Para acceder a los datos podemos montar directamente el volumen porque el device simplemente no existe, esto se puede solucionar fácilmente. La secuencia de acciones es:

1- Pinchar el HD (lógicamente)
2- Realizar un vgscan
3- Realizar un lvscan
4- Activar el volumen LVM deseado
5- Montar el device y acceder a los datos

Para extraer el HD hay que:

Continue reading

Sustitución de HD en un RAID por software mdRAID

En esta ocasión vamos a ver como regenerar un RAID por software en Linux.

Se ha detectado un error de tipo SMART mediante:

Diagnostico smarctl:

Source   
[root@simba ~]# smartctl -H /dev/sda
smartctl 5.42 2011-10-20 r3458 [x86_64-linux-2.6.32-279.el6.x86_64] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
Failed Attributes:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate     0x002f   001   001   051    Pre-fail  Always   FAILING_NOW 330223

Continue reading

Uso de smartctl (monitorización de discos) en Linux

Vamos a ver como obtener el estado de un HD mediante la tecnología SMART (monitorización y análisis de HD http://es.wikipedia.org/wiki/S.M.A.R.T.).

Lo primero que necesitamos instalar es el paquete smartmontools (en Red Hat o CentOS es así, en otras distribuciones el comando es diferente):

Source   
yum install smartmontools

Podemos obtener información de un disco con:

Continue reading

iptables ddos configurar recent, impedir ataques denegación de servicio (DOS Denial Of Service) en Linux (Match extension recent )

Recientemente se ha puesto en contacto conmigo un compañero de fatigas llamado Miguel Angel (un saludo), a ver si le podía echar una mano con unos ataques que está teniendo. Evidentemente no usaré sus datos para nada en esta entrada.

En esta estrada vamos realizar un filtrado más preciso de las comunicaciones entrantes, para evitar ataques DOS.

En el anterior post «Impedir ataques denegación de servicio (DOS Denial Of Service) en Linux (Match extension limit)», se mostraba como realizar un filtrado limitando el número de accesos. La gran mejora de la extensión recent vs limit, es que recent mantiene una lista de IPs de origen de comunicación y los límites son establecidos por IP de origen. La extensión limit impone límites independientemente del origen, es un límite global.

Continue reading

Linux montar discos UUID y /etc/fstab

Quien más o quien menos sabe como añadir un montaje automático en /etc/fstab, lo que quizá no se use tanto como debería es el montaje usando UUIDS.

El UUID (Universally Unique Identifier) es un identificador único para cada sistema de ficheros. Es muy interesante porque permite utilizarlo como referencia para un montaje, es decir en lugar de usar /dev/sdb1 (referencia física de conexión) podemos usar su UUID y de esta forma podríamos cambiar las conexiones de los discos sin que los puntos de montaje se viesen afectados.

La herramienta para conocer los UUID de los discos es:

Source   
[root@test ~]# blkid
/dev/sdb1: UUID="a210f4aa-0333-4827-b4f0-4a987c3364cf" TYPE="ext4"
/dev/sdb2: UUID="2133ef48-5eb9-4413-8b42-2f5f023a765b" TYPE="ext4"
/dev/sda1: UUID="0cdd3b92-349c-407f-87d2-63242782b531" TYPE="ext4"
/dev/sda2: UUID="rNf0sI-d44o-5c3f-VJMJ-zdhk-eT4q-Lc8xXT" TYPE="LVM2_member"
/dev/mapper/vg_test-lv_root: UUID="6c9fa623-8bc4-4143-b8a5-f7d0966980c9" TYPE="ext4"
/dev/mapper/vg_test-lv_swap: UUID="b382f6a5-0a63-4ab8-aaf4-8b8c1c0b969d" TYPE="swap"

Continue reading

Volúmenes encriptados (LUKS, Linux Unified Key Setup) en RedHat/CentOS 6

En esta entrada vamos a crear un volumen encriptado, algo muy útil si trabajamos con un portátil y queremos asegurar los datos ante la posible perdida.

Se pueden hacer cosas muy interesantes, como que nos pida la clave al arrancar o tener la clave por ejemplo en un USB. A mi me parece muy buena la opción de un dispositivo USB con la clave para poder arrancar.

Vamos al asunto, los pasos a seguir son:

1- Asegurarnos que tenemos cargado el módulo de kernel dm_crypt con:

Source   
[root@test ~]# lsmod | grep dm_crypt
dm_crypt 10848 2
dm_mod 63859 11 dm_crypt

Continue reading