jueves, 15 de septiembre de 2011

Actualización de Cisco Nexus 1000v (VEM y VSM)


Como primera entrada en este Blog voy a publicar este manual "para todos los públicos" hecho a base de retales que he ido recogiendo por ahí.
 
 La actualización de la arquitectura de Cisco Nexus 1000v se debe realizar en sus dos componentes, los diferentes VEMs y los VSM (en ese orden).

Antes de cualquier upgrade se deben consultar las tablas de compatibilidad con las versiones de VMware en la página Web de Cisco. Estas tablas son diferentes para cada una de las versiones de Cisco Nexus 1000v, a modo de ejemplo se puede consultar la tabla para la Release 4.0(4)SV1(3):


Es muy recomendable hacer un backup de la configuración e incluso de la propia máquina virtual, teniendo en cuenta que los snapshoots de VMware  no están soportados para la máquina VSM.

Para comenzar la actualización es necesario bajarse el fichero comprimido con todos los archivos desde la página de descargas de software de Cisco (teniendo un usuario y contraseña válidos).

Virtual Ethernet Module (VEM)

El VSM no es más que una máquina virtual a la cual se le instala el firmware con la versión que se desee instalar, siguiendo un procedimiento que se mostrará más adelante, mientras que el VEM es dependiente de la versión de VMware ESX que posea la máquina donde se instalará dicho módulo.

Para verificar la matriz de compatibilidad se ha de consultar la página web de Cisco. A continuación se muestra un ejemplo para la matriz de compatibilidad de la Release 4.0(4)SV1(3):


Es necesario conocer la versión de ESX y vCenter, para lo cual se pueden seguir los procedimientos mostrados anteriormente.

Hay que tener en cuenta que el upgrade del módulo VEM depende mucho de las actualizaciones de ESX que lo acompañan, por lo que es imprescindible consultar la guía de actualización. A modo de ejemplo se muestra la de la reléase SV1(4):


De igual manera que en el caso anterior de actualización del módulo VSM, en la actualización del VEM es necesario revisar los procedimientos soportados para las versiones tanto de origen como de destino.
Antes de la actualización es necesario tener presentes las siguientes consideraciones:

·         El inicio de la actualización del VEM comienza cuando está adjunto al módulo VSM correspondiente. Durante el proceso de actualización el VEM se vuelve a reasignar con el VSM.
·         La actualización del VEM puede realizarse de manera manual por la CLI (consola de línea de comandos) o de forma automática usando VUM.
·         La conectividad con el VSM se puede perder durante la actualización del VEM.
·         La conectividad entre el VSM en modo activo y pasivo puede perderse durante la actualización del VEM.

Procedimiento de upgrade con VUM

Para comenzar el proceso de upgrade se deben tener almacenadas los ficheros vem-release_final.tar.gz file, system y las kickstart images en la memoria bootflash de los VSM. Todos estos ficheros vienen en el mismo archivo comprimido descargado de la web de Cisco.

Estos son los pasos a seguir:

1.     Comprobación del estado inicial de la plataforma

switch (config)# show vmware vem upgrade status
Upgrade VIBs: System VEM Image
Upgrade Status: 
Upgrade Notification Sent Time: 
Upgrade Status Time(vCenter):  
Upgrade Start Time: 
Upgrade End Time(vCenter): 
Upgrade Error: 
Upgrade Bundle ID:
    VSM: VEM400-201007101-BG
    DVS: VEM400-201007101-BG
 
2.     Actualización de la versión de VEM en VSM
 
switch (config)# vmware vem upgrade update-vibs bootflash:vem-release_final.tar.gz
 
3.     Comprobar el estado inicial de la notificación
 
switch (config)# show vmware vem upgrade status
Upgrade VIBs: Upgrade VEM Image
Upgrade Status: 
Upgrade Notification Sent Time: 
Upgrade Status Time(vCenter):  
Upgrade Start Time: 
Upgrade End Time(vCenter): 
Upgrade Error: 
Upgrade Bundle ID:
    VSM: VEM400-201101030-RG  
    DVS: VEM400-201007101-BG
 
 
4.     Notificación al vCenter de la realización del upgrade
 
switch (config)# vmware vem upgrade notify
Warning: 
Please ensure the hosts are running compatible ESX versions for the upgrade. Refer to 
corresponding "Cisco Nexus 1000V and VMware Compatibility Information" guide.
 
 
5.     Comprobación del estado de notificación
 
switch# show vmware vem upgrade status 
Upgrade VIBs: Upgrade VEM Image
Upgrade Status: Upgrade Availability Notified in vCenter
Upgrade Notification Sent Time: Sun May 9 22:04:54 2010
Upgrade Status Time(vCenter):  
Upgrade Start Time: 
Upgrade End Time(vCenter): 
Upgrade Error: 
Upgrade Bundle ID:
    VSM: VEM400-201101030-RG  
    DVS: VEM400-201007101-BG
 
6.     Verificación de la actualización desde el vSphere Client

7.     Comprobación del estado de la aceptación
 
switch# show vmware vem upgrade status 
Upgrade VIBs: Upgrade VEM Image
Upgrade Status: Upgrade Accepted by vCenter Admin
Upgrade Notification Sent Time: Sun May 9 22:04:54 2010
Upgrade Status Time(vCenter):  Tue May 11 07:42:32 2010
Upgrade Start Time: 
Upgrade End Time(vCenter): 
Upgrade Error: 
Upgrade Bundle ID:
    VSM: VEM400-201101030-RG  
    DVS: VEM400-201007101-BG
 
8.     Comenzar el proceso de actualización. Antes de la ejecución de este comando hay que asegurarse de que VUM está correctamente configurado.

También, de manera previa, se deberá deshabilitar VMware High Availability (HA), Fault Tolerance (FT), and Distributed Power Management (DPM) en el cluster.
En las últimas versiones de VMware las máquinas del ESX se migran automáticamente y el host entrará en modo mantenimiento. Si no lo realizase de manera automática este proceso se debería hacer manualmente.

switch# vmware vem upgrade proceed
switch# show vmware vem upgrade status 
Upgrade VIBs: Upgrade VEM Image
Upgrade Status: Upgrade In Progress in vCenter
Upgrade Notification Sent Time: Wed Mar 17 15:19:05 2010
Upgrade Status Time(vCenter): Wed Mar 17 17:28:46 2010 
Upgrade Start Time: Wed Mar 17 15:20:06 2010
Upgrade End Time(vCenter): 
Upgrade Error: 
Upgrade Bundle ID:
    VSM: VEM400-201101030-RG  
    DVS: VEM400-201101030-RG  
 
9.     Verificación de finalización del upgrade.

switch# show vmware vem upgrade status
Upgrade VIBs: System VEM Image
Upgrade Status: Upgrade Complete in vCenter 
Upgrade Notification Sent Time: Wed Mar 17 15:19:05 2010
Upgrade Status Time(vCenter): Wed Mar 17 17:28:46 2010
Upgrade Start Time: Wed Mar 17 15:20:06 2010
Upgrade End Time(vCenter): Wed Mar 17 17:30:48 2010
Upgrade Error:
Upgrade Bundle ID:
    VSM: VEM400-201101030-RG  
    DVS: VEM400-201101030-RG 
 
  
10.  Limpieza del proceso de actualización después de su finalización
 
switch# vmware vem upgrade complete
switch# show vmware vem upgrade status
Upgrade VIBs: Upgrade VEM Image
Upgrade Status:
Upgrade Notification Sent Time:
Upgrade Status Time(vCenter):
Upgrade Start Time:
Upgrade End Time(vCenter):
Upgrade Error:
Upgrade Bundle ID:
    VSM: VSM130-201010110-BG
    DVS: VSM130-201010110-BG 
 
11.  Verificación del upgrade del módulo VEM. Para poder proceder con el upgrade del VSM es necesario que los VEM estén actualizados.
 
switch#  show module
Mod  Ports  Module-Type                      Model              Status
---  -----  -------------------------------- ------------------ ------------
1    0      Virtual Supervisor Module        Nexus1000V         ha-standby
2    0      Virtual Supervisor Module        Nexus1000V         active *
3    248    Virtual Ethernet Module          NA                 ok
4    248    Virtual Ethernet Module          NA                 ok
 
Mod  Sw               Hw 
---  ---------------  ------ 
1    4.2(1)SV1(3b)     0.0 
2    4.2(1)SV1(3b)     0.0 
3    4.2(1)SV1(4)     VMware ESXi 4.0.0 Releasebuild-261974 (1.20) 
4    4.2(1)SV1(4)     VMware ESXi 4.1.0 Releasebuild-260247 (2.0) 
 
12.  En este punto se procederá a la actualización del VSM

Para poder utilizar el Update Manager de la manera que se ha explicado, este debe estar correctamente configurado.

Para poder gestionar el Update Manager se debe tener instalado el plug-in de VUM en el cliente vSphere. Esto se puede hacer seleccionado “Plug-ins” en la barra de herramientas de vSphere y haciendo click en “Download and Install”

Tras la instalación aparecerá una nueva opción en el menú.


Para que Update Manager disponga de los módulos VEM es necesario añadir un repositorio adicional situado en https://hostupdate.vmware.com/software/VUM/PRODUCTION/csco-main-index.xml y https://hostupdate.vmware.com/software/VUM/PRODUCTION/index.xml

Se creará un Baseline con el módulo VEM. En este debería estar contenida también la actualización correspondiente de ESX (consultar guia).

El componente VUM se muy útil también a la hora de actualizar el módulo VEM cuando se ha de actualizar la versión de VMware pero no la de Cisco Nexus 1000v. A modo de ejemplo se expone el procedimiento de actualización para el patch update 1 de la versión ESX 4.0.

1)    Se crea el Baseline de la manera indicada en la guía, seleccionado la opción “Path”

2)    Se selecciona el módulo VEM:


 3)    Se seleccionan los ESX en los que se desee hacer el upgrade del VEM

4)    Se selecciona el Baseline a aplicar en los ESX seleccionados previamente.

5)    Se escanerá el host.
 
6)    Se aplicarán las actualizaciónes pulsando sobre “Remediate”


7)    Se comprobará mediante la interfaz VUM y por comando de consola en el ESX, que el upgrade se ha realizado con éxito. Los comandos para la verificación del build number de VMware tras la actualización en este ejemplo serían los siguientes:

 [root@hostname~] # rpm -qa | grep vmkernel | awk -F. `{print $5}'
236512
 [root@hostname~]  # vmware -v
VMware ESXi 4.0.0 build-236512

Procedimiento de actualización manual 


Es muy importante que el software descargado sea el correcto, siguiendo la matriz de compatibilidad que se ha indicado anteriormente en esta guía.
Los comandos para realizar el procedimiento manual difieren si se utiliza vCLI o directamente comandos de la propia Service Console de los ESX.
Para una actualización del módulo VEM de modo manual el procedimiento es igual a la actualización con VUM cambiando únicamente el paso 8:

1.     Comprobación del estado inicial de la plataforma
2.     Actualización de la versión de VEM en VSM
3.  Comprobar el estado inicial de la notificación
4.  Notificación al vCenter de la realización del upgrade
5.  Comprobación del estado de notificación
6.     Verificación de la actualización desde el vSphere Client
7.  Comprobación del estado de la aceptación
8.     Comenzar el proceso de actualización. En el VSM habrá que ejecutar este comando:

switch# vmware vem upgrade proceed
switch# show vmware vem upgrade status 
Upgrade VIBs: Upgrade VEM Image
Upgrade Status: Upgrade In Progress in vCenter
Upgrade Notification Sent Time: Wed Mar 17 15:19:05 2010
Upgrade Status Time(vCenter): Wed Mar 17 17:28:46 2010 
Upgrade Start Time: Wed Mar 17 15:20:06 2010
Upgrade End Time(vCenter): 
Upgrade Error: 
Upgrade Bundle ID:
    VSM: VEM400-201101030-RG  
    DVS: VEM400-201101030-RG  
 
En los ESX se realiza la actualización por vCLI o con el comando esxupdate. Si se utilizase vCLI el 
comando será:
 
[root@serialport tmp]# vihostupdate -i --bundle cisco-vem-v130-4.2.1.1.3.9.0-1.9.1.zip 
--server 192.0.2.0
Enter username: root
Enter password:
Please wait installation in progress ...
The update completed successfully, but the system needs to be rebooted for the changes 
to be effective.
 
Mientras que si se utiliza esxupdate:
 
[root@cos1-]# esxupdate -b ./cross_cisco-vem-v130-4.2.1.1.3.9.0-1.9.1.vib update
cross_cisco-vem-v130-4.2.1.1.1.nn-0.4.nn..   ################################### 
[100%]
Unpacking cross_cisco-vem-v100-esx_4..        ################################### 
[100%]
Installing cisco-vem-v100-esx                 ################################### 
[100%]
Running [/usr/sbin/vmkmod-install.sh]...
 
9.     Tras este paso habría que seguir el mismo procedimiento que con VUM. En este caso el siguiente paso sería la verificación de finalización del upgrade.
10.  Limpieza del proceso de actualización después de su finalización
11.  Verificación del upgrade del módulo VEM.
12.  En este punto se procederá a la actualización del VSM

Si se desea comprobar el correcto upgrade desde la propia plataforma VMware se puede hacer de la siguiente manera:

[root@serialport tmp]# vmware -v
VMware ESXi 4.0.0 build-208167
[root@serialport tmp]# esxupdate --vib-view query | grep cisco
cisco-vem-v130-4.2.1.1.3.9.0-1.9.1 installed     2010-07-18T16:56:00.787147+00:00
 
En el caso de que se tuviese que actualizar la versión de ESX conservando la de Cisco Nexus, se realizaría el 
upgrade del sistema ESX de manera habitual y más tarde se ejecutarían los mismos comandos que los 
mostrados antes para la instalación del nuevo módulo VEM, que ha tenido que ser descargado de la página
oficial de Cisco.


Virtual Supervisor Module (VSM)

 En este subapartado se pasa a describir el procedimiento de actualización del módulo VSM.

Antes de realizar el upgrade, es necesaria una verificación de la versión de Cisco Nexus 1000v del modo que se indicó en el primer apartado, ya que el procedimiento de actualización varía dependiendo de la versión de origen y la versión de destino.

Para la actualización del VSM son necesarios una serie de prerrequisitos que son comprobados con la herramienta PreUpgradeUtility:
1. El número de system port profiles no excede de 32
2. Problemas en las configuraciones y estado de los interfaces
3. Correcto licenciamiento
4. Configuraciones de Netflow
5. Configuraciones de políticas QoS
6. Nombres de port profiles con menos de 255 caracteres
7. Rutas de la interfaz control0 del VRF de gestión
Para poder ejecutar esta herramienta bajo entornos Windows es necesario hacerlo bajo la plataforma de emulación Cygwin siguiendo estos pasos:

1)    Ir a la página web oficial de Cygwin cuya URL se detalla en el siguiente enlace http://www.cygwin.com.

2)    Una vez que se ha cargado la página web, se procederá a descargar la aplicación en cualquier directorio de Windows o simplemente en el escritorio para mayor comodidad. Se debe elegir, salvo recomendación expresa, la última versión disponible. Descargamos la aplicación con nombre “setup.exe”.

3)    Se ejecutará el archivo descargado con el mismo nombre haciendo doble click sobre el archivo. Una vez realizada esta acción se abrirá una ventana de Windows donde se indica la versión a instalar e información sobre la instalación de la plataforma.
 
4)    En la ventana anterior pulsar “Next” y continuamos con la instalación en donde se muestra una pantalla la cual se puede elegir de donde se quiere que se origine la descarga de la aplicación.
Como se puede apreciar en la siguiente captura se dispone de 3 opciones dependiendo del tipo de instalación:

-       Instalar desde Internet
-       Descargar sin instalar
-       Instalar desde directorio local
 
5)    Se seleccionará la opción conveniente en nuestro caso y presionar el botón “Next”. En las siguientes opciones de instalación se elegirá el directorio en donde se lleva a cabo la instalación. Es recomendable dejar el directorio por defecto que elige el programa. En las opciones también se muestra si se desea que todos los usuarios del sistema puedan utilizar el emulador o simplemente para el usuario en donde se realiza la instalación.

A continuación se muestra la pantalla de configuración:

6)    Una vez elegida la opción, pulsar el botón “Next” para continuar la instalación.

7)    Se abrirá una ventana en donde se especifica un directorio en el cual se van a almacenar los archivos necesarios para la instalación. Se puede cambiar el directorio por defecto con cuidado de no elegir una ruta de directorios errónea o con espacios.

En la siguiente pantalla se muestra las opciones explicadas anteriormente:

8)    Una vez hecha la anterior acción aparece otra ventana en donde se especifica la forma en que se conecta con Internet. En la siguiente captura se muestran las opciones disponibles las cuales pueden ser:

-       Conexión directa
-       Configuración de un proxy en Internet Explorer
-       Proxy HTTP o FTP

9)    Llegado a este punto se elegirá cualquiera de las URL´s mostradas para la descarga de la aplicación como en el siguiente ejemplo:

10)   En ese momento se iniciará un proceso de descarga.

En caso de ser la primera vez que se realiza la instalación en el sistema es posible que se produzca un erro

En ese caso pulsar el botón “OK” para proseguir la descargar de la aplicación.

11)  Una vez descargada la aplicación se seleccionarán los paquetes que queremos que se instalen. Para una instalación básica seleccionar los paquetes por defecto como en la siguiente captura:

12)  Para complementar los paquetes que trae la instalación por defecto es necesario añadir los siguientes paquetes:


·         Inetutils (for telnet)
·         OpenSSH
·         Tcl
·         Expect 

Para ello, se puede realizar una búsqueda de “inetutils” desde la barra superior.

Es necesario seleccionar como en la imagen superior el “tic” que pone Bin en donde se descargará el ejecutable.


13)  Se continuará con el paquete de OpenSSH, “expect” y TCL.
 
14)  Una vez realizada esta acción, se abre una ventana en donde se muestra un mensaje de dependencias para que los paquetes seleccionados se puedan instalar correctamente. Es recomendable instalar estas dependencias ya que se evitan fallos en las aplicaciones.
 
15)  En este momento comenzará el proceso de descarga de los paquetes seleccionados. El proceso de descarga puede variar dependiendo del ancho de banda contratado y demás opciones de Internet.

Una vez instalado Cygwin se puede proceder a la ejecución del Pre-Upgrade Utility:

1)    Esta utilidad viene incluida en el archivo comprimido que incorpora todas las partes de la solución Cisco Nexus 1000v y que puede ser descargada de la página de Cisco.

2)    Copiar el archivo de Pre-Upgrade Utility al directorio principal en donde hemos instalado el emulador. Por defecto el directorio en la instalación es el siguiente: C:\cygwin.

En caso de haber realizado la instalación sobre otro directorio, copiar el archivo en el directorio en donde se ha realizado la instalación.

3)    Iniciar el emulador Cygwin.
 
4)    Realizar Telnet o SSH al Cisco Nexus 1000V VSM.

5)    En este paso es necesario navegar en la bash de la consola para posicionarse en el directorio en donde se ha realizado el guardado del script PreUpgrade. Por defecto está en el directorio principal C:\cygwin luego con comandos de Unix debemos situarnos en el directorio adecuado.

6)    Se ejecutará el siguiente comando (se pone como ejemplo el pre-upgrade utility de la versión SV1(4)):

$ expect pre-upgrade-check-4.2\(1\)SV1\(4\).tcl ip-address username password[telnet | ssh]
 
Cuando se compruebe que no existe ningún error mediante esta utilidad se podrá proceder al upgrade del VSM:

1)    Se deberán copiar los ficheros necesarios en la flash (bootflash) cuya nomenclatura dependerá de la versión de destino del software. En términos generales son dos ficheros en formato .bin como, por ejemplo,  “nexus-1000v-mz.4.0.4.SV1.3b.bin”, “nexus-1000v-kickstart-mz.4.0.4.SV1.3b.bin”.

n1000# copy scp://user@linux-box.cisco.com/home/user/nexus-1010.4.2.1.SP1.1.3.iso
bootflash:repository
Enter vrf (If no input, current vrf 'default' is considered):
user@linux-box.cisco.com's password:
nexus-1010.4.2.1.sp1.3.iso       100%  258234  10.3KB/s   00:15

2)    El siguiente paso es la instalación de las nuevas imágenes copiadas en la bootflash, para ello se utilizará el comando “install all” cuya acción instalará las imágenes tanto en el módulo activo como en el módulo pasivo, en caso de utilización de alta redundancia. Este comando también actualizará el inicio del sistema el cual cargará los archivos del sistema nuevos.

switch# install all system bootflash:nexus-1000v-mz.4.0.4.SV1.3b.bin kickstart
bootflash:nexus-1000v-kickstart-mz.4.0.4.SV1.3b.bin
System image sync to standby is in progress...
System image is synced to standby.
Kickstart image sync to Standby is in progress...
Kickstart image is synced to standby.
Boot variables are updated to running configuration.

Se puede ver que el comando utiliza la sintaxis “install all system bootflash:” y a continuación nombra los ficheros guardados en la bootflash en formato bin.

3)    Se realizará una copia de la configuración que está corriendo actualmente el switch en la configuración de inicio con el comando “copy run start”

4)    A continuación se deberá  realizar una verificación del estado de los módulos con el comando “show module”. Es importante que estén registrados todos los módulos.

5)    Se procederá a realizar un reinicio del módulo VSM para que la nueva configuración cause efecto y se comprobará si carga correctamente la nueva actualización del software instalada. Para ello se utiliza el comando “reload module id” donde el parámetro “id” será el número de módulo del VSM (este número puede ser comprobado con el comando del apartado 4).

switch# reload module 2