Mostrando entradas con la etiqueta hyper-v. Mostrar todas las entradas
Mostrando entradas con la etiqueta hyper-v. Mostrar todas las entradas

domingo, 7 de julio de 2013

SÍ SE PUEDE hacer live-migration SIN SANs


SI se puede hacer Live migration de máquinas virtuales SIN hardware de SANs (shared storage).

Es un mito entre sysadmins que no son especialistas en virtualización el que "sí o sí" hace falta una SAN para poder tener live-migration, "o sino no se puede".

Claro, si tenés que preguntar a un vendedor de hardware, la mayoría te va "confirmar" que es "mejor" si tenés la SAN, y claro, a alguien tenés que comprarsela ¿verdad?

En cambio, lo que podrías confirmar por vos mismo es ir hasta los sitios de los fabricantes del software y bajarte los documentos de KB (Knowledge Base), ver los casos de estudio, los foros de ayuda, y en último lugar tal vez, los manuales y documentación, según el nivel de feedback que tengas ya vas a ir viendo - por vos mismo - qué tanto funcionaría o no, tener o no una SAN, y si vale la pena invertir en comprar una.


Veamos algunos links que lo confirman NO hace falta una SAN para tener live-migration:

Microsoft Hyper-V 2012
http://blogs.technet.com/b/canitpro/archive/2013/03/21/step-by-step-completing-storage-live-migration-in-hyper-v.aspx

http://blogs.technet.com/b/canitpro/archive/2013/01/03/shared-nothing-live-migration-goodbye-shared-storage.aspx


Vmware vSphere
http://blogs.vmware.com/performance/2012/08/vmware-vsphere-5-1-vmotion-architecture-performance-and-best-practices.html


XenServer
http://blogs.citrix.com/2012/09/11/demo-live-migration-without-shared-storage-using-xenserver-and-openstack/


KVM
http://blog.allanglesit.com/2011/08/linux-kvm-management-live-migration-without-shared-storage/

miércoles, 5 de septiembre de 2012

Windows 2012, un primer vistazo


Hoy se está liberando la versión 2012 de Windows Server y muchos administradores ya están pensando ponerle las garras encima. Encontré un par de artículos y comparto la información que leí en ellos.

Powershell y administración
Una de las mejores características es la adopción de powershell como herramienta pervasiva de administración: todos y cada uno de los aspectos de Windows Server pueden ser configurados vía CLI (Command Line Interface).

Dadas las actuales necesidades de automatización, es fácil ver como esos commandlets powershell van a terminar en scripts "glue" para diversas tareas, que hoy son a duras penas realizadas vía scripts batch (los viejos archivos .bat).

Claro, es justamente la idea ya que cualquier configuración realizada ya sea desde la interfaz gráfica Server Manager o desde powershell, puede ser exportada a una plantilla en XML, y de ese modo reutilizada como base para instalaciones automatizadas de otros servers via powershell.

Hyper-V 2012
Hyper-V se vuelve una plataforma muy fuerte en esta versión, y ya desde hace meses se sabe que la competencia (vSphere), va a estar en aprietos para muchos escenarios de infraestructuras virtuales. Por ejemplo, la versión Free de Hyper-V se puede bajar e instalar el hipervisor en varios servers, no incluye las herramientas de administración; pero comprando una sola licencia de Server 2012, se los puede configurar a todos y crear un cluster de servers con failover automático.

La característica de replicación puede ser usada para DR - Disaster Recovery. A diferencia de las soluciones DR basadas en SAN, Hyper-V no necesita que el hardware en los demás nodos sea idéntico, o que tenga la misma capacidad de almacenamiento; solamente con tener discos virtuales donde "entre" o "quepa" la máquina virtual, está presente la posibilidad de replicarlas allí y ponerlas online - remota/automáticamente vía failover capability - en el evento de una falla.

Capacidades SAN
Windows Server 2012 eleva las capacidades de agrupamiento de discos permitiendo formar, administrar grupos de discos como un único "pool", proveer (publicar) volúmenes lógicos (vía iSCSI) con bastantes capacidades de resiliencia a fallos (vía Resilient File System - ReFS, por ejemplo), hacer thin provisioning de la capacidad de storage disponible (publicar varios discos cuyos espacios totales sumados resultan en una capacidad mayor que el espacio de disco total y real disponible).

Las capacidades de provisión de storage vuelven el sistema operativo un candidato ideal para la construcción de SANs de mediana capacidad para entornos pequeños (que justamente no podrían permitirse pagar hardware SAN dedicado), e incluyen una fuerte capacidad de customización y adaptación (muy necesaria cuando el storage, los discos, pueden ser simplemente discos locales, RAIDs locales por hard o soft, etc.).

Deduplicación
Las capacidades de deduplicación de datos de Windows Server 2012 quedan por verificar en implementaciones reales, sin embargo, incluyen el "pack" completo de características encontradas en otros sistemas operativos que implementaron deduplicación (Solaris, NetApp, etc.), y probablemente algunas mejoras evolutivas lógicas (obtenidas de las experiencias ajenas al respecto).

La deduplicación de datos es una característica presente en muchos hardware SAN y se realiza vía hardware en gral. y muy eficientemente. Así que obviamente se suma esta capability a las de manejo de storage, repotenciando el posible uso de win2012 para SANs "homemade" chicas a medianas.

Licenciamiento
El nuevo licenciamiento para win2012 se basa en licenciar por pares de procesadores. La funcionalidad de las versiones Estándar y Datacenter son las mismas ahora, la única diferencia es el número de máquinas virtuales soportadas por licencia. La versión Estándar se vende a U$S 882 hasta para dos procesadores y solo soporta dos máquinas virtuales por licencia; la versión Datacenter a U$S 4809 por licencia soporta una cantidad ilimitada de máquinas virtuales.

La licencia del server se puede utilizar en una máquina virtual corriendo en el server, por lo que con una licencia Estándar se puede correr hasta 3 máquinas virtuales por server de dos procesadores. Si querés correr ocho máquinas virtuales Windows, vas a necesitar 4 licencias estándar.

Si vas a correr máquinas virtuales con sistemas operativos no Windows, podés usar la versión Free de Hyper-V 2012, y correrlas en otro server, teniendo las mismas características del Hyper-V "pagado", soportando un número ilimitado de máquinas virtuales. De esto último no se hace mucha publicidad, pero es un hecho práctico: podés usar Hyper-V 2012 sin pagar ninguna licencia y usarlo para correr la cantidad de server virtuales Linux que quieras por ejemplo.

Links:
http://arstechnica.com/information-technology/2012/09/windows_server_2012_first_look/2/

http://blogs.technet.com/b/filecab/archive/2012/05/21/introduction-to-data-deduplication-in-windows-server-2012.aspx

jueves, 5 de julio de 2012

Arquitectura opensource: linux + DBs opensource + apps de negocios


Tus apps empresariales deberían correr sobre Linux

La cuestión es simple: las infraestructuras crecen, más pronto de lo que piensas te verás en la necesidad de implementar 30 o 40 servidores de tu aplicación empresarial, aunque hoy estés corriendo solo 2 servers.

Pronto la verás correr en entornos virtualizados, clusterizada localmente en el hipervisor, luego replicada a otro/s hipervisores (típicamente son dos réplicas adicionales: una en un hipervisor local, diferente máquina/server físico, pero mismo datacenter, y otra replica, corriendo en un hipervisor - o no -en un datacenter remoto para disaster recovery), sea que repliques usando el soft de clustering (vía OS clustering o app clustering), o herramientas de replicación de la infraestructura de virtualización.

Es decir, aunque hoy compremos 5 licencias de la aplicación, dentro de poco tal vez estemos comprando 30, si a ese costo le tienes que sumar el costo de las licencias para el sistema operativo base, ello suele llevar a una situación típica: no se implementa esquemas de replicación y otras infraestructuras de soporte de continuidad de negocios solo porque el costo de la licencia en sistemas operativos lo vuelve imposible.

La solución en principio es simple: que tu app de negocios pueda correr en Linux.


Tus apps deberían poder usar bases de datos opensource como backend

La cuestión es simple: muchas aplicaciones de negocios se respaldan en las fuertes capacidades "extra" brindan las bases de datos propietarias: diferentes y amplias posibilidades de replicación, mejoras importantes en la performance usando capacidades disponibles solo en esas DB propietarias, etc. Dichos "extras" son reales y muchos solo están disponibles al momento pagando licencias de DBs propietarias.

El problema que vimos con el costo de licencias de sistemas operativos aparece de vuelta aquí, en este caso el costo de tener hoy - licencias para - 2 servers de base de datos, es X, si mañana requirieramos correr, digamos, 20 servers de DB, el costo sería Y (mucho más alto).

Si queremos disponer de la posibilidad de usar la facilidad instalar cuantos servers Linux (con nuestra app de negocios corriendo en él), querramos, necesitamos que la DB que usa la app de backend sea también opensource.

La opción por default para aplicaciones de negocios es Postgresql, pero no hay que olvidar a MySql (y las varias alternativas libres de MySql). Ambas opciones ofrecen hoy capacidades de mejora de performance y replicamiento de nivel industrial, (con pocas excepciones), normalmente dentro del rango de los requerimientos típicos para DBs de backend para apps de negocios y/o de misión crítica.

Hoy en día muchas apps de negocios preveen esta capacidad y no solamente son compatibles con DBs propietarias, sino que también se las puede implementar sobre Postgresql (muy habitual), o MySql (no tan habitual).


De primera mano conozco muchos casos de éxito de este esquema de arquitectura básica para desplegar aplicaciones de negocios y de misión critica en organizaciones, con el consiguiente logro de otros beneficios derivados de correr software opensource.

lunes, 3 de octubre de 2011

Nubes Privadas para dummies


Este artículo comenzó igual que la mayoría de los problemas interesantes, con una simple pregunta

¿Por qué iniciarse en infraestructuras de cloud privada?.

Desde el punto de vista del especialista en infraestructura, solo puede llamar a una respuesta "Qué? Todavía no comenzaste a implementar una private cloud?"

Sí, es así de necesario.


En el fondo es bueno

La cuestión de fondo es que las private clouds son una solución a diversos problemas de infraestructura que han estado dando vueltas en los datacenters desde poco tiempo después de que se hizo el avance - o retroceso, es cuestión de opiniones - tecnológico de grandes mainframes propietarios a "pequeños" servers (primero el hard propietario de Digital, Sun, etc. y luego a Intel, AMD, ahora inclusive yendo a ARM).

Si todavía tienes pocos servers en tu datacenter, este es el momento de empezar a ganar insight en infraestructura de private clouds. De ese modo tendrás listo el skillset y el expertise para el momento en que llegues a los problemas que se desprenden de usar servers individuales, luego sumarles storage externo (SANs y similares), luego empezar a virtualizar servers físicos en hipervisores y luego empezar a utilizar manejadores de hipevisores.

Una cloud privada es justo el tipo de software que puedes utilizar junto con los manejadores de hipervisores o para reemplazarlos por completo (depende de la solución y del producto) y resolver los problemas que todavía no mencioné (de hecho).


¿Qué ganamos con más trabajo?
Parecería obvia la respuesta, pero vamos a los sucios detalles.

La ganancia de utilizar private clouds son muchas, en principio puedo referenciar las listas de problemas de las páginas de datasheets de los varios vendors de soluciones de virtualización, que es donde vas a encontrar el 100% de los problemas que resuelve una infraestructura virtualizada.

Luego de eso, para qué querrías complicarte la vida con el montaje de una private cloud? La respuesta es simple: no es complicarte, si ya llegaste al último paso y estás usando manejadores de hipervisores en tu día de oficina típico como sysadmin, ya estás a las puertas de:

- Necesitar manos extra ($$$ en más sysadmins), y/o
- Necesitar más tiempo de trabajo propio ($$$ y !#$% a granel, compitiendo simultáneamente por tu valiosa atención)

- En lo técnico, tus máquinas virtuales van a empezar a necesitar un trabajo semi-artesanal de babysitting muy similar a las viejas épocas donde se parcheaba y compilaba manualmente código fuente de Apache para varias decenas de servers. No, no hablemos de kernels, algunos sysadmins ganan un rápido estado de agitación de solo recordar los días de administración manual de kernels Linux :-D


Lo que no anda nos encontró (y no queríamos)
En definitiva, las nuevas capacidades de la infraestructura virtual (y todo lo que hay "abajo"), han creado un monstruo: la facilidad para crear nuevos servidores tan rápido como pueda clickear "aceptar" el sysadmin.

Eso no es bueno, definitivamente, es bueno para el negocio, es bueno para la infraestructura, es bueno para los developers, etc. pero no es bueno para el sysadmin.

Hay decenas de componentes anidados en una infraestructura virtual, que incluso si fue muy bien diseñada (las chances van al contrario), pueden fallar. Ahora ¿por qué digo que "tu" infraestructura virtual está mal diseñada? No lo dije (lee de vuelta), sino que la mayoría de las "infras" van a terminar virtualizadas "por las malas", esto es también conocido como "implementación paulatina", con muchos SPOF (Single Point of Failure), acechando detrás de cada esquina del datacenter.

No se añade a esa sopa de SPOFs un capa más de administración de máquinas virtuales promiscuamente generadas a golpe de llamadas telefónicas de management, un rápido capacity planning (y un feliz "sí jefe, se puede"), y un par de clicks casi no muy meditados.

Esa infraestructura virtual va a requerir - más - tiempo de administración, que no va a estar disponible si estás ocupado creando y borrando máquinas virtuales.

La solución es una private cloud.


Metiendo las manos en el barro
La idea central de la private cloud es ocuparse de crear una interfaz entre los usuarios de la infraestructura virtual, "clientes" a partir de ahora y los recursos de la infraestructura (virtual), "servicios" desde ahora.

Cualquier private cloud software que se precie de llamarse así brinda una interfaz lo suficientemente gráfica para que un "cliente" pueda conectarse a ella, elegir de un menu (ahí hay trabajo de configuración para el sysadmin!), y luego crearse para sí mismo una reluciente y nueva máquina virtual, con toda clase de características técnicas muy interesantes, pero con características no técnicas aún más interesantes:

El servicio del software de private cloud incorpora al autoservicio de creación de máquinas virtuales no solo la extracción quirúrgica de la necesidad de comunicaciones telefónicas y de correos y la correspondiente lluvia de chequeos y autorizaciones, sino también incorpora a la administración automática (configurables por el sysadmin), diversas políticas muy útiles, por ejemplo:

- Cuanto tiempo de vigencia tiene la máquina virtual antes de ser automáticamente borrada
- Será borrada de inmediato? o solo apagada y dejada en reserva, por cuanto tiempo?
- El personal de helpdesk puede crear nuevos servers o clientes virtuales de prueba para software de oficina, con tremendas restricciones a nivel de comunicaciones de red con el resto de la infraestructura interna.
- El personal de sysadmin (esos somos nosotros), podrá crear la cantidad de máquinas virtuales que necesite (quiera), sin importar que se seleccione la cantidad total de RAM disponible en el hipervisor (es broma :-).
- El personal de desarrollo tendrá determinados privilegios extendidos, para crear y guardar determinada cantidad de servidores virtuales (de modo de poder ir probando diversos baseline de configuración para una aplicación).

- etc. etc.

La idea de mostrar un par de políticas no es abarcar todas las capacidades del software de private clouds, sino que se vea qué tipo de trabajo administrativo se está automatizando - esta palabra es adorada por RR.HH. y jefes hoy en día - y mejorando sustancialmente ("si es automático, no puede haber error humano", ya sé, ya sé...está muy sobrevalorada la idea).


Veamos un par de detalles técnicos; hoy disponemos de OpenNebula y OpenStack, software opensource (licencia Apache ambos), que a diferencia de la mayoría del software de clouding privativo permite administrar varios/muchos tipos de hipervisores, incorporando nuevos tipos con regular frecuencia. Traducción al español: desde tu soft de cloud privada puedes usar al mismo tiempo máquinas virtuales (hipervisores) KVM, Vmware, Hyper-V, Xen, Virtualbox y probablemente nuevos tipos (y versiones no retrocompatibles con viejos hipervisores del mismo tipo!!! alguien dijo escalabilidad horizontal?), de hipervisores que vayan apareciendo.

Las posibilidades en lo técnico se amplían al poder utilizar clouds híbridas: múltiples tipos de máquinas virtuales, locales y remotas, que incluye las de proveedores públicos de clouding como Amazon y probables futuros proveedores de clouding basados en estándares (impuestos por los productos opensource como OpenNebula y OpenStack).


Conclusiones
Esto es básicamente una explicación a vuelo de pájaro, así que no hay tanto material para sacar conclusiones.

Lo básico es que si no usas private clouds, lo harás porque:
- te pedirán que lo hagas,
- eventualmente lo vas a necesitar,
- de hecho puede que no lo llegues a necesitar (o que nadie se haya dado cuenta que hace falta :-), y en realidad verás que te soluciona suficientes problemas para que querer usarlas.
- y claro, es innegable, son tremendos powertoys para el sysadmin con un poco de sangre caliente en las venas.
- pensandolo mejor, sí las vas necesitar, es mejor que empieces ahora.

domingo, 28 de febrero de 2010

Experiencias con Hyper-V y Windows Server 2008 Core

Hace un par de semanas, estuve trasteando con un Hyper-V. Como pueden saber, comprando un Windows 2008 Server Enterprise, se posee licencia para correr legalmente hasta 4 (cuatro) instalaciones virtuales de Windows 2008 sobre un hypervisor Hyper-V.

No me interioricé fuertemente en Hyper-V más allá de este primer contacto porque arrancó como una experiencia piloto. Básicamente se instala Windows 2008 Server en modo "Core", es decir, sin interfaz gráfica, así que al loguearnos nos aparece una consola (cmd) y ahí tenemos que interactuar con la instalación recién realizada, acá viene la parte clásica de configuración del server y de networking (para poder empezar a hacer algunas cosas), luego hay que añadir el Rol de Hypervisor, para lo cual el instalador modo texto de Win08, se conecta a Internet a un sitio de Microsoft checkeando que el paquete de Rol Hyper-V de nuestro instalador (un dvd oficial), es el último disponible, y si no lo fuera, descarga automáticamente una nueva versión y la instala.

Parece que el modo de instalación y la consola pelada por default del server core 2008 es bastante áspera para la configuración inicial, por lo que me figuré que todo iba seguro por un tutorial rápido de Technet para ver qué comandos correr para configurar el servidor desde la consola cmd (por ejemplo, para darle una ip estática a la placa de red, netsh y argumentos; pero no se olviden de habilitar antes el firewall). La solución fue utilizar unos scripts .vbs con GUI modo texto (esas que se arman con un menú que sale de un while en loop infinito y hay que darle opciones numéricas para que ingrese en cada opción de la GUI), muy buenos, y que configuraron el server core en un par de minutos con 0 (cero) overhead de manejo profundo de comandos Win 08 Server.

Luego de correr los scripts, agregamos el Rol hypervisor al Core y Windows se descargó un paquete de un server oficial (la ip/host.dominio la manejó internamente, no hubo que cargar ninguna información), lo instaló y ya quedó el núcleo operativo principal del Windows Server 2008 Core + Hyper-V listo para ser accedido vía msc desde otra PC.

La GUI del hypervisor, de la que no recuerdo el nombre (ver en google "technet hyper-v gui tools"), es otra herramienta de descarga freeware desde algun reducto de microsoft.com y dominios amigos. Para funcionar requiere Vista o Seven en adelante (no XP), y por lo que pudimos ver en una demo rápida de una GUI ya instalada es bastante poderosa, es un rich-client con opciones un poco más granulares y detalladas que la GUI de administración de Vmware ESXi.

Hasta aquí todo perfecto, el problema fue que no teníamos en nuestro equipo cliente de administración ninguna dependencia de las que necesita la GUI de administración de Hyper-V, así que en un tun-tun, ida y vuelta, estuvimos bajando paquetes (.exe), de instalación de varias utilidades "base" (son dependencias, como en los rpm/deb de Linux), para esta GUI, yo tenía que irme y pude ver antes de salir del "laboratorio" que nuestro win admin iniciaba una descarga de 200.x MB con tiempo de download estimado en 40 min. y ahí me fui.

La conclusión parcial hasta ahora es: Hyper-V es poderoso, la GUI es excelente, los downsides de instalación son esquivables fácilmente (gracias a scripts como en Linux/*nix), pero parece que a Microsoft le falta mirar un poco a Vmware en cuanto a la instalación de la GUI administrativa.

En hypervisores ESX (y ESXi), que uso y tengo implementados en producción hace un par de años, luego de una instalación de 5-10 minutos, totalmente automática, el server hypervisor queda listo para funcionar. Para administrarlo, tenemos que ir a una página web (el instalador configura automáticamente un webserver), y descargar un cierto "setup.exe", compatible con plataformas win desde XP "1", pasando por service packs, hasta el último Seven; luego de un clickeo repetitivo estilo siguiente-siguiente, ejecutamos el ícono en el escritorio y llegamos al login del hypervisor. Eso es todo, nada adicional. Tiempo estimado de realización del procedimiento: 5 minutos (tardando más en descargar el .exe, que en instalarlo y llegar al login del ESX).

Por ahora me queda la sensación de que Hyper-V va a andar muy bien, aunque tiene un par de bordes sin pulir por ahí, aunque Technet puede ayudar muchísimo a suavizar el impacto de estos detalles sin afinar. Continuó luego con más info sobre estos temas.