iVentoy - Caso de consultoría @ Samquejo | 2023-08-22T07:00:00+02:00 | 11 minutos de lectura | Actualizado en 2023-08-22T07:00:00+02:00

iVentoy

Vamos a ver.
Esto aún no es la panacea que os creéis.
El producto lo veo inestable aún, meses después de su lanzamiento.
Pero da igual. Os muestro mi laboratorio de pruebas.

Preparativos

Además de lo comentado en el artículo anterior, sobre como voy a surtir de material al entorno, lo que voy a hacer es preparar el laboratorio.
Y para ello voy a declarar el siguiente entorno, por seguridad, por comodidad, y porque mis laboratorios no son de juguete, me interesa que sean exportables a entornos reales y no a un “Quita el cortafuegos que seguro que así funciona”.

Así que:

  • Redes de gestión y producción segregadas
  • Conectividad con el repositorio asegurada
  • Dimensionamiento de clientes y servidor acorde al tráfico esperado
  • Parámetros de red acordes a las necesidades
  • Red escalable y gestionable
  • Configuración de la electrónica de red (física y virtual) acorde a las necesidades por los diferentes estándares

Empezamos:

Redes de gestión y producción segregadas

Es obvio que voy a gestionar el servidor, y si es necesario, el contenedor, por red.
Tal como comenté en el capítulo de redes sobre la categorización de las mismas, mi vista servidorcentrica me va a asignar al menos 2 redes, 3 en este caso, pero que voy a simplificar a 2.
Una pata de gestión, por donde se accede a la interfaz de la máquina virtual donde voy a publicar el ssh, los puertos del contenedor y los puertos del servicio web de iVentoy, y ya de paso, aunque debería ir por almacenamiento, aprovechando que ya lo tengo, la conexión sshfs desde la máquina iVentoy al host ESXi. Mucha gestión hay ahí.
Y una pata de producción, puesto que el producto de la máquina es plataformar, no enseñar una web de configuración, con el resto de los puertos y servicios que se crean y gestionan desde iVentoy.

Conectividad con el repositorio

Como ya he comentado en el artículo anterior, y en el punto anterior también, es una red de gestión conectando con otra red de gestión por interfaces de gestión.

Dimensionamiento de clientes y servidor acorde al tráfico esperado. En esto, prueba y error.
No hay documentación al respecto, pero para el servidor, mínimo 2 vcpu y 4 Gb de ram. Parece mucho pero con menos, revienta constantemente, en físico. En contenedor hará falta seguramente un poco más.
En cuanto a lo del tráfico esperado, una red virtual no tiene límites (mas allá de la capacidad de conmutación del host en su parte de red virtual) así que podríamos considerar que mínimo tarjetas e1000e (1 Gb) o vmxnet3 (10 Gb).

Parámetros de red acordes a las necesidades

¿Pero más parámetros de red? ¿En serio?
Si. Y en serie, y en paralelo.
A ver, que igual que lo que ya he comentado antes, sobre redes y demás, vamos a hacer algo un poco más especial, por qué lo merece, lo necesita.
La red de producción estará segregada como ya he comentado antes, y tendrá una característica especial adicional, una VLAN, por hechos tan sencillos como separar completamente el tráfico, y por cosas como las ya explicadas en el capítulo que hice sobre las VLAN.

Red escalable y gestionable

Más parametrización de red. Obvio.
En el primer punto ya he explicado la arquitectura básica, la cual, al estar definida como he descrito, nos va a permitir varias cosas, como no perder la gestión por congestión de las interfaces de red y otros problemas. Y también el broadcast, el ruido de red que se va a generar en producción, que quede limitado y acotado por su propio adaptador, su VLAN, y una sorpresa añadida.
La red va a ser escalable, puesto que la red de producción tendrá su cabecera en la VM en capa 3, y en el host, y en su portgroup, en capa 2, por lo que la VLAN quedará extendida desde el ESXi al switch y si, esto ya lo he explicado en el capítulo del podcast que hice sobre las VLAN.

Configuración de la electrónica de red (física y virtual) acorde a las necesidades por los diferentes estándares

He dejado para el final las cosas más oscuras de la red, como por ejemplo el hecho de que tenemos que tocar valores de MTU (no lo he hecho en este laboratorio), los valores de seguridad del portgroup y algún detallito más.

Atención
Zona no apta para manazas
  • Jumbo frames: Para maximizar la capacidad de la red, empezaríamos pasando de 1500 a 9000 para tener un tráfico de red en el que el tamaño del paquete no limite la transferencia, y las tarjetas de red virtuales no se ahoguen en cómputo y gestión de los paquetes TCP. Tocar esto puede dejarte sin red, es un parámetro de capa 1 gestionado la mayoría de las veces en capa 2.
  • TCP Offload: Vamos a ver, los drivers son lo que son y tienen las opciones que tienen. Hay cosas que se pueden hacer, y otras que aunque se hagan, como el que ve llover.
  • VLAN: Para saber usar esto, hay que saber que son las VLAN. Sin ese conocimiento, mejor cablear por separados.
  • Políticas de seguridad y de teaming: Esta parte es específica de VMware. Si hace falta expandir y crecer, necesitaremos tocar cosas aquí, puesto que multicast no es un protocolo que históricamente le guste a la inmensa mayoría de los hypervisores, salvo a Hyper-V que le da igual.

Los parámetros de seguridad deberían quedar:

Parámetro Valor
Allow promiscuous mode Yes
Allow forged transmits Yes
Allow MAC changes Yes

Puesta en marcha

Preparación del entorno y arranque del aplicativo

Pues ahora que ya he hecho mi grupo de capturas, lo que toca es ponerlas en secuencia, e ir describiendo. Así que si…
Lo primero es que vamos a necesitar una máquina virtual. Fedora server en este caso, y con la modificación que comenté en este artículo.
Para la descarga, simplemente descargar y descomprimir.

primera captura

La configuración la voy a hacer en mi usuario local, así que voy a mapear el directorio iso que viene del host a mi usuario, así no toco puntos de montajes.
Como he descomprimido en mi home, simplemente elimino el directorio iso y creo un enlace al punto de montaje.

rmdir iso
ln -s /mn/iso ./iso
ls -al

Queda comprobado el enlace simbólico.

segunda captura

Para iniciar, tan solo necesitamos invocar, como dice la documentación, con sudo ./iventoy.sh start. Sudo lo necesita porque usa puertos privilegiados.

tercera captura

La interfaz de usuario está en un puerto http, el 26000. Así que accedemos por navegador a ver que tal es la interfaz.
Lo más notable es que ni pide credenciales ni autenticación ni nada por el estilo.

cuarta captura

Explorando la interfaz

Lo que nos importa, es que según informa el primer combo, tenemos correctamente configurada la interfaz de red de gestión, en mi caso en el segmento 10, y de producción, en el segmento 11, y que es la que usará el servicio para contactar con las máquinas a instalar, tanto como virtuales, como físicas (en un futuro).
Tengo definido un rango como disponible para este trabajo. Así pueden coexistir con otras cosas que pueda tener aparcadas en esa red.

quinta captura

Una vez definido el interfaz, la red del segmento 11, vamos a permitir las mac de los dispositivos que voy a instalar, una especie de lista de control de acceso.
Para este caso, las de VMware standalone, las que corresponden 00-0c-29-**-**-** y que curioso, que es la misma que propone el propio iVentoy. A iVentoy le gusta VMware.
Podríamos poner otros rangos, como por ejemplo los de 10-65-**-**-**-** que corresponden a un muy extenso repertorio de tarjetas Intel e1000 o Intel I219.
Una funcionalidad interesante es el uso de listas negras, denegar todo menos algo determinado. Da igual, esto va en gustos.

sexta captura

En la pantalla de configuración, hay dos partes, la de red, donde definir los puertos, que podemos dejar por defecto junto con parámetros de timeout y demás…

séptima captura

Y parámetros del servidor que vamos a usar, en este caso son del DHCP y de su servicio.
Para esta prueba hay 3 posibles configuraciones y la más simple en este desarrollo es usar el servidor interno.
El servidor externo y el externo de red son un DHCP local o remoto y que deben ser modificados para que cumplan con los requisitos de entrega de datos para PXE.
El otro combo que me interesa es el de la imagen EFI.
Tendré que hacer un artículo explicando la historia de estos firmwares pero vamos a tomar como que iPXE (ipxe.efi) es el más universal y actual de los que muestra, quedando SPN (spnonly.efi y spn.efi) como valores de contingencia para ciertos tipos de tarjetas de red. No tengo una lista de lo que funciona con uno o con otro, así que prueba y error.
Solo un truco. Con ipxe cubrimos la inmensa mayoría de los 64 bits, UEFI o no, y spnonly cubriría los legacy y algunos i386.

octava captura

Por último, en la gestión de imágenes, luego en el log se verá más claro, podemos ver las imágenes disponibles.
En este caso iVentoy lee desde su directorio iso, que es un enlace simbólico a mi punto de montaje del sshfs que procede del ESXi, por lo que iVentoy está leyendo (y en solo lectura) del datastore del host.
Esto si es ahorro. No lo hagáis en producción real.

novena captura

Una vez revisado todo esto, volvemos a la ventana principal, la del boot, y podemos darle a iniciar. Lo cual ya nos permite ponernos a instalar máquinas remotas, por red, sin pinchos, sin iso, sin casi nada.

décima captura

No sin antes echar un ojo al log, en ./log/log.txt así que hacemos un simple tail -f ./log/log.txt & en consola para ir viendo que se cuece, como por ejemplo el análisis que hace de las imágenes iso.

undécima captura

Una vez que presenta el banner, lo podemos dar por arrancado y disponible, e incluso ya voy viendo cosas en el log porque ya hay una máquina virtual pidiendo cosas en el segmento.

duodécima captura

Y ahí está, una máquina virtual sin sistema operativo disponible, pero arrancando por iPXE una vez que un servidor le ha ofrecido IP tras validar la mac, y ha empezado a transmitir el firmware.

decimotercera captura

Primera prueba

Una vez hecho, iVentoy cargará su cargador de red, que se trae la información del catálogo, y la muestra en la consola como si hubiéramos pinchado el disco directamente.

decimocuarta captura

Elegimos un sistema, una iso, con la que arrancar.
Esto va a producir 2 cosas, al menos.

  • El servidor boot va a poner a disposición del cliente pxe una URL conformada según el estándar, con todos los ficheros de la iso.
  • El arranque PXE va a empezar a pedir el contenido de la iso

El estándar es un simple servidor http, en este caso por el puerto 16000, y con una estructura determinada.

decimoquinta captura

Por cierto, podemos ver datos relevantes en la pantalla de boot, como la mac, la dirección, datos de identidad física del cliente…

decimosexta captura

Probando otra imagen a ver que funciona

Como las pruebas hasta ahora no han sido muy felices, voy con Fedora 38 KDE, que su instalador tiene otro concepto.

decimoséptima captura

Tiene pinta de arrancar correctamente, al menos como live, así que voy a pedir que instale.

decimooctava captura

Y toma que si instala, que ha instalado y sin rechistar, ni protestar.
Al menos tenemos una lista decente de isos que funcionan, y son:

Fedora 38 kde
Windows 10 22h2
Windows 11
Windows server 2022 y 2019 (varias versiones)

Y Debian… Bueno, siempre podré probar de nuevo, pero esta vez su versión live, con calamares como instalador.

Estado y comportamiento del servidor

Vamos a analizar ahora el comportamiento del host, y de varios parámetros a ver que tal…

En esta captura vemos la máquina virtual, su interfaz de red, una estadística simple.
Y lo primero que me importa es el tráfico, el consumo de red, que como estoy con discos mecánicos, no espero que llegue al 100% de red, pero se ven perfectamente los flujos y los tiempos en comparación de mis dos primeras pruebas, en naranja la fallida de Debian y en azul la correcta de Fedora.

decimonovena captura

A ojos del host vemos todo mucho más claro, las ráfagas del primer intento con Debian, donde no ha conseguido instalarse, y el flujo continuo de red en la interfaz de management del host durante la instalación de fedora, recordemos que accedo desde la VM al host por sshfs y las vm se comunican entre ellas por la misma interfaz en este caso.

vigésima captura

Y por último, CPU, que como estoy con 2 vm, una con 2 vcpu, otra con otras 2, la consola de servicio y una conexión sshfs… Pues eso, una sobresuscripción de 3:1 en cpu que como veréis apenas afecta al desempeño de este equipo tan modesto pero que sirve perfectamente de laboratorio.

vigesimoprimera captura

Y no me queda más que analizar ni nada. Seguiré probando más imágenes ISO y a ver que funciona y que no.

Enlaces


YoVirtualizador en formato podcast. Ahora también en Sospechosos Habituales: https://feedpress.me/sospechososhabituales
Y sin más, os dejo los enlaces:

Web: https://www.yovirtualizador.com
Grupo de telegram: https://t.me/grupovirtualizador
Podcast: https://www.ivoox.com/podcast-yovirtualizador_fg_f1563806_filtro_1.xml
Canal de youtube: https://www.youtube.com/channel/UC0R70cABSsmC6TFyXth0qPg
Enlace de afiliados de amazon: https://amzn.to/3gX3HmK
Enlace de referidos de la Asociación Podcast: https://www.asociacionpodcast.es/registrarse/socio/?coupon=SB6A70

© 2019 - 2024 YoVirtualizador

Powered by Hugo with theme Dream.

avatar

El blog de YoVirtualizadorTu podcast y blog de confianza

Acerca de YoVirtualizador

YoVirtualizador es la marca de varios proyectos

Podcast de informática profesional. Canal de Youtube sobre el blog, el podcast y de temática profesional. Blog de contenido diverso, con temática BOFH y técnica.

Gracias por la lectura.

Política de comentarios

En YoVirtualizador todos los comentarios serán bienvenidos pero moderados.

Respetos guardan respetos.

El contenido irrelevante u ofensivo será eliminado.

Galletas

Política de cookies

En YoVirtualizador no usamos cookies para nada, pero los servicios de discus y analytics recopilan datos en servidores ajenos a YoVirtualizador sin que yo pueda hacer nada.

Este aviso es sólo porque algún político tenía que justificar su existencia.

Si hace clic en un enlace de afiliado y compra un producto o servicio, es posible que ese comerciante nos pague una tarifa.