vSphere Availability Basics – vMotion

This is the first of a series of technical posts speaking about vSphere Availability.
The intended audience for this is people that might have some experience with VMware, admins that have inherited a solution or such.
Please note, if you are an experienced vSphere Admin you might find this reading kind of boring or easy.

Throughout my years in virtualization support I’ve noticed that some admins that have inherited vSphere Clusters or some App teams whose VMs failed over needed a detailed explanation of how availability features of vSphere work.

vMotion

Let’s admit it, downtime in IT is a bad word. Years ago if you had to do a planned maintenance task such as upgrading firmware or upgrading a host you would have to schedule a change window, most companies avoid this kind of changes since applications can’t (or don’t want to) take downtime.
The main purpose of vMotion is to allow you to migrate your VMs from on ESXi host to another without any interruption to the guest operating system or application. This is what we call a live migration. This process allows IT administrators to perform maintenance on Physical hardware without having to take downtime.

How VMotion Works! (VMotion Explained) - The Geek Pub
Thanks Geek Pub for the image!

How does it work?
Note: this is a high level summary of what happens when you trigger a vMotion. If you want a detailed version please visit this link

When a vMotion request is issued the vCenter Server will perform a compatibility check in which it will validate the following:
– Network communication over vMotion network between source and destination host.
– Access to a shared datastore between source and destination esxi host.
– Is the portgroup created on the destination host?
– Does destination host have the same CPU family and level as source host?

Once all compatibility checks are passed vCenter issues a migration specification to both Source and Destination ESXi that includes:

-The VM that is being migrated
– Virtual Machine configuration (vHardware, settings, etc)
– Source ESXi host
– Destination ESXi host
– vMotion network details.By now the vMotion process should be are arround 22% on the recent tasks process, the VM in the source host will continue funcioning normally.
At this point a copy of all memory pages and vCPU data will begin in the background generating a “shadow VM” on the destinaton host.
Once Memory pages and vCPU pages are finally copied source virtual machine will be Shut Down and the destination VM will be Powered On but boot process will be directed to the copied memory pages.

(Please note data on vDisks will not be migrated on a normal vMotion since the data disks remain on the datastore and it remains unaltered. Vitual disks can be migrated on a storage vMotion. I will cover it on a future post).

Considerations

– Since the moment vMotion is triggered you cannot edit the virtual machine settings. This is a protection mechanism to avoid VMs becoming corrupt.
– At the moment of VM Switchover you might lose up to 3 pings, but not more than that.
– VMs with passtrough devices (Like RAW Device Mappings, Direct Path IO, and such) lose vMotion capabilites. This is because it is not possible to share those devices accross ESXi hosts.
– VMs with operations in progress like snapshots, backups, hang settings can’t be migrated.
– VMs with ISOs mounted will fail to vMotion (check KB https://kb.vmware.com/s/article/2148813)
– VMs with VMware Tools upgrade process in progress will fail to vMotion.
– vMotion will not cover you in a disaster scenario. For that purpose we have vSPhere HA and Fault tolerance (I will speak about them in future posts)

Requirements

– Shared storage access both on source and destination hosts (SAN, NAS, FC, FCoE)
– A VMkernel port for vMotion on each host (if you are using vSphere Standard Switches please make sure to keep the same name across all hosts)

Recommendations

Use the same subnet for vMotion across all hosts
– vMotion requires at least 250 MBps dedicated troghput for vMotion, more troughput ensures quicker migrations.

For further information please check: https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-3B41119A-1276-404B-8BFB-A32409052449.html

¿Does vMotion cause issues?

vMotion is an excelent tool that has revolutionized the IT market. It helps vSphere and Cloud admins avoid planned maintenance on a daily basis. In a Large size company vMotions happen thousands of times a day without causing any issues.

While there most of the applications in the market (I would say 95%) won’t notice vMotion. Some extemely latency sensitive apps will experience issues when the mgiration happens. For those cases please check this.

About Availability:

The main objective of all the products we will discuss in this series of posts is to provide Business Continuity, either it is to avoid downtime during planned maintenance, minimize (or avoid) downtime during hardware failures or keep business critical applications safe in case any disaster occurs.
None of this products will do the trick if your vSphere design does not take redundancy into consideration (NICs, PSUs, Shared Storage, using multipathing and such)
In addition to that you must be prepared for the lightning to strike and have a Disaster Recovery Plan and test it frequently.

Cómo sacar el VM Instance UUID – PowerCLI

Buenas, otra vez por acá.
Estoy trabajando en un proyecto que requiere migrar máquinas virtuales entre distintos vCenters.
La inteligencia del producto solo tiene un par de inputs: VM Name, UUID, y Sistema operativo.
Todo se puede sacar de un RVTools, ¿no? Error.

Después de leer un poco entendí que RVTools solo trae el BIOS UUID de la VM (que no es único) mientras que este script nos pide el Instance UUID.
Como no tenía forma facil de sacarlo más que con PowerCli el amigo Eric Cano me ayudó a armar el siguiente script de PowerCLI

Get-VM | Get-View -Property @("Name", "Config.InstanceUuid") | Select -Property Name,@{N="UUID";E={$_.Config.InstanceUuid}} | Export-CSV -Path ./VM-UUID.CSV

Espero les haya servido

Guia de Backup NSX-V 6.4

Antes de arrancar, vamos a repasar rapido los 3 planos de acción de NSX.
El Management Plane son los componentes que nos permiten administrar la plataforma.
Es imporante entender que el NSX Manager tiene embebidos los templates de los controllers y los edges y está en constante sincronía con el control cluster) sumado a eso, las reglas de firewall distribuído se administran desde acá.

En el Control Plane es donde se administran las funciones del Distributed Logical Switch y el Distributed Logical Router. Por lo que mantiene la información de Switching y Routeo de los hosts consistente y actualizada.

En el Data Plane es donde se da la comunicación (Switching, Routeo y Firewalling). Esta compuesto del vSphere Distributed switch sumado a los componentes de kernel de NSX (VXLAN, Logical Switch, Logical Router, Distributed Firewall).

nsx-planes - jeffreykusters.nl

¿Por qué hacer un backup?

NSX no es más que las reglas de routeo, de firewall y la comunicación entre las maquinas virtuales de nuestro SDDC ¿Por qué haríamos un back-up, no?
No tener backup de NSX puede causar los siguientes problemas:
– Podrías perder acceso de administrador a las redes virtuales.
– Podrías perder las reglas de firewall.
– O lo que es peor podrías tener un incidente.
En el día a día de las operaciones de IT nos encontramos con dos tipos de backups. Backups para prevención de desastres (DR) o para salvaguardar cambios (Change Management).

¿Qué backupear?

Los componentes a realizar backup son los siguientes:

NSX Manager

vSphere Distributed Switches

Si bien hacer un backup de vCenter es igual de importante o más (ya que sin un vCenter perdemos toda administración de NSX-V). Lo voy a cubrir en otro post.

¿Qué pasa con los otros componentes?
Los NSX Edges son VMs stateless (se pueden redeployar a voluntad) y su configuración se guarda en el NSX Manager.
Los NSX Controllers guardan la información de VXLAN, lo que los hace importantes. Pero al estar desplegados en clusters de 3 puede haber uno desconectado (o todos si esta CDO habilitado) por lo que los convierte en componentes prescindibles. Sumado a eso su configuración esta guardada en el NSX Manager y se pueden desplegar y sincronizar en minutos.
Por último, VMware solo soporta el backup de controllers y edges a traves del NSX Manager. (https://kb.vmware.com/s/article/2144087)

NSX Manager – File based backup

El file based backup se configura desde el portal de administración del NSX Manager.
En este link te dejo un documento que explica como configurarlo.
Algo a tener en cuenta: el file based backup no tiene rotación de archivos. Por lo que tendrías que crear una tarea programada o algo similar para limpiar los archivos luego de 2 semanas.

Es importante que usemos SFTP como protocolo de transferencia.
Yo personalmente recomiendo hacer backups del SFTP share con una herramienta de terceros.

¿Cada cuánto hacer los backups?
Como siempre, depende del tamaño y la criticidad de tu deployment.
En este caso particular vamos a hacer los backups automaticos todos los días a las 23:00 hs

En caso de un cambio, simplemente tenemos que ejecutar un backup on demand. Haciendo click en el boton Backup.

¿Cómo restaurar el backup?

Para restaurar un backup vamos a tener que hacer un deploy de un NSX Manager nuevo (en la misma versión) y configurar el SFTP server al que estamos haciendo backup en la parte de Backup & Restore una vez hecho esto nos aparecera la opción restore.

VMware NSX - Backup & Restore VMware NSX Manager Data

Para mas detalles dejo este link

vSphere Distributed Switches

Como ya hablamos antes, NSX corre sobre vDS:
Hacer un backup de un vSphere Distributed Switch es bastante facil. No obstante es importante porque si llegamos a borrar un portgroup y tenemos que recrearlo, tendríamos que recrear también todas las politicas especificas de ese portgroup.
Para hacer un backup on demand de un vDS

Hacemos click derecho en el vDS –> Settings –> Export Configuration.


Lo que va a abrir este wizard.


Seleccionamos la opción Distributed Switch and all portgroups.
Esto nos va a devolver un archivo backup.zip

Ahora, hacer este proceso todos los días es algo tedioso.
Por suerte tenemos este script de PowerCLI que nos permite exportar la configuración de los vSphere distributed switches de forma automatizada.

Vamos a necesitar un host que corra PowerCLI y en el que podamos correr tareas programadas.

Respecto al schedule del script.
Nuevamente es un gran “depende”.
Si en tu infraestructura no propagan nuevos portgroups o logical switches seguido, podes hacerlo cada una vez por mes o on demand. En este caso como se hacen cambios bastante seguido lo estoy corriendo una vez por semana.


Restaurar un vSphere Distributed Switch

Para restaurar un vDS nos paramos en el vSphere Distributed Switch –> Settings –> Restore configuration.

Esto nos va a abrir un wizard que nos va a pedir el archivo de backup.

Seleccionamos el archivo backup.zip y la opcion restore distributed switch and all portgroups. y hacemos click en next.

Nos va a dar un resumen de las configuraciónes que va a aplicar. Hacemos click en finish va a ejecutar el restore.

¿Por qué no usar herramientas de terceros?

De hecho me parece perfecto agregar un punto extra de backup. Aunque no es del todo necesario.
Tengamos en cuenta lo siguiente:

1. No hagas backup de los Controllers, Edges y DLRs como maquinas virtuales. Simplemente usar el NSX manager.
2. Si vas a hacer backups del NSX Manager y usas una herramienta con VADP no uses quiescing.
3. Hacé backups del ftp share.


Espero que les haya servido.

Cualquier duda o consulta me pueden contactar.

Informática para humanos 2 – Las partes de una computadora.

En la parte 1 de informática para humanos hablé sobre qué computadora comprar. Como dije antes, este formato esta pensado para que todos lo puedan entender y sea en un lenguaje poco técnico. No vamos a discutir cómo funciona cada pieza a bajo nivel, si hace tal o cuál cosa. Lo que a mí me interesa es que entiendas, a grandes rasgos, que rol cumple cada componente adentro de la computadora y que puedas tener en cuenta que elegir a la hora de hacer una compra.

Antes que nada dejo algunos conceptos sobre como funciona una computadora:

  • La idea de una computadora es procesar información.
    Tiene dispositivos de entrada (teclado, mouse, scanner, etc) por donde ingresa la información y salida (monitor, impresora, etc) por dónde nos devuelve la información. En el medio se realiza el procesamiento y tratamiento de los datos.
  • Dentro de la PC TODO es electricidad. De hecho son pequeños impulsos eléctricos.
    Esos impulsos eléctricos se traducen en unos y ceros. (el código binario).
    Cada I o 0 se conoce como bit.
    8 bits forman un byte. Acá pueden ver la tabla de conversión completa.
  • Cuando se procesa la información se hacen cálculos matemáticos que permiten procesar esos unos y ceros en una página web (por ejemplo).
  • La computadora puede funcionar sin algunos componentes, pero sin otros no enciende.
  • El celular es una computadora. La gran parte de lo que leas acá te va a servir para elegir el celular.

Procesador o CPU

El procesador o CPU (en inglés Central Processing Unit) es el “cerebro” de la computadora. Este componente se encarga de hacer millones de cálculos numéricos por segundo. (Un promedio de dos mil millones por segundo)

La velocidad del procesador se llama clock y se mide en Gigahertz.
Entonces, cuanto más GHz tiene un procesador más rápido es.

Por otro lado, los procesadores tienen cores (o núcleos) que les permiten hacer más cuentas en simultáneo. (Es decir, en vez de tener un solo “cerebro” haciendo cuentas tienen cuatro u ocho, eso hace que terminen de procesar más rapido)
Entonces cuando leas que un procesador es QuadCore quiere decir que tiene 4 núcleos y un OctaCore tiene 8 núcleos.

Actualmente hay dos grandes fabricantes: Intel y AMD
Personalmente creo que Intel es mejor, pero solo es una opinión.

A la hora de comprar yo recomiendo siempre evitar los procesadores cazabobos:
AMD Athlon, Intel Pentium, Intel ATOM y similares.
Son procesadores que dan baja performance y a la larga vas a terminar sufriendo la compra.
Por último: en las notebooks el procesador esta soldado al motherboard, por lo que es casi imposible cambiarlo.

Motherboard

El motherboard o placa madre es otro componente clave en una PC.
Su función es conectar todos los dispositivos de una computadora y que estos funcionen en sincronía.
A simple vista tiene ranuras llamadas sockets. Que sirven para conectar memorias, el procesador, placas de video, etc.
El Motherboard determina el tipo de Memoria que vamos a usar (DDR3, DDR4, etc) y que frecuencia va a tener. (Hablo de esto un poco más abajo).

En el motherboard también están la placa de red, la placa de video (integrada), la BIOS.

A tener en cuenta:

– Los motherboards se fabrican para conectarse con una familia de procesadores. Es decir: si compras un procesador Intel, tenés que usar un mother para intel.
– En las notebooks, si se rompe el mother (muchas veces) es mas barato cambiar la notebook.

Memoria o RAM

La memoria RAM por Random Access Memories (si, como el disco de Daft Punk) es donde se almacenan el sistema operativo, los programas y archivos mientras los tenemos abiertos. En otras palabras, cuando abrís un programa va directo a la RAM.
Están conformadas por un conjunto de chips que la hacen ultra rápida y es de tipo volátil (cuando la apagas se borra, por eso perdiste el word que estabas trabajando el día que se cortó la luz).
Cada plaquita de memoria se llama módulo.
La velocidad de la memoria se mide en frecuencia y su valor se expresa en Megahertz (MHz).

Cuanto más memoria RAM tengamos, más programas en simultáneo vamos a poder abrir y más rápido va a funcionar la PC.

A la hora de comprar:
– Fijate que la memoria sea compatible con tu motherboard. Si compras una memoria que no es compatible no entra en la ranura.
– Tanto en notebooks como PC’s de escritorio se puede cambiar y ampliar los módulos de memoria.

Importante: No le digas memoria al disco.

Almacenamiento – Disco Rígido

El Disco Rígido es dónde se guardan el sistema operativo, programas y archivos.
Su función es darnos un almacenamiento persistente, es decir, que cuando se apague la PC toda la información siga estando tal y cuál la dejamos.

La capacidad de los discos se mide en Gigabytes (GB) o Terabytes (TB). (1024 GB = 1 TB). Cuantos más Gigabytes tiene un disco más información podes poner.

Hay de dos tipos: Mecánicos (HDD) y de Estado sólido (SSD).

Tanto en notebooks como en PC’s de escritorio se puede cambiar el disco que viene por defecto.
Algunas notebooks soportan más de un disco. Las Desktop todas soportan más de un disco.

Disco Rígido (Mecánico)


El disco mecánico funciona igual que un toca discos:
En los discos se almacena la información.
Hay un motor o spindle que hace girar los discos.
Hay una aguja que lee la información los discos
Después hay una parte electrónica que presenta esa información al sistema operativo (Ponele que son los parlantes, ponele.)


Los discos mecánicos son más baratos y tienen más capacidad de almacenamiento, pero son más lentos.
En promedio el GB cuesta unos US$: 0.02 y ya no se fabrican discos de menos de 1TB

Disco Rígido (Estado Sólido)

Al igual que los discos mecánicos, su función es guardar información de forma persistente. Pero la diferencia es que como no tienen piezas móviles son MUCHO más rápidos.
Están conformados por un montón de chips similares a los de las memorias RAM.

Son mucho más caros que los discos mecánicos, pero ganas mucha más velocidad. En este video se puede ver más claro lo que hablo.
En promedio el GB cuesta unos US$: 0.25 y se fabrican SSD de a partir de 128GB.

Yo recomiendo instalar el sistema operativo y los programas más pesados (Adobe, AutoCad, SketchUp, Juegos) en un disco de estado sólido (ver abajo) y usar los discos mecánicos para guardar archivos y programas que no requieran performance

Placa de video o GPU


Es el componente crucial de toda PC gamer o de un diseñador.
Sirve para hacer cálculos matemáticos y geométricos complejos, que nosotros percibimos como los gráficos de un videojuego, los efectos especiales de una película, el render de una maqueta, etc.
¿Qué función cumple? Imaginate que tú PC es un auto normal, y las cosas del día a día (office, internet, mails, etc) es como andar por la ciudad.
Ahora, si queremos usar programas pesados (juegos, programas de diseño, IA, etc) sería como ir al campo. Dependiendo el auto, tal vez podemos pasar por el barro sin problemas o tal vez nos quedamos trabados.
La placa de video cumple la función de la doble tracción en el auto.
Tiene dos componentes:
– Un procesador de video o GPU que al igual que el procesador de la compu, hace muchísimas cuentas por segundo.
Memoria RAM: Al igual que la computadora, sirve para ayudar al procesador a acceder los archivos. En este caso pixeles, colores y coordenadas.

Todos los motherboards tienen una placa integrada que permite hacer las operaciones normales de una computadora y hasta un poquito más.
Tengo un amigo que hace renders con la placa integrada de la compu, tarda un poco más, pero lo hace a fin de cuentas.

En las computadoras de escritorio se puede cambiar sin problemas, en las notebooks, no.
Si tu notebook trae placa de video y se rompe, va a ser más barato cambiar la notebook.

Es estrictamente necesario tener una placa de video? No
Depende mucho de para qué vayas a usar la compu.

Esto fue todo sobre las partes de la computadora.
Espero te haya servido, si sentís que falto algo, por favor no dudes en escribirme.
Muchas gracias por leerme.

N.

Registering a Domain Name and Using CloudFlare for DNS resolution. – Tutorial

Registering the domain

First things first, I decided that this time I wouldn’t use the .wordpress.com domain names, I wanted my own domain.
Since I’m based on Argentina I used nic.ar to register de domain.
It costed AR$ 270 (About US$ 3).

If you need to check how to register a domain in Argentina follow this link.
You can also use other DNS registrars as GoDaddy or Amazon Route 53.

Public DNS Configuration – Cloudflare

In my case registering the domain in NIC.AR does not grant DNS resolution.
GoDaddy or Amazon Route 53 DO grant domain resolution, but are more expensive.

Note: To complete this steps you will need a Static Public IP address, you can see how I configured one on an AWS instance here.


For DNS resolution I decided to use Cloudflare. Since it is free for blogs and it’s configuration process is really straightforward.

  1. First, you will need to create an account, it’s completely free for blogs.
  2. Under your Cloudflare Dashboard you will have the option to add a new site.
    Note: the domains i’ve used are purely fictional since I do not own another domain.


    Click + Add a Site
  3. Once Cloudflare detects the site you can click add site.
  4. We must select the plan we are going to use, the free is the best option for blogs.

    We select the free plan and click confirm plan.
  5. Once we have completed that, CloudFlare will scan the DNS configuration of our servers and let us know the recommended actions.

    Click Continue.
  6. After that, comes the tricky part because it changes in every environment.

    You will need to log in to your DNS Registrar and delegate CloudFlare DNS servers as the name servers for your domain.
    Here is how to do it on nic.ar
    Once the DNS delegation is completed click Done, check nameservers.
  7. Since you have done everything properly you will be directed to cloudflare dashboard.
    And you will be able to create the DNS records for your domain:
    it should be something like this:
    Note: For security reasons I have censored IP addresses and some confidential parts of the screenshot.

    You should create:
    – An A record called www pointing to your public IP address.
    – A CNAME record called as your domain pointing to your server’s FQDN. Check above for reference.
    – A MX record called as your domain poiting to your domain.
  8. Once all the records are completed submit the changes and wait about 15/30 mintues for DNS to be updated.
    After that name resolution should be workig for the site.