VMware P2V: Unable to query the live Linux source machine

Fuente: Link y Link

VMware P2V: Unable to query the live Linux source machine , tutorial de administracion de servidores en linux, aprende con giganetic totalmente gratis. (By Giganetic)

Vamos a mirar la posible solución a este problema, que se nos presenta en el instante que intentamos convertir un procedimiento Linux de una máquina física a una máquina virtual (vmware p2v) de VMware con la herramientaVMware vCenter Converter Standalone.
El desconfianza se reproduce después de introducir los datos correctos de conexión SSH al servidor. Estos datos vemos que son correctos porque si ponemos unos incorrectos salta el error. Además, en la máquina que intentamos migrar si hacemos un tcpdump vemos que efectivamente está llegando bien.

Este es el error que recibimos en el primer paso de la conversión:
VMware: Unable to query the live Linux source machine

VMware P2V: Unable to query the live Linux source machine
En nuestro caso, el desconfianza no tenía que mirar ni con el firewall del sistema, ni con restricciones TCP Wrappers, ni con SELinux, etc. El desconfianza tenía principio en las restricciones establecidas en la partición temporal /tmp. Nosotros montamos /tmp con los bits noexec y nosuid. Algo común en servidores con cPanel:

/usr/tmpDSK on /tmp type ext3 (rw,noexec,nosuid,loop=/dev/loop0)

Al parecer VMware intenta ejecutar y hacer acciones en /tmp, y necesario a esto no puede. Podemos solucionarlo entonces montando /tmp temporalmente con los bits de ejecución:

# mount -o remount  -t ext3 /usr/tmpDSK /tmp -o rw,exec,nodev -o loop

Y en el instante que acabemos securizar de nuevo:

# mount -o remount  -t ext3 /usr/tmpDSK /tmp -o rw,noexec,nosuid -o loop
Advertisements

Monitoring Weblogic with Munin

Primero de todo tenemos que extraer los datos de HEAP, CPU y Daemons & Threads del adminserver de nuestro dominio Weblogic. Posteriormente dejamos estos datos en un fichero para que el script de munin (3 en total) recoja dichos datos y sean enviados al servidor.

Extraer datos de Weblogic.

Para hacer esto usaremos el conocido jython. Para hacerlo crearemos un script en el cron que se ejecute cada 5 min;

 

crontab -l

*/5 * * * * /usr/share/munin/scripts/weblogic_plugin.sh > /dev/null 2>&1

 

Este script se conectará al Admin, ira por cada uno de los managed server (incluso el Admin). Y sacara los datos dejándolos en un fichero de texto. En nuestro caso;

/wls/export_wls_status.sh

El script weblogic_plugin.sh es;

/opt/jrmc/bin/java -cp /opt/bea/wls/weblogic.jar weblogic.WLST /usr/share/munin/scripts/weblogic_py_script_DOMAIN1.py  > /wls/export_wls_status

/opt/jrmc/bin/java -cp /opt/bea/wls/weblogic.jar weblogic.WLST /usr/share/munin/scripts/weblogic_py_script_DOMAIN2.py >> /wls/export_wls_status

 

Nota!!

Quizás tendréis que modificar el directorio del binario de java (/opt/jrmc/bin/) así como del fichero weblogic.jar (/opt/bea/wls/) en función de vuestra configuración.

 

Este script de cron sacará todos los datos, pero el que realmente se conecta al Weblogic es el script weblogic_py_DOMAIN.py Este script es;

username = ‘usuario’

password = ‘password’

URL=’t3://localhost:1111′

connect(username,password,URL)

domainConfig()

domini=cmo.getName()

serverList=cmo.getServers();

domainRuntime()

cd(‘/ServerLifeCycleRuntimes/’)

for server in serverList:

name=server.getName()

cd(name)

serverState=cmo.getState()

cd(“/ServerRuntimes/”+server.getName()+”/JVMRuntime/”+server.getName())

sizeHP=cmo.getHeapSizeCurrent()

usedHP=cmo.getUsedHeap()

proces=cmo.getAllProcessorsAverageLoad()

timegc=cmo.getLastGCEnd()

daemon=cmo.getNumberOfDaemonThreads()

thread=cmo.getTotalNumberOfThreads()

 

print domini,’PRO’,  name,’SizeHPWLS ‘,sizeHP

print domini,’PRO’,  name,’UsedHPWLS ‘,usedHP

print domini,’PRO’,  name,’ProcesWLS ‘,proces

print domini,’PRO’,  name,’TimeGCWLS ‘,timegc

print domini,’PRO’,  name,’DaemonWLS ‘,daemon

print domini,’PRO’,  name,’ThreadWLS ‘,thread

 

domainConfig()

domainRuntime()

cd(‘/ServerLifeCycleRuntimes/’)

 

Una vez tenemos los datos en un fichero de texto podremos tratarlo. Dejo un ejemplo de cómo se queda el fichero con los datos:

 

DOMAIN1 PRO AdminServer SizeHPWLS  536870912

DOMAIN1 PRO AdminServer UsedHPWLS  454807648

DOMAIN1 PRO AdminServer ProcesWLS  0.0806008984095334

DOMAIN1 PRO AdminServer TimeGCWLS  1380632745493

DOMAIN1 PRO AdminServer DaemonWLS  51

DOMAIN1 PRO AdminServer ThreadWLS  52

DOMAIN1 PRO DOMAIN1_01 SizeHPWLS  1610612736

DOMAIN1 PRO DOMAIN1_01 UsedHPWLS  1199548792

DOMAIN1 PRO DOMAIN1_01 ProcesWLS  0.08062796813666061

DOMAIN1 PRO DOMAIN1_01 TimeGCWLS  1380629744340

DOMAIN1 PRO DOMAIN1_01 DaemonWLS  42

DOMAIN1 PRO DOMAIN1 _01 ThreadWLS  43

 

Para tratar el fichero crearemos un script en /usr/share/munin/plugins/ con el nombre que se quiera, en mi caso MANAGED_DOMAIN1_HEAP

El fichero básicamente hace un grep del dato que se quiera y lo devuelve. Para el HEAP busca SizeHPWLS, para daemons y threads DaemonWLS  y ThreadWLS y para CPU busca ProcesWLS

 

#!/bin/sh

case $1 in

config)

cat <<‘EOM’

graph_title Managed Servers Heap DOMAIN1_1

graph_vlabel HEAP USE/MAX

DOMAIN1_1_Size.label DOMAIN1_1 Max

DOMAIN1_1_Use.label DOMAIN1_1 Use

graph_scale yes

graph_category weblogic

graph_info Grafica Weblogic DOMAIN1_1 Heap Managed Servers

EOM

exit 0;;

esac

echo -n “P DOMAIN_1_Size.value ”

grep SizeHPWLS /wls/export_wls_status | grep DOMAIN1_1 | awk ‘{print $5}’

echo -n ” DOMAIN_1_Use.value ”

grep UsedHPWLS /wls/export_wls_status | grep DOMAIN1_1| awk ‘{print $5}’

 

Creamos el enlace simbólico;

cd /etc/munin/plugins

ln –s MANAGED_DOMAIN1_HEAP  /usr/share/munin/plugins/MANAGED_DOMAIN1_HEAP

Reiniciamos el agente

/etc/init.d/munin-node restart

Y en unos minutos ya lo tenemos en nuestro servidor

 

HEAP

Descarga de scripts: Weblogic & Munin Scripts

 

Como instalar Oracle Weblogic en RedHat

Como instalar Oracle Weblogic en RedHat

Descripción:

Primero descargamos el software. En mi caso al querer instalar la versión de 64bits tengo que descargar el JRockit (JVM) y el Weblogic por separado. Si quisieramos usar el de 32bits ya hay un paquete que lo permite “Linux x86 with 32-bit JVM (1.2 GB)”

Descarga:

Para descargar la JVM Oracle JRockit 6 – R28.2.5
http://www.oracle.com/technetwork/middleware/jrockit/downloads/index.html

Para descargar el Oracle Weblogic 10.3.3 64Bits
http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html

El listado de versiones que hay es extenso. En mi caso sera;

Oracle WebLogic Server 11gR1 (10.3.3) + Coherence – Package Installer Additional Platforms (For 64-bit  JVM Support, See Note Above) (Generic 921Mb)

Instalación:

JRockit:

[root@weblogic ~]# chmod +x jrockit-jdk1.6.0_37-R28.2.5-4.1.0-linux-x64.bin
[root@weblogic ~]# ./jrockit-jdk1.6.0_37-R28.2.5-4.1.0-linux-x64.bin

Selecionamos el directorio de instalación:direcotry_jrockit

Vamos a validar que la instalacion es correcta;

[root@weblogic bin]# pwd
/opt/jrockit-jdk1.6.0_37-R28.2.5-4.1.0/bin
[root@weblogic bin]# ./java -version
java version “1.6.0_37”
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Oracle JRockit(R) (build R28.2.5-20-152429-1.6.0_37-20120927-1915-linux-x86_64, compiled mode)

Weblogic 10.3:

[root@weblogic bin]# /opt/jrockit-jdk1.6.0_37-R28.2.5-4.1.0/bin/java -jar /root/wls1033_generic.jar -log=/logs/wls_install.log
Extracting 0%……………………………………………………………………………………….100%

El directorio de los binarios de Weblogic (No de los servidores o dominio)

12

Selecionamos la JVM que queremos usar;

primer

 

El directorio del DOMINIO

primer111

Configuración:

Cuando finalize ejecutaremos el QuickStart para la creación del domini, servidores etc…

2

El tipo de servidor con su JVM

22222222

Y finalmente que partes del Weblogic vamos a instalar. En mi caso pondemos el AdminServer (Consola), crearemos un Cluster con una maquina y crearemos un servidor (Instancia)

333333

Creamos un servidor (INSTANCIA)

4

Creamos un MACHINE que es donde van a correr los servidores y NodeManager

11

Creamos un cluster, que sera un conjunto de machines que a su vez son un conjunto de servidores (instancias)

5

Creamos el AdminServer (Consola de administración)

6

Asignamos los servidores a las maquinas

1

Asignamos los servidores al cluster

9

Iniciar/conectar al servidor:

Ya ya tendremos nuestro servidor configurado.

Iniciamos la instancia de Weblogic con el script /wlscfg/BUS/startWebLogic.sh

start

Nota! Podemos tener problemas al iniciar la instancia si nos pide usuario y contraseña. Para resolverlo seguimos este procedimiento

startup

Ahora accedemos a la consola http://servidor:7001/console con usuario: weblogic pass: weblogic1

console

Weblogic user password on startup

Por defecto el Weblogic solicita el usuario y password de la instancia de AdminServer al arrancar. Como se inicia con un nohup tendremos que pasarle dicho usuario.

startup

Para hacerlo crearemos el fichero boot.properties en un nuevo directorio llamado “security” dentro de la instancia;

mkdir /wls/DOMINIO/servers/AdminServer/security/
vi /wls/DOMINIO/servers/AdminServer/security/boot.properties

Dentro pondremos con texto plano y al iniciar por primera vez la instancia esta va a encreiptar los datos;

password=C0ntra$eña
username=U$uari0

Ahora si iniciamos la instancia con el script

/wls/DOMINIO/startWebLogic.sh

Ahora el arranque ya será correcto

Modificar editor por defecto ejemplo: “crontab -e”

En las nuevas versiones de debian y ubuntu, un iluminado ha puesto como editor por defecto el nano……

Pero como todo en este mundo, se puede modificar.

Ejecutamos:
update-alternatives –config editor

Ahora podemos selecionar el editor que queremos de un listado que nos muestra.

 

Existen 3 opcioens para la alternativa editor (que provee /usr/bin/editor).

  Selección   Ruta                Prioridad  Estado
————————————————————
* 0            /bin/nano            40        modo automático
  1            /bin/nano            40        modo manual
  2            /usr/bin/vim.basic   30        modo manual
  3            /usr/bin/vim.tiny    10        modo manual

Pulse <Intro> para mantener el valor por omisión [*] o pulse un número de selección: 3

 

Listo!

 

HeartBeat ERROR: Message hist queue is filling up

El mensaje siguiente es fruto de un problema de conectividad;

heartbeat[17154]: 2011/11/03_14:40:08 ERROR: Message hist queue is filling up (487 messages in queue)
heartbeat[17154]: 2011/11/03_14:40:09 ERROR: Message hist queue is filling up (488 messages in queue)

Si hacemos iptables -L seguro que aprece algo al estilo….

[SERVER].root:/etc/ha.d > iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all — anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all — anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain RH-Firewall-1-INPUT (2 references)
target prot opt source destination
ACCEPT all — anywhere anywhere
ACCEPT icmp — anywhere anywhere icmp any
ACCEPT esp — anywhere anywhere
ACCEPT ah — anywhere anywhere
ACCEPT udp — anywhere 224.0.0.251 udp dpt:mdns
ACCEPT udp — anywhere anywhere udp dpt:ipp
ACCEPT tcp — anywhere anywhere tcp dpt:ipp
ACCEPT all — anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:ssh
REJECT all — anywhere anywhere reject-with icmp-host-prohibited

 

Estas son las IPTABLES por defecto en instalaciones REDHAT 5.5 Tocará quitarlas todas con un “iptables -F”