Redimensionar disco linux, discos no gestionados por LVM

hd

Disc partitions

En ocasiones debemos redimensionar discos simples, los discos gestionados mediante LVM son mucho más sencillos de redimensionar. Pero en esta caso no contamos con ellos, vamos a proceder a un redimendionado sin pérdida de datos.

 

El escenario inicial es este:

Source   
[root@oradb ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_oradb-lv_root
                       37G  6.7G   30G  19% /
tmpfs                 1.9G  224K  1.9G   1% /dev/shm
/dev/sda1             485M   34M  426M   8% /boot
/dev/sdb1            1004M   19M  935M   2% /mnt
 
[root@oradb ~]# parted /dev/sdb unit s print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 4194304s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
 
Number  Start  End       Size      Type     File system  Flags
 1      63s    2088449s  2088387s  primary  ext4
 
[root@oradb ~]# ls /mnt/ | wc -l
118

Es decir tenemos un HD /dev/sdb de 2GB (4194304 sectores*512 bytes), en estos momentos solo existe una partición de 1GB (2088387 sectores*512 bytes=1GB aproximadamente), que está montada y contiene 118 ficheros/directorios.

Continue reading

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

Instalar MongoDB Linux, una primera instalación sencilla

Instalar MongoDB en Linux es realmente sencillo.

MongoDB es un motor de BD noSQL, es una solución Big Data que merece una mención especial, en otra entrada veremos las diferencias conceptuales respecto a un motor SQL, pero hoy vamos a ver como arrancar una instalación básica y algunos conceptos iniciales.entrada mongodb instalación sencilla

Lo primero que vamos a hacer es obtener el software desde la URL:

https://www.mongodb.org/downloads

Seleccionamos el Sistema Operativo y descargamos, en este caso la instalación la haremos sobre CentOS 6.4 Linux.

Continue reading

Guardar sesión terminal Linux (script)

Durante el trabajo diario, en ocasiones, debemos realizar tareas que nos gustaría documentar como es debido.entrada Linux script

En esta entrada vamos a ver como guardar toda una sesión de terminal Linux, de tal forma que podamos incluirla a posteriori en cualquier documentación.

El comando que vamos utilizar es:

script

Continue reading

mount bind linux vs reconfiguración de aplicación

Cuando montamos sistemas Linux una de las reglas de oro es externalizar la configuración y los datos de la aplicación a otro volumen. Esto se puede hacer fácilmente por ejemplo montando /opt sobre otro disco y realizando las instalaciones sobre /opt.

Las instalaciones sobre otros volúmenes son sencillas siempre y cuando no recurramos al repositorio de la distribución que estemos usando, en este caso vamos a tener configuración y datos en unos cuantos sitios. En una situación así podemos hacer 2 cosas:

  1. Pasearnos por todos los ficheros de configuración de la aplicación en cuestión y modificar rutas de logs, datos, configuración, etc… un trabajazo vamos.
  2. Usar mount con la opcion –bind y no tocar absolutamente nada de la aplicación.

Continue reading

Instalar versiones java, uso de diferentes versiones en Linux

Esto puede parecer una trivialidad, pero he visto a mucha gente no tener nada claro como tener en una misma máquina, varios servidores de aplicaciones Java ejecutando sobre diferentes versiones.

Para comenzar por cuestiones de seguridad lo más recomendable es que por cada servidor de aplicaciones que tengamos en ejecución, el propietario de la instalación sea un usuario diferente, este mismo usuario es el que ejecuta el servidor de aplicaciones.

En resumidas cuentas, para cada usuario podemos configurar su entorno de ejecución por defecto, de tal forma que no es necesario tocar nada en los servidores de aplicaciones para indicar que Java debe usar.

Pongamos el ejemplo de que queremos ejecutar Tomcat 8, con Java 8 y Tomcat 6 con Java 1.5.

Continue reading

iptables output, configuración iptables para conexiones salientes, en Red Hat/CentOS 6 o Ubuntu

A modo de ampliación del post «Configuración firewall iptables Red Hat/CentOS 6, desde linea de comandos«, esta vez vamos a ver como asegurar las conexiones salientes de nuestro servidor.

El limitar las conexiones salientes puede parecer algo un tanto paranoico, pero en caso de un ataque tu máquina será utilizada para «saltar» a otras o enviar correos. Se que esto todavía puede sonar más paranoico todavía, pero son cosas que ocurren y son muy reales, quiero hacer un post más adelante tratando un caso real.

Vamos al lío, partimos de una situación inicial:

Source   
[root@oradb ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
 
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

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

Apache SSL certificado cliente, configurar Apache para permitir solo accesos SSL con certificado instalado en cliente

Vamos a configurar Apache (sobre un Ubuntu 12) para permitir el acceso de clientes que tengan un certificado SSL personal instalado, primero tenemos que crear algunas estructuras para poder más tarde trabajar con listas de revocación.

Lo primero es tener instalado openssl:

ubuntu@ip-10-112-31-82:~$ sudo aptitude install openssl

Crearemos una estructura de directorios que se ajuste a las rutas esperadas por el fichero de configuración openssl.cnf:

Source   
ubuntu@ip-10-112-31-82:~$ mkdir -p /vol/apache2_certs
ubuntu@ip-10-112-31-82:~$ cd /vol/apache2_certs/
ubuntu@ip-10-112-31-82:/vol/apache2_certs$ sudo cp /etc/ssl/openssl.cnf .

El fichero openssl.cnf define una estructura de directorios para poder trabajar entre otras cosas con listas de denegación de certificados, vamos a editarlo y moficicar la linea:

Continue reading