jueves, 26 de marzo de 2015

Maquinas Virtuales en Datacenter

Recientemente tuve posibilidad de administrar un par de maquinas virtuales en un datacenter y como fue mi primera vez tuve que investigar un poco.


Me base mayormente en este link (https://www.jorgedelacruz.es/2014/05/06/crear-una-vm-y-optimizarla-al-maximo/) que ademas pego abajo.




VMware: Crear una VM y optimizarla al máximo

best-vm-introBuenos días amigos, hoy quiero dejar aquí unos trucos que siempre utilizo para dejar un entorno realmente fino, es un “Hardening” que yo realizo a las VM y así conseguir no tener elementos innecesarios que hacen que nuestros Hosts tengan que procesar cosas que no usamos. Cuando se crean VMs, nadie o casí nadie aplica estas Best Practices de VMware, con ellas podemos exprimir un poco más nuestro entorno o el de nuestro cliente, aparte de dar ese toque extra de optimización que casi nadie presta atención. Como el post es realmente largo, voy a dejaros aquí un menú para que os mováis más rapidamente a la sección que os interesa:
  1. Creacción de la VM
  2. Primer Consejo (Adaptadores VMXNET3)
  3. Segundo Consejo (Controladora SCSI VMware Paravirtual)
  4. Tercer Consejo (Thick Eager como mejor opción)
  5. Cuarto Consejo (Eliminando dispositivos I/O innecesarios)

Creación de la VM

>> Volver Arriba El primer paso es crear nuestra VM, para ello sobre unaCarpeta, Host, o Cluster pulsaremos botón derecho New Virtual Machine.best-vm-001En el tipo de configuración, vamos a seleccionar Custom, ya que vamos a realizar cambios que no suelen realizar por defecto.best-vm-005El nombre de la VM, en mi caso VM-LAB y en la carperta donde queremos ubicar la VM En el Clúster donde queremos que se ejecute la VM Y podemos seleccionar el Host donde queremos que se asocie y levante por primera vez.best-vm-008Si tuvieramos un Resource Pool, podríamos ubicar la VM en el que quisieramos. El Datastore donde queremos alojar la VM, en mi caso en un almacenamientoSAS formateado en tipo VMFS5best-vm-010El tipo de Virtual Machine, desde el vSphere Client tradicional, el que estoy ejecutando, solamente podremos crear nuevas VM con Virtual Hardware 8 como máximo, si queremos Virtual Hardware 9 o 10 deberemos hacer todo esto desde el vSphere Web Client.best-vm-011En tipo de Sistema Operativo, vamos a seleccionar Windows Server 2012 64bitbest-vm-012A nivel de CPU, con 1 virtual Socket y 2 cores es suficiente para esta instalación.best-vm-013Con los 4GB de memoria RAM es suficiente para esta demo.best-vm-014  Primer Consejo: >> Volver Arriba Las tarjetas de red siempre con adaptadores VMXNET3diferencias entre los distintos tipos de adaptadores de red:
  • E1000: Una versión emulada del adaptador de red Intel 82545EM Gigabit Ethernet. Practicamente obsoleto, hace poco incluso hubo varios KB que recomendaban actualizar a VMXNET3 en entornos de vSphere 5 en adelante.
  • E1000e: Esta característica emula el nuevo modelo de adaptador de red Intel Gigabit NIC (número 82574). Es más conocida como la vNIC “e1000e” . e1000e está disponible solamente en versión de Virtual Hardware 8. Es la tarjeta por defecto para Windows 8 y nuevas VM. No es compatible con Linux, al menos no se muestra desde la Interfaz de vSphere.
  • VMXNET 3: El adaptador VMXNET 3 ha sido creado para la siguiente generación, incluyendo un nivel y rendimiento de paravirtualización de la NIC increíble. Para VMXNET3 es necesario instalar las VMware Tools, de lo contrario no veremos presente esta tarjeta de Red.
best-vm-015  Segundo Consejo: Usar de controladra SCSI, VMware Paravirtual, diferencias entre los modelos de controladoras SCSI>> Volver Arriba
  • BusLogic – esta fue una de las primeras controladoras emuladas vSCSI que estuvieron disponibles en VMware. Versiones muy viejas de Windows traian este driver por defecto, lo cual era muy beneficioso para instalar cualquier Sistema Operativo de antaño.
  • LSI Logic Parallel (más conocido solamente por LSI Logic) – este fue otra controladora vSCSI emuladathis que estuvo disponible desde el inicio de VMware. Casi cualquier sistema operativo del planeta tiene este driver y es bastante conveniente seleccionarlo si no sabemos que estamos tocando en esta sección.
  • LSI Logic SAS – Es la evolución lógica del driver paralleo para los nuevos Sistemas Operativos que se lanzaron al mercado. Empezó a ser más popular cuando Microsoft requirió MCSC con Windows 2008 o nuevas versiones.
  • VMware Paravirtual (aka PVSCSI) – esta controladora vSCSI ha sido creada por y para entorno de virtualización, y además dieseñada para soportar un nivel muy alto de throughput con un proceso mínimo que lo convierte en el driver más eficiente.
best-vm-016Crearemos un nuevo disco.best-vm-017Tercer Consejo: Pensar antes de seleccionar aquí una de las tres opciones, la diferencia de rendimiento puede ser considerable, veamos: >> Volver Arriba
  • Thick Provisioning Lazy Zeroed: Lo peor de las dos siguientes opciones junto, primero porque se expande completamente ocupando los 40GB (por ejemplo) pero en vez de escribir todo a 0, va “formateando” según necesita, con lo que nunca sabremos el I/O real, porque es realmente variable.
  • Thick Provisionin Eager Zeroed: Si necesitamos rendimiento rápido y además tenemos espacio en el Datastore, esta es la mejor opción. Al tener todo el disco provisionado y escrito a 0, el trabajo y el I/O a nivel de disco puede ser monitorizado correctamente, sabiendo que el I/O que vemos es estable.
  • Thin Provision: El disco no ocupa todo el espacio asignado, va ocupando según se llena. Tiene muchas ventajas para entornos donde no tenemos mucho disco, pero sin emabrgo tenemos que monitorizar el estado del Datastore, y su capacidad, constantemente.
best-vm-018En esta ventana dejaremos por defecto.best-vm-019Y aquí podremos ver algutinados nuestros 3 primeros consejos. Voy a instalar un Windows Server 2012 R2 Standard Edition, asi que lo mapeo en mi VM en la parte de CD/DVDbest-vm-022Y marco la opción de conectar al arranque de la VM.best-vm-023Veremos el asistente de Microsoft cargando la última versión de su SSOO.best-vm-024El típico asistente para seleccionar idioma.best-vm-025Seleccionaremos Windows Server 2012 R2 Standard.best-vm-029Pulsaremos que queremos una instalación personalizada.best-vm-031No nos detectará ningún disco, aunque creamos uno antes de 40GB, esto esporque la controladora Paravirtual no viene por defecto en Windows Server 2012R2, ni en 2008 R2, ni en 2003 ni XP, etc. Por suerte, en el año 2014, tenemos unas imágenes de virtual Floppy, si como lees. Y tendremos que conectar nuestro floppy a nuestro datastore.best-vm-033Y la seleccionaremos bajo la ruta del Datastore vmimages/floppies/ y ahí estan las versiones para los distintos Sistemas Operativos.best-vm-034Volveremos a cargar y pulsaremos Cargar controlador y Aceptar.best-vm-036El Virtual floppy hará su trabajo y nos mostrará ya el driver para añadir a nuestro Sistema Operativo.best-vm-037Y voilá, ya tenemos nuestro disco de 40GB disponible mediante Controladora SCSI Paravirtual.best-vm-038Terminamos la instalación y al arrancar la VM, veremos que tampoco tenemos acceso a Internet, es porque tenemos que instalar las VM Tools en nuestra VM, esto se hace desde Guest > Install/Upgrade Vmware Tools.best-vm-040Nos mostrará un Autosetup para empezar a Instalar.best-vm-041A mí siempre me gusta darle a personalizado, aunque nunca suelo tocar nada, pero en este caso podemos ver lo que nos instalar, entre ello el driver de tarjeta de red VMXNET3best-vm-044Al terminar nos mostrará un mensaje para reiniciar, pulsaremos .best-vm-045Cuarto Consejo: >> Volver Arriba Al reiniciar, si nos vamos a nuestro Administrador de dispositivos, tenemos muchos que no nos van a servir nunca más (Tener en cuentra vuestra configuración propia) quizás usáis un Fax que está conectado a un Host físico, o una mochila de seguridad de un software. Si no fuera nada de esto, todo lo rojo nos sobra, nos molesta, y se lleva recursos para virtualizar algo que no vamos a usar.best-vm-048Lo primero que haremos será desmapear el CD/DVD(ISO) de Windows Server 2012 R2 y dejar la unidad de CD/DVD en modo Passthrough, con este método no tendremos acceso a la unidad de CD/DVD del host físico, que ya casi ninguno lo trae.best-vm-051También forzaremos para entrar en la BIOS en el siguiente Boot, que tenemos trabajo allí.best-vm-052Al arrancar en BIOS, iremos hasta Advanced.best-vm-053Y en la sección I/O Device Configurationbest-vm-054Veremos que todo está en Auto, Enabled, etc.best-vm-055Pues así debe quedar estas opciones para evitar toda esta carga a cada VM.best-vm-056Pulsamos F10 para salvar y salir.best-vm-057Y ya veremos que nuestro Administrador de dispositivos queda más limpio, y con menos recursos.best-vm-058Con esto ya hemos terminado, esta VM, está lista y optimizada. Quedaría muchas cosas a nivel de Windows, pero este tutorial era solamente para VMWare. Crear una VM son dos clicks, crear una VM y dejarla fina, son algunos más. Un saludo

domingo, 30 de noviembre de 2014

Descargar subtitulos para peliculas y series online

Creo que está un poco de moda el tema de mirar series ya hace algunos años, también el tema de descargar las películas para mirarlas cuando uno quiere, pero el principal problema que surge es el de encontrar los subtítulos que se ajusten a el archivo que se ha descargado. Esto ya lo he vivido con varios de mis amigos que me piden una serie, me "exigen" que sea en ingles porque les gusta verlas en el audio original, pero cuando se las das, dicen, ¿y los subtítulos?
Bueno ahí empieza mi odisea para intentar explicarles cómo hacer para encontrar los subtítulos, que normalmente me dicen, si si, entendí todo, pero al tiempo o vuelve a pedirme los subtítulos o no miran lo que me pidieron. Entonces en este pequeño resumen voy a comentar como hago yo para llegar a los subtítulos de forma fácil, no la quiero rebuscar en buscarlos en alguna página y ver los fps de la película para ver cual se adapta ni nada de eso, ya que yo lo sé hacer pero explicarlo me parece que sería pérdida de tiempo.

Entonces la forma más fácil, o la que utilizo mas es abrir la película con el reproductor BSPlayer, el free, no necesita ser el pago, y este automáticamente encuentra el subtítulo en 3 servidores que son de los más conocidos o que tienen más subtítulos en su base de datos. Si la película ya tienen algún subtitulo en otro idioma, por defecto BSPlayer no busca automáticamente, peor si van al menú, pueden forzar la búsqueda y forzar a que utilice el subtítulo que ustedes quieren, que se lo pueden bajar, y utilizar en otro momento.

Esta forma es la que utilizo en un 80% aproximadamente, la segunda es un programa también free que se llama Subligth, que se muy fácil utilizar, basta con arrastrar la película a el programa, y el se encarga de buscar el que se adapte mejor. Además tienen la funcionalidad de abrir el reproductor preferido (te da las opciones de todos los que tengas instalados) y ya incluir el subtítulo bajado.

Como ven es fácil, así que a probarlo.

miércoles, 26 de noviembre de 2014

Backup / Restore base de datos PostgreSQL

¿Cómo exportar e importar una base de datos postgreSQL?
La forma fácil, pero que no siempre funciona es hacerlo por el PgAdmin, ahí es gráfico y se puede hacer un bakup y un restore.
Lo que voy a explicar son un par de formas de hacerlo desde consola, para los que utilizamos Linux, que también se puede utilizar de Windows.

Backup:  $ pg_dump -U {user-name} {source_db} -f {dumpfilename.sql}
Restore: $ psql -U {user-name} -d {desintation_db} -f {dumpfilename.sql}


Backup:  $ pg_dump -U user bd_name > archive_name.sql

Restore: $ psql -U user db_name < /directory/archive.sql

lunes, 24 de noviembre de 2014

Instalación y configuración básica de PostgreSQL



Voy a explicar muy brevemente los pasos que tuve que hacer para instalar en un Linux Ubutu 13.04 un postgreSQL y configurarlo para acceder desde otro equipo con PgAdmin.
Primero se necesita obviamente un Linux instalado y actualizado.
El primer paso es instalar, yo utilizo apg-get install postgresql.
Luego debemos de ir a la carpeta /etc/postgresql/9.1/mail, esto obviamente cambia depende de la versión instalada.
Editamos el archivo postgresql.conf
Buscamos la siguiente linea y la dejamos asi:
#listen_addresses = 'localhost'
listen_addresses = '*'
Luego tenemos que habilitar desde que red vamos a acceder, esto lo hacemos en el archivo pg_hba.conf que qudaria algo asi:
# TYPE  DATABASE        USER            CIDR-ADDRESS            METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             192.0.0.1/32                      md5
# IPv6 local connections:
#host    all             all             ::1/128                 ident


Con esto estamos habilitando toda la red 192, es decir cualquier equipo que tenga una ip 192.*.*.* puede acceder a la base de datos.

Debemos de setear el pass del superusuario postgre

# su postgres -c psql postgres
postgres=# alter user postgres with password 'mi_contraseña';
postgres=# \q


Con reiniciar el servicio de postgre (o directamente el equipo) quedaría todo pronto para acceder a nuestra base de datos postgreSQL desde otro equipo que no sea el server.

miércoles, 19 de noviembre de 2014

Orden de reglas en GX

Muchas veces tenemos que poner reglas en Transacciones genexus que son un poco complicadas y tenesmos que pensar cual regla se ejecuta antes de otra, con el tiempo uno lo hace ya casi por instinto, pero siempre nos queda la duda de esta bien lo que estamos haciendo.
Como encontré en la wiki de Gx algo que está bien claro, sobre todo para las versiones nuevas lo pego acá para que todo el mundo lo tenga un poco más claro.


Rule Triggering Order

When a Transaction has been confirmed, the events will be triggered in the following order:
  • BeforeValidate
  • Check Extended Table (Internal GeneXus triggering event; Refcall rules are triggered here).
  • Confirm data
  • Check Optimistic Concurrency (Internal GeneXus triggering event; Record modification and locking are checked in this event).
  • AfterValidate (first level)
  • BeforeInsert/Update/Delete
  • DB is updated
  • AfterInsert/Update/Delete
    • BeforeValidate Level
    • Confirm data
    • AfterValidate Level
    • BeforeInsert/Update/Delete Level
    • AfterInsert/Update/Delete Level
  • AfterLevel Level
  • DB is updated; the success message is displated ('Data has been successfully added')
  • BeforeComplete
  • Commitment of the LUW
  • AfterComplete

martes, 12 de agosto de 2014

Show full processlist para postgresSQL




Me enfrente a un problema con una aplicación en postgreSQL y lo primero que quise hacer es el conocido (por mi) show full processlist, para detectar que consultas sql se están corriendo en el motor. En postgreSQL esto no funciona entonces buscando un poco en internet encontré la forma de hacerlo.
La consulta que hay que correr es lo siguiente
select * from pg_stat_activity;

esto se puede hacer de 2 formas, por ejemplo en pgAdmin correrla con cualquier sql. O también podemos hacerlo con consola, entonces se debe de seguir los siguientes pasos:
-          # su postgres
-          # [postgres@srv]$ psql
-          postgres=# select * from pg_stat_activity;

Con esto se pueden ver las consultas igual que en MySql.