Bitácora de EleKtR0

English - Italiano - Deutsch - Français - Português - русский

20 de noviembre de 2014

Fuentes de documentación sobre clusters en Linux

La web de Linbit está repleta de manuales sobre Pacemaker, Corosync, GFS, DRBD, etc. para montar clusters en Linux. Requiere registro gratuito previo en la web para descargar la documentación: Linbit Tech Guides

En la web de Clusterlabs están las últimas guías sobre Pacemaker, con Corosync o CMAN, además de howtos, ejemplos, etc.

Una página de referencia en el tema de alta disponibilidad en Linux fue, en su momento, Linux-HA pero su guía de usuario no se actualiza desde 2010.

Por último, la guía de usuario de DRBD

Etiquetas: , , ,

10 de noviembre de 2014

Instalando adaptador Wifi MT7601U en Raspbian

Si has comprado un adaptador Wifi USB con chipset MT7601U, identificado como 148f:7601 al ejecutar lsusb, tienes que compilar el driver del fabricante si quieres hacerlo funcionar en Raspbian. La última versión del driver está en este enlace de la web del fabricante. Al compilar el driver probablemente te muestre un error al compilar el fichero rt_linux.o
/usr/src/linux-headers-3.12-1-common/scripts/Makefile.build:308: recipe for target '/root/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_linux.o' failed
make[4]: *** [/root/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_linux.o] Error 1
/usr/src/linux-headers-3.12-1-common/Makefile:1245: recipe for target '_module_/root/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux' failed
make[3]: *** [_module_/root/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux] Error 2
Makefile:130: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-3.12-1-rpi'
Makefile:401: recipe for target 'LINUX' failed
make: *** [LINUX] Error 2

Según he encontrado en los foros de Ubuntu, el problema se soluciona cambiando en el fichero include/os/rt_linux.h del driver el tipo de dato de dos campos en la estructura _OS_FS_INFO_. Esta estructura está sobre la línea 280 del fichero include/os/rt_linux.h
typedef struct _OS_FS_INFO_
{
        int                             fsuid;
        int                             fsgid;
        mm_segment_t    fs;
} OS_FS_INFO;
Hay que cambiar el tipo de dato int por los que indico más abajo, guardar los cambios y ejecutar lo siguiente para recompilar: make clean && make && make install
typedef struct _OS_FS_INFO_
{
        kuid_t                             fsuid;
        kgid_t                             fsgid;
        mm_segment_t    fs;
} OS_FS_INFO;
El parche completo sería el siguiente:
--- include/os/rt_linux.h 2013-09-12 13:27:14.000000000 +0800
+++ include/os/rt_linux.h.patched 2014-03-23 11:45:03.907628847 +0800
@@ -279,8 +279,8 @@ typedef struct file* RTMP_OS_FD;
 
 typedef struct _OS_FS_INFO_
 {
- int    fsuid;
- int    fsgid;
+ kuid_t    fsuid;
+ kgid_t    fsgid;
  mm_segment_t fs;
 } OS_FS_INFO;
 
Fuentes: Can't compile driver for TP link WN727n v4 USB wireless adapter
Compiling MT7601U/RT2870 WiFi Driver in Fedora

Etiquetas: , , ,

24 de octubre de 2014

Algunos comandos habituales de WLST (Weblogic)

Para arrancar el node manager (en el ejemplo tengo instalado Weblogic en /opt/oracle/Middleware y configurado para escuchar en todas las interfaces locales):
startNodeManager(verbose='true', NodeManagerHome='/opt/oracle/Middleware/wlserver_10.3/common/nodemanager', ListenPort='5556', ListenAddress='localhost');


Para conectar al node manager:
nmConnect('nodemanagerUser', 'nodemanagerPassword', 'localhost', '5556','base_domain','/opt/oracle/Middleware/user_projects/domains/base_domain','ssl')


Para arrancar un servidor:
nmStart('AdminServer');


Para parar un servidor que fue arrancado con node manager:
nmKill('ManagedServer1');


Para conectar a un servidor:
connect("user", "password", 't3://localhost:7001');


Para parar el node manager:
stopNodeManager()

Etiquetas: , ,

Error al arrancar servidor Weblogic en Linux

Si tenemos un error al arrancar un node manager, un admin server o un managed server en Weblogic con un error de carga de una librería nativa es que probablemente estamos usando una versión de 32 bits del software en un sistema operativo de 64 bits o viceversa.

La solución es añadir a la variable JAVA_OPTIONS en startupNodeManager.sh, startupWeblogic.sh o startManagedServer.sh la ruta desde la que debe cargar las librerías nativas de Weblogic con el parámetro -Djava.library.path

Por ejemplo, para una versión de Weblogic de 32 bits en un Linux de 64 bits (tener en cuenta la ruta de instalación local):

-Djava.library.path=/opt/oracle/weblogic/wlserver/server/native/linux/x86_64/

El mensaje de error sería de este tipo en el node manager. En un admin server el error es igual pero con la librería libmuxer.so

Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /opt/oracle/weblogic/wlserver/server/native/linux/i686/libnodemanager.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'.
<24-oct-2014 8:55:05>  
weblogic.nodemanager.common.ConfigException: Native version is enabled but nodemanager native library could not be loaded
 at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:249)
 at weblogic.nodemanager.server.NMServerConfig.(NMServerConfig.java:190)

Etiquetas: , ,

16 de octubre de 2014

Creación de catálogo de RMAN

Estos son los pasos, de forma simplificada y a modo de chuleta, para crear el catálogo de RMAN en Oracle 11g.

1º Crear un tablespace para el catálogo de RMAN en una base de datos distinta a la que gestionaremos. Por ejemplo:

CREATE TABLESPACE TB_RMAN_CATALOG DATAFILE '/u01/app/oracle/product/11.2.0/rmanbd/tb_rman_catalog.dbf' SIZE 10M AUTOEXTEND ON MAXSIZE 500M;

2º Crear un usuario con el que conectaremos desde RMAN, asociándole el tablespace anterior.

CREATE USER rman IDENTIFIED BY rman DEFAULT TABLESPACE tb_rman_catalog QUOTA UNLIMITED ON tb_rman_catalog;

3º Darle los permisos necesarios al usuario rman:

GRANT CREATE SESSION, RECOVERY_CATALOG_OWNER TO rman;

4º Nos conectamos a la base de datos donde tendremos el catálogo de RMAN y la base de datos que gestionaremos con RMAN:

rman target / catalog rman/rman@rmanbd

En este ejemplo, / se usa para conectarnos a la instancia local indicada por $ORACLE_SID y el catálogo de RMAN lo tendríamos en rmanbd.

5º Creamos el catálogo de RMAN:

RMAN> create catalog;

6º Registramos la base de datos que gestionaremos desde RMAN:

RMAN> register database;

Etiquetas: , , ,