2/26/2013

Programación del Bootloader a Arduino



Programación de Bootloader para Arduino Uno, Mega, Nano, Micro y cualquier modelo. En nuestro caso hemos usado para realizar el tutorial Arduino Nano.



¿Por qué programar el bootloader de Arduino?

El motivo de la programación del Bootloader es que realizaremos un pedido de Arduino Nano nos llegó sin el bootloader programado. Tras buscar por multitud de sitios web hemos comprobado que existe información al respecto pero muy poca en castellano y prácticamente ninguna en modo tutorial y ninguna para nuestro programador.
Así pues a continuación explicamos paso a paso y con capturas de pantalla cómo programar el bootloader de Arduino.
 

Requisitos para programar el bootloader de Arduino

Arduino

Necesitaremos obviamente disponer de un Arduino, en nuestro caso usaremos Arduino Nano:
Requisitos para programar el bootloader de Arduino

 

Programador ISP con cable de 10 pines

El programador ISP para el Atmel Atmega328 que lleva nuestro Arduino Nano es un “USBASP ISP Programmer”:
Requisitos para programar el bootloader de Arduino
Que incorpora un cable de 10 pines y que pedimos por eBay por menos de 5€:
Requisitos para programar el bootloader de Arduino
El programador se conecta al Arduino a través de el conector ICSP, que en nuestro caso no lleva los pines del ICSP soldados como mostramos en las imágenes anteriores. A continuación mostramos los esquemas de conexiones del conector ICSP tanto del Arduino:
Requisitos para programar el bootloader de Arduino
Como la del conector de 10 pines de nuestro programador:
Requisitos para programar el bootloader de Arduino
Puesto que el conector del programador no coincide con el conector ICSP del Arduino deberemos hacer las siguientes conexiones:
Requisitos para programar el bootloader de Arduino
Para ello lo más cómodo es hacer uso de cables de placa de prototipos también conocidos con el termino en inglés cables Breadboard:
Requisitos para programar el bootloader de Arduino
A continuación mostramos algunas imágenes de como se queda la conexión, en ellas se pueden ver como el no tener los pines soldados en el conector ICSP nos ha simplificado la tarea, en caso contrario hubiésemos necesitado otro conector o siendo más drásticos habríamos tenido que cortar el cable del programador y unir de nuevo los cables de modo que ya coincidan con el conector de nuestro Arduino:
Requisitos para programar el bootloader de Arduino
Requisitos para programar el bootloader de Arduino
Requisitos para programar el bootloader de Arduino

 

IDE de desarrollo para Arduino

Además del Arduino y del programador con los conectores necesitaremos también disponer de un PC con el IDE de Arduino. En el siguiente tutorial explicamos cómo instalarlo paso a paso:
En este tutorial explicamos cómo programar el bootloader de Arduino desde un PC con sistema operativo Linux, aunque el proceso es muy similar para el caso de un equipo con Windows.

Programar el bootloader de Arduino

Una vez realizadas las conexiones como hemos indicado anteriormente conectaremos el programador ISP al PC y arrancaremos el IDE del Arduino, con el superusuario “root” en caso de utilizar el sistema operativo Linux, para la programación del bootloader (que es nuestro caso), para ello utilizaremos el comando Linux “gksu” que arranca aplicaciones como superusuario. A continuación mostramos como quedaría el acceso directo (o lanzador) del IDE del Arduino:
Programar el bootloader de Arduino
Si no abrimos el IDE de Arduino como superusuario root puede que muestre este error al intentar transferir el bootloader:
Programar el bootloader de Arduino
Con el texto:
Error al grabar la secuencia de inicio.
avrdude: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc.
Para Linux (que es nuestro caso) y Mac OS no es necesaria la instalación de drivers, para Windows es posible que requiera la instalación de drivers.
Puesto que el IDE de Arduino incorpora la herramienta para la programación del bootloader, simplemente le indicaremos qué placa es la que queremos programar, desde el menú "Herramientas"- "Tarjeta" - "Arduino Nano w/ATmega328" (en nuestro caso) :
Programar el bootloader de Arduino
Indicaremos también cual es el programador que estamos usando desde el menú "Herramientas" - "Programador" - "USBasp" (en nuestro caso):
Programar el bootloader de Arduino
Una vez seleccionada la tarjeta y el programador pulsaremos en el menú "Herramientas" - "Grabar Secuencia de Inicio":
Programar el bootloader de Arduino
Si los conectores y el programador son correctos el IDE de Arduino nos indicará que se está grabando la secuencia de inicio en la Tarjeta I/O:
Programar el bootloader de Arduino
Tras finalizar el proceso de transferencia del bootloader a Arduino, el IDE nos lo indicará:
Programar el bootloader de Arduino
Nota: puede que muestre algún warning, suelen ser normales, el IDE mostrará este texto tras finalizar el proceso de carga del bootloader:
Finalizada la grabación de la secuencia de inicio
avrdude: warning: cannot set sck period. please check for usbasp
firmware update.
Tras haber programado el Arduino Nano con su Bootloader, ya podemos desconectar el programador del PC y los cables del Arduino.
Por último, para comprobar que el bootloader se ha programado correctamente podemos simplemente conectar el Arduino a nuestro PC y descargarle cualquier programa, como por ejemplo el que hace parpadear el LED y ver que efectivamente parpadea correctamente. En el siguiente tutorial explicamos paso a paso cómo conectar un LED a Arduino y cómo hacerlo parpadear:

Artículos relacionados

 

Créditos

Artículo realizado íntegramente por Antonio RN de RS miembro del Proyecto AjpdSoft.

2/13/2013

Mover máquina virtual VMware ESX online con Veeam Backup



Cómo mover o replicar una máquina virtual VMware vSphere Hypervisor ESXi de un servidor ESXi a otro servidor ESXi en caliente (online, sin detener la máquina origen) utilizando el software Veeam Backup & Replication.


Requisitos para mover una máquina virtual en caliente online de un ESXi a otro con Veeam Backup

Para poder mover una máquina virtual de un servidor de virtualización VMware ESXi a otro, en nuestra organización, deberemos disponer de dos servidores de virtualización con VMware ESXi con sus correspondientes máquinas virtuales. Será una de estas máquinas virtuales la que movamos de un ESXi a otro. En el siguiente tutorial explicamos cómo instalar un servidor de virtualización gratuito con VMware ESXi 5 en su versión Free:
En este tutorial explicamos cómo mover una máquina virtual de un vSphere a otro usando el software Veeam Backup & Replication, en el siguiente tutorial explicamos cómo instalarlo:
Hay que tener en cuenta, que podremos trabajar en la máquina virtual origen durante el proceso, pero puede que haya cambios que no se guarden si coincide que la zona replicada se modifica tras el proceso. Por lo tanto este proceso no es recomendable hacerlo con máquinas virtuales críticas que contengan motores de bases de datos como Oracle, MySQL, SQL Server, etc. ni que contengan o den soporte a usuarios que abran y modifiquen ficheros. En las pruebas realizadas en nuestro laboratorio, en todo momento, la réplica de máquinas virtuales con Linux y MySQL Server se realizaron sin problemas, esto no quiere decir que siempre sea así. Por lo tanto, para máquinas críticas, es mucho más fiable detener la máquina para realizar el proceso.
Este método lo recomendamos para máquinas virtuales que contienen servicios que deban tener muy alta disponibilidad, o bien para máquinas virtuales que no tienen mucho volumen de cambios en ficheros. Y siempre es conveniente revisar todo en la máquina replicada antes de eliminar la origen.

 

Mover máquina virtual online de un ESXi a otro ESXi con Veeam Backup & Replication

Verificación inicial de máquina virtual origen en ESXi

En primer lugar vamos a verificar con un simple test que la máquina virtual a replicar o mover está iniciada en el ESXi origen y no se apagará durante el proceso. Para ello abriremos VMware vSphere Client y accederemos al servidor de virtualización con VMware ESXi que contiene la máquina virtual a mover. Desde VMware vSphere Client navegaremos hasta el resource pool que contenga la máquina virtual, seleccionaremos la máquina virtual (en el árbol de navegación de la izquierda), en la derecha, en la pestaña "Console", podremos visualizar la máquina (como si hubiéramos conectado un monitor al equipo virtual). Como ejemplo y prueba de que la máquina origen no se va a detener durante el proceso de replicación abriremos notepad (o cualquier editor de texto) y escribiremos cualquier texto sin guardarlo, dejaremos abierta esta ventana durante todo el proceso. Cuando concluya deberá seguir estando abierta y con el texto que no hemos guardado:
Verificación inicial de máquina virtual origen en ESXi

 

Agregar servidor ESXi a Veeam Backup & Replication

Antes de continuar deberemos agregar (si aún no lo hemos hecho) los servidores ESXi a Veeam Backup & Replication, para ello abriremos Veeam Backup & Replication, en la parte inferior pulsaremos en "Infraestructure" para verificar que tenemos añadidos todos los servidores de ESXi, al menos el origen (que contiene la máquina virtual a mover) y el destino que contendrá la máquina virtual replicada:
Agregar servidor ESXi a Veeam Backup & Replication
Si no tenemos añadido alguno de los servidores ESXi, podremos agregarlo pulsando en la parte superior la solapa "Server" y "Add Server":
Agregar servidor ESXi a Veeam Backup & Replication
Las posibilidades que nos muestra el asistente para agregar un servidor:
  • VMware vSphere: añadir un vCenter Server o un vSphere Hypervisor ESX ó ESXi.
  • Microsoft Hyper-V: agregar un servidor SCVMM, Hyper-V cluster o Hyper-V server.
  • Microsoft Windows: agregar un equipo con Windows XP/2003 o superior.
  • Linux: agregar un equipo Linux con SSH y Perl.
Pulsaremos en "VMware vSphere":
Agregar servidor ESXi a Veeam Backup & Replication
Introduciremos la IP del servidor VMware vSphere Hypervisor ESXi a agregar y pulsaremos "Next":
Agregar servidor ESXi a Veeam Backup & Replication
Introduciremos usuario y contraseña con permisos suficientes para toda la gestión de Veeam Backup & Replication, marcaremos "Save password" si queremos que no nos la vuelva a pedir e indicaremos el puerto de conexión si no es el de defecto 443:
Agregar servidor ESXi a Veeam Backup & Replication
Si todo es correcto pulsaremos "Finish" para agregar el servidor ESXi:
Agregar servidor ESXi a Veeam Backup & Replication

Crear trabajo de réplica de máquina virtual ESXi en Veeam Backup & Replication

Abriremos Veeam Backup & Replication, en la parte inferior pulsaremos en "Backup & Replication":
Crear trabajo de réplica de máquina virtual ESXi en Veeam Backup & Replication
En la parte superior, en la solapa "Home", pulsaremos en "Replication Job":
Crear trabajo de réplica de máquina virtual ESXi en Veeam Backup & Replication
Introduciremos un nombre descriptivo para el trabajo de replicación, si disponemos de la versión Enterprise de Veeam Backup & Replication podremos programarlo para que se ejecute de forma periódica y automática, por lo que es conveniente indicar un nombre para diferenciar este trabajo de otros. Pulsaremos "Next":
Crear trabajo de réplica de máquina virtual ESXi en Veeam Backup & Replication
A continuación pulsaremos en "Add" para seleccionar el servidor ESXi origen y la máquina virtual origen (la que replicaremos):
Crear trabajo de réplica de máquina virtual ESXi en Veeam Backup & Replication
Seleccionaremos el servidor ESXi origen y la máquina virtual origen y pulsaremos "Add":
Crear trabajo de réplica de máquina virtual ESXi en Veeam Backup & Replication
Desde esta ventana podremos agregar más máquinas virtuales, incluso excluir discos duros de máquinas virtuales que no se replicarán, pulsaremos "Next" cuando tengamos agregada la máquina virtual a mover/replicar:
Crear trabajo de réplica de máquina virtual ESXi en Veeam Backup & Replication
A continuación pulsaremos en "Choose" para especificar el servidor ESXi de destino de la réplica:
Crear trabajo de réplica de máquina virtual ESXi en Veeam Backup & Replication
Seleccionaremos el servidor ESXi y pulsaremos "OK":
Crear trabajo de réplica de máquina virtual ESXi en Veeam Backup & Replication
Desde esta ventana podremos indicar el datastore destino de la máquina replicada, incluso podremos cambiar el tipo de aprovisionamiento (thin ó thick) desde "Pick datastore". Pulsaremos "Next":
Crear trabajo de réplica de máquina virtual ESXi en Veeam Backup & Replication
Elegiremos las opciones adicionales para la réplica. Por ejemplo si va a ser un trabajo que programaremos períodicamente, indicaremos los puntos de restauración a guardar, indicaremos el sufijo para el nombre de la máquina virtual replicada, el repositorio para los metadatos de replicación (datos temporales que necesita crear Veeam en el equipo donde lo tengamos instalado) etc. Una vez elegidas las opciones adicionales pulsaremos "Next":
Crear trabajo de réplica de máquina virtual ESXi en Veeam Backup & Replication
Si disponemos de Microsoft VSS (Volume Snapshot Service ó Volume Shadow Copy Service) podremos marcar la opción "Enable application-aware image processing" para evitar la pérdida de datos durante el proceso de replicación. Si marcamos esta opción deberemos indicar un usuario y contraseña del dominio Windows pues Veeam instalará un agente en la máquina virtual elegida. Sólo es válido para máquinas virtuales con sistemas operativos Microsoft Windows y VSS. En nuestro caso no marcaremos esta opción:
Crear trabajo de réplica de máquina virtual ESXi en Veeam Backup & Replication
Si disponemos de la versión Enterprise de Veeam Backup & Replication podremos programar el trabajo de réplica para que se ejecute de forma periódica cuando lo deseemos. En nuestro caso no programaremos el trabajo, pulsaremos "Create":
Crear trabajo de réplica de máquina virtual ESXi en Veeam Backup & Replication
Revisaremos los datos elegidos para la réplica, si son correctos marcaremos "Run the job when i click Finish" y pulsaremos "Finish" para que se inicie el trabajo de réplica:
Crear trabajo de réplica de máquina virtual ESXi en Veeam Backup & Replication

Verificación de trabajo de réplica de máquina virtual VMware vSphere Hypervisor ESXi con Veeam Backup & Replication

Tras lanzar el trabajo de réplica de máquinas virtuales entre ESXi como hemos indicando aquí, podremos consultar las tareas que Veeam va realizando sobre el ESXi de destino, para ello abriremos VMware vSphere Client, en la parte inferior, en "Recent Tasks" podremos comprobar las tareas realizadas por Veeam (make directory, manipulate file paths, register virtual machine, reconfigure virtual machine, create virtual machine snapshot, find entity by UUID, open remote disk for read/write) y podremos comprobar también que Veeam ya ha creado la máquina virtual destino (réplica) pero sin finalizar aún pues estará copiando los ficheros de los discos duros virtuales:
Verificación de trabajo de réplica de máquina virtual VMware vSphere Hypervisor ESXi con Veeam Backup & Replication
Para verificar el progreso de la réplica podemos acceder a Veeam, pulsar en la parte inferior en "Backup & Replication" y seleccionar en "Last 24 hours" el filtro "Running", desde aquí podremos ver el trabajo de réplica y el progreso. Haciendo doble clic sobre él podremos ver el detalle del progreso:
Verificación de trabajo de réplica de máquina virtual VMware vSphere Hypervisor ESXi con Veeam Backup & Replication
Desde la ventana de detalle del trabajo podremos ver el progreso y las tareas realizadas, así como otros datos de rendimiento, velocidad, duración, estado, etc.:
Verificación de trabajo de réplica de máquina virtual VMware vSphere Hypervisor ESXi con Veeam Backup & Replication
Cuando el proceso concluya nos lo indicará con un "Completed successfully":
Verificación de trabajo de réplica de máquina virtual VMware vSphere Hypervisor ESXi con Veeam Backup & Replication
Ahora podremos verificar que la máquina virtual origen sigue iniciada y nuestro documento de notepad abierto sigue tal cual lo dejamos:

Iniciar máquina virtual replicada en VMware vSphere Client

Si deseamos mover la máquina virtual definitivamente deberemos apagar la origen e iniciar la de destino (siempre en este orden para evitar duplicidades de direcciones IP y nombres DNS). Pero antes de hacer esto es recomendable comprobar que la máquina virtual replicada se inicia y funciona correctamente. Para iniciar la máquina virtual replicada con la máquina virtual origen iniciada es recomendable hacerlo con la red desactivada, para evitar errores por duplicidades de IP y nombre DNS. Para ello abriremos VMware vSphere Client, nos conectaremos al servidor ESXi con la máquina virtual replicada, la seleccionaremos y pulsaremos con el botón derecho del ratón, seleccionaremos "Edit Settings":
Iniciar máquina virtual replicada en VMware vSphere Client
En la pestaña "Hardware" seleccionaremos "Network adapter ...", en la parte derecha desmarcaremos "Connect at power on". De esta forma la máquina virtual se iniciará como si no tuviese cable de red (sin red):
Iniciar máquina virtual replicada en VMware vSphere Client
Ahora iniciaremos la máquina virtual de réplica para verificar que funciona correctamente, para ello la seleccionaremos, pulsaremos con el botón derecho del ratón sobre ella y seleccionaremos "Power" - "Power On":
Iniciar máquina virtual replicada en VMware vSphere Client
Si la máquina virtual de réplica se inicia correctamente (y sus correspondientes servicios y aplicaciones) y si queremos dejar la máquina replicada como la válida, detendremos la máquina virtual origen, detendremos la destino, activaremos la red en la de destino (replicada) y la iniciaremos como hemos hecho anteriormente:
Iniciar máquina virtual replicada en VMware vSphere Client

 

Artículos relacionados

 

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del Proyecto AjpdSoft.