viernes, 20 de noviembre de 2015

Permisos en postgres para correr aplicaciones Genexus

Una aplicación genexus Evo3 que en desarrollo accedía a la base con el superusuario de postgres, al tener que pasarla a producción tuve que restringir algunos permisos sobre la base de datos por temas de seguridad, acá le copio los pasos que tuve que realizar




Crear rol aplicación: grants_app_miapp
Crear usuario aplicación: app_miapp
Otorgar privilegios de: select, update, insert y delete, sobre todas las tablas de la base miapp
Otorgar privilegios de: select y usage, sobre todas las secuencias de la base miapp

Comandos ejecutados:

-- Executing query:
CREATE ROLE grants_app_miapp
  SUPERUSER INHERIT CREATEDB CREATEROLE REPLICATION;

-- Executing query:
ALTER ROLE grants_app_miapp IN DATABASE miapp
  SET search_path = "public";

-- Executing query:
COMMENT ON ROLE grants_app_miapp  IS 'Rol de aplicación de la base de datos miapp.';

-- Executing query:
CREATE ROLE app_miapp LOGIN
  PASSWORD ''
  NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

-- Executing query:
COMMENT ON ROLE app_miapp IS 'Usuario de aplicación de la base de datos miapp. Obtiene los privilegios a través del rol grants_app_miapp';

-- Executing query:
GRANT grants_app_miapp TO app_miapp;
Query returned successfully with no result in 42 ms.

-- Executing query:
grant select,update,insert,delete on all tables in schema public to grants_app_miapp;

-- Executing query:
grant select on all SEQUENCEs in schema public to grants_app_miapp;

-- Executing query:
grant usage on all SEQUENCEs in schema public to grants_app_miapp;

jueves, 1 de octubre de 2015

Matar consultas colgadas postgres

Muchas veces tenemos consultas que estan colgadas por consumir recursos o cualquier otro tema, para matarlas primero tenemos que quedarnos con el pid con la siguiente consulta:

psql -h servidor -U postgres -d postgres (nos conectamos al server)

postgres=# SELECT  * FROM pg_stat_activity WHERE datname='mi base de datos';

Luego podemos matar solo una consulta por el pid

postres=# SELECT pg_terminate_backend(numero de pid);


o matar todas las consultas de una base de datos

postgres=# SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname='mi base de datos';


miércoles, 30 de septiembre de 2015

Ver estructura de tabala en postgreSQL

Para ver la definicion de una tabla en postgres se ejecuta la siguiente consulta

SELECT * FROM information_schema.columns WHERE table_name = 'nombre tabla con comilla simple';



lunes, 28 de septiembre de 2015

Respaldo comprimido de postgres

Para realizar un backup de la base de datos postgres y que ademas este ocupe poco espacio corremos el siguiente script

pg_dump -f /tmp/backup.sql.gz -Z 9 -o -C mibasededatos


Para hacer el restore corremos el siguiente script

gzip -dc /tmp/backup.sql.gz | psql -U postgres

miércoles, 9 de septiembre de 2015

Agrandar partición ext4 en Centos sin perder datos.

Me toco tener un equipo que tenía un disco grande y estaba desaprovechado porque la partición era muy chica por error de instalación. El equipo ya estaba funcionando y no era factible formatear e instalar todo de nuevo, entonces la idea era aumentar el tamaño de la partición.

Con un live cd de gparted, puede aumentar la partición al máximo del disco (esto no lo explicare porque es muy fácil), pero luego al entrar al equipo me seguía devolviendo el tamaño  inicial.
Me base en el siguiente post para arreglarlo y los pasos a seguir son muy fáciles que los resumo abajo


df –h
fdisk –l
pvs
lvextend –L +XXXXGB /dev/mapper/VolGroup-lv_root  (camiar las X por el tamaño que quieran o el maximo que se pueda agrandar)
lvs
mount (no era necesaario en mi caso)
resize2fs /dev/mapper/VolGroup-lv_root (este es el unico cambio del post porque mi disco estaba en ext4)

df –h

Con esto veremos que el disco cambio al tamaño que le pusimos arriba

viernes, 14 de agosto de 2015

Consulta que esta corriendo en postgreSQL

Para saber que consulta esta corriendo en postgreSQL se debe de ejecutar una consulta, lo podes hacer por consola o por cualquier ide de consultas (sugiero utilizar SQL Workbench pero es indistinto)


SELECT * FROM pg_stat_activity ORDER BY 1;


sábado, 18 de julio de 2015

Optimizacion PostgresSql

Cuando trabajamos con BD y movemos de una grandes volúmenes de datos, por ejemplo hacemos un delete de una tabla con miles o millones de registros el sistema la base de datos le cuesta volver a lo optimo que esperábamos que estuviera. En cada motor existe la forma de actualizar las estadísticas, que a muy grosero modo es saber cuantos registros tiene una tabla y cual es su mejor forma de abordarla.

En postgres yo he utilizados estas 2 formas, una para windows y otra para linux, y me ha funcionado bastante bien. Quizás haya otras formas pero con mis pocos conocimientos en postgres con esto pude volver a utilizar una tabla que tenia millones de registros y los borre de una, y cuando intentaba consultar algún registro demoraba muchísimo.


- Para windows
"C:\Program Files\PostgreSQL\9.3\bin\vacuumdb.exe" -a -U postgres -h 127.0.0.1
"C:\Program Files\PostgreSQL\9.3\bin\reindexdb.exe" -a -U postgres -h 127.0.0.1


- Para linux
#!/bin/bash

# reindexado
psql -U usuario postgres -c "reindex database rucaf"

# vacuum sobre todas las bases de datos
su postgres -c "vacuumdb -a"

# actualizacin de estadisticas
su postgres -c "vacuumdb -z rucaf"

jueves, 9 de julio de 2015

Certificados digitales

Copio un link de alguien que ha sufrido con los certificados y nos da una muy buena información. Los agradecimientos y felicitaciones a el por favor.


http://pmoleri.blogspot.com/2015/06/tlsssl-y-los-problemas-con-los.html

miércoles, 24 de junio de 2015

Maquinas virtuales de aplicaciones pre-instaladas gratis (bitnami)

Este post es para contarles de una muy buena alternativa, rápida para obtener maquinas virtuales con cientos de aplicación.
Hasta ahora cada vez que tenia que probar algo usaba el método clásico, primero elijo el sistema operativo, me lo descargo en un iso o consigo el CD, me creo una maquina virtual con VMWare e instalo el sistema operativo, luego empiezo a pelearme hasta terminar instalando la aplicación que necesito (Tomcat, Mantis, RedMine, MySql, etc.), esto obviamente me podría llevar tiempo dependiendo del conocimiento que tuviera de la aplicación que estaba instalando.

Buscando un poco en Internet encontré la siguiente pagina:
https://bitnami.com/

que cuenta con cientos de maquinas virtuales gratis, ya armadas con las aplicaciones. Con una rápida mirada se ve que están las herramientas mas utilizadas.

Tuve la oportunidad de probar una de estas maquinas virtuales, y se ve que están bien armadas y bien cuidado para que funcione lo que indican de forma optima.



domingo, 17 de mayo de 2015

Crear red DLNA en mi casa.


Paso a enumerar los dispositivos que tengo y cuál es el objetivo.
En la casa hay varios celulares con Android, en particular versión 4 o superior, no sé si funcionara lo que explicare en versiones anteriores. Además tengo una Tablet que también versión superior a 4, y un TV que soporte DLNA, en particular es el de 50 pulgadas Panavox.

La idea es primero algún video que tengo en un celular, o fotos, etc., que en vez de verlo en el celular se vea en la TV. Y lo segundo es el Tablet conectarlo a otro TV que no soporta DLNA pero tienen entrad HDMI y el Tablet mini HDMI y que el video que se reproduce en el celular, salga por el Tablet que en definitiva si esta enchufado por HDMI a la TV se verá en la TV.

Estos son mis 2 escenarios, y cada uno es distinto, pero los 2 los pude solucionar con aplicaciones gratis, y me encontré con algunas cosas interesantes.
Vamos por el primero, lo que deberíamos hacer es que el TV este visible por DLNA esto va en cada configuración pero si leen el manual lo podrán hacer.

Luego en los celulares debemos de instalar uno o todas las siguientes app
-          AirWire – con esta podremos reproducir videos que tengamos en nuestro celular, es de las que más formatos reproduce, sobre todo el difícil mkv
-          iMediaShare – esta es igual que la anterior pero entiendo que un poco más fácil, y reproduce menos formatos
-          Flipps HD – está la ofrece para descargar la anterior, y tiene una coleccione de videos de muy buena calidad, por ejemplo de deportes, musicales, algunas películas, además puede reproducir youtube lo cual es muy interesante, y dicen que se puede ver twitter y Facebook lo cual no lo probé.
Con estos estamos más que bien y vamos a poder jugar bastante.

Para empezar abrimos uno de los 2 primeros el que queramos, y esperamos un rato, porque el detectar la TV puede demorar unos segundos, yo en particular lo ejecute, no me detecto nada, luego lo cerré, lo abro nuevamente, espero 15 segundos y ya podía ver la TV. Lo otro es muy fácil, entramos a los videos por ejemplo, elegimos el que vamos a ver y le decimos en que server DLNA lo vamos a reproducir, por ahora solo tenemos como server el TV, entonces lo elegimos y listo, con esto podemos ver un video sin conectar ningún cable al TV.



Vamos al escenario 2, en la Tablet, le instalamos la siguiente app
-          BubbleUPnP – es un server DLNA, para ser gráfico es con lo que la TV viene de fábrica para poder hacer lo del primer escenario
Conectamos la Tablet al TV, por el HDMI, vemos que esté funcionando (esto no lo explicare pero es sencillo), y luego ejecutamos el BubbleUPnP. Con esto basta para que la Tablet sea un server DLNA, entonces en el celular vamos otra vez a abrir alguno de los soft que mencionaba y ahora además de tener para reproducir al primer TV, ahora nos aparecerá el nombre de nuestra Tablet.



No necesariamente desde un celular o similar Android se puede reproducir el video, esto también se puede hacer desde un pc o notebook.

jueves, 23 de abril de 2015

Backup y Restore de PostgreSql por consola

Tengo un servidor Linux que es el equipo de testing con postgresql, y el equipo Windows también con postgresql, necesito hacer un backup en el Windows y tirarlo en el Linux.
En la carpeta de instalación de PostrgreSQL hay un ejecutable Pd_dump.exe, lo que hay que ejecutar desde la consola es lo siguiente:
Cd c:/…/bin/
Pg_dump.exe –C  –U usuario base > archivo.respaldo.sql
-C es para incluir el Create
-U es para decirle cual es el usuario
base se debe de cambiar por la base a respaldar
archivo.respaldo.sql es el nombre del sql a crear, cambiarlo

luego desde Linux para levantar la base debemos de hacer lo siguiente:
su postgres
psql < archivo.respaldo.sql


Con esto tenemos la base que estaba en el equipo de desarrollo Windows en el equipo de Testing Linux

jueves, 16 de abril de 2015

Instalación de Postgresql, Java, Jboss, en Linux Centos, para alojar aplicación genexus

En el siguiente post voy a comentar todos los pasos que tuve que dar para poder tener una máquina virtual (en mi caso pero podría ser un equipo físico) con Jboss y que funcione una aplicación generada con genexus.
Detalle de software que utilice.
Linux Centos 6.4 minimal
Genexus Evo3 U1
Java 7
PostgreSql 9
Jboss 7.1.1

Voy a ir contando paso a paso lo que hice y por qué.

Primero tengo que instalar Centos, eso no lo voy a detallar pero comento que descargue la versión 6.4 que la tuve que buscar bastante porque estaba discontinuada por no tener mantenimiento (necesitaba que fuera esa versión porque estaba replicando un ambiente de producción). Luego de tener la instalación completa, la actualizamos

yum update
yum upgrade

Luego de tener el equipo instalado y funcionado con las últimas actualizaciones vamos a empezar a instalar el software base.
Con el siguiente comando vemos la versión de java que podríamos instalar
yum search java | grep 'java-'

Buscamos la versión 7 y corremos lo siguiente
yum install java-1.7.0-openjdk-src.x86_64

Ahora vamos a instalar PostgreSQL, con la misma idea buscaos la versión que tenemos en los repositorios e instalamos la que queramos.
yum install postgresql-server.x86_64
Luego vamos a configurar postgresql, debemos de seguir la siguiente secuencia

service postgresql initdb
service postgresql start
su postgres
psql
ALTER USER postgres WITH PASSWORD ‘pass_que_prefiera;
\q
Exit

Si vamos a acceder desde afuera deberíamos de tocar los siguientes archivos
/var/lib/pgsql/data/pg_hba.conf
En mi caso como si quiera accede desde afura tuve que dejarlo asi:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               trust
# IPv4 local connections:
host    all         all         127.0.0.1/32          trust
# IPv6 local connections:
host    all         all         ::1/128               trust
#######ident
host    all         all         192.168.73.153/32           trust

Y el archivo postgresql.conf debo de buscar las líneas que están comentadas y des comentarlas y modificarlas para que quede así:
listen_addresses = '*'
port = 5432 

Ahora debemos de continuar instalando jboss, para eso instalamos algunas herramientas previas

yum install wget
yum install unzip

Ahora descargamos e instalamos jboss

wget http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.zip
unzip jboss-as-7.1.1.Final.zip -d /usr/share
adduser jboss
chown -fR jboss.jboss /usr/share/jboss-as-7.1.1.Final/
su jboss
cd /usr/share/jboss-as-7.1.1.Final/bin/
./add-user.sh (ManagementRealm, usuario foo y pass)

Ahora ejecutamos jboss y probamos que funciones accediendo por el navegador, por las dudas bajamos el firewall porque por defecto tiene reglas y pueden hacernos ruido en este paso.

Limpiar las reglas de iptables (firewall)
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Levantar jboss (ver que no de ningún error)

/usr/share/jboss-as-7.1.1.Final/bin/standalone.sh -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0&
Acceder de cualquier navegador a la ip del equipo y debería de mostrarnos la página de jboss inicial.

Con esto tendremos casi todo, pero lo mejor es dejar el firewall con las reglas que tiene y agregar nuestras reglas.
Les dejo un ejemplo del archivo /etc/sysconfig/iptables en el que expongo el puerto 8080 para jboss, el 9990 para la consola de administración de jboss, y el 5432 para conectarme a postgres desde fuera (esto si es producción no se debería de agregar)

############### archivo /etc/sysconfig/iptables ########################
# Generated by iptables-save v1.4.7 on Wed Apr 15 07:59:02 2015
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [13:1644]

-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9990 -j ACCEPT

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited

# jboss
-A FORWARD -p tcp -m tcp --dport 8080 -j ACCEPT

# postgresql
-A FORWARD -p tcp -m tcp --dport 5432 -j ACCEPT

# jboss admin
-A FORWARD -p tcp -m tcp --dport 9990 -j ACCEPT


-A FORWARD -j REJECT --reject-with icmp-host-prohibited

-A OUTPUT -p tcp -m tcp --dport 8080 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 5432 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 9990 -j ACCEPT

COMMIT
# Completed on Wed Apr 15 07:59:02 2015
############### FIN ######################################


Ademas deberiamos de configurar para que jboss se levantara cada vez que se reinicie el servidor, yo cree un arrancador muy basico que se puede configurar a nuestras necesidades. Este archivo se podria llamar /etc/init.d/jobss711

######################### archivo /etc/init.d/jobss711 #################3

#!/bin/bash 
### BEGIN INIT INFO 
# Provides:          jbossas7 
# Required-Start:    $local_fs $remote_fs $network $syslog 
# Required-Stop:     $local_fs $remote_fs $network $syslog 
# Default-Start:     2 3 4 5 
# Default-Stop:      0 1 6 
# Short-Description: Start/Stop JBoss AS 7 
### END INIT INFO 
# chkconfig: 35 92 1 
 
## Include some script files in order to set and export environmental variables 
## as well as add the appropriate executables to $PATH. 
[ -r /etc/profile.d/java.sh ] && . /etc/profile.d/java.sh 
[ -r /etc/profile.d/jboss.sh ] && . /etc/profile.d/jboss.sh 
 
JBOSS_HOME=/usr/share/jboss-as-7.1.1.Final
 
AS7_OPTS="$AS7_OPTS -Dorg.apache.tomcat.util.http.ServerCookie.ALLOW_HTTP_SEPARATORS_IN_V0=true"   ## See AS7-1625 
AS7_OPTS="$AS7_OPTS -Djboss.bind.address.management=0.0.0.0" 
AS7_OPTS="$AS7_OPTS -Djboss.bind.address=0.0.0.0" 
 
case "$1" in 
    start) 
        echo "Starting JBoss AS 7..." 
        #sudo -u jboss sh ${JBOSS_HOME}/bin/standalone.sh $AS7_OPTS           ##  If running as user "jboss" 
        #start-stop-daemon --start --quiet --background --chuid jboss --exec ${JBOSS_HOME}/bin/standalone.sh -- $AS7_OPTS   ## Ubuntu 
        ${JBOSS_HOME}/bin/standalone.sh $AS7_OPTS & 
    ;; 
    stop) 
        echo "Stopping JBoss AS 7..." 
        #sudo -u jboss sh ${JBOSS_HOME}/bin/jboss-admin.sh --connect command=:shutdown            ##  If running as user "jboss" 
        #start-stop-daemon --start --quiet --background --chuid jboss --exec ${JBOSS_HOME}/bin/jboss-admin.sh -- --connect command=:shutdown     ## Ubuntu 
        ${JBOSS_HOME}/bin/jboss-cli.sh --connect command=:shutdown 
    ;; 
    *) 
        echo "Usage: /etc/init.d/jbossas7 {start|stop}"; exit 1; 
    ;; 
esac 
 
exit 0

######################### FIN archivo #################

Con chkconfig podremos agregarlo para que inicie y finalice cuando arranquemos o apaguemos el equipo, ver como se adapta a cada instalación de Linux, por ejemplo si quieren que se arranque cuando iniciamos entorno grafico o no. Por ejemplo algo asi
chkconfig –level 345 jboss711 on

Probemos en reiniciar el equipo y probar que siga funcionando jboss y postgresql

Esta todo funcionando, ahora lo único que falta es crear el war desde gx, con el Depoyment wizard sin hacer ningún cambio, lo único que hay que hacer es agregar todas las clases al war generado (se puede editar con winzip) ya que genexus solo agrega algunas y si se quiere agregar cuando se está generando desde la aplicación DW de gx se cae (en mi caso, pueden probarlo ustedes).
Y por último hay que tirar el war en /usr/share/jboss-as-7.1.1.Final/standalone/deployments, mirar el log y ver que no tire ningún error, y por último en un navegador accede a la aplicación.
Recordar que el link sería algo así:



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