Agregando dispositivos de Hardware no reconocidos para ESXi5

Que tal gente, me encuentro actualizando mi laboratorio recreando todos los vPods y agregando nuevas tecnologias por parte de VMware (mismas que estaré demostrando en posts). Y me di a la tarea de instalar un nuevo whitebox que anteriormente se utilizaba para algo no tan productivo (juegos??) sus caracteristicas son las siguientes:

  • CPU AMD Phenom x3 720 black edition @ 2.8 GHz
  • 8GB de RAM
  • MOBO MSI k9n SLi v2

Podemos ver que es un equipo un poco chico, por lo cual lo consideré para ejecutar mis VMs de core, es decir, servicios de AD, DNS, DHCP, vCenter, Etc etc, Al tratarse de un lab no me importa mucho la redundancia y tolerancia  fallos.

Descargué la última versión de ESXi 5 Build 603296, y al instarlo el primer problema que se me presenta es que no se reconocieron mis discos, este tipo de problemas con controladoras SATA ya los había tenido en versiones anterioroes (VI3) y la solución es muy simple, solo cambiar el modo de la controladora de IDE a AHCI, lo cual funcionó y me reconocio el disco local en el momento de la instalación.

Todo iba perfecto hasta que en el momento que reinicio mi sistema puedo notar que el disco local no era reconocido para crear un datastore, cosa que me parecia algo raro ya que en el momento de la instalación lo reconoció y que el sistema operativo podia iniciar.Por lo cual decidi cargar el modulo de ahci manualmente desde ssh:

vmkload_mod ahci

Comando que cargó el modulo de kernel y con el cual pude ver mi disco local, todo iba bien en este punto, pero ¿Que pasaría en el momento de realizar un reincio? claramente esto no se iba a hacer de manera automática, por lo cual primero pense en editar el archivo de /etc/rc.local pero el problema podia no ser que el modulo no era cargado sino que no se reconocia el hardware. Por lo cual pense en otra alternativa que ya había utilizado previamente y es la de editar el archivo los archivos .map y crear mi propio oem.tgz cosa que funcionaba en versiones ESXi 3 y 4, pero en ESXi 5 es mucho más sencillo, ya que como podemos ver en la siguiente imagen:

En todos los vgz o ejecutivos que son cargados a memoria podemos encontrar uno llamado “sata-ahc.v00” donde al expandirlo pude ver lo siguiente:

Todo el layout que crea este archivo, o básicamente todos los archivos que a partir de este comprimido se colocan en el sistema de del hipervisor en memoria o visorfs. Aquí me llamo la atención el archivo ahci.map, donde si lo editamos podemos ver lo siguiente:

Se trata de los PCI IDs de los dispositivos que ese driver en especifico (AHCI) podría controlar, decidí investigar cual es el PCI ID de mi tarjeta SATA local, esto lo logramos de manera muy sencilla, con el siguiente comando:

lspci -v

Y se nos muestra información como la siguiente:

Aquí podemos ver que tenemos un dispositivo llamado:

000:000:10.0 SATA controller Mass storage controller: nVidia Corporation MCP65 AHCI Controller [vmhba2]

El cual tiene el siguiente PCI ID:

10de:044d

Teniendo esta información solo es cuestión de editar el archivo “achi.map” y agregar el PCI ID como dispositivo soportado por dicho driver:

Necesitamos re empaquetar todo el vgz que descomprimimos, para esto, utilizamos la utileria tar:

tar -cvf sata-ahc.tar etc/ usr/ (las carpetas etc y usr son aquellas que fueron descomprimidas a la carpeta “test” a partir del archivo sata-ahc.v00)

Una vez re empaquetado todo el contenido con la modificación del archivo .map donde agregamos el PCI ID de nuestro dispositivo vamos a convertir dicho tar a vgz, para esto utilizamos vmtar:

vmtar -c sata-ahc.tar -o sata-ach.v00

Y para finalizar copiamos el vgz a la carpeta /bootbank

cp sata-ach.v00 /bootbank

Con esto, al iniciarse el sistema y cargar todos sus ejecutivos o vgz al ramdisk y cargarse el modulo de ahci se reconocerá el PCI ID de nuestro dispositivo y se presentará:

RECUERDEN QUE ESTO NO ES SOPORTADO POR VMware, POR LO CUAL SOLO ESTA PENSADO PARA MOTIVOS DE DEMOSTRACIÓN O PARA SUS LABORATORIOS ¡NO PARA AMBIENTES PRODUCTIVOS! SIEMPRE DEBEMOS APEGARNOS AL HCL.

3 comments on “Agregando dispositivos de Hardware no reconocidos para ESXi5

  1. Alfredo Najera May 16, 2012 9:07 am

    Excelente info Agustín

  2. Francisco Pérez January 22, 2013 5:17 am

    Gracias por este exccelente articulo.
    Lo he probado en una vieja placa zotac con chipset nvidia [http://www.zotacusa.com/zotac-geforce-9300-itx-gf9300-g-e.html]
    Le he instalado la version 5.1 build 799733 de VSphere 5.1 (esxi) y ha funcionado de maravilla activando AHCI en la bios.
    Solamente en la ultima parte de tu manual tuve que cambiar el directorio donde copiar el archivo resultante de /bootbank por /vmfs/volumes/c01fea77-d0b59159-e16f-0d7e5fc8ef4b/
    Aunque despues de reiniciar si aparecia el directorio bootbank con ese contenido.

    Muchisimas gracias por compartir tu tiempo y experiencia con todo el mundo es para agradecer.

Leave a Reply