Archivo etiqueta linux

VMware: ¿Cómo añadir un disco duro a una máquina virtual Linux sin reiniciar?

 

Más de una vez tenemos que añadir un disco duro "en caliente" a una máquina virtual creada por nuestro hipervisor. En nuestro caso usamos VMware, pero esto es aplicable a otros productos.

El problema que nos surge es, ¿cómo podemos hacerlo sin reiniciar un servidor en producción?

La solución reside en volver a escanear el bus SCSI.

Para ello, primero localizaremos qué host tenemos disponible.

ls /sys/class/scsi_host

Acto seguido, elegiremos el host donde está el disco duro y ejecutaremos:

echo "- - -" > /sys/class/scsi_host/host1/scan

De esta forma, ya tendremos disponible el disco duro sin reiniciar.

 

Espero que os sea tan útil como a mí me ha sido.

, , ,

No hay Comentarios

Cómo añadir repositorios públicos a Oracle Enterprise Linux

Lo que venimos de GNU/Debian, estamos acostumbrados a utilizar los repositorios en Internet para:

1.       Instalar paquetes

2.       Actualizar paquetes (o la distribución entera)

3.       Aplicar las actualizaciones de seguridad, mejoras o algunos patch.

 

Sin embargo, Oracle Enterprise Linux (OEL) utiliza como medio de instalación de paquetes, por defecto, su DVD de instalación. Lo cual, resulta bastante engorroso cuando queremos actualizar o aplicar las actualizaciones de seguridad, etc. Por tanto, ¿cómo podemos configurar los repositorios online en OEL? y ¿qué alcance tienen?

Permitidnos contestar la segunda pregunta primero. Salvo que se adquiera una licencia y te acojas a Unbreakable Linux Network (ULN), no tendrás acceso a las actualizaciones de seguridad, mejoras y etc. Para configurar repositorios públicos que permitan instalar y actualizar paquetes, explicamos los pasos a continuación.

 

Configuración de los repositorios públicos

 # cd /etc/yum.repos.d 

# wget http://public-yum.oracle.com/public-yum-ol6.repo 

Inciso: El número que aparece el nombre del fichero indica la versión.

Por último, debemos abrir el fichero public-yum-ol6.repo y modificar el valor de enabled=0  a enabled=1 en todos aquellos que deseemos utilizar.

Con esto ya estaría preparado el sistema para usar los repositorios online.

 

Instrucciones útiles de YUM

Para comprobar qué repositorios tenemos activos:

 # yum repolist 

 

Para instalar un paquete que nos interese:

 # yum install paquete 

 

Para buscar un paquete entre los repositorios:

 # yum search paquete 

 

Para comprobar si existen actualizaciones:

 # yum check-update 

 

Para actualizar los paquetes instalados en nuestro sistema operativo:

 # yum update 

 

Espero que os sea tan útil como ha sido para mí.

, , , ,

1 Comentario

Centralizar los logs vía Web

Introducción

Uno de los mayores dolores de cabeza de un administrador de sistemas, es la gestión de los logs de sus servidores. Al final, se necesita una herramienta -preferiblemente web- para la gestión de los logs y así poder llevar un seguimiento de los servicios o analizar una incidencia. Por ello, yo utilizo LogAnalyzer de Adiscon y os voy a contar como lo he implementado en un servidor GNU/Debian. Aunque yo haya utilizado este sistema operativo, no excluye a todo aquel sistema operativo que permita la implementación LAMP y del servicio Rsyslog.

 

Requerimientos

Por ello, antes de empezar debemos comprobar si funcionan correctamente los siguientes servicios:

  • Servidor web con soporte PHP

  • Servidor de bases de datos MySQL

  • Servicio NTP

El servicio NTP no se requiere para poder instalar el software, sin embargo, no debemos perder de vista que si no contamos con una correcta precisión, el análisis de los logs puede ser bastante caótico.

 

Instalación del servicio Rsyslog

Comprobados los servicios indicados anteriormente, procedemos a instalar el servicio Rsyslog con soporte para bases de datos MySQL y para el protocolo RELP (Reliable Event Logging Protocol:


# apt-get install rsyslog-mysql rsyslog-relp

 

En el caso concreto de GNU/Debian, nos pedirá la contraseña del administrador del servidor de bases de datos -normalmente el usuario root- y que pongamos dos veces la contraseña para el usuario rsyslog que tendrá todos los permisos en la base de datos syslog, creada  en la base de datos para almacenar las salidas del servicio Rsyslog.

Para otras distribuciones, os ruego que leais la documentación pertinente. Generalmente en ella, incluye un fichero SQL para crear las tablas, los usuarios y los permisos que deberá tener la base de datos syslog.

Una vez creada la base de datos syslog, su usuario rsyslog e instalado el servicio Rsyslog, sólo queda configurarlo, cosa que haremos en tres pasos.

 

Configuración del servicio Rsyslog

El primero paso será aceptar  los mensajes syslog por el puerto 514 tanto TCP como UDP, lo cual será necesario para mantener la compatibilidad con la mayoría de los dispositivos de red que emplean o pueden utilizar un servidor centralizado de logs. Por eso, debemos descomentar las siguientes lineas en el /etc/rsyslog.conf.

# provides UDP syslog reception

$ModLoad imudp
$UDPServerRun 514
# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

 

El segundo paso será habilitar el soporte para el protocolo RELP. Este protocolo se encarga de transmitir y recibir registros syslog por la red de forma más segura que a través de TCP. Para ello, creamos el fichero /etc/rsyslog.d/relp.conf con la siguiente información:

$ModLoad imrelp
$InputRELPServerRun 10514

 

El tercer paso consiste en asegurar la viabilidad del servidor centralizado de logs creando un sistema de buffering ya que deberá asumir una gran cantidad de datos de syslog a la base de datos. Por ello, lo primero que debemos realizar es crear un directorio donde almacenaremos los ficheros en cola que sean necesarios:

 

# mkdir -p /var/rsyslog/queue

Posteriormente, debermos añadir la configuración siguiente al fichero /etc/rsyslog.conf.

# Sistema de buffering:
$WorkDirectory /var/rsyslog/queue # directorio por defecto de los ficheros encolados
$ActionQueueType LinkedList # usar proceso asincrono
$ActionQueueFileName dbq ; # establece el nombre de fichero y tambien activa el modo disco
$ActionResumeRetryCount -1 ; # reintentos infinitos en caso de fallo de insercion

 

Llegados aquí, sólo nos falta reiniciar el servicio Rsyslog:

# service rsyslog restart

 

Instalación del software LogAnalyzer

Ahora tenemos que instalar el software que nos permitirá ver los datos almacenados en la base de datos vía Web. Para ello, bajaremos el software, lo descomprimiremos y lo copiaremos al directorio donde tenemos nuestra página web.

# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.3.tar.gz
# tar xvzf loganalyzer-3.4.3.tar.gz
# cd loganalyzer-3.4.3
# mkdir /var/www/logs
# cp -R src/* /var/www/logs/
# cp contrib/* /var/www/logs/
# cd /var/www/logs/
# chmod +x configure.sh secure.sh
# ./configure.sh

 

Para activar la autenticación del software LogAnalyzer, necesitamos crear una base de datos vacía para almacenar los usuarios y sus privilegios. Se puede indicar el nombre que os apetezca pero en mi caso, para la base de datos elegí el nombre Usuarios_LogAnalyzer y el usuario Admin_LA con la contraseña clave.

 

# mysql -p

mysql> create database Usuarios_LogAnalyzer;
mysql> grant all on Usuarios_LogAnalyzer.* to Admin_LA@'localhost' identified by 'clave&';

Configuración del software LogAnalyzer

Para configurar el software, debemos abrir un navegador y escribir la siguiente url: http://IP/logs/install.php

Como el producto está en un perfecto inglés y me imagino que os interesa qué parámetros he empleado para que podamos ponerlo a funcionar ya, os transcribo sólo las opciones que he modificado.

 

  • Message character limit for the main view = 80 (default)

Lo cambié a 0 para que apareciera el mensaje entero.

 

  • Enable the user database.

La habilité y puse lo siguientes datos:

Server: localhost

Port: 3306

Name: Usuarios_LogAnalyzer

User: root

Pass: (la que tiene)

En el siguiente paso, creará las tablas y datos necesarios.

  • Se ha de crear por defecto el usuario administrador del software así que recomiendo que tengáis cuidado con los datos que ponéis ya que es imprescindible para gestionarlo.
  • En el paso de la configuración de la base de datos de logs

Name: Es meramente descriptivo. Yo puse Mis Logs de MySQL -ya sé que lo mio no es la imaginación-.

Source Type = MYSQL Native

Select View = Syslog Fields

Table type = MonitorWare

Database Host = localhost

Database Name = Syslog

Database Tablename = SystemEvents

Database User = rsyslog

Database Pass = (La que pusimos anteriormente)

Enable Row Counting = no

 

Si hemos hecho todo bien, veremos los registros del servidor centralizado de logs.

 

Configuración de los equipos

Para los servidores Solaris, GNU/Linux y *BSD, hay dos formas de configurar el servicio syslog. Si el servicio syslog instalado permite RELP, se ha de añadir las siguientes líneas al fichero de su configuración:

$ModLoad omrelp
*.* : omrelp : IP_Servidor_Centralizado_Logs : 10514 ;RSYSLOG_ForwardFormat;

Nota: El puerto 10514 fue configurado anteriormente, si por lo que sea, coincidiera que está ocupado por otro servicio, puede cambiarse sin problemas.

 

Si el servicio syslog es el tradicional:

 

*.* @IP_Servidor_Centralizado_Logs

 

Por supuesto, cuando acabemos de configurar el servicio, deberá ser reiniciado.

 

En el caso de los dispositivos de red, sólo debemos indicar donde sea necesario la IP de nuestro servidor centralizado de logs y el puerto 514 tanto TCP como UDP según lo requiera.

 

Espero que os sea tan útil como ha sido para mí.

 

 

, , ,

1 Comentario