Clase 1
Clase 1
Clase 1
Presentación
Presentación del profesor
Introducción
Breve historia sobre la virtualización
Con el inicio de la década de 1980 y 90, la proliferación de la arquitectura x86 hizo muy popular
el modelo cliente-servidor, el concepto de acceso al mismo tiempo a los recursos de un único
supercomputador fue desapareciendo, y con él se vio eclipsada la virtualización.
En 1998, VMware fue fundada por un grupo de investigadores de la Universidad de California,
que trataban de resolver algunas de las deficiencias de la arquitectura x86. Entre estas
deficiencias era conocido el uso insuficiente de la CPU, pues los promedios de utilización de
CPU eran de entre 10% y 15% de su capacidad total.
Que es la virtualización?
Ventajas
Uno de los principales es el hecho de que la complejidad que adquieren estos sistemas
requerirá siempre de profesional altamente capacitado tanto para su diseño como
control. Es necesario revisar periódicamente que todo se encuentra en completo orden
y funcionamiento.
Al añadir una capa entre la ejecución de procesos y el hardware dónde se ejecuta,
puede introducir algún tipo de latencia. Algunos sistemas son más sensibles a este
tema, por lo que se requiere dimensionar correctamente la infraestructura
virtual.
Ability to Execute se le llama a la habilidad de priorizar las ideas más valiosas y crear
productos con ellas. Existen un montón de buenas ideas, pero no todas las compañías tienen la
habilidad de crear productos con ellas.
Características y Funciones
Entrega el hardware dónde está instalado a las máquinas virtuales con una serie de
procesos complejos que hace que se pueda compartir la memoria, CPU y otros
recursos físicos entre varias máquinas virtuales.
ESXi se utiliza para crear las máquinas virtuales como un conjunto de archivos de
configuración y de disco, que juntos realizan las mismas funciones de un equipo físico.
Con ESXi se pueden ejecutar las máquinas virtuales, instalar sistemas operativos,
ejecutar aplicaciones y configurar las máquinas virtuales.
https://www.vmware.com/resources/compatibility/search.php
Archivos de una VM
Una máquina virtual consta de varios archivos que están almacenados en un dispositivo de
almacenamiento.
Los archivos clave son el de configuración, el de disco virtual, el de configuración de NVRAM y
el de logs.
Al configurar las máquinas virtuales suele suceder que se asignen más recursos en dichas máquinas que
los que tiene el servidor en total, esto se denomina overprovisioning o sobredimensionamiento. Para
aprender a planificar este proceso, debemos tener en cuenta varios aspectos.
CPU
En el caso de CPU, debemos diferenciar entre los conceptos de CPU físico (pCPU) y CPU virtual (vCPU)
● pCPU se refiere a las CPU físicas. El número de CPUs físicas presentes en un determinado host
depende de varios factores como son el número de sockets, el número de cores y si tiene
hyperthreading y está habilitado.
● vCPU son las CPU que se asignan a una máquina virtual y no tiene porque está ligado al número
de pCPU. Cuando se crea una máquina virtual las vCPU se asignan a una pCPU. Debe haber un
número de pCPU disponibles para soportar el número de vCPU asignadas a una máquina virtual
o esta no podrá arrancar.
● Cuando se supera la relación 1:1 entre estos valores, debe entrar en funcionamiento el
“scheduler” para distribuir los tiempos de procesador entre las máquinas que lo necesiten.
Cuando la máquina virtual necesite realizar una operación, esta tendrá que esperar a que haya
disponibles un número de pCPU igual al número de vCPU.
● Por estas razones es más probable que una máquina con menos vCPU se le asigne CPU que una
con mayor cantidad. Es recomendable empezar con menos vCPU, y aumentarlo en la medida
que se necesite.
Memoria
En el caso de la memoria igualmente se puede asignar más de la disponible, en caso de
contención el vmkernel emplea varias técnicas para “ahorrar” memoria física.
● TPS(Transparent Page Sharing) :permite buscar bloques de memoria que son iguales
entre diferentes máquinas virtuales y compartirlos mientras la situación se mantenga
así. Podemos asemejarlo a las tecnologías de deduplicación que usan algunos
fabricantes de almacenamiento.
● Balloning: permite reubicar memoria no usada de una máquina virtual a otra.
● Compression: el hipervisor analiza las páginas de memoria de 4KB de tamaño y las
comprime a 2 KB. En el caso de que la máquina virtual necesite de una página
comprimida, el hipervisor se encargará de descomprimir la página de memoria y se la
entregará a la máquina. Evidentemente, esto impactará y mucho sobre la CPU en el
proceso de compresión y descompresión.
● Swapping: esta técnica es utilizada como último recurso y es muy crítico llegar a este
punto. El hipervisor envía páginas de memoria al disco de la máquina virtual.
Thick Provision
Un disco virtual thick provision consume todo el espacio asignado en el datastore desde el
principio, por lo que el espacio no está disponible para otras máquinas virtuales.
Lazy zeroed
El espacio puede contener datos antiguos en el medio físico. Estos datos antiguos no se borran
ni se sobrescriben, por lo que se deben "poner a cero" antes de que se puedan escribir nuevos
datos en los bloques.
Este tipo de disco se puede crear más rápidamente, pero su rendimiento será menor para las
primeras escrituras debido al aumento de IOPS (operaciones de entrada / salida por segundo)
para los nuevos bloques.
Eager zeroed
Se borran de todos los datos anteriores en los medios físicos. La creación de discos eager
zeroed lleva más tiempo, porque los ceros se escriben en todo el disco, pero su rendimiento es
más rápido durante las primeras escrituras.
Thin Provision
Un disco virtual thin provision consume solo el espacio que necesita inicialmente y crece con el
tiempo según la demanda.
Recomendaciones de uso
Thin o thick
Crear discos de un tipo u otro, dependerá del uso que se le vaya a dar a la máquina virtual, si
por ejemplo va a ser para un servidor de bases de datos que consumirá mucho espacio en
poco tiempo y muchas transacciones tal vez sea recomendable usar desde el principio Thick
que ya asignará todos los bloques a usar por el fichero del disco duro virtual. Si por el contrario
va a ser una máquina virtual donde el espacio usado no crezca rápido, como un servidor web,
se podría usar Thin.
Lazy zeroed o Eager zeroed
Por razones de seguridad de datos, eager zeroing es más común que lazy zeroing con discos
virtuales de aprovisionamiento thick. ¿Por qué? Cuando elimina un VMDK, los datos en el
datastore no se borran totalmente; los bloques simplemente se marcan como disponibles, hasta
que el sistema operativo los sobrescribe.
Si crea un disco virtual eager zeroed en este datastore, el área del disco se borrará totalmente
(es decir, se pondrá a cero), lo que evitará que cualquier persona con malas intenciones pueda
recuperar los datos anteriores, incluso si utiliza software especializado de terceros.
Este subtipo de disco virtual de aprovisionamiento thick es compatible con las características
de agrupación en clústeres, como la tolerancia a fallos.
La compatibilidad de la máquina virtual, que depende del host que la creó o la actualizó
más recientemente.
Si se actualizó la compatibilidad de la máquina virtual a la versión más reciente para el
host actual (Hardware Virtual)
El sistema operativo de la VM.
E1000E
Versión emulada de la tarjeta de interfaz de red Gigabit Ethernet Intel 82574. E1000E es el
adaptador predeterminado para Windows 8 y Windows Server 2012.
E1000
Versión emulada de la tarjeta de interfaz de red (NIC) Gigabit Ethernet Intel 82545EM, con
controladores disponibles en la mayoría de los sistemas operativos, incluido Windows XP y
versiones posteriores y Linux versión 2.4.19 y versiones posteriores.
Vlance
Versión emulada de la tarjeta de interfaz de red (NIC) AMD 79C970 PCnet32 LANCE, una
tarjeta de interfaz de red (NIC) más antigua de 10 Mbps disponible en sistemas operativos
antiguos. Una máquina virtual configurada con este adaptador de red puede utilizar su red de
forma inmediata.
Flexible
Se identifica como adaptador Vlance cuando se arranca una máquina virtual, pero se inicializa
y funciona como adaptador Vlance o VMXNET, según el controlador que lo inicializa. Con
VMware Tools instalado, el controlador VMXNET cambia el adaptador Vlance al adaptador
VMXNET de rendimiento más alto.
VMXNET
Optimizada para el rendimiento en una máquina virtual y sin equivalente físico. Debido a que
los proveedores de sistemas operativos no proporcionan controladores integrados para esta
tarjeta, debe instalar VMware Tools para tener disponible un controlador para el adaptador de
red VMXNET.
VMXNET 2 (mejorado)
Basado en el adaptador VMXNET, pero con características de alto rendimiento comúnmente
disponibles en redes modernas, como jumbo Frames.
VMXNET 3
Una tarjeta de red diseñada para un gran rendimiento. VMXNET 3 proporciona todas las
características disponibles en VMXNET 2 y agrega varias funciones nuevas, como la
compatibilidad multicola), IPv6 y entrega de interrupciones MSI/MSI-X. VMXNET 3 no está
relacionado con VMXNET o VMXNET 2.
PVRDMA (Paravirtual RDMA)
Admite el acceso directo a memoria remota (RDMA) entre las máquinas virtuales a través de la
API de verbos de OFED
Dispositivo capaz de acceder a la memoria del host directamente, sin la intervención del CPU.
Es la habilidad de acceder a la memoria en una máquina remota sin la intervención del CPU.
Ventajas
Permite realizar transferencias de datos sin involucrar la parte del kernel que maneja la capa de
red ni el CPU del servidor remoto.
Conceptos de Red
Red Física
Red de máquinas físicas que están conectadas para poder enviar y recibir datos entre sí.
VMware ESXi se ejecuta en una máquina física
Virtual Network
Red de VMs que se ejecutan en un servidor físico y que están interconectadas de manera
lógica para poder enviar y recibir datos entre sí.
Switch Ethernet Físico
Maneja el tráfico de red entre las máquinas de la red física. Tiene varios puertos, cada uno de
los cuales se puede conectar a una sola máquina o a otro switch en la red. Cada puerto puede
configurarse para que se comporte de ciertas maneras en función de las necesidades de la
máquina conectada a él.
Funciona básicamente como un switch Ethernet físico. Detecta qué máquinas virtuales están
conectadas de manera lógica a cada uno de sus puertos virtuales y utiliza esa información para
enviar tráfico a las máquinas virtuales correctas.
Standard Port Group
Imaginemos que tenemos un gran switch virtual, con cientos de puertos en él. Probablemente
no se quiera configurarlos todos de la misma manera. Algunos serán usados para VMs de
producción, otros para desarrolladores, otros para redes, etc.
Los Port Group son la manera en que se pueden crear reglas lógicas con los puertos a los que
se conectan las máquinas virtuales. Es común crear un port group por cada VLAN y subred que
se le quiera presentar a las máquinas virtuales. En los port group se puede configurar opciones
de seguridad y ancho de banda
Actúa como un solo switch en todos los host en un centro de datos, para proporcionar
administración, supervisión de redes virtuales y aprovisionamiento centralizado.
Es posible configurar un vSphere Distributed Switch y dicha configuración se completa para
todos los host asociados a este switch.
Distributed Port
Es un puerto en un vSphere Distributed Switch que se conecta a un puerto VMkernel del host o
al adaptador de red de una VM
VLAN
VLAN permite que se segmente un único segmento LAN física para que los grupos de puertos
queden aislados unos de otros como si estuvieran en redes físicamente diferentes. El standard
es 802.1Q.
Capa VMkernel TCP/IP
Un uplink port group o dvuplink port group se define durante la creación del distributed switch y
puede tener uno o más uplinks.
Un uplink es una plantilla que se usa para configurar las conexiones físicas de los host, así
como políticas de failover y balance de carga.
Las NICs del host se mapean a los uplinks en el distributed switch. A nivel de host, cada tarjeta
física está conectada a un uplink port con un ID particular.
Resumen
Con todo esto que hemos explicado, concluimos que las redes virtuales proporcionan varios servicios a
los host y a las máquinas virtuales, básicamente:
Una SAN (Storage Area Network) es una red de alta velocidad especializada que conecta
sistemas informáticos, o hosts ESXi, con sistemas de almacenamiento de alto rendimiento.
ESXi puede utilizar protocolos de FC (Fibre Channel) o iSCSI para conectarse a los sistemas
de almacenamiento.
FC
FC (Fibre Channel) es un protocolo de almacenamiento que utiliza la SAN para transferir tráfico
de datos desde los servidores host ESXi hacia un almacenamiento compartido. Para
conectarse a la SAN de FC, el host usa HBA (Host Bus Adapter) de FC.
iSCSI
iSCSI (internet iSCSI) es un protocolo de SAN que utiliza las conexiones Ethernet entre los
hosts ESXi y los sistemas de almacenamiento de alto rendimiento.
Para conectarse a los sistemas de almacenamiento, los hosts utilizan adaptadores de iSCSI de
hardware o iniciadores iSCSI de software
Discos virtuales
Una VM en un host ESXi utiliza un disco virtual para almacenar su sistema operativo, archivos
de aplicación y otros datos relacionados con sus actividades.
Los discos virtuales son archivos físicos de gran tamaño, o conjuntos de archivos, que pueden
copiarse, moverse, archivarse y respaldarse con una copia de seguridad, como se haría con
cualquier otro archivo.
Cada disco virtual reside en un datastore que está implementado en almacenamiento físico. El
acceso al almacenamiento físico a través de HBA o Ethernet en el host generalmente es
transparente para el sistema operativo de la VM y sus aplicaciones.
VMware vSphere VMFS
Un cliente NFS integrado en ESXi utiliza el protocolo Network File System (NFS) mediante
TCP/IP para acceder a un volumen NFS ubicado en un servidor NAS. El host ESXi puede
montar el volumen y utilizarlo como un datastore NFS.
Dispositivos sin formato
Además de discos virtuales, vSphere ofrece un mecanismo que se conoce como Raw Device
Mapping. (RDM).
RDM es útil para los casos donde un sistema operativo de una VM requiere acceso directo a un
dispositivo de almacenamiento.