GESTIÓN DE SISTEMAS OPERATIVOS EN
VIRTUALIZACIÓN
Horario de lunes a viernes de lunes a jueves: de 14:00 a 17:00
17:00 a 20:00
Profesor: Gonzalo Martínez Lozano
[Link]
[Link]
¿QUÉ ES LA
VIRTUALIZACIÓN?
La virtualización es un proceso que permite una utilización más eficiente del hardware
físico de la computadora y es la base de la computación en la nube.
Virtualización, usado en informática, es el concepto que describe la capacidad de algunas
computadoras de utilizar un programa o un conjunto de programas para imitar las
características físicas de otra computadora o de un conjunto de computadoras, lo que da
lugar a un sistema informático virtual(Wikipedia).
El software de virtualización crea una capa de abstracción sobre el hardware de la
computadora que permite que los elementos de hardware de una sola computadora
(procesadores, memoria, almacenamiento y más) se dividan en múltiples computadoras
virtuales, comúnmente llamadas máquinas virtuales (VM). Cada máquina virtual ejecuta
su propio sistema operativo (SO) y se comporta como una computadora independiente,
aunque se ejecuta solamente en una parte del hardware informático subyacente existente.
La virtualización utiliza el software para imitar las características del hardware y crear
un sistema informático virtual. Esto permite a las organizaciones de TI ejecutar más de
un sistema virtual, y múltiples sistemas operativos y aplicaciones, en un solo servidor.
Entre las ventajas obtenidas, se incluyen las economías de escala y una mayor
eficiencia.
Hoy en día, la virtualización es una práctica estándar en la arquitectura de TI
empresarial. También es la tecnología que impulsa la economía de la
computación en la nube. La virtualización permite a los proveedores de la nube prestar
servicios a los usuarios con su hardware informático físico existente. Permite a los
usuarios de la nube comprar solo los recursos informáticos que necesitan cuando los
necesitan, y escalar esos recursos de manera rentable a medida que aumentan sus cargas
de trabajo.
La virtualización permite mejorar la agilidad, la flexibilidad y la escalabilidad de la
infraestructura de TI, al mismo tiempo que proporciona un importante ahorro de costes.
Algunas ventajas de la virtualización, como la mayor movilidad de las cargas de trabajo,
el aumento del rendimiento y de la disponibilidad de los recursos o la automatización de
las operaciones, simplifican la gestión de la infraestructura de TI y permiten reducir los
costes de propiedad y operativos.
¿Cómo funciona la virtualización?
La virtualización es posible gracias a una capa de
software llamada hipervisor. Este software abstrae
los recursos de su sistema host (sea una CPU,
GPU, memoria, espacio de almacenamiento, o
ancho de banda de red) y los asigna dinámicamente
a una serie de máquinas virtuales (VM) que se
ejecutan en el sistema según las solicitudes de
recursos que reciba. Esta máquina virtual funciona
como un archivo de datos en el sistema host y
puede moverse fácilmente de un sistema a otro, o
incluso en la nube, y funciona igual cuando se abre
de nuevo.
Beneficios y casos de uso de la virtualización
A. Ahorros de costes y eficiencia:
•La virtualización ahorra espacio y dinero al consolidar la infraestructura y reducir los costes de hardware.
•Mejora la utilización de los recursos y la eficiencia energética y optimiza la gestión de infraestructura para ahorrar
costes.
B. Escalabilidad y flexibilidad:
•La virtualización permite aprovisionar rápidamente los recursos virtuales, lo que acelera la escalabilidad para
satisfacer los cambios en la demanda.
•Proporciona una asignación de recursos flexible y rentable al aumentar o reducir los recursos de manera eficiente
en función de los requisitos de la carga de trabajo.
C. Continuidad del negocio y recuperación ante desastres:
•La virtualización garantiza la protección de datos y una alta disponibilidad a través de características como la
replicación y la migración en vivo, lo que garantiza la continuidad del negocio.
•Habilita estrategias de recuperación ante desastres como la conmutación por error de los sitios, minimiza el
tiempo de inactividad y garantiza la seguridad de los datos.
D. Entornos de prueba y desarrollo:
•La virtualización simplifica la creación de entornos de prueba aislados, lo que reduce los conflictos y garantiza
unos resultados precisos.
•Acelera los ciclos de prueba y desarrollo al aprovisionar y replicar rápidamente entornos virtuales, mejorando el
desarrollo de software y la eficiencia de las pruebas.
Beneficios de la virtualización
La virtualización aporta varios beneficios a los operadores de centros de datos y proveedores de servicios:
A. Eficiencia de recursos: antes de la virtualización, cada servidor de aplicaciones requería su propia CPU
física dedicada. El personal de TI compraba y configuraba un servidor separado para cada aplicación que
quería ejecutar (el personal de TI prefería una aplicación y un sistema operativo por computadora por
motivos de confiabilidad). Invariablemente, cada servidor físico estaría infrautilizado. Por el contrario, la
virtualización de servidores le permite ejecutar varias aplicaciones, cada una en su propia máquina virtual
con su propio sistema operativo, en una sola computadora física (generalmente un servidor x86) sin
sacrificar la confiabilidad. Esto permite la máxima utilización de la capacidad informática del hardware
físico.
B. Gestión más sencilla: reemplazar las computadoras físicas con máquinas virtuales definidas por software
facilita el uso y la gestión de políticas escritas en software. Esto le permite crear flujos de trabajo de gestión
de servicios de TI automatizados. Por ejemplo, las herramientas de configuración e implementación
automatizadas permiten a los administradores definir colecciones de máquinas virtuales y aplicaciones
como servicios, en plantillas de software. Como resultado, pueden instalar estos servicios sistemáticamente
sin necesidad de la configuración manual lenta, complicada y propensa a errores. Los administradores
pueden usar políticas de seguridad de virtualización para exigir ciertas configuraciones de seguridad según
el rol de la máquina virtual. Las políticas pueden incluso aumentar la eficiencia de los recursos al retirar las
máquinas virtuales no utilizadas para ahorrar espacio y potencia informática.
C. Tiempo de inactividad mínimo: las fallas del sistema operativo y de las aplicaciones
pueden causar tiempo de inactividad e interrumpir la productividad del usuario. Los
administradores pueden ejecutar varias máquinas virtuales redundantes de forma paralela
y la migración por error entre ellas cuando surjan problemas. La ejecución de varios
servidores físicos redundantes es más cara.
D. Aprovisionamiento más rápido: comprar, instalar y configurar hardware para cada
aplicación requiere mucho tiempo. Siempre y cuando el hardware ya esté instalado, el
aprovisionamiento de máquinas virtuales para ejecutar todas sus aplicaciones es
significativamente más rápido. Incluso puede automatizarlo utilizando un software de
gestión e incorporarlo a los flujos de trabajo existentes.
El hardware está separado del software
A través de la virtualización, los recursos que alguna vez solo
estuvieron disponibles en forma física, como servidores, dispositivos
de almacenamiento o sistemas de escritorio, se abstraen en formato
digital. La tecnología separa el hardware físico del software que se
ejecuta en él. Esto permite un uso más eficiente de los recursos de
hardware al segmentar los recursos de sistemas grandes en partes más
pequeñas y eficientes, y que se comparten más fácilmente. Estos
segmentos pueden distribuirse entre múltiples aplicaciones y usuarios
diferentes con diversas necesidades, a través de máquinas virtuales
(VM). Uno de los usos más comunes de esta tecnología es ejecutar
aplicaciones para otros sistemas operativos sin tener que ejecutarlas en
un sistema específico de hardware.
Desafíos y consideraciones de la virtualización:
A. Rendimiento y asignación de recursos:
•La optimización del rendimiento implica gestionar posibles contiendas entre máquinas virtuales por los recursos y garantizar
una asignación de recursos eficiente.
•Las herramientas de supervisión ayudan a identificar y solucionar los problemas de rendimiento de sistemas virtualizados para
obtener el máximo rendimiento.
B. Seguridad y aislamiento:
•Proteger los entornos virtualizados incluye evitar la fuga de máquinas virtuales e implementar controles de acceso y medidas de
segmentación de red.
•Garantizar el aislamiento entre máquinas virtuales y la protección contra accesos no autorizados son aspectos clave a tener en
cuenta para mantener la seguridad.
C. Compatibilidad e integración:
•La virtualización puede abordar desafíos de compatibilidad con sistemas y aplicaciones heredados, lo que requiere una
cuidadosa reflexión durante la migración.
•Para integrar entornos virtualizados con sistemas existentes, como redes y almacenamiento, se requiere una planificación y
ejecución eficaces.
D. Gestión y administración:
•Las herramientas de supervisión y gestión centralizadas permiten una administración eficiente de la infraestructura virtualizada,
lo que garantiza el rendimiento y la estabilidad.
•Las herramientas de automatización y organización agilizan las tareas de gestión, mejoran la productividad y permiten una
configuración e implementación coherentes.
Usos comunes para la virtualización
1. La virtualización ofrece beneficios para empresas de todo tipo, desde pymes hasta empresas grandes. Aunque puede parecer
complicado empezar con la virtualización, los beneficios a largo plazo hacen que el esfuerzo valga la pena.
2. La virtualización permite a las empresas hacer un uso más eficiente de la infraestructura de TI. Múltiples máquinas virtuales o
VDI se pueden hospedar desde una sola pieza de hardware de servidor, lo que reduce costes de energía y refrigeración además de
los costes del bajo uso del hardware. Y con menos hardware disponible, son mucho más fáciles la gestión del ciclo de vida del
activo y el mantenimiento.
3. La virtualización de servidores ha sido crucial para muchas empresas que cada vez adoptan más los entornos de trabajo remotos
o híbridos. La VDI, los servicios de escritorio remoto (RDS), los escritorios virtuales y similares tecnologías posibilitan que los
trabajadores se mantengan productivos con el rendimiento fiable y el fácil acceso a los archivos y datos que necesitan para hacer
su trabajo.
4. La recuperación ante desastres (DR) es otro uso común de la virtualización. Las copias de seguridad de archivos de máquina
virtual desde una cantidad limitada de servidores toma mucho menos tiempo que las copias de seguridad de datos desde una serie
de máquinas exclusivas. La virtualización también hace mucho más fácil mover datos a otras máquinas físicas en caso de falla del
hardware u otro desastre.
5. Para desarrollo de aplicaciones o software, la virtualización baja el coste y simplifica el proceso de dejar recursos nuevos a
disposición de los equipos de desarrollo. No solo las máquinas virtuales nuevas se pueden poner en marcha rápidamente, están
separadas de la infraestructura subyacente y de otras instancias de máquina virtual en el mismo host. Esto evita que los problemas
en el entorno de desarrollo creen problemas para el resto del sistema.
6. Las ventajas de seguridad de las máquinas virtuales se aplican más allá de los usos de prueba y desarrollo. Si necesitas acceder
a archivos o datos sospechosos, la aplicación correcta se puede ejecutar en un entorno en cuarentena, o «aislado», que usa solo
mínimos recursos y almacenamiento del sistema. Separar el software de las aplicaciones de esta manera hace más difícil que se
propague malware u otras amenazas por tu sistema.
Soluciones
Varias empresas ofrecen soluciones de virtualización que
cubren tareas específicas del centro de datos o situaciones
de virtualización de desktop centradas en el usuario final.
Los ejemplos más conocidos incluyen VMware, que se
especializa en virtualización de servidores, desktop, redes
y almacenamiento; Citrix, que tiene un nicho en la
virtualización de aplicaciones, pero también ofrece
virtualización de servidores y soluciones de desktop
virtual; y Microsoft, cuya solución de virtualización
Hyper-V viene con Windows y se enfoca en versiones
virtuales de servidores y desktop.
Máquinas virtuales (VM)
Las máquinas virtuales (VM) son entornos virtuales que simulan una computación física en forma de
software. Normalmente incluyen varios archivos que contienen la configuración de la máquina virtual,
el almacenamiento del disco duro virtual y algunas instantáneas de la máquina virtual que conservan su
estado en un momento determinado.
PARA MAS INFORMACION
"¿Qué es una máquina virtual?“
[Link]
Una máquina virtual es un sistema informático virtual, es decir, un contenedor de software bien
aislado que incluye un sistema operativo y una aplicación. Cada máquina virtual autónoma es
completamente independiente. Si se instalan varias máquinas virtuales en un mismo ordenador, es
posible ejecutar varios sistemas operativos y aplicaciones en un solo servidor físico o «host».
Hipervisores
Un hipervisor es la capa de software que coordina las máquinas virtuales. Sirve
como una interfaz entre la máquina virtual y el hardware físico subyacente, lo
que garantiza que cada uno tenga acceso a los recursos físicos que necesita
para ejecutarse. También garantiza que las máquinas virtuales no interfieran
entre sí al afectar el espacio de memoria o los ciclos de cálculo de las demás.
Tipos de virtualización
Hasta ahora, hemos analizado la virtualización de servidores, pero
muchos otros elementos de la infraestructura de TI se pueden
virtualizar para brindar ventajas significativas a los gerentes de TI (en
particular) y a la empresa como un todo. En esta sección, cubriremos
los siguientes tipos de virtualización:
•Virtualización de desktop
•Virtualización de red
•Virtualización de almacenamiento
•Virtualización de datos
•Virtualización de aplicaciones
•Virtualización del centro de datos
•Virtualización de CPU
•Virtualización de GPU
•Virtualización de Linux
•Virtualización en la nube
Virtualización de desktop
La virtualización de desktop le permite ejecutar varios sistemas operativos
de desktop, cada uno en su propia máquina virtual en la misma computadora.
Hay dos tipos de virtualización de desktop:
•La infraestructura de desktop virtual (VDI) ejecuta varios desktop en
máquinas virtuales en un servidor central y los transmite a los usuarios que
inician sesión en dispositivos de cliente ligero. De esta manera, VDI permite
que una organización proporcione a sus usuarios acceso a una variedad de
sistemas operativos desde cualquier dispositivo, sin instalar sistemas
operativos en ningún dispositivo. Vea "
¿Qué es la infraestructura de desktop virtual (VDI)?" para una explicación
más detallada.
•Virtualización de desktop local ejecuta un hipervisor en una computadora
local, lo que permite al usuario ejecutar uno o más sistemas operativos
adicionales en esa computadora y cambiar de un sistema operativo a otro
según sea necesario sin cambiar nada sobre el sistema operativo principal.
Virtualización de red
La virtualización de redes utiliza software para crear una "vista" de la red que un
administrador puede usar para administrar la red desde una única consola. Extrae elementos
y funciones de hardware (por ejemplo, conexiones, conmutadores, enrutadores, etc.) y los
abstrae en software que se ejecuta en un hipervisor. El administrador de la red puede
modificar y controlar estos elementos sin tocar los componentes físicos subyacentes, lo que
simplifica drásticamente la gestión de la red.
Los tipos de virtualización de red incluyen redes definidas por software (SDN), que
virtualizan el hardware que controla el enrutamiento del tráfico de la red (llamado "plano de
control"), y virtualización de funciones de red (NFV), que virtualiza uno o más
dispositivos de hardware que proporcionan una función de red específica (por ejemplo, un
firewall, un equilibrador de carga o un analizador de tráfico), lo que hace que esos
dispositivos sean más fáciles de configurar, aprovisionar y gestionar.
Virtualización de almacenamiento
La virtualización del almacenamiento habilita todos los dispositivos de almacenamiento
en la red, ya sea que estén instalados en servidores individuales o unidades de
almacenamiento independientes, para acceder a ellos y administrarlos como un solo
dispositivo de almacenamiento. Específicamente, la virtualización del almacenamiento
agrupa todos los bloques de almacenamiento en un solo grupo compartido desde el cual se
pueden asignar a cualquier VM de la red según sea necesario. La virtualización del
almacenamiento facilita el aprovisionamiento de almacenamiento para las máquinas
virtuales y aprovecha al máximo todo el almacenamiento disponible en la red.
Virtualización de datos
Las empresas modernas almacenan datos de múltiples aplicaciones, utilizando múltiples
formatos de archivo, en múltiples ubicaciones, desde la nube hasta sistemas de hardware y
software locales. La virtualización de datos permite que cualquier aplicación acceda a todos
esos datos, independientemente de la fuente, el formato o la ubicación.
Las herramientas de virtualización de datos crean una capa de software entre las aplicaciones
que acceden a los datos y los sistemas que los almacenan. La capa traduce la solicitud o
consulta de datos de una aplicación según sea necesario y devuelve resultados que pueden
abarcar varios sistemas. La virtualización de datos puede ayudar a romper los silos de datos
cuando otros tipos de integración no son factibles, deseables o accesibles.
Virtualización de aplicaciones
La virtualización de aplicaciones ejecuta el software de la aplicación sin instalarlo
directamente en el sistema operativo del usuario. Esto difiere de la virtualización de desktop
completa (mencionada anteriormente) porque solo la aplicación se ejecuta en un entorno
virtual. El sistema operativo del dispositivo del usuario final se ejecuta como de costumbre.
Hay tres tipos de virtualización de aplicaciones:
•Virtualización de aplicaciones locales: toda la aplicación se ejecuta en el dispositivo de
punto final, pero se ejecuta en un entorno de tiempo de ejecución en lugar de en el hardware
nativo.
•Transmisión de aplicaciones: la aplicación vive en un servidor que envía pequeños
componentes del software para que se ejecuten en el dispositivo del usuario final cuando sea
necesario.
•Virtualización de aplicaciones basada en servidor: la aplicación se ejecuta completamente
en un servidor que envía solo su interfaz de usuario al dispositivo cliente.
Virtualización del centro de datos
La virtualización del centro de datos abstrae la mayor parte del hardware de un centro de datos
en software, lo que permite a un administrador dividir un solo centro de datos físico en varios
centros de datos virtuales para diferentes clientes.
Cada cliente puede acceder a su propia infraestructura como servicio (IaaS), que se ejecutaría
en el mismo hardware físico subyacente. Los centros de datos virtuales ofrecen un acceso fácil
a la computación basada en la nube, lo que permite que una empresa configure rápidamente un
entorno de centro de datos completo sin comprar hardware de infraestructura.
Virtualización de CPU
La virtualización de CPU (unidad central de procesamiento) es la tecnología fundamental
que hace posibles los hipervisores, las máquinas virtuales y los sistemas operativos.
Permite que una sola CPU se divida en varias CPU virtuales para su uso por varias
máquinas virtuales.
Al principio, la virtualización de la CPU estaba completamente definida por software,
pero muchos de los procesadores actuales incluyen conjuntos de instrucciones ampliados
que admiten la virtualización de la CPU, lo que mejora el rendimiento de la máquina
virtual.
Virtualización de GPU
Una GPU (unidad de procesamiento gráfico) es un procesador especial de múltiples núcleos
que mejora el rendimiento informático general al hacerse cargo del procesamiento gráfico o
matemático de alta resistencia. La virtualización de GPU permite que varias máquinas
virtuales utilicen toda o parte de la potencia de procesamiento de una sola GPU para agilizar
las aplicaciones de vídeo, inteligencia artificial (IA) y con un uso intensivo de gráficos o
matemáticas.
•Las GPU de paso permiten que toda la GPU esté disponible para un único sistema operativo
invitado.
•Las vGPU compartidas dividen los núcleos de GPU físicos entre varias GPU virtuales
(vGPU) para su uso en las máquinas virtuales basadas en el servidor.
Virtualización de Linux
Linux incluye su propio hipervisor, llamado máquina virtual basada en kernel (KVM), que admite las
extensiones de procesador de virtualización de Intel y AMD para que pueda crear máquinas virtuales
basadas en x86 desde un sistema operativo host Linux.
Como sistema operativo de código abierto, Linux es altamente personalizable. Puede crear máquinas
virtuales que ejecuten versiones de Linux adaptadas a cargas de trabajo específicas o versiones de
seguridad reforzada para aplicaciones más sensibles.
Virtualización en la nube
Como se señaló anteriormente, el modelo de computación en la nube depende de la
virtualización. Al virtualizar servidores, almacenamiento y otros recursos físicos del
centro de datos, los proveedores de computación en la nube pueden ofrecer una
variedad de servicios a los clientes, incluidos los siguientes:
•Infraestructura como servicio (IaaS): recursos de servidor, almacenamiento y red
virtualizados que puede configurar en función de sus requisitos.
•Plataforma como servicio (PaaS): herramientas de desarrollo virtualizadas, bases
de datos y otros servicios basados en la nube que puede utilizar para crear sus propias
aplicaciones y soluciones basadas en la nube.
•Software como servicio (SaaS): aplicaciones de software que utiliza en la nube.
SaaS es el servicio basado en la nube que más se abstrae del hardware.
Virtualización frente a contenerización
La virtualización de servidores reproduce una computadora completa en hardware, que luego
ejecuta un sistema operativo completo. El sistema operativo ejecuta una aplicación. Es más
eficiente que no tener ninguna virtualización, pero continúa duplicando código y servicios
innecesarios para cada aplicación que desee ejecutar.
Los contenedores adoptan un enfoque alternativo. Comparten un kernel de sistema operativo
subyacente, solo ejecutan la aplicación y las cosas de las que depende, como bibliotecas de
software y variables de entorno. Esto hace que los contenedores sean más pequeños y más
rápidos de implementar.
Seguridad
La virtualización ofrece algunos beneficios de seguridad. Por ejemplo, las máquinas virtuales infectadas
con malware se pueden revertir a un punto en el tiempo (llamado instantánea) cuando la máquina virtual
no estaba infectada y era estable; también se pueden borrar y volver a crear más fácilmente. No siempre
puede desinfectar un sistema operativo no virtualizado, porque el malware a menudo está profundamente
integrado en los componentes centrales del sistema operativo y persiste más allá de las reversiones del
sistema.
La virtualización también presenta algunos desafíos de seguridad. Si un atacante pone en peligro un
hipervisor, es posible que posea todas las máquinas virtuales y los sistemas operativos invitados. Debido a
que los hipervisores también pueden permitir que las máquinas virtuales se comuniquen entre sí sin tocar
la red física, puede ser difícil ver su tráfico y, por lo tanto, detectar actividad sospechosa.
Un hipervisor de tipo 2 en un sistema operativo host también es susceptible a brechas del sistema
operativo host.
El mercado ofrece una gama de productos de seguridad de virtualización que pueden escanear y parchear
máquinas virtuales en busca de malware, cifrar discos virtuales completos de máquinas virtuales y
controlar y auditar el acceso a las máquinas virtuales.