Máquinas virtuales SOM U2 2024/25 PDF
Document Details
Uploaded by Deleted User
2024
Tags
Summary
Este documento SOM U2 explica sobre máquinas virtuales, virtualización, incluyendo los distintos tipos de hipervisores y ejemplos de uso. Describe conceptos clave como la virtualización, los recursos físicos, y el rendimiento. Se presentan diferentes escenarios de virtualización en educación, y negocios. Se discuten las configuraciones de rendimiento, seguridad y las características de usabilidad.
Full Transcript
U2. Máquinas virtuales Módulo: Sistemas operativos monopuesto SMR1 – Curso 2024/25 Virtualización La virtualización es una tecnología que permite la creación de entornos virtuales o máquinas virtuales (VM) que funcionan de manera independiente en un mismo sis...
U2. Máquinas virtuales Módulo: Sistemas operativos monopuesto SMR1 – Curso 2024/25 Virtualización La virtualización es una tecnología que permite la creación de entornos virtuales o máquinas virtuales (VM) que funcionan de manera independiente en un mismo sistema físico. Consiste en la abstracción de los recursos físicos, como la CPU, la memoria, el almacenamiento y los dispositivos de entrada/salida, para asignarlos y compartirlos entre varias máquinas virtuales. El objetivo principal de la virtualización es maximizar la utilización de los recursos físicos y mejorar la eficiencia de los sistemas informáticos. Al utilizar la virtualización, es posible ejecutar múltiples sistemas operativos y aplicaciones en un único servidor o computadora, lo que reduce la necesidad de hardware físico adicional. La virtualización se utiliza en diversos entornos, como servidores, redes, almacenamiento y escritorios, proporcionando flexibilidad, eficiencia y mayor aprovechamiento de los recursos informáticos. Que sus componentes sean virtuales no quiere decir necesariamente que no existan. Por ejemplo, una máquina virtual puede tener unos recursos reservados de 2 GB de RAM y 20 GB de disco duro, que salen del PC donde está instalada la máquina virtual. Máquina real y máquina virtual: diferencias Aspecto Máquina Real Máquina Virtual Definición Equipo físico con hardware propio. Sistema virtualizado dentro de un equipo físico. Una máquina virtual necesita un hipervisor (como VMware o VirtualBox) para gestionarse. Hardware Recursos físicos dedicados (CPU, RAM, Recursos compartidos del equipo anfitrión (host). disco duro). Rendimiento Mayor rendimiento por acceso directo al Ralentización del sistema invitado debido a la hardware. complejidad de la virtualización en tiempo de ejecución. Flexibilidad Solo puede ejecutar un sistema operativo Permite crear y ejecutar varios sistemas operativos al a la vez. mismo tiempo. Coste Inversión alta en hardware específico. Ahorro al evitar equipos físicos adicionales. Campo de Usada para estaciones de trabajo Ideal para servidores (virtualización de servidores), aplicación dedicadas, gaming de alto rendimiento, o pruebas de software, formación, simulaciones, entornos dispositivos especializados donde se de desarrollo y consolidación de múltiples servicios en requiere acceso completo y directo al un único equipo físico. hardware físico. Ejemplo1: Virtualización de Servidores Escenario: Una empresa pequeña tiene un servidor físico y necesita ejecutar varios servicios: Un servidor web (Apache). Un servidor de correo (Postfix). Un servidor de archivos (Samba). Solución: En lugar de comprar múltiples servidores físicos, utilizan máquinas virtuales para alojar cada servicio en un entorno independiente. Ventajas: Reducción de costes en hardware. Mejor uso de los recursos del servidor físico. Facilidad para realizar copias de seguridad y migraciones. Mayor seguridad: los fallos de un servicio no afectan a los demás. Ejemplo2: Virtualización en Educación Escenario: En un aula de formación profesional, los alumnos necesitan aprender a instalar, configurar y administrar diferentes sistemas operativos (Windows, Linux, etc.) sin riesgo de dañar equipos reales. Solución: Cada alumno utiliza una máquina virtual en su ordenador anfitrión para: Instalar sistemas operativos distintos. Probar configuraciones avanzadas (servidores, redes, seguridad). Practicar recuperación tras errores o fallos sin afectar al equipo físico. Ventajas: Entorno seguro y controlado para el aprendizaje. Permite reiniciar, borrar o crear nuevas máquinas virtuales fácilmente. Ahorro en equipos físicos y licencias de software. Facilita trabajar en múltiples sistemas operativos de forma simultánea. Conceptos clave: Hipervisor Hipervisor: También conocido como Monitor de Máquina Virtual (VMM), es el software o firmware responsable de crear y gestionar las máquinas virtuales. Se encarga de asignar y administrar los recursos físicos entre las VM. Existen dos tipos principales de hipervisores: Hipervisor de tipo 1 o «nativo» Hipervisor de tipo 2 o «hosted» (Bare Metal Hypervisor): (Hosted Hypervisor): Se ejecuta directamente sobre el hardware físico Se ejecuta como una aplicación dentro de un sin depender de un sistema operativo anfitrión. sistema operativo anfitrión. Actúa como una capa de virtualización entre el hardware y las máquinas virtuales. Utiliza los recursos y servicios del sistema operativo subyacente para proporcionar la virtualización. Algunos ejemplos de hipervisores de tipo 1 son: Algunos ejemplos de hipervisores de tipo 2 son: o VMware ESXi o VMware Workstation o Microsoft Hyper-V o Oracle VirtualBox o Citrix XenServer o Microsoft Virtual PC o KVM (Kernel-based Virtual Machine) o Parallels Desktop o Oracle VM Server Conceptos clave: Hipervisor Otros conceptos clave Máquina virtual (VM): Es un entorno virtual que emula una computadora completa con su propio sistema operativo, aplicaciones y configuraciones. Cada VM se ejecuta de forma aislada y puede ser tratada como una entidad independiente. Host (anfitrión): Es el sistema físico o servidor que ejecuta el hipervisor y aloja las máquinas virtuales. Guest (invitado): Es la máquina virtual que se ejecuta dentro de un host. Puede ser un sistema operativo completo o una instancia de una aplicación específica. Portabilidad: Las máquinas virtuales son independientes del hardware subyacente, lo que facilita su migración entre diferentes servidores físicos sin necesidad de modificar el sistema operativo o las aplicaciones. Escalabilidad: La virtualización permite escalar verticalmente (aumentar los recursos asignados a una VM) o escalar horizontalmente (agregar más VM) según las necesidades de carga de trabajo. Software de virtualización libre: VirtualBox VirtualBox es un software de virtualización desarrollado fundamentalmente por Oracle bajo la licencia libre GNU GLP v3. Se puede instalar en Windows, Linux y MacOS. Además de la interfaz gráfica, posee interfaz de comandos CLI para realizar todas las operaciones permitidas. https://www.virtualbox.org Software de virtualización propietario: VMware Workstation Pro VMware Inc. es una filial de Broadcom Inc. que proporciona software de virtualización disponible para ordenadores compatibles X86. Entre este software privativo se incluye VMware Workstation, que puede funcionar en Windows, Linux y en la plataforma macOS, que corre en procesadores Intel bajo el nombre de VMware Fusion Pro. El nombre corporativo de la compañía es un juego de palabras usando la interpretación tradicional de las siglas «VM» en los ambientes de computación, como máquinas virtuales (Virtual Machines). En mayo de 2024, VMware ha cambiado las condiciones de comercialización de sus productos de la siguiente manera: o Las aplicaciones profesionales son gratuitas para uso personal. Puedes descargarlas de forma gratuita, registrándote y descargando el instalador del nuevo portal de descargas en support.broadcom.com. o Suscripción a la aplicación Desktop Hypervisor para uso comercial por $120/año y se puede comprar en la nueva tienda online ubicada aquí: https://store.cloudvista.com. Software de virtualización: instalación Aprendiendo a crear y configurar máquinas virtuales Crear una máquina virtual desde cero Crear una máquina virtual desde cero (2) Al igual que un ordenador, una máquina virtual necesita un sistema operativo para funcionar. Se puede instalar un sistema operativo o bien utilizar la versión live de un sistema operativo guardada en un CD/DVD o un fichero de imagen de disco con extensión.iso. Al iniciar un equipo desde un CD live de Ubuntu se pregunta si se quiere probar (arrancar desde CD) o empezar a instalar: Iniciar una máquina virtual Iniciar la máquina virtual, encendiéndola y arrancando el sistema operativo. Devolver el control al sistema anfitrión. o CTRL + ALT en VMWare Workstation. o CTRL derecha en VirtualBox. Eliminar una máquina virtual: Sólo borrar o bien, Eliminar todos los archivos. "Eliminar todos los archivos" para no dejar ningún rastro de la MV. "Solo borrar": elimina la MV del administrador pero mantiene el archivo.vbox en la carpeta donde está guardada, de manera que se puede recuperar en el futuro desde el menú "Máquina -> Añadir". Importación de una máquina virtual existente OVF/OVA : es un estándar abierto para empaquetar y distribuir un dispositivo virtual que consta de una o varias máquinas virtuales (VM). Opciones de configuración de una máquina virtual Para optimizar la experiencia de usuario: instalar el software de utilidades adicional para habilitar características de comunicación o mejorar la capacidad gráfica: o VMware Tools para VMWare Workstation Pro. o Guest Additions para VirtualBox. Configuraciones Para mejorar la comunicación entre el sistema anfitrión e invitado: de Usabilidad o Configurar el acceso a los puertos USB. o Habilitar el uso de carpetas compartidas. o Portapapeles compartido (copiar y pegar texto). o Arrastrar y soltar (drag & drop) Visualizar la máquina virtual según el entorno de trabajo requerido. VirtualBox: software de utilidades aditional o "Guest additions" VirtualBox Guest Additions es un conjunto de controladores y aplicaciones del sistema que mejoran la usabilidad, el rendimiento y la funcionalidad de un sistema operativo invitado que se ejecuta dentro de una máquina virtual de VirtualBox. Cuando instalas las Guest Additions en el sistema operativo invitado, se habilitan funciones: 1. Permite a los usuarios mover el puntero del ratón sin problemas entre anfitrión y el invitado. 2. Mejora la capacidad gráfica de la máquina virtual, ajustando la resolución de pantalla de forma automática y permitiendo la aceleración de gráficos 3D. 3. Habilita el portapapeles compartido bidireccional entre el sistema anfirtión y el invitado. 4. Permite que el sistema operativo invitado tenga acceso de lectura y escritura a los discos duros del sistema operativo anfitrión. Cómo instalar el software de utilidades adicional: En VirtualBox: 1. El sistema operativo invitado debe estar funcionando. 2. Accede al menú Dispositivos -> Insertar imagen de CD de los complementos de invitado. 3. Abre la carpeta donde se ha cargado la imagen de CD y verás varios archivos instalables para diferentes SO: Solaris, Linux, Windows... 4. Ejecuta el instalador correspondiente al SO de tu MV invitada con privilegios de administrador. Ejemplos: En el terminal de Linux: sudo./VBoxLinuxAdditions.run Compartir dispositivos USB entre sistema anfitrión e invitado En VirtualBox, con la MV apagada: 1. Habilitar el controlador USB que se necesite según el hardware disponible en el anfitrión. 2. Para utilizar un dispositivo USB de forma "permanente": conectarlo y seleccionarlo para crear un filtro con los campos establecidos. 3. Si se crea un filtro con todos los campos vacíos, al encender la máquina se filtrará cualquier dispositivo USB conectado y la máquina física perderá el control de sus dispositivos USB (como el ratón o el teclado). Habilitar el uso de carpetas compartidas entre anfitrión e invitado Permiten compartir ficheros sin necesidad de una conexión de red. Las carpetas compartidas pueden ser: o Fijas o permanentes: se pueden crear con la MV encendida o apagada. o Temporales o transitorias: solo se pueden crear cuando la MV está encendida y desaparecen cuando se apaga. Para crear una carpeta compartida: asignar nombre, seleccionar la ruta a la carpeta de la máquina física que se quiere compartir y habilitar las características deseadas: solo lectura, automontar, erc. El acceso a las carpetas compartidas es diferente según el SO invitado: o En Windows -> Unidad de Red (hay que activar "Detección de redes"). o En Linux Debian, en la carpeta /media o /mnt. Usar el portapapeles compartido / arrastrar y soltar Ambas funcionalidades permiten compartir información entre anfitrión e invitado: o Portapapeles compartido (copy & paste). o Arrastrar y soltar (drag & drop): seleccionando y arrastrando un fichero o carpeta. En VirtualBox, el portapapeles está limitado a información de texto y no permite pasar archivos o carpetas. Arrastrar y soltar solo está disponible para sistemas Windows tanto invitado como anfitrión. Para ambas funcionalidades se suele indicar el sentido de funcionamiento: ej. Bidireccional. Es necesario tener instaladas las Guest Additions para usar estas características. Se trata de mejorar ciertos aspectos para optimizar el consumo de recursos: 1. Habilitar las características de virtualización del procesador. 2. Excluir el directorio de las máquinas virtuales en el antivirus. Configuraciones 3. Guardar las máquinas virtuales en un disco SSD. de Rendimiento 4. Probar otro software de virtualización. 5. Crear discos de tamaño fijo. 6. Asignar toda la memoria posible. 7. Asignar más núcleos al procesador. 8. Adaptar la configuración de vídeo. 9. Dejar la máquina en suspensión. 10. Mejorar el rendimiento del sistema operativo invitado. 1. Habilitar las características de virtualización del procesador Las tecnologías VT-x (Intel Virtualization Technology) y AMD-V (AMD Virtualization) son extensiones de hardware que proporcionan soporte para la virtualización en procesadores Intel y AMD, respectivamente. Estas tecnologías permiten que los hipervisores, como VirtualBox, ejecuten máquinas virtuales de manera más eficiente y segura. Es posible que VT-x y AMD-V estén desactivadas por defecto. Para activarlas hay que acceder a la BIOS/UEFI al arrancar el equipo y activar la opción en "Advanced CPU Configuration" o similar. 1-2. Habilitar las características de virtualización del procesador y excluir el directorio de máquinas virtuales del análisis del antivirus Si habilitamos la virtualización del procesador en VirtualBox, entonces también podremos habilitar «Habilitar paginación anidada» que mejorará aún más el rendimiento del sistema permitiendo gestionar la memoria por medio del hardware y no del software. 3. Guardar las máquinas virtuales en un SSD En VirtualBox las MV se guardan por defecto en una carpeta del usuario pero se puede cambiar esta ruta. En Archivo -> Administración de medios virtuales se pueden ver todos los discos Los discos SSD proporcionan una velocidad superior a los discos duros convencionales y así mejora el rendimiento de las MV instaladas allí. 4. Probar otro software de virtualización Dependiendo del sistema anfitrión, del invitado o del hardware es posible que los diferentes software de virtualización ofrezcan distintos rendimientos. Se pueden probar las mismas funcionalidades en VMware y en VirtualBox para sistemas anfitriones Windows o Linux. En macOS se suele obtener mejor rendimiento con Parallels Desktop que con VirtualBox. ¿Qué licencia tiene Parallels? 5. Crear discos de tamaño fijo Por defecto al crear una máquina virtual, se utilizan discos reservados dinámicamente, puesto que el espacio en disco no suele ser un aspecto crítico. Sin embargo, los discos de tamaño fijo ofrecen mayor rendimiento. La configuración se realiza en el proceso de creación de un disco virtual. 6-7. Asignar toda la memoria posible y más núcleos al procesador Una máquina física ejecuta a la vez el sistema operativo anfitrión y una MV con el sistema operativo invitado. La memoria RAM total se reparte entre los dos sistemas, y ambos deben funcionar correctamente. Puedes revisar los requisitos hardware de RAM que requiere el SO y las aplicaciones Hay que buscar el equilibrio entre el rendimiento de la que estás utilizando. máquina virtual y la máquina física. 8. Adaptar la configuración de vídeo 9-10. Dejar la máquina en suspensión y mejorar el rendimiento del sistema operativo invitado Para conseguir un sistema seguro y fiable, gestionando la integridad, la confidencialidad y la buena disponibilidad de la máquina virtual: Configuraciones 1. Restaurar el sistema mediante de Seguridad instantáneas. 2. Realizar copias de seguridad (clonaciones). 3. Cifrar una máquina virtual. 1-2. Instantáneas (snapshot) y copias de seguridad (clonación) VirtualBox: Instantáneas Las instantáneas (snapshots) en VirtualBox son una característica que te permite guardar el estado actual de una máquina virtual en un punto específico del tiempo. Con las instantáneas, puedes capturar una imagen completa de la máquina virtual, incluyendo su configuración, discos virtuales y memoria, y luego restaurarla posteriormente si es necesario. Al crear una instantánea, VirtualBox guarda una copia del estado actual de la máquina virtual, incluyendo los registros de la CPU, la memoria y el estado de los discos virtuales. Esto te permite revertir fácilmente a ese punto en el tiempo en caso de que realices cambios o configuraciones que desees deshacer más adelante. 3. Cifrado de la máquina virtual Según el uso que se vaya a dar a la máquina virtual: 1. Configuración de Red: Las redes de ordenadores son un conjunto de equipos informáticos conectados entre sí que permiten compartir información, recursos y servicios. Para crear diferentes dipos de redes hay que configurar la tarjeta de red del equipo. Configuraciones específicas 2. RAID: es una configuración específica de los discos duros para conseguir mayor integridad, tolerancia a fallos, tasa de transferencia o capacidad. 3. Acceso remoto: permite acceder a un equipo desde otro cualquiera conectado a Internet para hacer una limpieza de un ordenador infectado, realizar una tarea de administración o arreglar problemas de software. 1. Configuración Modo NAT es la forma más sencilla que tiene una MV para acceder a una de Red red externa, ya que no se requiere configuración de red ni en el anfitrión ni en el invitado. Es el modo de red por defecto en VirtualBox. En modo NAT, VB coloca un router entre el exterior y el sistema invitado. Dicho router posee un servidor DHCP que sirve hacia el interior, mapeando el tráfico desde y hacia la MV de forma transparente. Cada MV en modo NAT tendrá su propio router, por lo que estarán en redes aisladas y las MMVV que tienen su tarjeta de red en modo NAT no pueden verse entre sí. Modo Red NAT, funciona como el router de nuestra casa, es decir, los equipos que estén dentro de la misma red NAT podrán comunicarse entre sí. Modo Adaptador puente simula que la tarjeta virtual está conectada al mismo switch que la tarjeta física del anfitrión, por lo tanto, la MV se va a comportar como si fuese un equipo más dentro de la misma red física en la que está el equipo anfitrión. Modo Red interna, podemos construir redes aisladas, en las cuales solo habrá comunicación entre las MMVV que pertenezcan a la misma red interna. Modo Solo-anfitrión se utiliza para crear una red interna a la que pertenecerá también el equipo anfitrión, algo que no sucede en el modo Red interna. 1. Configuración de Red 2-3. RAID y acceso remoto Comandos útiles en VirtualBox: CLI Podemos medir el rendimiento de los componentes fundamentales de un ordenador como la CPU, la memoria RAM o el disco duro mediante benchmarks: 1. Phoronix Test Suite es un software libre de pruebas disponible para Linux, Windows, MacOS y otros. 2. UserBenchmark es una herramienta gratuita para Windows. 3. SiSoftware Sandra Lite propietaria gratuita para Windows. 4. AnTuTu para dispositivos móviles. Pruebas de Para realizar una prueba de rendimiento de una máquina virtual hay que tener en cuenta: rendimiento 1. Las especificaciones de la máquina física (hardware y software) donde se realizan las pruebas. 2. Las especificaciones de la máquina virtual (hardware y (benchmark) software). Si varias máquinas virtuales se ejecutan a la vez, sus especificaciones deben ser las mismas. 3. Elegir herramientas de benchmarking disponibles para el sistema operativo invitado. 4. Los resultados del test son más fiables si se utilizan al menos dos test diferentes. 5. No se debe realizar ninguna otra acción en el sistema mientras se ejecuta el benchmark. 6. La ejecución de algunos test puede tomar horas, dependiendo del equipo. 7. En el caso de máquinas virtuales hay que tener en cuenta los recursos de CPU, memoria y disco que consume cada máquina en el sistema anfitrión.