scieee AI-readable full text Open interactive document viewer

Estudio, evolución, comparación y desarrollo de sistemas de virtualización

Conde de Pintos, Gonzalo

Abstract

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Full text

UNIVERSIDAD DE VALLADOLID E.T.S.I. TELECOMUNICACIÓN TRABAJO FIN DE MÁSTER MÁSTER EN INGENIERÍA DE TECNOLOGÍAS DE TELECOMUNICACIÓN. Estudio, evolución, comparación y desarrollo de sistemas de virtualización Autor: D. Gonzalo Conde de Pintos Tutora: D.ª Beatriz Sainz de Abajo Valladolid, 23 de septiembre de 2024 Reconocimiento-No comercial-Sin obras derivadas. Usted es libre de: Copiar, distribuir y comunicar públicamente la obra, bajo las condiciones siguientes: • Reconocimiento: debe reconocer los créditos de la obra de la manera especificada por el autor, pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace de su obra; • No comercial: no puede utilizar esta obra para fines comerciales; • Sin obras derivadas: no puede alterar, transformar o generar una obra derivada a partir de esta obra. • Si reutiliza o distribuye esta obra, tiene que dejar bien claro los términos de la licencia. • Alguna de estas condiciones puede no aplicarse si obtiene el permiso del titular de los derechos de autor. • Esta licencia no menoscaba ni restringe los derechos morales del autor. TÍTULO: Estudio, evolución, comparación y desarrollo de sistemas de virtualización AUTOR: D. Gonzalo Conde de Pintos TUTORA: D.ª Beatriz Sainz de Abajo DEPARTAMENTO: Teoría de la Señal y Comunicaciones e Ingeniería Telemática TRIBUNAL PRESIDENTA D.ª Miriam Antón Rodríguez SECRETARIA D.ª María García Gadañón VOCAL D. Juan Blas Prieto P. SUPLENTE D. Juan Pablo Casaseca de la Higuera S. SUPLENTE D. Javier Manuel Aguiar Pérez V. SUPLENTE D.ª María Ángeles Pérez Juárez FECHA: 23 de septiembre 2024 Calificación: 1 Resumen El objetivo de este trabajo de fin de máster es poner en contexto la tecnología de virtualización en su conjunto. Para ello se establecerá un marco teórico de los conceptos que la rigen para así poder estudiar su evolución en el tiempo y comprender el porqué de los avances tecnológicos en este campo. Tras esta explicación, se estudiarán los componentes tecnológicos del mercado y su importancia en el contexto actual de la tecnología. Por último, se plantearán casos de uso sobre la utilización de la tecnología para así ver las utilidades prácticas de la misma, además de analizar las posibles ventajas que tiene su utilización en el contexto de los Objetivos de Desarrollo Sostenible. Palabras clave Máquina virtual; infraestructura; servidor; red; almacenamiento. Abstract This master's thesis aims to put virtualization technology as a whole into context. To do so, a theoretical framework of the concepts that govern it will be established to study its evolution over time and understand the reasons for technological advances in this field. After this explanation, the technological components of the market and their importance in the current context of technology will be studied. Finally, use cases will be presented on the use of technology to see its practical uses, in addition to analyzing the possible advantages of its use in the context of the Sustainable Development Goals. Keywords Virtual Machine; infrastructure; host; network; storage. 2 Contenido Índice de figuras ............................................................................................................................ 3 Índice de tablas ............................................................................................................................. 5 1. Introducción .......................................................................................................................... 7 2. Teoría sobre la virtualización ................................................................................................. 8 2.1. Introducción .................................................................................................................. 8 2.2. Máquinas virtuales ........................................................................................................ 8 2.3. Actores de la virtualización, servidor, cliente e hipervisor ............................................ 9 2.4. Contenedores .............................................................................................................. 12 2.5. Principios teóricos de la virtualización ........................................................................ 13 2.6. Tipos de virtualización ................................................................................................. 17 2.6.1. Virtualización de CPU .......................................................................................... 17 2.6.2. Virtualización de memoria .................................................................................. 22 2.6.3. Virtualización de dispositivos .............................................................................. 26 2.6.4. Virtualización de almacenamiento ...................................................................... 28 2.6.5. Virtualización de red............................................................................................ 33 2.6.6. Virtualización de escritorio .................................................................................. 36 2.6.7. Virtualización de infraestructura ......................................................................... 37 3. Historia y evolución de la tecnología de virtualización ....................................................... 40 3.1. Motivos e inicio de la tecnología de virtualización. .................................................... 40 3.2. Años 60 y 70, IBM como promotor del mercado de la virtualización ......................... 40 3.3. Años 80, pausa de la tecnología ante el auge de los PC. ............................................. 43 3.4. Años 90 y 2000, resurgimiento de la virtualización. ................................................... 44 3.5. Desde 2010 en adelante, establecimiento de la tecnología y auge de los contenedores. ......................................................................................................................... 49 3.6. 2020 en adelante, futuro de la virtualización ............................................................. 53 4. Componentes de una infraestructura de virtualización. Ejemplos del mercado ................ 55 4.1. Servidores .................................................................................................................... 55 3 4.2. Dispositivos de red ...................................................................................................... 61 4.3. Almacenamiento ......................................................................................................... 65 4.4. Resumen de los componentes de los sistemas de virtualización. ............................... 70 5. Casos de uso ........................................................................................................................ 71 5.1. Adaptación de sistemas operativos obsoletos a la tecnología actual ......................... 71 5.1.1. Evaluación del estado de la máquina física ......................................................... 71 5.1.2. Preparar la máquina física para su virtualización. ............................................... 72 5.1.3. Proceso de virtualización ..................................................................................... 73 5.1.4. Ejemplo de virtualización de un sistema obsoleto .............................................. 74 5.2. Diseño de una infraestructura de servidores .............................................................. 79 6. Relación de la virtualización con los objetivos de desarrollo sostenible ............................. 84 6.1. Introducción ................................................................................................................ 84 6.2. Relación de la virtualización con el Objetivo 9 de Desarrollo Sostenible .................... 85 6.3. Relación de la virtualización con el Objetivo 12 de Desarrollo Sostenible .................. 85 6.4. Diferencia de consumo energético entre un servidor con y sin virtualización ........... 86 7. Conclusiones........................................................................................................................ 88 8. Referencias .......................................................................................................................... 89 9. Referencias – Componentes comerciales ............................................................................ 94 10. Referencias – Presupuesto Caso de Uso.......................................................................... 95 Índice de figuras Figura 1 - Hipervisor tipo 1 .......................................................................................................... 10 Figura 2 - Hipervisor tipo 2 .......................................................................................................... 11 Figura 3 - Estructura general de sistema virtualizado ................................................................. 12 Figura 4 - Estructura general de sistema con contenedores ....................................................... 13 Figura 5 - Definición de máquina virtual por Robert P. Goldberg................................................ 15 Figura 6 - Arquitectura general procesador x86 .......................................................................... 18 4 Figura 7 - Funcionamiento de un ordenador sin virtualizar ........................................................ 19 Figura 8 - Virtualización completa usando traducción binaria .................................................... 20 Figura 9 - Virtualización asistida por sistema operativo .............................................................. 21 Figura 10 - Virtualización asistida por hardware ......................................................................... 22 Figura 11 - Esquema memoria virtual ......................................................................................... 23 Figura 12 - Técnica de virtualización de memoria ....................................................................... 25 Figura 13 - Esquema gestión vNIC por hipervisor ....................................................................... 27 Figura 14 - Abstracción acceso al almacenamiento .................................................................... 28 Figura 15 - Virtualización del sistema de ficheros ....................................................................... 29 Figura 16 - Virtualización de bloques de almacenamiento ......................................................... 29 Figura 17 - Virtualización de objetos ........................................................................................... 30 Figura 18 - Configuraciones RAID ................................................................................................ 31 Figura 19 - Conexiones MV - Almacenamiento mediante LUN ................................................... 32 Figura 20 - Ejemplo creación de volúmenes ............................................................................... 33 Figura 21 - Aproximación clásica de red física ............................................................................. 34 Figura 22 - Aproximación de red virtualizada .............................................................................. 35 Figura 23 - Funcionamiento virtualización escritorio .................................................................. 36 Figura 24 - Ejemplo virtualización de infraestructura ................................................................. 38 Figura 25 - IBM System/360 Model 40. ....................................................................................... 41 Figura 26 - IBM System/360 Model 67-2 (duplex) at the University of Michigan, c. 1969 ......... 42 Figura 27 - Parte de VM ............................................................................................................... 43 Figura 28 - IBM Personal Computer ............................................................................................ 44 Figura 29 - Esquema funcionamiento vMotion ........................................................................... 47 Figura 30 - Diferencias entre IaaS, PaaS y SaaS ........................................................................... 54 Figura 31 - Dimensiones de unidades rack .................................................................................. 56 Figura 32 - Diferentes tamaños de chasis .................................................................................... 56 Figura 33 - Menú inicial del programa Ghost .............................................................................. 75 Figura 34 - Selección de opciones para realizar un backup dentro del programa Ghost ............ 76 5 Figura 35 - Archivo .GHO creado al realizar el backup ................................................................ 76 Figura 36 - Comando para convertir fichero .GHO en fichero .VMDK ......................................... 76 Figura 37 - Fichero -VMDK obtenido tras ejecutar el anterior comando .................................... 76 Figura 38 - Selección de conexión de almacenamiento con disco VMDK ................................... 77 Figura 39 - Error que aparece al hacer boot con un formato de conexión de almacenamiento incorrecto .................................................................................................................................... 77 Figura 40 - Máquina Virtual W7 funcionando en Virtual Box ..................................................... 78 Figura 41 - Resumen de recursos seleccionados en VMWare Workstation para máquina virtual W7 ............................................................................................................................................... 78 Figura 42 - Máquina virtual W7 funcionando en hipervisor VMWare Workstation ................... 79 Figura 43 - Esquema infraestructura completa - Parte frontal .................................................... 81 Figura 44 -Esquema infraestructura completa - Parte posterior ................................................. 82 Figura 45 - Presupuesto general de la infraestructura ................................................................ 83 Figura 46 - Presupuesto por tipo de componente de la infraestructura ..................................... 83 Figura 47 - Objetivos de Desarrollo Sostenible ........................................................................... 84 Índice de tablas Tabla 1 - Ejemplos de servidores Dell comerciales [CC1] ............................................................ 58 Tabla 2 - Ejemplos de servidores HPE comerciales [CC2] ............................................................ 58 Tabla 3 - Ejemplos de servidores Inspur comerciales [CC3] [CC4] .............................................. 59 Tabla 4 - Ejemplos de servidores Lenovo comerciales [CC5] ....................................................... 59 Tabla 5 - Ejemplos de servidores Supermicro comerciales [CC6] ................................................ 60 Tabla 6 - Ejemplos de servidores Huawei comerciales [CC7] ...................................................... 60 Tabla 7 - Ejemplos de servidores Cisco comerciales [CC8] .......................................................... 61 Tabla 8 - Ejemplos de mainframes IBM comerciales [CC9] ......................................................... 61 Tabla 9 - Ejemplos de switches Cisco comerciales [CC10] ........................................................... 62 Tabla 10 - Ejemplo de switches Huawei comerciales [CC11] ...................................................... 62 Tabla 11 - Clasificación de categorías de cable ethernet............................................................. 64 12 principal. Por ello una herramienta de replicación de datos y volúmenes del sistema ayudará mucho a los administradores del sistema. 3La optimización de recursos debe ser óptima. Se deben disponer de datos en tiempo real de los consumos de recursos de la máquina virtual para así administrar de forma global todo el conjunto de máquinas virtuales y poder tener una imagen de las necesidades reales de cada máquina. La distribución de los recursos es una parte clave del trabajo de un administrador de máquinas virtuales ya que un mal uso de los mismos puede provocar degradaciones en el sistema y en las aplicaciones que se estén ejecutando en las máquinas virtuales. 4El acceso remoto a las máquinas virtuales del sistema debe ser garantizado para aprovechar las ventajas de este sistema. No tiene sentido desplegar una máquina virtual si solo puede ser utilizada desde la interfaz que provee el hipervisor, ya que se limitaría mucho el uso de las aplicaciones que funcionan dentro de ella. Por esta razón un estudio de la red y un correcto despliegue ayudará a explotar de manera efectiva todas las ventajas de estos sistemas. Ya es decisión final del cliente o del administrador del sistema que tipo de hipervisor debe utilizar. Para ello debe analizar su necesidad y hacer un estudio de las ventajas y desventajas de cada solución. 2.4. Contenedores La evolución de la virtualización es la utilización de contenedores. Como se ha explicado, una máquina virtual tiene los recursos que le da el hipervisor del hardware físico donde está instalado, por ello, es una virtualización del hardware físico. En ella se dispondrán de los sistemas operativos deseados y en ellos se ejecutarán las aplicaciones mediante las librerías y ficheros de sistema: Figura 3 - Estructura general de sistema virtualizado 13 A diferencia de una máquina virtual, un contenedor solo dispone de la aplicación, con sus servicios y dependencias asociados. No es necesario disponer de un sistema operativo, sino que aquí se virtualiza la parte del sistema operativo necesaria únicamente para que funcione la aplicación, se centra en aislar los procesos que la aplicación necesite, sus accesos a CPU, memoria necesaria y espacio en disco [8][9]. Figura 4 - Estructura general de sistema con contenedores Debido a esto, los contenedores son sistemas mucho más ligeros que una máquina virtual, ya que solo contienen servicios. Permiten ejecutar estos servicios en entornos menos complejos que los gestionados por máquinas virtuales. También, se pueden granularizar mucho más que las máquinas virtuales, ya que se pueden separar servicios que funcionan de manera independiente para así tener el control de cada elemento que forme parte del sistema final. Esta estructura se define como arquitectura de microservicios. 2.5. Principios teóricos de la virtualización Tomando como referencia la tesis de Robert P. Goldberg sobre los principios de la arquitectura de la virtualización, se van a explicar los principios básicos de este proceso. La evolución de la tecnología de ordenadores se divide en varias generaciones [10]: • Primera generación: desarrollados entre 1940 y 1950 y cuyo hardware estaba basado en válvulas de vacío. • Segunda generación: desarrollados entre 1950 y 1960 y cuyo hardware estaba basado en transistores. 14 • Tercera generación: desarrollados entre 1960 y 1970 y cuyo hardware estaba basado en circuitos integrados. • Cuarta generación: desarrollados entre 1970 en adelante y cuyo hardware estaba basado en microprocesadores. En primer lugar, hay que señalar el concepto de qué es virtualizable. Debido a que el texto data de los años 70, las limitaciones físicas y tecnológicas que había en ese momento eran elevadas. Por ello se define la abstracción de que un equipo se puede virtualizar si está desarrollado como un ordenador de tercera generación en adelante. Se establece un modelo de máquina con un procesador y memoria direccionable. Este procesador tendrá dos modos de funcionamiento, supervisor y usuario. La principal diferencia entre ellos es que un procesador en modo supervisor puede acceder a toda la memoria, dispositivos y puede ejecutar instrucciones privilegiadas mientras que el modo usuario tiene un conjunto de instrucciones y accesos más limitado [11]. La virtualización que se define es a nivel de instrucción, excluyendo entradas, salidas e interrupciones. Estas instrucciones pueden ser privilegiadas, sensibles o inocuas: • Las instrucciones privilegiadas solo pueden ser ejecutadas por el modo supervisor, en otro caso, generarán una excepción. • Las instrucciones sensibles son aquellas que tienen acceso a memoria, a otros recursos, al control de los mismos, o en las que su comportamiento depende de cómo estén configurados los recursos, pero sin posibilidad de generar excepciones. • Al resto de instrucciones, se las considera inocuas, ya que no generan excepciones o interrupciones y pueden ser ejecutadas directamente por el procesador. Con este marco de conceptos establecido, Popek y Goldberg establecieron 3 teoremas básicos de la virtualización [11]. El primero de ellos, define que para cualquier ordenador de tercera generación se puede construir un controlador de máquinas virtuales (Virtual Machine Manager, o VMM) si el conjunto de las instrucciones sensibles del ordenador origen son un subconjunto de las instrucciones privilegiadas del VMM. De este modo, como las instrucciones sensibles están dentro del conjunto de las privilegiadas pueden generar una excepción y ser gestionadas por el VMM. Esta abstracción tiene que ser gestionada por un supervisor, el hipervisor del sistema. Un hipervisor en origen no deja de ser un traductor de instrucciones que funciona en modo supervisor y las máquinas virtuales dentro de él funcionan con un sistema operativo en modo usuario. El hipervisor de este modo funciona capturando y emulando todas las instrucciones del sistema para que así las instrucciones sensibles del mismo no generen una excepción. Este modo de funcionamiento se conoce como capturar y emular (trap and emulate) [11]. 15 En el caso de que se quiera ejecutar una instrucción que no necesite privilegios, no hará falta emular la instrucción ya que el hipervisor se asegura de que no generará una excepción. El hipervisor debe asegurar que cualquier programa o aplicación que funcione bajo él se comporte igual que si estuviera ejecutando en un ordenador físico sin virtualizar. También tiene que controlar los recursos virtualizados para que no excedan límites que comprometan a las máquinas virtuales del sistema. Además, un gran número de las instrucciones de la máquina virtual deben ser ejecutadas sin la intervención directa del hipervisor, favoreciendo así el rendimiento del sistema [12]. Esto quiere decir que cualquier instrucción de la máquina virtual tiene que ser atendida por el hipervisor del sistema para así poder ejecutar la máquina virtual en modo usuario. De este modo, cualquier instrucción sensible de la máquina virtual, estará dentro del conjunto de instrucciones privilegiadas de la máquina virtual origen [12]. Las implicaciones de este teorema derivan en que si los hipervisores no controlan de manera eficiente estas instrucciones la máquina virtual podría darte cuenta de la existencia de una capa de virtualización, lo que rompería con la abstracción creada. La definición que Robert P. Goldberg propuso de máquina virtual e hipervisor se puede resumir en la siguiente imagen: Figura 5 - Definición de máquina virtual por Robert P. Goldberg En segundo lugar, establecen que un ordenador de tercera generación puede ser recursivamente virtualizable si él mismo es virtualizable y el hipervisor que utiliza no tiene dependencias temporales o de sincronización con otros componentes del sistema. 16 Este teorema permite la existencia de recursividad y anidamiento dentro del entorno de la virtualización, probando que los recursos físicos existentes serían capaces de mantener esta arquitectura. El último teorema define la posible creación de un hipervisor híbrido para un ordenador de tercera generación donde las instrucciones que hagan funcionar al procesador en modo usuario sean un subconjunto de las instrucciones privilegiadas [10] [11]. Una máquina virtual híbrida, es aquella donde las instrucciones en modo supervisor están sujetas a la interpretación del hipervisor o pueden ejecutarse de manera directa sobre los recursos del sistema. Cuando se produce un intento de ejecución de instrucción sensible, el hipervisor híbrido se encargará de realizarlo. De esta manera solo deja a la ejecución directa las instrucciones innocuas. Este último teorema es la versión laxa del primero ya que solo se centra en las instrucciones sensibles y no en las privilegiadas, relajando la definición del teorema 1 de qué máquina es virtualizable [11][12]. El trabajo de Robert P. Goldberg solo especificaba la virtualización del procesador, pero no incidía en la virtualización de las entradas y de las salidas del sistema ya que es un proceso que genera más dificultades y no había tantas necesidades en las primeras etapas de la virtualización. Hay varias aproximaciones para que una máquina virtual pueda acceder a estos recursos [10] [11] [12]. • Modo de acceso completo para los dispositivos: es el modo más sencillo, donde se permite a la máquina virtual acceder directamente a los dispositivos sin la intervención del hipervisor. Es un modo sencillo ya que le quita complejidad a cómo el supervisor funciona, pero no deja de funcionar como un ordenador clásico, accediendo directamente a los recursos, por lo que el sistema virtualizado podría saber que está dentro de un host rompiendo con la individualidad de la máquina virtual. Otro inconveniente es que cada máquina virtual que funcionara en este modo necesitaría un dispositivo de entrada/salida diferente para su funcionamiento. • Instalar los drivers del dispositivo en el hipervisor: implica virtualizar el sistema de entradas y salidas dentro del hipervisor, volviéndolo más complejo. Esto permitiría compartir entradas y salidas dentro de las máquinas virtuales, pero a la hora de programar un hipervisor los fabricantes deberían ponerse de acuerdo para que contara con todas las funcionalidades necesarias. • Particiones de entradas y salidas: esta técnica genera una capa de virtualización sobre cada dispositivo para que pueda ser utilizado de manera concurrente por las máquinas virtuales. Esta técnica es más compleja y requiere un trabajo añadido dentro del hipervisor, pero consigue que cada máquina virtual disponga de un dispositivo de entrada salida virtual que será gestionado por el sistema de virtualización de ese dispositivo, disponiendo de un único sistema físico. • Paravirtualización de dispositivos: la última aproximación es que el sistema operativo invitado de la máquina virtual pueda comunicarse con el hipervisor 17 donde está instalada para así disponer de los recursos del servidor físico. Es eficiente de cara al uso de los recursos, pero rompe con la capa de abstracción que genera el hipervisor con las máquinas virtuales. Todas las técnicas que se han explicado permiten el uso de los periféricos del host origen, pero generan problemas, ya sean de seguridad al poder acceder a dispositivos de manera no controlado, de programación al tener que codificar todas las interacciones o de rendimiento al dispositivo al que se está accediendo. 2.6. Tipos de virtualización Habiendo establecido los principios teóricos de qué se puede virtualizar, ahora se van a exponer las diferentes técnicas de virtualización para virtualizar CPU, memoria y dispositivos de entrada y salida. 2.6.1. Virtualización de CPU Una primera aproximación para la virtualización de la CPU es realizar una virtualización por emulación. No es una virtualización en si ya que no utiliza un hipervisor, pero es conveniente explicar su concepto ya que puede haber aplicaciones que pueden ejecutarse con este modo de funcionamiento sin tener que pasar por un proceso de virtualización. En la emulación, un software conocido como emulador convierte la arquitectura de la CPU que se desea emular en la arquitectura del procesador físico donde se va a ejecutar la máquina virtual. No hay acceso directo a los recursos físicos del sistema ya que tienen que pasar por esta capa de software [7]. Los programas que utilizan emulación tienen las ventajas de que, si todas las instrucciones han sido traducidas a la arquitectura deseada, el sistema funcionará del mismo modo que en el hardware original, pero habrá que dedicar muchos recursos a la ejecución del emulador ya que todas las instrucciones deberán pasar por este proceso de traducción. También es una forma de luchar contra el software obsoleto. Desarrollar un emulador de un sistema antiguo puede permitir ejecutar en un sistema moderno aplicaciones que no han sido migradas o actualizadas a los nuevos sistemas. Si no se puede optar por un proceso de emulación, hay que estudiar la arquitectura real del procesador que se necesita virtualizar. La mayor parte de los procesadores del mercado tienen las arquitecturas x86 o x86-64, siendo este último la versión de 64 bits de la arquitectura original x86. 18 La arquitectura x86 de procesadores, tanto la original, como la arquitectura extendida de 64 bits, provocaron la creación de distintos tipos de virtualización ya que tiene ciertas características que no permiten una virtualización directa siguiendo los principios de Goldberg [11]. Esta arquitectura se define mediante diferentes privilegios, los anillos o ring, que son niveles de acceso al hardware del sistema para el sistema operativo o aplicaciones [13][14]: Figura 6 - Arquitectura general procesador x86 El menor nivel de privilegios es el nivel 3, normalmente dedicado a las aplicaciones que ejecutan los usuarios, y el máximo nivel de acceso queda definido por el nivel 0, en el cual está el sistema operativo ya que necesita acceso directo a la memoria y el hardware del sistema. Para poder virtualizar un sistema, siempre se añade una capa de software entre el hardware y el sistema operativo invitado, el hipervisor, que se encargará de gestionar las máquinas virtuales que se desplieguen en este sistema. Añadiendo una capa más entre el anillo 0 y el hardware del sistema provocará que la arquitectura básica se rompa y pueda haber algunas instrucciones que no puedan ser virtualizadas mientras no se encuentren en el nivel 0. A partir de aquí aparecen 3 alternativas para virtualizar, dependiendo de cómo se genere la capa de abstracción y el tratamiento de las excepciones e instrucciones privilegiadas 2.6.1.1. Virtualización completa usando traducción binaria En el funcionamiento clásico de un ordenador, el Kernel es la capa básica de software del sistema operativo que se encarga de la gestión y administración de los recursos físicos 19 del sistema, como puede ser memoria, CPU, red y los dispositivos de entrada y salida [13][14]. Figura 7 - Funcionamiento de un ordenador sin virtualizar La gestión de la CPU se realiza mediante instrucciones, que tienen distintos modos de privilegio dependiendo de la aplicación que quiera ejecutar una instrucción. Esto es debido a que no todas las aplicaciones tienen por qué tener acceso a zonas privilegiadas de la memoria del sistema o de acceder a dispositivos a los que no tendrían que poder controlar. Este modo de virtualización traduce el código del Kernel del sistema con nuevas instrucciones para reemplazar instrucciones que no pudieran ser virtualizadas debido a la segmentación de las capas de la arquitectura x86. De este modo el hardware virtualizado podrá ejecutar instrucciones que antes no era capaz por la segmentación de capas debido a que ahora el Kernel no tiene los privilegios de la capa 0. Además, la ejecución de las aplicaciones de los usuarios será realizada directamente en el hardware del sistema, sobre el procesador, aumentando el rendimiento del sistema. Cada hipervisor da a cada máquina virtual una abstracción de los recursos físicos del sistema, además de una BIOS virtual, dispositivos virtuales y gestión de memoria virtualizada. Entonces, esta virtualización combina la traducción de instrucciones de Kernel y la ejecución de aplicaciones directamente sobre el procesador, lo que hace que el sistema operativo esté completamente virtualizado ya que no tiene constancia de los recursos del sistema físico original, lo que provoca que no haya que realizarle ninguna modificación ya que está abstraído de manera absoluta. No es necesario ni asistencia por hardware a las instrucciones ejecutadas ni a las funciones del sistema operativo. El hipervisor es el que se encarga de traducir todas las instrucciones del sistema operativo durante la marcha corriente del sistema y las instrucciones de acceso no privilegiado utilizadas por las aplicaciones no tienen 20 problemas de rendimiento ni sufren ninguna degradación ya que se ejecutan directamente sobre la CPU. Este sistema ofrece ventajas como el mejor aislamiento del sistema operativo y seguridad sobre las máquinas virtuales gestionadas por el hipervisor. Además, la migración de máquinas virtuales entre este tipo de sistemas es más sencilla ya que no es dependiente del tipo de hardware sobre el que se ejecuta, ya que como se ha explicado, el sistema operativo no es consciente de la virtualización. Un resumen de esta aproximación se ve en la siguiente imagen [13][14]: Figura 8 - Virtualización completa usando traducción binaria 2.6.1.2. Paravirtualización o virtualización asistida por sistema operativo Este tipo de tecnología hace referencia al tipo de virtualización que hace uso de comunicaciones entre el sistema operativo invitado y el hipervisor instalado en el servidor. De este modo se mejora tanto la eficiencia como el rendimiento de las máquinas virtuales [13][14]. Su funcionamiento consiste en modificar el Kernel del sistema operativo, donde se reemplazarán las instrucciones no virtualizables (por el modelo de capas) por mensajes entre el sistema operativo y el hipervisor. Estos mensajes son conocidos como hiperllamadas. No solo se programan hiperllamadas para gestionar las instrucciones más privilegiadas si no que la gestión de la memoria, la gestión de interrupciones o la gestión de la fecha y hora son ejemplos de mensajes de este tipo de virtualización. 21 Al igual que en la virtualización completa, las aplicaciones del sistema operativo pueden ejecutarse directamente sobre los recursos del sistema. El funcionamiento queda resumido en la siguiente imagen [13][14]: Figura 9 - Virtualización asistida por sistema operativo A diferencia de la virtualización completa, aquí no se realiza una abstracción completa del sistema operativo ya que este sí que es consciente de que hay un actor que responde a ciertas llamadas del sistema. Este tipo de virtualización tiene más interés de uso en entornos de menor sobrecarga de llamadas al hardware, ya que por la inclusión de las hiperllamadas provoca que no haya un flujo constante de traducciones de instrucciones. El hipervisor, por otro lado, debe estar preparado para asumir la carga de llamadas y debe estar dimensionado para ello. Un inconveniente respecto a la virtualización completa es el incremento del tiempo dedicado al soporte y mantenimiento ya que se deben realizar modificaciones delicadas en el Kernel del sistema operativo. Es recomendable por ello utilizar este tipo de virtualización con sistemas operativos e hipervisores de código abierto para evitar así problemas de compatibilidad tras las modificaciones. 2.6.1.3. Virtualización asistida por hardware Con el incremento de uso de la tecnología de virtualización, los propios vendedores de hardware están modificando sus dispositivos para facilitar la integración de los entornos de virtualización con sus elementos. A diferencia de las dos técnicas anteriores, que solo necesitaban modificaciones del software en el hipervisor, esta necesita de componentes físicos dedicados dentro de los procesadores para poder realizarse [13] [14]. 28 tener un conector dedicado para cada máquina virtual se permite la conexión hacia dispositivos de almacenamiento [20]. 2.6.4. Virtualización de almacenamiento Tras aplicar las técnicas de virtualización de CPU, memoria y dispositivos, el siguiente paso lógico es la virtualización del almacenamiento del sistema, para así romper la relación unitaria de un ordenador físico clásico en donde el sistema dispone de discos físicos dedicados para él. Para realizar esta virtualización se deberá conseguir mostrar al sistema una única unidad de almacenamiento virtual que estará formada por la agrupación de varias unidades físicas, rompiendo así las limitaciones de la gestión de discos físicos. Para conseguirlo, como en los tipos de virtualización anteriores, se necesitará de una capa de software que analice el almacenamiento disponible de los dispositivos físicos para combinarlos en una única unidad lógica. Mediante los protocolos de acceso a los dispositivos definidos, este software enviará las peticiones de lectura escritura a la sección física correspondiente del disco físico que se haya asignado a la máquina virtual que lo utilice. Así, para el usuario que esté utilizando almacenamiento virtualizado, no tendrá constancia de qué tipo o cuanto es la cantidad total de almacenamiento disponible, solo que dispone de una unidad de almacenamiento. Esta abstracción se resume en la siguiente figura [21]: Figura 14 - Abstracción acceso al almacenamiento 29 Hay varios tipos de virtualización de almacenamiento, dependiendo de la abstracción que se realice [21]: • Virtualización del sistema de ficheros: este tipo de gestión de almacenamiento se basa en crear un sistema de almacenamiento de ficheros dentro de los recursos virtuales de la infraestructura de almacenamiento. Esto será realizado por el software de virtualización y su administración será realizada mediante el hipervisor, ya que la máquina virtual solo podrá ver la arborescencia de ficheros creada en este sistema. Utilizar el sistema de ficheros podrá ser conveniente en entornos de red donde pueda haber accesos concurrentes al almacenamiento y el cliente no tenga que preocuparse de la administración del mismo. Figura 15 - Virtualización del sistema de ficheros • Virtualización de bloques: aquí, el hipervisor de la infraestructura de almacenamiento reservará un bloque de datos para la máquina virtual en el que solo definirá el tamaño y el tipo de bloque. Así, la máquina virtual podrá gestionar este espacio como desee, como crear diferentes particiones para diferentes funciones dentro del sistema operativo. Este tipo de virtualización de almacenamiento se debería utilizar en el caso en el que el cliente desee gestionar el espacio asignado directamente, teniendo una complejidad mayor que el de la virtualización del sistema de ficheros. Figura 16 - Virtualización de bloques de almacenamiento • Virtualización de objeto: aquí, el sistema de almacenamiento definirá cada dato como un objeto virtual, que consistirá en que tiene el propio dato almacenado además de metadatos sobre él. Esta técnica no tiene conocimiento del objeto que almacena, solo de sus características. El cliente final, mediante la interfaz del hipervisor, podrá recuperar el objeto para visualizarlo recuperando sus componentes definidos en el almacenamiento. Este sistema será utilizado 30 cuando el cliente desee abstraerse completamente de cómo gestionar el espacio y como se va almacenar, se almacenarán los recursos de manera invisible para él. Figura 17 - Virtualización de objetos Dependiendo del protocolo de almacenamiento utilizado o la arquitectura de almacenamiento, estas unidades lógicas son denominadas LUN (Logical Unit Number), LV (Logical Volume) o grupos RAID (Redundant array of independent disks) donde varios discos físicos replican la información de manera redundante para conseguir tolerancia ante fallos o mejoras en las operaciones de lectura/escritura [22]. En una configuración RAID, se utilizan diferentes unidades de almacenamiento para conseguir redundancia ante fallos en disco. Se suele trabajar con unidades de tamaño similar para el correcto funcionamiento del sistema RAID. Sus configuraciones más habituales son el reparto de las secciones de los datos, la duplicación de la información, ya sea literal o mediante paridad o una combinación de las anteriores. El uso de una configuración u otra viene dado principalmente por el presupuesto que se quiera invertir en el sistema ya que cada tipo de raid requiere un número de discos mayor al del uso habitual. Las configuraciones más habituales son [23]: • Raid 0: la información se divide en diferentes secciones de discos, aumentando la capacidad de escritura ya que los datos están separados en discos diferentes, pero sin redundancia. • RAID 1: la información se replica en dos discos de manera espejo, soportando fallos en un disco. • RAID 10: se crea una combinación de dos RAID 1 en una configuración RAID 0, aumentando mucho la tolerancia ante fallos, pero disminuyendo la velocidad de lectura o escritura. La figura 18 esquematiza el reparto de los datos, A y B, en las diferentes configuraciones explicadas. 31 Figura 18 - Configuraciones RAID La abstracción de la información de cara al sistema operativo viene dada por tecnología hardware o por software: • RAID por hardware: utiliza un controlador de discos específico que está instalado en la placa base del sistema y es la que se encarga de crear y gestionar esta administración de la información. • RAID por software: un programa instalado en el sistema operativo del sistema es el encargado de realizar la replicación de los datos. El uso de uno u otro viene dado por la capacidad de inversión que se quiera realizar, siendo el primero más elevado ya que se debe comprar una controladora RAID específica, mientras que el segundo es más económico y fácil de configurar, ya que se realiza desde el sistema operativo y no desde la BIOS, pero a cambio introduce una carga de computación en la CPU que se debe asumir para que su funcionamiento sea el adecuado [23]. En el caso de las LUN, un mismo sistema de almacenamiento se puede configurar de diferente manera para satisfacer las necesidades de redundancia de datos o de velocidad de lectura y escritura que la aplicación de la máquina virtual requiera. Una LUN no deja de ser una dirección de datos utilizada por un protocolo de almacenamiento, normalmente en red, para que una máquina virtual disponga de un sistema de virtualización de almacenamiento. Dependiendo del sistema utilizado, dentro de la LUN se podrá configurar como sistema de ficheros, como un bloque para la máquina virtual o se puede utilizar para virtualizar objetos [22]. En el ejemplo mostrado a continuación en la figura 19, la máquina virtual asignada a la LUN1 se ha configurado con un RAID más estricto para así mantener la integridad de los datos, asumiendo un mayor gasto de disco ya que hay más replicación, y para la segunda máquina virtual se han creado dos LUN independientes, LUN2 y LUN3, con menor replicación para conseguir una solución más económica, aunque menos robusta a fallos de disco. 32 Figura 19 - Conexiones MV - Almacenamiento mediante LUN Por otro lado, los volúmenes lógicos surgieron en los sistemas operativos Linux como la solución a la gestión del almacenamiento. Por ello, en su origen no surgieron como sistema de almacenamiento en red, pero fue una primera aproximación para la virtualización del almacenamiento [21]. Para ello, a partir de una configuración de discos de almacenamiento, ya sea el disco unitario o en sistema RAID, se genera una capa de abstracción para el sistema operativo donde el no accede directamente al disco si no a la abstracción que se crea configurando el almacenamiento. Esto se conoce como volumen físico, y con la suma de todos los volúmenes físicos instalados en el sistema operativo dispone de un grupo de volúmenes donde se crean los volúmenes lógicos que el sistema operativo utilizará para generar su estructura de directorios. Aquí la capa de virtualización la genera el sistema operativo, ya que el volumen lógico no sabe en qué disco físico están almacenados los datos con los que trabaja [23]. En el ejemplo de la figura 20, con 3 tipos de configuraciones de discos, cada una de un tamaño, se creará un volumen físico por cada una del mismo tamaño, consiguiendo así un grupo de volúmenes cuyo tamaño es la suma de los volúmenes físicos y ya es labor del sistema operativo asignar a cada volumen lógico el tamaño suficiente para cada sistema de ficheros, dimensionándolos para así disponer de espacio suficiente para su correcto funcionamiento. También se puede dejar espacio sin asignar para redimensionar el volumen lógico en el caso de que fuera necesario, teniendo en cuenta que debe haber espacio libre y disponible en el grupo de volúmenes subyacente [23]. 33 Figura 20 - Ejemplo creación de volúmenes 2.6.5. Virtualización de red El término virtualización de red define el concepto de la abstracción de recursos de red físicos mediante un software, con el que se podrán combinar diferentes redes físicas en una única red virtual o, al contrario, dividir una red física en diferentes redes virtuales independientes [24]. En el contexto de las máquinas virtuales que se está desarrollando, la virtualización de la red se utiliza para poder comunicar diferentes sistemas que pueden estar en diferentes infraestructuras físicas. Como se ha explicado en el apartado de virtualización de dispositivos, una máquina virtual dispone de uno o varios vNIC dados por el hipervisor que gestionan la transmisión de información a la red subyacente donde los NIC del servidor físico están conectados. Como cada máquina virtual puede tener definidas direcciones de red de una o varias redes estando conectadas a la misma red física, hace falta un mecanismo de abstracción dentro de esta red, lo que se conoce como Virtual Local Area Network o VLAN. Aunque las VLAN más típicas se definen a nivel de capa de enlace de red ya que es una extensión del concepto de LAN, los switches serán los encargados de gestionar esta abstracción ya que son los encargados de conectar equipos dentro de una misma red, aunque no por ello se podría definir otro tipo de abstracción de red en otras capas, como pudiera ser una VLAN por familia de MAC en vez de por dirección IP, por protocolo de red utilizado, o por tráfico de aplicaciones. Aun así, el modelo de abstracción que se va a desarrollar a continuación es la gestión de VLANs mediante la configuración de los puertos de un switch, ya que es el más utilizado y el que ofrece más ventajas respecto a los otros. La aproximación clásica de un switch consiste en conectar dispositivos que están en lugares separados físicamente para que puedan comunicarse entre sí, pero esta 34 comunicación solo ocurre dentro de la misma red, para poder salir de ella haría falta la utilización de un router para poder encaminar mensajes de diferentes redes entre sí: Figura 21 - Aproximación clásica de red física A gran escala, puede ocasionar problemas como el agotamiento de direcciones IP dentro del rango de la LAN asignado, el tener todo el tráfico de los sistemas en una misma red, el no poder separar funcionalidades o no tener una gestión de los accesos. Utilizando las VLAN, dentro de una misma red física se podrán establecer diferencias lógicas dependiendo de donde se quiera enviar la información. Para ello se harán divisiones lógicas dentro de esta red para así solucionar los problemas mencionados. Esto lo realizará el administrador de la red y lo configurará en el switch que será el elemento que disponga de la capa de software necesaria para realizar la virtualización de red. El funcionamiento de la VLAN se basa en asignar a los puertos del switch identificadores dependiendo de a que VLAN queramos que una tarjeta de red esté conectada. De este modo, teniendo los switches de una red conectados entre sí, o incluso añadiendo routers para unir redes que no estén localizadas espacialmente en el mismo lugar, podemos tener dispositivos no conectados físicamente a la misma red, pero si lógicamente, consiguiendo que haya comunicación entre ellos. Así, máquinas virtuales de diferentes departamentos de una misma organización pueden conectarse entre sí aun no estando en la misma infraestructura física. El ejemplo mostrado a continuación, muestra esta ventaja, disponiendo de una red separada en el espacio, con clientes físicos o virtuales, en la que los switches son los encargados de permitir la comunicación entre estos dispositivos. 35 Figura 22 - Aproximación de red virtualizada La infraestructura 1 y la infraestructura 2 se encuentran geográficamente cerca y es posible unirlas mediante cable, pero la infraestructura 3 necesita un router, con software dedicado de administración de VLANs, para poder acceder a las comunicaciones de los equipos de la infraestructura 1 y 2. Aparece también una VLAN dedicada a la comunicación entre infraestructuras, en la que todo el tráfico puede circular por ella. Esto se conseguirá configurando los puertos de los switches que necesiten esta característica ya que si no sería imposible conectar dos infraestructuras diferentes. Este tipo de puertos se denominan trunk y en ellos se configurarán las VLAN que se quieran transmitir por él [24]. Aquí, la virtualización viene dada por el software del switch que es el encargado de filtrar el tráfico dependiendo de la VLAN que se cree. Además, el hipervisor que gestiona las máquinas virtuales tiene que ser consciente de la creación de diferentes redes para así poder configurar su propio software de virtualización de redes. Las VLAN ofrecen varias ventajas frente a la estructura LAN clásica, como pueden ser [25]: • Facilitan la administración de la red, ya que se pueden agrupar usuarios de la red que no estén físicamente en el mismo espacio. Incluso cambiando de localización física, si se necesita conectarse a una VLAN específica, basta con configurar el switch para que disponga de esa VLAN y el puerto en cuestión al que se debe conectar el usuario final. Al inverso también funcionan, si un usuario cambia de función, solo es necesario cambiar el puerto de la VLAN a la que se conecta para que pueda comunicarse con los equipos correspondientes. • Reduce el tráfico de broadcast dentro de la VLAN, ya que los usuarios finales solo escucharán el tráfico de la VLAN a la que estén conectados. 36 • Aumentan la seguridad de la red, ya que, si un usuario se conecta a un puerto de un switch de manera indebida, no podrá comunicarse con el resto de activos de la red si no se ha configurado ese puerto para ello. Aunque las VLANs ofrezcan estas ventajas, hay que tener en cuenta que para desplegarlas hay que invertir en transformar la red, ya que los switches tienen que ser compatibles con esta tecnología, el protocolo IEEE 802.1Q, y si se desea conectar redes alejadas es necesario incluir routers compatibles. También se introduce una capa de abstracción más en la misma, la cual los administradores de la red tienen que gestionar. 2.6.6. Virtualización de escritorio Este tipo de virtualización ya entra juego como el usuario se relaciona con la infraestructura con la que trabaja. Ahí, la virtualización de escritorio entra en juego, siendo una herramienta que permite al usuario acceder desde cualquier terminal al escritorio del sistema operativo en el que esté trabajando. De esta manera, se puede separar el contenido de la máquina virtual del lugar geográfico del usuario final, generando una flexibilidad a los clientes superior a la de alternativas con conexión fija a las máquinas virtuales. Figura 23 - Funcionamiento virtualización escritorio Para ello, en un servidor central se creará una instancia del sistema operativo y de su escritorio que se independiza del sistema operativo y del escritorio del usuario. De este modo cada usuario dispone de recursos de CPU, memoria y almacenamiento dedicados sin tener que mantenerlos por él mismo. Para utilizar estos recursos, necesita un cliente, 37 que no tiene por qué tener grandes especificaciones de hardware para funcionar y conexión de red al servidor donde se esté ejecutando el escritorio remoto. Las principales ventajas de este sistema son [26]: 1Facilidad de administración del mismo, ya que a los usuarios finales se les puede proporcionar un terminal cliente independiente a de las necesidades que tengan. 2Ahorro en la infraestructura, ya que estos clientes se pueden conseguir a un precio económico y se puede invertir en otras partes del sistema como mejorar la red o el núcleo de la infraestructura donde se conecten los clientes. 3Seguridad y escalabilidad, ya que el núcleo de la infraestructura permanece estable ante fallos en los clientes de los usuarios y es sencillo introducir un nuevo cliente a la misma si se disponen de los recursos de red necesarios. Las principales formas de uso de este sistema pasan por protocolos de conexión remota a la infraestructura, como las herramientas de software VDI (Virtual Desktop Infrastructure) o RDP (Remote Desktop Protocol) [26]. 2.6.7. Virtualización de infraestructura Tras haber virtualizado los componentes clásicos, puede aparecer la situación en la que un servidor donde se ha instalado un hipervisor tenga limitaciones de memoria, CPU, red o almacenamiento debido al gran número de máquinas virtuales que se han desplegado en él. La siguiente opción sería desplegar otro servidor para poder seguir desplegando máquinas virtuales, pero esto causaría un mayor esfuerzo en el mantenimiento de la infraestructura y la imposibilidad de aprovechar los recursos de los servidores completamente, ya que el uso de la CPU, memoria o red no tiene por qué escalar de manera lineal con el número de máquinas virtuales desplegadas. Por ello, el siguiente paso lógico puede venir por intentar agrupar recursos como CPU, memoria o almacenamiento para que funcionen como un agregado, en vez de disponer de elementos discretos que funcionen de manera independiente. Para conseguir esta nueva funcionalidad, además de introducir un hipervisor en cada servidor que se quiera conectar a la infraestructura, es necesario disponer de un software que funcione como orquestador de toda la infraestructura de servidores [27]. Así, se pueden agrupar todos los recursos de los mismos aprovechando de manera más eficiente los recursos desplegados. También sería recomendable aislar el almacenamiento de la memoria y la CPU, para así tener cada recurso de manera separada favoreciendo la granularidad de la infraestructura. Este software deberá disponer de capacidad de asignación de recursos de manera dinámica en todos los nodos de la infraestructura, para tener el rendimiento más óptimo. Esto se puede conseguir migrando máquinas virtuales de un servidor a otro para así ejecutar las tareas de cada una en el servidor que mejores recursos pueda ofrecer en 44 servidor donde se ejecutan, lo que implica que el procesador tiene acceso de manera completa y sin restricciones a todos los recursos del sistema [33]. Entonces a partir de la creación y el uso común de este tipo de procesadores, se investigaron las maneras de poder crear máquinas virtuales con ellos, ya que parecía imposible de primeras realizarlo. Esto era debido a que capturar todas las interrupciones y excepciones generadas por el sistema, además de los accesos más privilegiados, era un desafío elevado, ya que el diseño de esta arquitectura no contaba con necesitar este tipo de acciones. Con la aparición de sistemas operativos multiusuario, como fue el desarrollo de UNIX y la reducción de los costes de hardware, haciendo que fuera más accesible el acceso a un ordenador no solo para empresas sino para una mayor parte de la población, durante los años 80 no se realizó tanto inversión ni desarrollo de sistemas de virtualización, ya que nuevas arquitecturas de ordenadores, como la x86, fueron creadas y no incluían soporte para virtualización. Por ello, los esfuerzos de investigación durante esos años fueron destinados a la mejora de los sistemas monousuario. IBM, que durante los años 60 y 70 fue la pionera en el desarrollo de los entornos de virtualización, se adecuó a las necesidades del mercado y dejó a un lado la investigación en plataformas mainframe y se centró en la venta de ordenadores personales, como el PC-IBM [31]: Figura 28 - IBM Personal Computer https://www.muycomputer.com/2021/08/12/40-anos-del-ibm-pc/ Durante la década de los 80, IBM disponía de una cuota de mercado en la venta de ordenadores personales del 80% por lo que dedicó sus esfuerzos a diseñarlos con más recursos y mayor rendimiento. 3.4. Años 90 y 2000, resurgimiento de la virtualización. Al inicio de los años 90, cambia el paradigma de uso del uso de los mainframes en las empresas. Todas las investigaciones sobre hardware realizadas durante los años 80 45 llevaron a la aparición de los servidores físicos, donde se podían agrupar recursos de CPU, memoria RAM y almacenamiento de manera compacta y sin ocupar mucho espacio físico. IBM seguía fabricándolos al llevar tantos años con esta tecnología en el mercado, y en el año 2000 publicó la serie IBM Z, que continúan hasta nuestros días y son una serie de mainframes de alto rendimiento diseñados para ejecutar la informática de bancos, gobiernos y otras organizaciones que necesiten requisitos de alta disponibilidad, seguridad y un alto tráfico de datos. Además, tenían la capacidad de ejecutar múltiples sistemas operativos simultáneamente en diferentes máquinas virtuales como el propio z/OS, Linux en Z, su línea z/VM o z/VSE. Para poder ejecutarlos, desarrollaron el sistema PR/SM (Processor Resource ans System Manager) que permitía dividir todos los recursos del mainframe en diferentes unidades lógicas donde ejecutar estos diferentes sistemas operativos. Cada división se podría considerar como un servidor físico independiente en otros sistemas de virtualización [31]. Tras hacer estas divisiones, es el momento en el que se pueden instalar los sistemas operativos en el mainframe. z/VM es el sistema operativo nativo del sistema IBM Z que permite ejecutar múltiples máquinas virtuales ya que funciona como un hipervisor y en él se pueden hacer funcionar el resto de sistemas operativos, o se pueden utilizar otras PR/SM para ejecutar el sistema operativo deseado [31]. Otra ventaja que esgrimían era la capacidad de poder ejecutar todas las aplicaciones que se hubieran desarrollado en otros sistemas IBM anteriores, como el System/360 mencionado anteriormente, por lo que muchas empresas que no deseaban rediseñar sus aplicaciones fundamentales podían migrar a este sistema que disponía de más recursos físicos y de software que los anteriores [31]. Aunque muchas empresas seguían operando con sus mainframes, la aparición de servidores a partir de los años 90 por empresas como Compaq provocó que las grandes estancias dedicadas a los mainframes pasaran a ser racks de almacenamiento de servidores donde se podían tener conectados varios de ellos. El principal problema de la arquitectura con servidores independientes era su refrigeración, ya que estos servidores disipaban mucho calor y por ello se diseñaron sistemas de enfriamiento dedicados para estos servidores [33]. Aún con este problema, muchas empresas pudieran desplegar este tipo de tecnología sin necesidad de adecuar su infraestructura al gran espacio y energía requerido para disponer de un mainframe. En un rack, podían desplegar recursos y potencia de manera más económica que con el uso de un mainframe. Tras los avances en el hardware, el siguiente paso fue la innovación en el software, con la creación de muchas soluciones que se siguen utilizando a día de hoy. 46 En 1994, Marc Ewing crea Red Hat Linux, un Sistema operativo especialmente dedicado para empresas. Desde ese momento, comenzaron a integrar software de otros fabricantes en el suyo propio, convirtiéndose poco a poco en una empresa importante dentro del mundo de los sistemas operativos. No se creó ningún útil para la virtualización, pero se plantó una semilla como sistema operativo empresarial que más tarde aprovecharían [34]. No fue hasta 1998 cuando VMWare planteó la solución al problema de la virtualización x86. Para ello, desarrolló la técnica de virtualización binaria, la cual permitía al hipervisor ejecutarse en el anillo 0 de privilegios para que estuviera aislado y tuviera un mejor rendimiento [35][36]. Esto provocó que el sistema operativo virtualizado tuviera que ejecutarse en un anillo superior, con más privilegios que las aplicaciones que se están ejecutando en el anillo 3 pero menos privilegios que el hipervisor, ya que este sería el encargado de gestionar al sistema operativo los recursos del host. También desarrollado por ellos, en 1998, publicaron VMware Workstation, hipervisor de tipo 2 que funcionaba en sistemas operativos tanto Windows como Linux [36]. Tras ello, en 2001 publicaron ESX Server 1.0, su primer hipervisor de tipo 1 que soportaba máquinas virtuales de hasta 2GB. Se podían ejecutar varios sistemas operativos a la vez, como eran Windows NT, Windows 95/98, MS-DOS6 o Red Hat 5.0. ESX es un acrónimo de Elastic Sky X y se utilizó ESX como abreviatura del mismo [36]. Estos sistemas fueron patentados por VMWare en 2002. En la definición de la patente plantearon un sistema, basado en una CPU y memoria, con un hipervisor, capaz de virtualizar un ordenador mediante una máquina virtual. La máquina virtual se conectaría al hipervisor que sería el que ejecutase sus instrucciones mediante las técnicas de traducción binaria y ejecución directa en una arquitectura x86. El siguiente hito alcanzado por VMWare ocurrió en 2003, donde debido a las demandas de disponibilidad de los sistemas que funcionaban en servidores bajo un hipervisor introdujeron un sistema conocido como vMotion, el cual permite migrar en tiempo real máquinas virtuales entre servidores independientes de una misma infraestructura [36]. Entonces, en momentos donde ocurran incidentes en el servidor donde una máquina virtual esté alojada, como pueden ser fallos de hardware, la sobrecapacidad de los recursos dispuestos para las máquinas virtuales del servidor o incluso la necesidad de ejecutar una cierta máquina virtual en un hardware específico por necesidades de los administradores de red, el hipervisor mediante esta funcionalidad puede encargarse de mover las máquinas virtuales en caliente sin necesidad de que estén apagadas, minimizando el tiempo de indisponibilidad de la aplicación. Esta transferencia se basa el servidor destino reserva recursos de CPU, memoria RAM, red y almacenamiento para la máquina virtual seleccionada para la migración, que se ejecutará en el nuevo servidor cuando se consiga migrar el estado de la máquina virtual, con todos sus procesos y en el mismo estado que se encontraba en el servidor anterior. 47 Figura 29 - Esquema funcionamiento vMotion Este hipervisor de estas primeras versiones estaba basado en el sistema operativo creado por VMWare, VMKernel, que actuaba como una interfaz entre el hardware del servidor y las máquinas virtuales alojadas en él. En su desarrollo incluyeron funcionalidades comunes de otros sistemas operativos como creación y control de procesos, hilos o sistemas de ficheros. Se diferenciaba de otros sistemas operativos ya que introducía funcionalidades dedicadas para la gestión de máquinas virtuales como la disponibilidad de múltiples drivers de dispositivos, gestión de los recursos del sistema para así asociarlos a las máquinas virtuales o pilas de acceso para las entradas y salidas [37]. El VMKernel ha sido también desarrollado a lo largo de los años por VMWare incluyendo más funcionalidades como las mejoras en vMotion, gestión de ficheros en red o comunicaciones iSCSI [37]. Ambos proyectos, solo podían ejecutar máquinas virtuales con procesador de 32 bits, pero fue el inicio de VMware como uno de los principales proveedores de software de virtualización. La siguiente innovación creada por VMWare fue la plataforma VCenter, publicada en 2003 y consistía en una máquina virtual instalada dentro de la infraestructura del cliente que le permitiría administrar todas las máquinas virtuales de diferentes hosts desde una misma interfaz. De este modo, permitían utilizar eficientemente la tecnología vMotion, ya que tendrían la visión a tiempo real del origen y destino de la migración de la máquina virtual [36]. Además, con esta herramienta se dispone de una visión del uso de los recursos de la infraestructura, por lo que los administradores del sistema pueden mover las máquinas virtuales de un servidor a otro para optimizar su carga y si alguno de ellos estuviera experimentando algún problema se podrían anticipar a su paso por cero migrándolo en tiempo real a otro servidor. En 2004, publican el software ESXi, que era similar a ESX, pero siendo una versión más ligera. Desde la versión 5 en adelante, VMWare descontinuó ESX y las versiones de software que publicaron a partir de entonces llevaron la marca ESXi [36]. 48 Paralelamente, el laboratorio de la Universidad de Cambridge estaba desarrollando el primer hipervisor de tipo 1 en formato open-source, iniciando este proceso en 1999. El equipo formado por Ian Pratt y su estudiante Keir Fraser iniciaron el desarrollo del proyecto como una plataforma para de soporte de máquinas virtuales Java donde se ejecutarían aplicaciones de clientes basadas en esa arquitectura, pero pronto se dieron cuenta que podían extender el uso de la tecnología a otros sistemas operativos [38]. El fin del hipervisor de las máquinas virtuales Java consistiría en encapsular las instrucciones de estas aplicaciones para ejecutarlas en el anillo 0 de procesamiento, debido a la arquitectura x86, pero este proceso de traducción binaria y emulación de instrucciones provocaba que las aplicaciones tuvieran un peor rendimiento que en su plataforma original. Por esta razón, en vez de utilizar la metodología de traducción binaria optaron por desarrollar el hipervisor en modo de paravirtualización. Con esta base, establecieron varios puntos clave de los que pretendían conseguir con esta tecnología [38] [39]: 1. En infraestructuras con máquinas virtuales de diferentes clientes en el mismo hardware, querían ocultar el efecto de la virtualización proporcionando aislamiento entre ellas para que así no interfieran en sus procesos y en su rendimiento. 2. El soporte de diferentes sistemas operativos donde se ejecuten aplicaciones de cualquier tipo lo veían esencial para que arquitecturas de aplicaciones basadas en diferentes sistemas pudieran funcionar dentro de la misma infraestructura. 3. Estas aplicaciones, deberían funcionar dentro del sistema operativo virtualizado sin sufrir ninguna modificación, para conseguir que más usuarios optasen por la utilización de Xen y no tuvieran que hacer un ejercicio adicional en migrar sus aplicaciones para que funcionasen en este sistema. La primera versión que se publicó fue en 2003, con una licencia GNU GPLv2 (General Public License version 2) para el hipervisor [39]. Citrix Systems, una compañía de tecnología americana fundada en 1989, cuyos productos inicialmente se basaban en servidores multiusuario basados en Windows, donde distintos actores podían conectarse a un mismo sistema operativo de manera concurrente mediante un cliente ligero, creció en popularidad durante los años 90 y 2000 debido a la poca competencia que tenía en este sector. Entró en el mundo de la virtualización con la adquisición de Xen en 2007. En 2005 y 2006, Intel y AMD, respectivamente, publicaron de manera independiente nuevos procesadores de arquitectura x86 que deberían ser utilizados para virtualización asistida por hardware. Por parte de Intel se publicaron los procesadores Pentium 4 modelos 662 y 672, mientras que por parte de AMD fue el Athlon 64 [29]. Estos procesadores incluían instrucciones dedicadas para la virtualización por hardware, facilitándola en gran medida, pero en demérito de la velocidad de procesamiento, por 49 lo que en un inicio no fueron la mejor alternativa para virtualizar, pero con la publicación de nuevas versiones fueron solventando este problema. En 2005, la empresa israelí Qumranet, se introdujo en el mundo de la virtualización ofreciendo servicios de virtualización de escritorio, donde esta virtualización se realizaba mediante máquinas virtuales basadas en Kernel (KVM), que básicamente son módulos de virtualización donde se permite ejecutar el Kernel de Linux como hipervisor del sistema, es decir, hacen funcionar a un sistema operativo Linux como un hipervisor de tipo 1. Esta virtualización está basada en los procesadores de virtualización asistida por hardware por lo que sus avances van ligados a las mejoras realizadas por Intel o AMD [41]. Su éxito, provocó que la empresa Red Hat comprara esta solución software en 2008 y la integrara en su entorno de sistema operativo, sumándose así a la carrera de la virtualización con el resto de empresas que estaban realizando avances en el sector. Microsoft no se quedó atrás, y en 2008 publicó Hyper-V, un hipervisor de tipo 1 desarrollado estrechamente con su sistema operativo Windows Server 2008. Es también el primer sistema operativo que solo funciona para la arquitectura de procesadores x64 [42]. A diferencia de otros hipervisores creados en esa época, Hyper-V, un estando instalado directamente sobre los recursos del sistema, necesita un sistema operativo padre Windows Server 2008 para funcionar. Esto trajo ventajas, como la disponibilidad de un gestor de las máquinas virtuales creadas desde el propio servidor WS2008 e inconvenientes como la dependencia del mismo para su funcionamiento, si por alguna razón el sistema operativo padre deja de funcionar, las máquinas virtuales lo harán también [42]. Oracle Corporation, empresa líder de tecnología que diseña, fabrica y publica productos tanto software como hardware, quiso también participar en el mundo de los hipervisores y en 2010 tras la compra de Sun Microsystems se hizo con el software Virtual Box, que había sido desarrollado desde 2007 por la empresa alemana InnoTek Systemberatung GmbH. Virtual Box es un hipervisor de tipo 2 publicado bajo la licencia GNU por lo que se convierte en un software de código abierto. Permitía ser instalado en diferentes sistemas operativos como Windows, macOS o Linux y suportaba máquinas virtuales de múltiples sistemas operativos. Además, puede hacer funcionar estas máquinas virtuales tanto en virtualización por software como asistida por hardware. 3.5. Desde 2010 en adelante, establecimiento de la tecnología y auge de los contenedores. 50 Con 4 empresas dominando el mercado de la virtualización como eran VMWare, RedHat, XEN y Microsoft, la década de 2010 se estableció como la consagración de las máquinas virtuales, ya que los avances en la tecnología de los procesadores permitieron avances en el software de estas empresas, mejorando sus prestaciones y atractividad ante la alternativa de establecer un equipo físico sin virtualizar [43][44]. Respecto al hardware, el mayor avance fue la inclusión de servidores tipo Blade en vez de tipo rack, reduciendo así el espacio ocupado a costa de un mayor coste energético, ya que en el mismo espacio en el que se encontraba un servidor tipo rack pueden encajar varios servidores tipo Blade, dependiendo del modelo [43]. En 2010, Microsoft hace oficial y lanza el proyecto Windows Azure, renombrado a Microsoft Azure en 2010, donde ofrecía servicios de Software como servicio, plataforma como servicio e infraestructura como servicio. La más relacionada con la virtualización es la infraestructura como servicio, donde Microsoft crea instalaciones de múltiples servidores donde se pueden adquirir sus recursos mediante un sistema de suscripción [39]. Respecto a VMWare, a partir de 2010 descontinuaron el uso del software ESX y solo publicaron versiones de ESXi. Además, publicó el paquete vSphere como plataforma de virtualización, que combinaba tanto la gestión de la infraestructura con vCenter como el sistema operativo dedicado para la virtualización instalado en los servidores, ESXi. Su versión 5.1 incluía tecnologías útiles para entornos virtualizados [26][45]: • vSphere Storage Appliance, que era una solución que permitía disponer de almacenamiento local en los hosts de la infraestructura sin la necesidad de mantener una infraestructura dedicada de almacenamiento. De este modo, se aprovechan los servidores tipo rack completamente llenándolos de discos y configurándolos como almacenamiento de datos. • vSphere Data Protection, que es un sistema de backups que permite gestionar imágenes periódicas de las máquinas virtuales desplegadas en la infraestructura para así poder restaurarlas ante un error de las mismas. • vSphere Replication, que es la función de migración de máquinas virtuales ante un malfuncionamiento del host físico donde se encuentren o la sala desde donde estén alimentados. Con esta tecnología se permitió mejorar el tiempo de respuesta antes catástrofes y caídas de la infraestructura. • vShield Endpoint, que lo desplegaron como una solución de seguridad informática integrada en la infraestructura propia de VMWare que se haya desplegado. Sin tener que desplegar agentes dedicados en las máquinas virtuales, este antivirus permitía monitorizar su estado mediante una máquina virtual dedicada en la infraestructura del sistema. En 2019, una de las mayores novedades que introdujo VMWare en su infraestructura fue vSphere Bitfusion, la cual permitia virtualizar las unidades de procesamiento gráfico (GPUs) para poder adaptarse así al mercado de inteligencia artificial y aprendizaje automático que empezaba a cobrar importancia en esa época. Para ello, desarrollaron 51 una capa de virtualización para captar los accesos CUDA que pedían los programas y aplicaciones de las máquinas virtuales y traducirlos a las GPUs que estuvieran instaladas en la infraestructura. De esta manera distintos clientes podían acceder a los recursos de las GPU sin necesidad de tener estos recursos dedicados en sus servidores [46]. Respecto a XEN, como ya se construyó como un hipervisor completo, las mejoras que recibió durante esta década fueron de rendimiento, estabilidad y la posibilidad de integrar más máquinas virtuales al igual que servidores con una mayor cantidad de recursos [38][39]. Por parte de RedHat, su estrategia pasó por seguir adquiriendo empresas de software aumentando su espectro de funcionamiento, pero mayormente centrado en empresas de software libre para seguir con la filosofía inicial que plantearon. Un momento clave en su historia reciente fue la adquisición por parte de IBM de la misma, convirtiéndose así en una empresa subsidiaria suya a partir de 2019 [40]. Hyper-V se ha seguido lanzando con cada versión nueva de Windows Server como una funcionalidad más del mismo, siendo su última versión la incluida en Windows Server 2019, Hyper-V Server 2019. Con cada versión han añadido funcionalidades como virtualización de red, recursos de almacenamiento compartidos, memoria compartida, virtualización anidada dentro de las máquinas virtuales y mejoras en el rendimiento y compatibilidad con otros sistemas operativos [42]. Tras Azure, aparecieron más empresas ofreciendo servicios como IaaS, siendo las más importantes Google y Amazon. Respecto a Google, en 2013 lanzó al mercado este tipo de servicios bajo la marca Google Compute Engine, donde ofrecía todas las características necesarias para utilizar la infraestructura como servicio. Utilizando KVM como hipervisor, permite desplegar máquinas virtuales de 64 bits de diferentes sistemas operativos [41] [47]. Amazon dio los primeros pasos en el mundo de IaaS en 2006 con la publicación en la región de Estados Unidos este de Amazon Elastic Compute Cloud, donde permitían alquilar máquinas virtuales para ejecutar aplicaciones propias de un ordenador. Esta solución fue expandiéndose globalmente por los distintos continentes para ofrecer menor latencia y mejor ancho de banda durante la década de 2010 [34]. Actualmente, ofrecen diferentes instancias de máquinas virtuales dependiendo de las necesidades disponibilidad, recursos y optimización de los mismos. También disponen de varios sistemas operativos para poder desplegar como versiones de RedHat, Linux, Windows Server o MacOS [34]. En 2017, AWS en combinación con VMWare, desplegaron la iniciativa VMWare Cloud (VMC) en AWS, un modelo de Software como servicio el cual la infraestructura que los clientes tuvieran desplegada de manera local en VMWare anteriormente pudiera ser migrada completamente a la infraestructura de AWS en sus nodos regionales. Así, el cliente final no debía tener en su localización toda la infraestructura de servidores, 52 liberándose de su mantenimiento y solo centrándose en las funcionalidades de su sistema [36] [48]. En 2018, Amazon hizo pública una nueva tecnología de virtualización conocida como Amazon Firecracker Open Source, la cual utilizando KVM como base busca disponer de las ventajas de la ejecución de aplicaciones en contenedores disponiendo de una máquina virtual con pocos recursos. Básicamente, es una máquina virtual Linux con los requisitos mínimos para funcionar y ejecutar la aplicación deseada [49][50]. Ese mismo año, publicaron AWS Outposts, el cual ofrecía una infraestructura dedicada, con almacenamiento, CPU y memoria RAM, en la sucursal del cliente, para que ejecute sus aplicaciones dentro de su empresa sin necesidad de salir a la red. La gestión de la infraestructura la lleva AWS, como parte del nodo regional en el cual esté desplegado este servicio. De este modo AWS da la posibilidad a las empresas y a los centros de datos de disponer de las mismas formas de funcionamiento que sus sucursales, pero con todos los recursos dedicados a sus actividades [48]. Paralelamente a estas tecnologías ligadas al mundo de la virtualización, se fueron desarrollando las bases de la tecnología de contenedores. La primera empresa que lanzó una herramienta de este estilo fue Docker en 2013, con el software Docker Engine, el cual era un producto que virtualizaba sistemas operativos para ofrecer software en forma de conjuntos de servicios conocidos como contenedores. Cada contenedor está programado de manera independiente y contienen las librerías y ficheros de configuración necesarios para hacer funcionar una aplicación. Con su software, estos contenedores pueden funcionar en diferentes sistemas operativos y al consumir pocos recursos se pueden ejecutar varios en el mismo servidor [34]. En 2014 Google desarrolló Kubernetes como herramienta para automatizar la administración de las plataformas de contenedores, aunque lo marcó como software de código abierto para que toda persona o equipo que desee colaborar en esta herramienta pueda realizarlo sin coste alguno [34]. Con ella, se permite orquestar toda la infraestructura desplegada de contenedores, con acciones como despliegue automático o escalado ante necesidades de recursos. Para utilizarlo, hace falta una infraestructura física donde desplegar la máquina virtual orquestadora que será la encargada de administrar los contenedores que se desplieguen en esa infraestructura. VMware no se quedó atrás al ver que muchas empresas migraban del modelo clásico de máquinas virtuales hacia el modelo en contenedores, y por ello en 2019 lanzó el proyecto Pacific, el cual reestructura vSphere para poder integrar completamente su versión de Kubernetes, Tanzu [36][37][51]. Este software permite orquestar y dar recursos a servidores que, tanto lo instalen nuevo, como los ya existentes con máquinas virtuales. Permite la compatibilidad con herramientas desplegadas anteriormente por ellos como vSphere o VMC. Esta combinación de ambas tecnologías permite a los desarrolladores de aplicaciones utilizar 53 las herramientas de Kubernetes para desplegar sus proyectos y a los administradores de la infraestructura seguir utilizando vSphere para administrar tanto la infraestructura como las aplicaciones desplegadas en entorno de contenedores [44][45]. 3.6. 2020 en adelante, futuro de la virtualización Con todas las bases de los procesos de virtualización establecidos desde los años 2000, en la actualidad se vive una fase de adaptación y de mejora a estas tecnologías establecidas ya que el proceso de integración en empresas y particulares no es rápido, además de ser lento y costoso [52]. Las soluciones de virtualización nuevas ofrecidas al mercado son aquellas conocidas como “as a service”, que no dejan de ser múltiples servicios destinados a la los usuarios finales para la computación en la nube [53][54]. Los servicios más comunes que ofrecen empresas como Microsoft, AWS o Google son: • Infraestructura como servicio, IaaS: este servicio de informática en la nube ofrece recursos de computación, almacenamiento y comunicación de red a cambio de un pago por uso dependiendo de la calidad y cantidad de los recursos demandados. Ayuda a reducir el coste de mantenimiento del hardware físico desplegado en las empresas y ayudan a deslocalizar los recursos informáticos a grandes centros de datos donde están instaladas estas soluciones. Dentro de las empresas, queda instalar todo lo que se necesite dentro de esta infraestructura contratada, como son los sistemas operativos, las herramientas de desarrollo para la empresa dentro de estos sistemas y las aplicaciones que se ejecuten en estas máquinas virtuales. • Plataforma como servicio, PaaS: este servicio de informática en la nube, además de ofrecer los mismos servicios que IaaS, añade todo el middleware necesario para desarrollar software y poder implementarlo en entornos de red. Añadir sistemas operativos y el software hace que las empresas se puedan olvidar de eliminar la administración de estas plataformas y el pago de las licencias de los servicios de manera dedicada, ya que aquí, al igual que con IaaS, se vende el servicio como un paquete completo. También, reduce el personal especializado en tecnología IT en la empresa ya que todos los procesos de mantenimiento de los sistemas operativos y las aplicaciones se contratan a la empresa a la cual se contrata el servicio. • Software como servicio, SaaS: este servicio es el que completa el ciclo de las otras dos alternativas, ya que aquí se contrata el paquete completo de aplicaciones necesarias para que una empresa funcione sin tener que tener estas aplicaciones ni en la propia estructura ni en la plataforma subcontratada, como pueden ser servicios de correo electrónico o paquetes de aplicaciones comerciales. Así, liberando el uso de las aplicaciones empresariales, se permite funcionar a la 60 más comercializados son el rack de 1U Supermicro SuperServer 1029UTN10RT, el Supermicro BigTwin o el Blade Supermicro SuperBlade. Supermicro SuperServer 1029U-TN10RT Supermicro BigTwin Supermicro SuperBlade Tabla 5 - Ejemplos de servidores Supermicro comerciales [CC6] • Huawei es un fabricante chino que ofrece soluciones de servidores tanto para empresas como para operadores de telecomunicaciones y centros de datos. Pese a las sanciones internacionales que afectan su acceso a mercados occidentales, sigue siendo un jugador importante en Asia y otros mercados emergentes. Cuenta con un porcentaje del mercado del 3,2% y los servidores más vendidos son el Huawei FusionServer Pro 2288H V5, el Huawei TaiShan 200 o el Blade Huawei FusionServer X6800. Huawei FusionServer Pro 2288H V5 Huawei TaiShan 200 Blade Huawei FusionServer X6800 Tabla 6 - Ejemplos de servidores Huawei comerciales [CC7] • Cisco, empresa conocida principalmente por su liderazgo en sistemas de redes, también ha comenzado a tener presencia en el mercado de servidores a través de la línea Cisco UCS (Unified Computing System). Sus soluciones están muy enfocadas en la integración con la infraestructura de redes y virtualización y cuentan con un 2,4% del mercado. Ejemplos de servidores 61 vendidos son el servidor de 2U Cisco UCS C240 M5, el servidor de 1U Cisco UCS C220 M5 o el servidor Cisco UCS B200 M5 Blade. Cisco UCS C240 M5 Cisco UCS C220 M5 Cisco UCS B200 M5 Blade Tabla 7 - Ejemplos de servidores Cisco comerciales [CC8] • IBM, respecto a la división de servidores, no cuenta con mucha cuota de mercado respecto a los competidores del mismo, alcanzando un 4,5% del mismo con modelos dentro de su serie Power Systems como el Power S1012 o el Power E1050. Son modelos rack, ya que no fabrican modelos Blade debido a la venta de estos productos a Lenovo en 2014. Respecto a los mainframes, tienen un 96% de cuota de mercado ya que pocas empresas se dedican a fabricarlos. Su último modelo fue publicado en 2022 y es el IBM z16, cuyas características más diferenciadoras son el elevado número de transacciones por segundo que puede realizar y la integración de sistemas de inteligencia artificial dentro del mainframe para disponer de análisis en tiempo real del estado del sistema [63]. Power S1012 Power E1050 IBM z16 Tabla 8 - Ejemplos de mainframes IBM comerciales [CC9] 4.2. Dispositivos de red Una vez que disponemos de servidores, para poder trabajar con ellos en un entorno de red, además de todo el cableado necesario, hace falta conectarlos a dispositivos como son routers y switches que son los que dotan a las infraestructuras de conectividad. 62 Respecto al valor de los dispositivos de red más utilizados, los switches, se calcula que se encuentra alrededor de los 15 mil millones de dólares con expectativas de crecimiento de entre el 4% y 5% hasta 2030, alcanzando entonces cifras superiores a los 24 mil millones de dólares. Al igual que con el mercado de servidores, América del Norte es la región con mayores ventas de los mismos debido a que el crecimiento en la infraestructura de servidores debe ir acompañado del crecimiento de la infraestructura de red [64][65][66][67][68]. Dentro del mercado de los switches hay que diferenciarlos dependiendo del tipo del medio de transmisión que utilizan, ya sean de cobre para llegar al punto final donde estén los dispositivos o de fibra, que serán los encargados de realizar la distribución a lo largo de la extensión de la empresa [64][65][66][67][68]. • El mayor fabricante por cuota de mercado es Cisco Systems, que lo domina con una cuota del 43,7% del mismo. Ofrece soluciones para todo tipo de necesidades, ya sean empresas, centros de datos o redes de telecomunicaciones y dependiendo del tipo de switch dentro de su catálogo podemos encontrar ejemplos como el conjunto de switches de cobre Cisco Catalyst 2960-X-Series o la serie de switches de fibra óptica Cisco Nexus 9000 series. Cisco Catalyst 2960-X-Series Cisco Nexus 9000 series Tabla 9 - Ejemplos de switches Cisco comerciales [CC10] • El siguiente competidor es Huawei, que con una cuota del 9,4% del mercado predomina en el mercado asiático con switches como la familia de cobre Huawei S5700 Series o la de fibra Huawei CloudEngine 8800 Series. Huawei S5700 Series Huawei CloudEngine 8800 Series Tabla 10 - Ejemplo de switches Huawei comerciales [CC11] 63 • El resto de empresas del mercado, como pueden ser Juniper Networks, Arista Networks, Aruba Networks, HPE o Dell EMC suman una gran parte del porcentaje restante. También se han desarrollado switches de dedicados para la transmisión de información entre servidores y dispositivos de almacenamiento, de manera que permiten direccionar tráfico de manera dedicada por fibra óptica para así reducir la latencia en la transmisión de información y realizarla a alta velocidad. Están desarrollados para utilizar protocolos como FC o iSCI y permiten aislar el tráfico de datos de almacenamiento de otro tráfico de red de la infraestructura. Se diferencian de los switches de cobre en que estos están diseñados para transmisión de información en redes de datos generales, entre dispositivos diversos y además los switches de cobra alcanzan velocidades de hasta 10Gbps si las condiciones de sus componentes son óptimas. Aun compartiendo el medio de transmisión con los switches de fibra, los SAN switch están especializados en la transmisión de información de protocolos de almacenamiento, no como los switches usuales de fibra óptica que se utilizan para transmitir datos entre infraestructuras alejadas. Del mismo modo que existe un protocolo de virtualización de red para las redes ethernet clásicas, también existe una virtualización de redes de fibra, conocida como zoning. Esta técnica se utiliza en las redes de fibra unidas mediante switches SAN y permite segmentar el tráfico de almacenamiento en áreas lógicas. De este modo, los orígenes de datos, conocidos como iniciadores envían información a los almacenes de datos, los destinos, a través de los switches de fibra óptica dedicados y el zoning determinará que dispositivos dentro de esta red pueden establecer una comunicación entre sí. La segmentación de la red aumenta la seguridad de la misma ya que se especifica qué dispositivos pueden comunicar entre sí, dando acceso solo a los datos necesarios por cada dispositivo. Además de este aumento de la seguridad de los datos, se añade un aislamiento ante fallos en la red al tenerla dividida por zonas y se mejora el rendimiento evitando el tráfico innecesario en el switch. El zoning se puede definir a nivel de puerto, donde ciertos puertos de ese switch solo tienen permitido comunicar entre sí, similar a las VLAN, o se puede definir mediante identificador de dispositivo en la red de fibra, donde se definen los indicadores de dispositivos que pueden comunicarse entre sí de manera individual. Al igual que con los switches de cobre o fibra, las empresas especializadas en su fabricación son Cisco Systems, Dell Technologies, Broadcom, HPE o IBM [67]. Respecto al cableado se puede dividir entre cobre y fibra óptica, dependiendo del dispositivo al que se vaya a conectar. Hay que tener en cuenta que es clave para la 64 infraestructura que se despliegue y hay que adquirirlo dependiendo de la velocidad, blindaje y resistencia a interferencias electromagnéticas o a condiciones adversas. Esta última característica la confiere el blindaje del cable, que se puede dividir en UTP (par trenzado no blindado) el cual al no tener blindaje es más económico y flexible pero vulnerable ante interferencias, STP (par trenzado blindado), que dispone de blindaje para cada par y es el más caro y complejo, y FTP (par trenzado con lámina de blindaje) que contiene una lámina de blindaje para todos los pares, lo que proporciona una protección menor que el modelo STP [69]. Los cabres de cobre se dividen por categorías y dependiendo de las características mencionadas, y en la siguiente tabla podemos ver un resumen de los límites de estas mismas [69]: Categoría Velocidad (hasta) Frecuencia (hasta) Blindaje Uso Cat5e 1 Gbps 100 MHz UTP y STP Conexiones a corta distancia poco sensibles. Cat6 1 Gbps 250 MHz UTP, STP y FTP Entornos industriales ligeros. Cat6a 10 Gbps 500 MHz STP y FTP Sistemas de control y baja latencia. Cat7 10 Gbps 600 MHz STP y FTP Aplicaciones críticas de baja latencia. Cat8 40 Gbps 2 GHz STP Transferencias de datos muy rápidas. Tabla 11 - Clasificación de categorías de cable ethernet Dentro del mercado de cables de cobre ethernet, nos encontramos con empresas como CommScope, Belden, Legrand o Prysmian Group [69]. Los cabres de fibra óptica se tienen que utilizar para garantizar la transmisión de datos a largas distancias (mayores de 100m) con inmunidad a interferencias electromagnéticas y radiofrecuencia. Estos cables tienen más ancho de banda que los de cobra y ofrecen más fiabilidad en la a transmisión. Principalmente se dividen en dos [70]: • SMF (Fibra óptica monomodo), la cual tiene un núcleo pequeño por el que se transmite solo un modo de luz, lo que permite señales sin dispersión y baja atenuación. Se utilizará en aplicaciones que tengan que comunicarse a altas velocidades (a partir de 10Gbps) o largas distancias. • MMF (Fibra óptica multimodo), la cual tiene un núcleo mayor que la SMF y permite que varios modos de luz circulen por el cable, lo que puede añadir más dispersión y limita las velocidades de transmisión, pero es más económica que la fibra monomodo por lo que se utiliza en entornos menos críticos donde no se requieran altas velocidades o largas distancias. Se puede añadir refuerzos a la fibra para entornos donde el cableado pueda estar expuesto a productos contaminantes, agentes externos peligrosos o peligros mecánicos. Para ello aparecen alternativas como la fibra reforzada, blindada o con gel para exterior. El último detalle que hay que tener en cuenta es el tipo de conector que se desea para la fibra dependiendo del dispositivo al que se conecte y a la densidad de 65 dispositivos. Los más comunes en el mercado de comunicación de dispositivos de red, servidores e infraestructura de almacenamiento son los conectores SC (Subscriber Connector), el cual tiene una estructura push-pull que proporciona una conexión firme y los conectores LC (Lucent Connector), los cuales tienen un mecanismo de acople que proporcione buen ajuste en el momento de la conexión [70]. Subscriber Connector Lucent Connector Tabla 12 - Distintos tipos de conectores de fibra óptica Fuente: - [70] Las empresas más importantes de este sector son Corning y Prysmian, seguidas por CommScope y Belden. También tienen participación en el mercado OFS o Sumitomo Electric [70]. 4.3. Almacenamiento El mercado de infraestructuras de almacenamiento es amplio y se compone de varias categorías de productos como la tecnología NAS, SAN o almacenamiento basado en software. La tecnología NAS (Network Attached Storage) se basa en dispositivos de almacenamiento conectados a una red local que permiten a varios usuarios conectados a la misma acceder a estos repositorios de almacenamiento para gestionar los datos desde un sistema centralizado. Para la comunicación con ellos se pueden utilizar protocolos como SMB en Windows o NFS en Linux. Disponen de un sistema operativo propio con interfaz gráfica para gestionar los volúmenes de datos y la configuración del RAID del almacenamiento y el estado de sus discos, estando diseñado para poder virtualizar datos a nivel de fichero. Además, están construidos para facilitar el acceso y la compartición de archivos y generar copias de seguridad de los datos almacenados en ellos [71][72][73]. Dependiendo de las necesidades de almacenamiento, las empresas dedicadas a este sector ofrecen diferentes productos que varían en tamaño y uso: 66 • Synology, con el 25-30% de cuota de mercado dentro de la tecnología NAS, ofrece soluciones versátiles y fáciles de usar. Dispone de productos más enfocados a un uso no extensivo como Synology DiskStation DS220+ pero también comercializa NAS de alto rendimiento como Synology RackStation RS3617xs+. Synology DiskStation DS220+ Synology RackStation RS3617xs+ Tabla 13 - Ejemplos de NAS Synology comerciales [CC12] • QNAP, sigue de cerca a Synology con un 20-25% de la cuota de mercado y dispone de dispositivos de uso doméstico, empresariales o más profesionales. Suele incluir bahías que se pueden expandir para disponer de maniobrabilidad ante cambios en la cantidad de datos a guardar. Algunos ejemplos son el QNAP-TS873U-RP o el QNAP TVS-872XT. QNAP-TS-873U-RP QNAP TVS-872XT Tabla 14 - Ejemplos de NAS QNAP comerciales [CC13] • Western Digital, además de comercializar una gran variedad de discos duros, ofrece soluciones NAS para necesidades de espacio ligeras y estructuras poco críticas, como WD My Cloud Home o WD Sentinel DX4200. Compite con las otras dos empresas con una cuota del 5 al 10% del mercado. 67 WD My Cloud Home WD Sentinel DX4200 Tabla 15 - Ejemplos de NAS Western Digital comerciales [CC14] • Otras empresas que comercializan esta tecnología son Netgear, TerraMaster o Drobo, pero sin alcanzar las cuotas de los 3 grandes fabricantes citados. Respecto a la tecnología SAN (Storage Area Network), que se basa en disponer de una red dedicada que proporciona acceso a nivel de bloque de datos a la información almacenada en los discos instalados. A diferencia de la tecnología NAS que está enfocada en el almacenamiento de todo tipo de ficheros, la tecnología SAN tiene como propósito conectar servidores a dispositivos de almacenamiento para que este sea el volumen de datos de los sistemas operativos de los servidores. Utiliza protocolos de comunicación como FC, iSCSI o FCoE y el acceso a los datos mediante estos protocolos está diseñado para acceder a bloque, lo que significa que el SAN no tiene constancia de lo que se guarda en ese espacio de datos, solo lo cede como recurso a un sistema operativo o hipervisor que lo desee. Además, es idóneo para la virtualización del almacenamiento por lo que distintos dispositivos físicos se pueden agrupar como uno o varios sistemas lógicos. Son soluciones mucho mejor que los NAS para entornos de alto rendimiento y baja latencia y se pueden configurar para tener alta disponibilidad y tolerancia ante fallos, pero en su contra está el precio más elevado. Respecto a los fabricantes de SAN, los principales actores son los siguientes [74][75]: • Dell Technologies, con su división Dell EMC, es uno de los principales fabricantes con una cuota de entre 25-30% del mercado, con productos como Dell EMC PowerMax o Dell EMC VMAX. Dell EMC PowerMax Dell EMC VMAX Tabla 16 - Ejemplos de SAN Dell comerciales [CC15] 68 • HPE también se encuentra como fabricante de soluciones SAN con un poco menos de cuota de mercado de Dell, entre el 20-25% del mismo. Sus productos destacados son el HPE Nimble Storage, el HPE Primera o el HPE 3PAR StoreServ. HPE Nimble Storage HPE Primera HPE 3PAR StoreServ Tabla 17 - Ejemplos de SAN HPE comerciales [CC16] • IBM participa en este mercado con un 10-15% de cuota y sus productos más destacados son la serie IBM Storwize o IBM DS8000. IBM Storwize 7000 IBM DS8000 Tabla 18 - Ejemplos de SAN IBM comerciales [CC17] • NetApp es la siguiente empresa importante que comercializa esta tecnología y cuenta con productos para la integración de datos en la nube como NetApp FAS Series o NetApp E-Series, obteniendo de un 15-20% del mercado. NetApp FAS9500 NetApp E5700 Tabla 19 - Ejemplos de SAN NetApp comerciales [CC18] • El resto de empresas que participan en esta tecnología con menores cuotas son Lenovo, Pure Storage, Hitachi Vantara o Fujitsu. 69 El último sistema de almacenamiento relacionado con entornos virtualizados es el almacenamiento definido por software (SDS). Es una tecnología que realiza una abstracción del hardware de almacenamiento físico y lo virtualiza para dar flexibilidad y escalabilidad en su uso. Es decir, que, instalando este software en un sistema operativo, y haciendo que relacione distintos sistemas de almacenamiento, que no tienen por qué ser del mismo tipo o tecnología, puede mostrar al usuario final un conjunto único de almacenamiento sin que se sepa cual es el hardware subyacente. Para realizar estas tareas este software suele contar con una interfaz de usuario para así gestionar todos los sistemas de almacenamiento relacionados. Además, se pueden aplicar políticas de retención de datos, replicación y seguridad desde la misma. Al igual que con los sistemas NAS o SAN, se puede expandir el sistema de almacenamiento de manera horizontal añadiendo más hardware y de manera dinámica, sin tiempos de parada entre acciones de mantenimiento. Las principales empresas que han desarrollado este tipo de software son: • VMWare con su software vSAN, que además de estar integrado con su plataforma propia vSphere proporciona almacenamiento para entornos virtualizados y tiene sinergias con otros productos de la misma marca. • Datacore ofrece su aplicación DataCore SANsymphony la cual ofrece virtualización de almacenamiento para SAN y NAS, combinando así las tecnologías más comunes de la industria de la virtualización de almacenamiento. • IBM con IBM Spectrum Virtualize proporciona virtualización de almacenamiento con equipos físicos o virtuales y además se integra con toda la gama de servidores que ofrece IBM. • Nutanix ofrece también soluciones integradas de infraestructura hiperconvergente en la que buscan juntar todo el sistema de almacenamiento, potencia de cálculo con memoria y CPU además de la red como una única solución software. En la parte de almacenamiento, han publicado Nutanix AOS que funciona con su plataforma. • Otras empresas del sector también ofrecen productos software como pueden ser HPE, Dell Technologies, Red Hat o Scale Computing. El mercado del almacenamiento se sitúa alrededor de los 20 mil millones de dólares y tiene un crecimiento previsto de hasta los 50 mil millones de cara a 2030. Este crecimiento viene dado por las necesidades de almacenamiento eficientes por parte de las empresas debido a las instalaciones de todo tipo de dispositivos. La tecnología SAN y el protocolo FC es la evolución principal del mercado, ya que son dispositivos optimizados al máximo para el almacenamiento en red [73] [74][75]. 76 Figura 34 - Selección de opciones para realizar un backup dentro del programa Ghost La selección de esta herramienta para la realización del backup ha sido por la facilidad de transformar la imagen a un formato que luego pueda ser exportado a una máquina virtual y también por la facilidad de eso del programa, ya que no hace falta instalar nada el debido a que es un ejecutable. Tras ello se ha ejecutado el programa Symantec Ghost 11.5 y ha generado un archivo GHO con la imagen del sistema operativo: Figura 35 - Archivo .GHO creado al realizar el backup Tras disponer de las imágenes en los formatos de los programas, hay que transformarlas en un formato que el hipervisor pueda utilizar para desplegar el mismo disco virtual. Para ello hemos seleccionado el formato VMDK que es el formato de archivo de las máquinas virtuales de los hipervisores de VMWare y VirtualBox. Para migrar la imagen en formato GHO a VMDK, mediante el mismo programa con el que hemos hecho la imagen podemos ejecutar el siguiente comando vía CMD para así transformar el fichero: Figura 36 - Comando para convertir fichero .GHO en fichero .VMDK Figura 37 - Fichero -VMDK obtenido tras ejecutar el anterior comando Para hacer funcionar la máquina virtual, es conveniente seleccionar los mismos recursos o más que la máquina física original. Hay que tener en cuenta posibles limitaciones de memoria RAM en sistemas operativos x32, ya que solo pueden gestionar 4GB de la misma. También hay que tener cuidado a la hora de seleccionar el tipo de conexión al sistema del dispositivo de almacenamiento. 77 En primer lugar, en VM Virtual Box se ofrecen varios tipos de conexión, y dependiendo de cómo estuviera establecida en la máquina física original hay que escoger una u otra. En este caso, la seleccionada es IDE, ya que al provenir de un disco físico con esa conexión en el equipo de origen es la que se debe escoger: Figura 38 - Selección de conexión de almacenamiento con disco VMDK Si se selecciona otro tipo de interfaz de conexión de datos, nos encontraremos con un error del tipo 0x7B, cuyo significado es que no puede encontrar un dispositivo bootable disponible: Figura 39 - Error que aparece al hacer boot con un formato de conexión de almacenamiento incorrecto Por ello, tras seleccionar el tipo de dispositivo correcto, la máquina virtual será capaz de arrancar y tendremos el mismo estado que obtuvimos tras la copia física del sistema. Solo quedaría configurar la red para disponer del mismo sistema que disponíamos anteriormente: 78 Figura 40 - Máquina Virtual W7 funcionando en Virtual Box Respecto a la instalación de la máquina virtual en VMWare Workstation, no cambia mucho a la hora de seleccionar los recursos excepto en el momento de seleccionar el disco que hay que especificar que es una el disco virtual del que queremos hacer funcionar ya existe como formato VMDK. Figura 41 - Resumen de recursos seleccionados en VMWare Workstation para máquina virtual W7 Al arrancar la MV, nos encontramos con el mismo escenario que usando Oracle Virtual Box: 79 Figura 42 - Máquina virtual W7 funcionando en hipervisor VMWare Workstation Si se fueran a ejecutar aplicaciones que necesitasen un rendimiento considerable de algún recurso del ordenador como CPU, RAM o accesos a disco, sería recomendable analizar las métricas de rendimiento que ofrecen los hipervisores para así saber cuál de los entornos de virtualización se comporta mejor, obteniendo así la solución óptima a la hora de virtualizar un sistema operativo obsoleto. 5.2. Diseño de una infraestructura de servidores Tras haber estudiado todo el sistema de virtualización y los componentes esenciales, se va a desarrollar una infraestructura para una empresa en la que se utilicen todos los componentes estudiados y se den diferentes alternativas para ese diseño. La infraestructura va a ser completamente física y sin necesidad de almacenar información en la nube, luego se hará una comparación con los servicios que ofrecen empresas de IaaS para saber las ventajas y los inconvenientes que ofrece establecer un contrato con una de esas empresas en vez de establecer toda la infraestructura de manera local. El caso de uso va a desarrollar lo necesario para establecer la infraestructura, los pasos a tomar para ello y las decisiones que hay que tomar para ello. El primer paso es decidir el lugar donde se va a situar la sala dentro de la empresa. Tiene que tener el tamaño adecuado para albergar todos los componentes que se vayan a adquirir y tiene que estar en un lugar estanco y sin riesgos físicos potenciales, como depósitos de agua, fluidos o que sea una zona que vaya a sufrir modificaciones. Va a ser el núcleo de toda la informática de la empresa y por ello hay que dimensionarla bien para los componentes que se vayan a adquirir y pensar en la escalabilidad a futuro. 80 Además, debería disponer de control de acceso para que solo las personas con las credenciales adecuadas pudieran acceder a ella. Dentro de ella, se instalarán racks para alojar todos los dispositivos informáticos que se desplegarán dentro de la sala, como los servidores, los dispositivos de red, el almacenamiento y todo el cableado que lo una. Estos racks deben tener una correcta refrigeración ya que los dispositivos informáticos disipan calor y pueden alcanzar temperaturas elevadas, por lo que un estudio de localización de los racks es necesario. Ya instalados los racks, el siguiente paso es llenar su contenido. Dependiendo del proyecto que se esté manejando, para una mayor facilidad de administración futura, es recomendable situar componentes del mismo tipo en el mismo rack, de este modo la organización del cableado es homogénea para todo el rack. Por lo que, en una infraestructura usual, se deberá disponer de un rack para los servidores, ya sean modelos de torre, rack o Blade, otro rack para los dispositivos de almacenamiento como NAS, SAN o servidores con una aplicación dedicada a la gestión del almacenamiento y en otro nodo los dispositivos de la infraestructura de red, como son los switches de cobre o fibra, los routers o los NAT. En primer lugar, respecto a la red, sería recomendable disponer de red virtualizada para aprovechar completamente la infraestructura de servidores y la segmentación por red. En ella, se deberían definir distintas redes para distintos propósitos. Los más comunes suelen ser una red dedicada a la administración de los dispositivos, otra para el backup, otra para el tráfico de información y otra para el tráfico de otro tipo como pudiera ser tráfico de video, correo electrónico o tráfico independiente a la gestión de las aplicaciones de la empresa. Además, a la hora de realizar la conexión entre los distintos dispositivos, es recomendable disponer de paneles de cobre donde se puedan hacer las conexiones de manera ordenada y se puede dejar instalado para que si en algún momento se instale algún componente nuevo o si se necesita utilizar otro puerto de red de algún servidor no haga falta deshacer el conjunto de cables ya instalado para añadir el siguiente. Este cableado se puede dirigir por canaletas de cables por la parte superior de la sala o colocados bajo los servidores, dependiendo de la disposición de la misma. Además, hay que tener en cuenta que hay que llevar alimentación eléctrica a los racks para poder dar tensión a los elementos instalados en los mismos. Respecto a los servidores, es recomendable instalar del mismo tipo para reducir así las variabilidades ante fallos y ayudar a los administradores del sistema a realizar una mejor gestión de los mismos. En cuanto al almacenamiento, se pueden optar por varias opciones. Los servidores actuales cuentan con espacio suficiente físico en ellos para instalar discos en ellos, pero de este modo el almacenamiento estaría centralizado en los servidores y ante fallo de uno de ellos se puede corromper la información. Por ello se puede optar por instalar en la bahía de almacenamiento un sistema SAN o almacenamiento por software para que 81 funcionen los datos de las máquinas virtuales y seleccionar herramientas NAS para guardado masivo de documentos, imágenes, videos o backup de máquinas virtuales. Además, si hubiera tecnología de diferente generación en la sala de servidores, como podría ser el caso de diferentes mainframes de IBM, sería recomendable situarla en distinto lugar dentro de la sala para no interferir en las labores de mantenimiento la una con la otra. La principal ventaja que proporciona esta infraestructura es la capacidad de crecimiento en rack y la sencilla administración que plantea, ya que, con todas las partes situadas en el mismo lugar, no es necesario realizar ingeniería de cableado para conectar los nodos. A continuación, se plantea el ejemplo de una sala con un rack de 3 cabinas, donde en una de ellos se instalan servidores, en otros dispositivos de almacenamiento y en otro se encuentra toda la red de dentro de la infraestructura. Si fuera posible en cuanto al espacio, sería conveniente preparar racks para un posible escalado de la infraestructura, pero todo ello depende de las necesidades a corto o medio plazo de la empresa que desee instalar este tipo de infraestructura informática. Figura 43 - Esquema infraestructura completa - Parte frontal Respecto al cableado que hubiera que realizar en este ejemplo, se han instalado paneles de parcheo de cobre y fibra para facilitar la limpieza de la parte posterior de los racks y la administración sencilla del cableado. Se ha simplificado el cableado saliente de los servidores a los paneles de parcheo, pero dependiendo de la red que se quiera desplegar puede hacer falta ocupar todas las tarjetas de red de los elementos de la infraestructura: 82 Figura 44 -Esquema infraestructura completa - Parte posterior En cambio, uno de los problemas que plantea esta infraestructura es la poca redundancia ante fallos, ya que un fallo en uno de los elementos puede provocar la indisponibilidad completa de la infraestructura La unicidad de los recursos se podría romper en el caso de que se estuvieran ejecutando aplicaciones sensibles en los servidores y se buscara aplicar redundancia a la infraestructura. Por ello, si se crean nodos diferentes preparados para afrontar disrupciones físicas como una pérdida de la alimentación eléctrica, ruptura de comunicaciones, malfuncionamiento de un servidor o indisponibilidad de la sala donde están alojados los servidores, se generan nodos diferenciados que pueden funcionar independientemente uno de otro con la capacidad de soportar cada uno de ellos la infraestructura total del conjunto. Para realizarlo, bastaría con añadir switches de fibra óptica entre las dos salas para así tenerlas conectadas. El problema de esta infraestructura es la inversión que hay que hacer para mantenerla, ya que, si ya además de tener que dimensionar ambos nodos cada vez que se aumente la capacidad de la misma, hay que establecer los requisitos de red y seguridad de la sala en ambas ubicaciones, por lo que el presupuesto de la infraestructura aumenta enormemente. Realizando una estimación rápida se puede observar cuanto presupuesto habría que invertir en la misma y cuanto porcentaje del total de la inversión pertenece a cada componente, por lo que en caso de necesidad de ajustar el presupuesto se puede reducir el número de servidores o sus prestaciones, buscando modelos de menos calidad. Respecto a los servidores, se ha escogido un modelo con al menos 256 GB de memoria RAM y 2 núcleos por servidor para poder instalar en ellos varias máquinas virtuales y que el hipervisor y el orquestador que se instale en ellos puedan disponer de recursos 83 suficientes para realizar sus operaciones. Dependiendo de los requisitos de la empresa se podría optar por un modelo u otro, siempre pensando en la homogeneidad de la infraestructura para evitar problemas de carga en servidores antes fallos en los mismos. En cuanto al cableado, es preferible completar el panel de parcheo desde el principio, para que así en ampliaciones futuras de la infraestructura solo sea necesario cablear las conexiones entre los dispositivos y estos paneles de parcheo. A ese cableado hay que añadir Los ejemplos de componentes escogidos son orientativos, escogiendo elementos de los ejemplos citados en el apartado anterior del mismo trabajo. SI se quisiera ajustar el presupuesto, bastaría con realizar un análisis económico de lo que se estaría dispuesto a invertir en la instalación del hardware que se va a adquirir. Figura 45 - Presupuesto general de la infraestructura Figura 46 - Presupuesto por tipo de componente de la infraestructura Dentro del presupuesto de la construcción de una infraestructura, hay que tener en cuenta las licencias del software que se quiere adquirir y los contratos de mantenimiento con las empresas suministradoras de hardware, por lo que antes de realizar una instalación de este tipo es recomendable tomar la decisión de si es necesaria la creación de una infraestructura de manera local o se pueden contratar soluciones de pago por uso. Habría que añadir este presupuesto al total, ya que sistemas operativos como Windows Server o los hipervisores de VMWare tienen licencias que hay que adquirir para conseguir el máximo rendimiento de la instalación. Además, la instalación de toda la infraestructura y su puesta en marcha también tiene que ser tenida en cuenta a la hora de tomar esta decisión, siendo realizada por técnicos de la empresa o realizando una subcontratación a una empresa especializada en ello. Componente Nombre Cantidad Precio Unidad (euros) Total Canalización cableado Canalización de cables RS PRO de Acero Inoxidable 304 Gris, 50 mm x 50mm, long. 3m 10 277,27 2772,7 RACK Bastidor rack APC ER6822, 48U 3 2147,75 6443,25 Panel de parcheo cobre Panel de conexión, Patch Panel RS PRO, 24 puertos, RJ45, 1U, Negro 4 61,08 244,32 Panel de parcheo fibra Patch Panel de fibra óptica, RS PRO, ST, 24 puertos, Modo Único, Rack de 1U 3 137,13 411,39 Metros ethernet Cat7 Panel de parcheo Cable Ethernet Cat7 apantallado Phoenix Contact de color Azul, long. 100m 2 760,51 1521,02 Cables ethernet Cat6 Conexiones Cable Ethernet Cat7 U/FTP Roline de color Blanco, long. 3m, funda de LSZH 72 8,02 577,44 Metros fibra Panel de parcheo Cable de fibra óptica RS PRO OM1, con A: ST, con B: ST, long. 100m 2 211,79 423,58 Cables Fibra óptica Conexiones Cable de fibra óptica StarTech.com OS2, con A: LC, con B: LC, long. 2m Amarillo 16 33,4 534,4 Alimentación eléctrica Regleta de enchufes brennenstuhl Premium-Line, con interruptor, long. cable 3m, 10 tomas Tipo F 3 53,95 161,85 Servidor PowerEdge R6625 Rack Server for HPC 4 11106,59 44426,4 SAN FlashStation FS6400 1 13675 13675 Discos SAN SSD SATA de 2,5 pulgadas serie Enterprise 24 320 7680 NAS RackStation RS2821RP+ 2 3455,9 6911,8 Discos NAS HDD SATA de 3,5 pulgadas serie Enterprise 32 126 4032 Switch Cobre Cisco C9200-24PXG-A 2 2550 5100 SAN Switch Connectrix DS-6610B: hasta 24 puertos, 32 Gb/s máximo 1 2800 2800 Subtotal Cableado 13089,95 13% Subtotal Servidores 44426,36 45% Subtotal Almacenamiento 32298,8 33% Subtotal Switches 7900 8% Total 97715,11 100% 84 6. Relación de la virtualización con los objetivos de desarrollo sostenible 6.1. Introducción En 2015 la Organización de las Naciones Unidas aprobó la Agenda 2030 sobre el desarrollo sostenible, una iniciativa para que países y organizaciones enfocaran sus objetivos locales de desarrollo hacia ciertas metas globales con el objetivo de mejorar la vida de todas las personas de la Tierra, para así poder afrontar los desafíos más urgentes que se enfrenta el planeta durante los próximos años, procurando realizarlos de manera sostenible, equitativa y próspera. La principal característica que tienen es que son de carácter universal, lo que significa que son aplicables a todos los países sin importar su nivel de desarrollo por lo que son un compromiso global. Además, están interrelacionados entre sí, mejorar en un objetivo puede causar mejoras en otros por lo que su progreso está relacionado [78]. Estos objetivos se basan en progreso social, económico y ambiental, y están resumidos en la siguiente imagen: Figura 47 - Objetivos de Desarrollo Sostenible Fuente: - [55] Respecto a la tecnología de virtualización, los objetivos con los que más relación tiene son el 9 y el 12 debido a su naturaleza tecnológica e industrial. 85 6.2. Relación de la virtualización con el Objetivo 9 de Desarrollo Sostenible El Objetivo de Desarrollo Sostenible 9 se centra en la Industria, innovación e infraestructura. Su propósito es construir infraestructuras de todo tipo pero que sean resilientes en el tiempo, para así promover una industrialización sostenible para fomentar una innovación continua. Como se ha explicado en este trabajo, la tecnología de la virtualización puede ayudar a reducir el impacto medioambiental ya que por naturaleza está diseñada para optimizar el uso de recursos físicos como son los servidores, el almacenamiento o la red. Al tener que desplegar muchos sistemas de información en una máquina física, se reduce proporcionalmente la cantidad de hardware necesario en una empresa, disminuyendo el uso energético y la generación de residuos electrónicos. Por ello, se fomenta así la industrialización sostenible y ecológica. La virtualización también facilita la creación de entornos de prueba y simulación sin tener que invertir en infraestructura física cuando se quiere realizar este propósito. De este modo se puede mejorar la innovación de las empresas ya que se pueden crear entornos de desarrollo rápidamente y sin un gran coste de despliegue. Además, la creación de infraestructuras escalables dentro de las empresas es más flexible gracias a los sistemas de virtualización. Disponiendo de una infraestructura escalable, se pueden hacer planes de crecimiento sostenible a lo largo del tiempo para no desperdiciar los recursos de la misma. Por último, como esta tecnología está en constante crecimiento y los costos de implementación son cada vez menores, permite el acceso a recursos informáticos a una parte de la población que antes podía no disponer de ellos. Con herramientas como el escritorio remoto y la comercialización de servicios como IaaS, PaaS o Saas, muchas pequeñas empresas, organizaciones o comunidades sin grandes capacidades de inversión pueden disponer de servicios tecnológicos sin ellos mismos tener que desplegar una infraestructura de virtualización. 6.3. Relación de la virtualización con el Objetivo 12 de Desarrollo Sostenible El Objetivo de Desarrollo Sostenible 12 se focaliza en garantizar modalidades de consumo y producción sostenibles minimizando el impacto medioambiental del consumo y la producción tratando además de promover el uso eficiente de los recursos del sistema y la reducción de residuos físicos. 92 [51] Descripción general de VMware Tanzu. (2024, 16 mayo). https://docs.netapp.com/eses/netapp-solutions/containers/vtwn_overview_vmware_tanzu.html [52] The 2020 State of Virtualization Technology - Marketing. (2024, 11 marzo). Marketing. https://www.spiceworks.com/sw-marketing/reports/state-of-virtualization/ [53] ¿Qué es IaaS? (s. f.). azure.microsoft.com. https://azure.microsoft.com/eses/resources/cloud-computing-dictionary/what-is-iaas [54] Robb, D. (2022, 26 junio). 5 Top Server Virtualization Trends in 2022 | Enterprise Storage Forum. Enterprise Storage Forum. https://www.enterprisestorageforum.com/hardware/servervirtualization-trends/ [55] Understanding Server Rack Needs Based on Units. (2014). Racksolutions. https://www.racksolutions.eu/news/data-center-trends/understanding-server-rack-needsbased-on-units/ [56] Rack Unit Converter: How To Convert Rack “U” Height. (2022, 20 abril). https://www.racksolutions.eu/news/blog/rack-unit-converter-how-to-convert-rack-u-height/ [57] AddOn Networks. (s. f.). Choose the Right Data Center Server Rack Size. https://www.addonnetworks.com/solutions/insights/choose-the-right-data-center-server-racksize [58] Hingley, M., & Hingley, M. (2024, 7 mayo). Server market 2023 – a virtualized, x86, Windows driven world - ITCandor. ITCandor - Information Technology and Communications research. https://www.itcandor.com/server-2023/ [59] Market Research Future. (s. f.). Servers Market Size, Industry growth 2032. https://www.marketresearchfuture.com/reports/servers-market-16189 [60] Server Market Size & Outlook, 2030. (2024). https://www.grandviewresearch.com/horizon/outlook/server-market-size/global [61] Server Market Size, Share, & Trends Analysis Report by product, by enterprise size (Micro, Small, Medium, Large size), by channel, by end-use, by region, and segment Forecasts, 2024 - 2030. (s. f.). https://www.grandviewresearch.com/industry-analysis/server-market [62] The 10 Largest Server Companies Powering the Digital World. (2024). History Tools. https://www.historytools.org/companies/largest-server-companies-in-the-world-and-whatthey-do [63] Worldwide Ethernet Switch Market Delivered Robust Growth in 2023 While the Router Market Saw a Slight Decline, according to IDC Trackers. (s. f.). IDC: The Premier Global Market Intelligence Company. https://www.idc.com/getdoc.jsp?containerId=prUS51948824 [64] IDC’s Worldwide Quarterly Ethernet Switch Tracker Shows Strong Market Growth Continuing in First Quarter of 2023. (s. f.). IDC: The Premier Global Market Intelligence Company. https://www.idc.com/getdoc.jsp?containerId=prUS50865023 [65] Ethernet Switch Market Size, Share and Forecast to 2030. (s. f.). Spherical Insights. https://www.sphericalinsights.com/reports/ethernet-switch-market [66] Gujar, S., & Ugale, S. (8400). Ethernet Switch market size, by speed (1G, 10G, 25G, 40G, 100G, others), by type (Modular Ethernet Switches, Fixed configuration Ethernet switches) by 93 configuration (Unmanaged, Smart, Managed L2, Managed L3, divided) Forecast 2024 - 2032. En Global Market Insights Inc. https://www.gminsights.com/industry-analysis/ethernet-switchmarket [67] Consegic Business Intelligence. (2024, 21 agosto). Ethernet Switch Market - Size, Share & Forecast 2023-2030. https://www.consegicbusinessintelligence.com/ethernet-switch-market [68] Maximize Market Research Pvt Ltd. (2024, 21 junio). Ethernet Cable MarketIndustry Analysis and Forecast (2024-2030). MAXIMIZE MARKET RESEARCH. https://www.maximizemarketresearch.com/market-report/ethernet-cable-market/66964/ [69] Moris. (s. f.). Fiber Connector Types, What’s the Difference? | FS Community. Knowledge. https://community.fs.com/article/four-types-connectors-of-fiber-optic-patch-cable.html [70] Elad, B. (2024, 14 mayo). Network Attached Storage (NAS) Statistics 2024 and Facts. Coolest Gadgets. https://www.coolest-gadgets.com/network-attached-storage-nas-statistics [71] DataDrivenInsights. (2023, 1 septiembre). 2023 Global SAN Switches Market Share, Demand, and SWOT: 2030 Outlook. https://www.linkedin.com/pulse/2023-global-san-switchesmarket-share-demand-swot [72] Adshead, A. (2023, 21 diciembre). Storage suppliers’ market share and strategy 2023. ComputerWeekly.com. https://www.computerweekly.com/feature/Storage-suppliers-marketshare-and-strategy-2023 [73] Allied Market Research, https://www.alliedmarketresearch.com/. (s. f.). Mainframe Market Size, Share, Competitive Landscape and Trend Analysis Report, by Type, by End User: Global Opportunity Analysis and Industry Forecast, 2023-2032. Allied Market Research. https://www.alliedmarketresearch.com/mainframe-market [74] Allied Market Research, https://www.alliedmarketresearch.com/. (s. f.-b). Storage Area Network (SAN) Market Size, Share, Competitive Landscape and Trend Analysis Report, by Technology, by Type, by Component, by Industry Vertical: Global Opportunity Analysis and Industry Forecast, 2023-2032. Allied Market Research. https://www.alliedmarketresearch.com/storage-area-network-market-A48037 [75] Network Attached Storage Market size, share, industry, Top companies 2022 - 2030. (s. f.). MarketsandMarkets. https://www.marketsandmarkets.com/Market-Reports/networkattached-storage-market-35395533.html [76] Broadcom. – Support Portal. (s. f.). https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware%20Worksta tion%20Pro [77] Downloads – Oracle VM VirtualBox. (s. f.). https://www.virtualbox.org/wiki/Downloads [78] Gamez, M. J. (2024, 2 agosto). Portada - Desarrollo sostenible. Desarrollo Sostenible. https://www.un.org/sustainabledevelopment/es/ 94 9. Referencias – Componentes comerciales [CC1] https://www.dell.com/es-es/shop/scc/sc/servers#portfolio [CC2] https://www.hpe.com/psnow/doc/a00120421enw [CC3] https://www.hpcwire.com/off-the-wire/inspur-information-releases-a6-serverportfolio-supporting-amd-epyc-milan-processors/ [CC4] https://en.inspur.com/en/2822489/index.html [CC5] https://lenovopress.lenovo.com/lp1553-lenovo-servers-and-storage-portfolioguide [CC6] https://www.supermicro.com/en/ [CC7]https://e.huawei.com/es/material/datacenter/server/3e817687a42e43aa80469f b18bf440fd [CC8] https://www.cisco.com/site/us/en/products/computing/servers-unifiedcomputing-systems/index.html [CC9] https://www.ibm.com/power [CC10] https://www.cisco.com/c/en/us/products/switches/product-listing.html [CC11] https://e.huawei.com/es/products/switches [CC12] https://www.synology.com/es-es/products [CC13] https://www.qnap.com/en/product [CC14] https://www.westerndigital.com/es-es/products/product-portfolio [CC15] https://www.dell.com/en-us/dt/learn/data-storage/san-storage.htm [CC16] https://www.hpe.com/es/es/storage/entry-level.html [CC17] https://www.ibm.com/es-es/storage-area-network [CC18] https://www.netapp.com/es/products-a-z/ 95 10. Referencias – Presupuesto Caso de Uso Componente Referemcia Canalización cableado https://es.rs-online.com/web/p/canalizaciones-para-cables/4711647 RACK https://es.rs-online.com/web/p/bastidores-racks/2387199?gb=s Panel de parcheo cobre https://es.rs-online.com/web/p/paneles-de-conexiones-rj/2010581?gb=s Panel de parcheo fibra https://es.rs-online.com/web/p/paneles-de-conexiones-de-fibra-optica/1258406?gb=s Metros ethernet Cat7 Panel de parcheo https://es.rs-online.com/web/p/cables-ethernet/2532314?gb=s Cables ethernet Cat6 Conexiones https://es.rs-online.com/web/p/cables-ethernet/2660714?gb=s Metros fibra Panel de parcheo https://es.rs-online.com/web/p/cables-de-fibra-optica/0135553?gb=s Cables Fibra óptica Conexiones https://es.rs-online.com/web/p/cables-de-fibra-optica/2873397?gb=s Alimentación eléctrica https://es.rs-online.com/web/p/bases-multiples-enrollacables-y-prolongadores/7685403?gb=s Servidor https://www.dell.com/es-es/shop/servidores-almacenamiento-y-redes/smart-selection-poweredge-r6625-rack-server-for-hpc/spd/poweredge-r6625/per6625hpc SAN https://www.synology.com/es-es/products/FS6400 Discos SAN https://www.synology.com/es-es/products/drives/ssd/enterprise-sat NAS https://www.synology.com/es-es/products/RS2821RP+ Discos NAS https://www.synology.com/es-es/products/drives/hdd/enterprise-hat Switch Cobre https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-9200-series-switches/nb-06-cat9200-ser-data-sheet-cte-en.html SAN Switch https://www.dell.com/es-es/dt/storage/connectrix/connectrix-switches.htm#