Download PARTICIONES LOGICAS Y FISICAS EN MAINFRAMES

Document related concepts

Máquina virtual wikipedia , lookup

Servidor virtual privado wikipedia , lookup

Workload Partitions wikipedia , lookup

VMware wikipedia , lookup

Hipervisor wikipedia , lookup

Transcript
PARTICIONES LOGICAS Y
FISICAS EN MAINFRAMES
TRABAJO DE INVESTIGACION FINAL
Walter Cerrudo
09
PARTICIONAMIENTO
Una de las tecnologías utilizadas para realizar la virtualización (Ver Capitulo II) es realizar el
particionamiento de los servidores tanto a nivel lógico como físico, para rentabilizar su
rendimiento al máximo.
Las particiones, físicas o lógicas, son mecanismos que permiten aislar ambientes dentro de
un servidor. Cuando una aplicación está aislada dentro de una partición, es capaz de hacer
uso dedicado de los recursos del servidor, por separado o en grupo.
Las Particiones, aunque simple en concepto, han demostrado ser difíciles de desarrollar y
desplegar.
P ORQUE P ARTICIONAR
En el mundo de los Mainframes el particionado se ha aplicado desde hace ya muchos años
utilizando MVS y Maquinas Virtuales (MV).
Hoy en día existe una demanda de sistemas de alta gama, que proporcionen una mayor
flexibilidad y la posibilidad de subdividirse en particiones más pequeñas, que son capaces de
ejecutar una versión de sistema operativo, o un conjunto especifico de aplicaciones.
Las principales razones de un gran sistema de particiones son las siguientes:
 Consolidación de Servidores: permite ejecutar múltiples aplicaciones que
anteriormente residían en sistemas físicos diferentes, proporcionando así
beneficios como la reducción de costos, ahorro de espacio y reducción de las
operaciones de gestión.
 Producción y entornos de producción: el particionamiento permite prescindir de
equipos físicos necesarios para la prueba de nuevas versiones de aplicaciones, ya
que estas pueden realizarse en los mismos equipos físicos en que se desarrollan.
Esto evita comprar de computadoras y facilita las migraciones de aplicaciones.
 Aumento de la Utilización del Hardware: permite optimizar la utilización del
hardware, la ejecución de varias instancias de una aplicación en particiones
separadas más pequeñas puede proporcionar un mejor rendimiento que ejecutar
una sola instancia de la aplicación.
 Aislamiento de Aplicaciones: permite ejecutar instancias de aplicaciones en
particiones separadas, asegurando de que no habrá interferencia entre una y otra,
en caso de fallo. También previene el consumo excesivo de recursos que otras
aplicaciones puedan necesitar.
 Mayo flexibilidad en la asignación de recursos: las necesidades de recursos de un
trabajo que varían a lo largo del tiempo pueden administrarse fácilmente dentro
de una partición de manera de satisfacer las distintas demandas.
VIRTUALIZACIÓN
La virtualización es una tecnología que fue desarrollada por IBM en los años 60s. La primera
computadora diseñada específicamente para virtualización fue el mainframe IBM S/360
Modelo 67. Esta característica de virtualización ha sido un Standard de la línea que siguió
(IBM S/370) y sus sucesoras, incluyendo la serie actual.
Durante los 60s y los 70s fueron muy populares, pero las máquinas virtuales desapareciero n
prácticamente durante los 80s y los 90s. No era hasta el final del 90s que volvió a resurgir la
tecnología de las maquinas virtuales y no solamente en el área tradicional de servidores sino
también en muchas otras áreas del mundo de la computación:
“En la actualidad asistimos a su eclosión gracias al fuerte descenso del coste total de
propiedad (TCO) atribuible a tecnologías vía hardware como Intel VT, AMD-V Pacifica, NPIV
y vía software VMware, XEN, Microsoft Hyper-V, VirtualIron.”
La virtualización es un término que se refiere a la abstracción de los recursos de de una
computadora llamada Hypervisor o VMM (Virtual Machine Monitor) que crea una capa de la
abstracción entre el hardware de la maquina física (host) y el sistema operativo de la
maquina virtual (virtual machine, guest). El VMM maneja los recursos de las maquinas físicas
subyacentes (designadas por el computador central) de una manera que el usuario pueda
crear varias maquinas virtuales presentando a cada una de ellas una interfaz del hardware
que sea compatible con el sistema operativo elegido.
Esta capa de software (VMM) maneja, gestiona y arbitra los cuatro recursos principales de
una computadora (CPU, Memoria, Red, Almacenamiento) y así podrá repartir
dinámicamente dichos recursos entre todas las maquinas virtuales definidas en el
computador central.
La maquina virtual generalmente es un sistema operativo completo que corre como si
estuviera instalado en una plataforma de hardware autónoma. Típicamente muchas
máquinas virtuales son simuladas en un computador central. Para que el sistema operativo
“guest” funcione, la simulación debe ser lo suficientemente robusta (dependiendo del tipo de
virtualización).
T IPOS
DE
V IRTUALIZACIÓN
EMULA CIÓN O SIMU LACI ÓN
La máquina virtual simula un hardware completo, admitiendo un sistema operativo “guest”
sin modificar para una CPU completamente diferente. Este enfoque fue muy utilizado para
permitir la creación de software para nuevos procesadores antes de que estuvieran
físicamente disponibles. Por ejemplo Bochs, PearPC, Qemu sin aceleración, y el emulador
Hércules. La emulación es puesta en práctica utilizando una variedad de técnicas, desde state
machines hasta el uso de la recopilación dinámica en una completa plataforma virtual.
VIRTU ALIZ ACI ÓN N ATIV A Y VIR TUA LIZA CIÓ N CO MPL ETA
La máquina virtual simula un hardware suficiente para permitir un sistema operativo “guest”
sin modificar (uno diseñado para la misma CPU) para correr de forma aislada. Típicamente,
muchas instancias pueden correr al mismo tiempo. Este enfoque fue el pionero en 1966 con
CP-40 y CP[-67]/CMS, predecesores de la familia de máquinas virtuales de IBM. Algunos
ejemplos: VMware Workstation, VMware Server, Parallels Desktop, Virtual Iron, Adeos, Macon-Linux, Win4BSD, Win4Lin Pro y z/VM.
VIRTU ALIZ ACI ÓN P ARCI AL
La máquina virtual simula múltiples instancias de mucho (pero no de todo) del entorno
subyacente del hardware, particularmente address spaces. Este entorno admite compartir
recursos y aislar procesos, pero no permite instancias separadas de sistemas operativos
“guest”. Aunque no es vista como dentro de la categoría de máquina virtual, históricamente
éste fue un importante acercamiento, y fue usado en sistemas como CTSS, el experimental
IBM M44/44X, y podría decirse que en sistemas como OS/VS1, OS/VS2 y MVS.
PARAV IRTU ALI ZACI ÓN
La máquina virtual no necesariamente simula un hardware, en cambio ofrece un API especial
que solo puede usarse mediante la modificación del sistema operativo “guest”. La llamada
del sistema al hypervisor tiene el nombre de “hypercall” en Xen y Parallels Workstation; está
implementada vía el hardware instruction DIAG (“diagnose”) en el CMS de VM en el caso de
IBM (este fue el origen del término hypervisor). Ejemplo: VMware ESX Server, Win4Lin 9x y
z/VM.
VIRTU ALIZ ACI ÓN A NIV EL DEL SIS TEMA OP ERAT IVO
Virtualizar un servidor físico a nivel del sistema operativo permitiendo múltiples servidores
virtuales aislados y seguros correr en un solo servidor físico. El entorno del sistema operativo
“guest” comparte el mismo sistema operativo que el del sistema “host” (el mismo kernel del
sistema operativo es usado para implementar el entorno del “guest”). Las aplicaciones que
corren en un entorno “guest” dado lo ven como un sistema autónomo. Ejemplos: LinuxVServer, Virtuozzo, OpenVZ, Solaris Containers y FreeBSD Jails.
VIRTU ALIZ ACI ÓN D E AP LIC ACIO NES
Consiste en el hecho de correr una desktop o una aplicación de server localmente, usando los
recursos locales, en una máquina virtual apropiada. Esto contrasta con correr la aplicación
como un software local convencional (software que fueron “instalados” en el sistema).
Semejantes aplicaciones virtuales corren en un pequeño entorno virtual que contienen los
componentes necesarios para ejecutar, como entradas de registros, archivos, entornos
variables, elementos de uso de interfaces y objetos globales. Este entorno virtual actúa como
una capa entre la aplicación y el sistema operativo, y elimina los conflictos entre aplicaciones
y entre las aplicaciones y el sistema operativo. Los ejemplos incluyen el Java Virtual Machine
de Sun, Softricity, Thinstall, Altiris y Trigence (esta metodología de virtualización es
claramente diferente a las anteriores; solo una pequeña línea divisoria los separa de entornos
de máquinas virtuales como Smalltalk, FORTH, Tel, P-code).
VIRTUALIZACIÓN Y PARTICIONAMIENTO
La virtualización de servidores permite optimizar el uso de los recursos (CPUs
principalmente) mediante la asignación dinámica de éstos en un entorno multisistema
operativo, así como aportar un servicio continuado mediante clusters y pagar sólo por lo que
se usa gracias a la solución “utility pricing”. El objetivo de todo ello es consolidar y
automatizar los recursos en tiempo real para un uso optimizado que no sólo aumente el
rendimiento de los servidores, sino que también pueda garantizar la continuidad de negocio.
La virtualización es la solución perfecta a los problemas de infrautilización de servidores
porque mejora el rendimiento y la flexibilidad de éstos, proporcionando, además, una
importante reducción de costes. Si un servidor es capaz, gracias a los particionamientos, de
correr en diferentes sistemas operativos, no sólo se aprovechan mejor sus capacidades, sino
que éstas pueden ser utilizadas en caso de emergencia, cuando, por ejemplo, otro equipo se
estropea, para no interrumpir en ningún momento el servicio.
NPARTITIONS
(NODE PARTITIONS)
P A R T I C I O N E S F Í S I CA S
Permiten configurar un solo servidor como un servidor grande o como múltiples servidores
más pequeños. Cada partición cuenta con un o mas células (conteniendo procesadores y
memoria) que son asignadas a la partición para uso exclusivo.
Cualquier dispositivo de I/O que se asocie a una célula pertenece a una partición, también es
asignado solo a esa partición.
Puesto que cada nPartition tiene su propio procesador, memoria y recursos de I/O, que
consisten en los recursos de las células afectadas, los recursos se pueden quitar de un
nPartition y agregar a otro sin tener que quitarlo físicamente o agregar hardware. Además,
se puede realizar la creación y la modificación dinámicas de nPartitions.
Gracias a la separación eléctrica, las nPart se encuentran aisladas una de otras, de modo que
las fallas de hardware se limitan a la partición en la que ocurren.
Los nPartitions proporcionan:
 Aislamiento de la dotación física, eléctrica y de seguridad.
 Granularity de célula.
 Flexibilidad de recursos
Cada nPartition posee sus propias instancias de Sistemas Operativos, Aplicaciones y
Usuarios,
Este tipo de tecnología de virtualización le permite:
 Aumentar la utilización del servidor (utilizando las células no utilizadas en un
servidor)
 Aislamiento de los ambientes de funcionamiento
 Mejor disponibilidad de sistema
 La posibilidad de realizar mantenimiento físico, mientras otras nPartitions siguen
en funcionamiento. Una reconfiguración en una de las particiones no requiere que
se reinicie todo el sistema
 Mejore el coste de la propiedad
CARAC TERÍ STI CAS
 Se aplica en la tarjeta celular.
 Proporciona aislamiento tanto funcional como eléctrico.
 Las nParticiones se pueden seguir subdividiendo mediante el Particionado de
 software.
 En los servidores que las admitan, las nParticiones pueden ejecutar HP-UX, Linux,
Microsoft Windows o todos estos sistemas operativos (en particiones separadas).
VENTA JAS DE NPART ITI ONS
 Soporte para Multiple SO, en un servidor pueden correr: HP-UX, Windows, Linux y
OpenVMS.
 Capacidad para realizar mantenimiento físico en parte de una nPartitions,
mientras que otros nPartitions seguir corriendo.
 Una falla en una de las maquinas virtuales no afecta al resto.
 Una maquina virtual no puede acceder a otra, ni al hardware.
LPAR
(LOGICAL PARTITIONS)
PAR TICIONES LÓGICAS
LPAR es un subconjunto de recursos de hardware dentro del mismo ordenador, pero
virtualizado. Una máquina física puede dividirse en múltiples LPARs, conviviendo en un
mismo sistema operativo.
La tecnología fue desarrollada inicialmente por separado de Amdahl, Hitachi Data Systems e
IBM para el mainframe de arquitectura ESA/390 a mediados de los años 1980, y continuó
también para zSeries. Sin embargo, IBM más tarde extendió la idea hacia servidores
mainframe, tales como pSeries desde octubre de 2001 e iSeries aunque con distintas
especificaciones técnicas.
IBM tiene una larga historia de liderazgo en el área de la virtualización. Esta no es
una nueva tecnología - ha estado alrededor desde 1967 en el mainframe, y fue
desarrollada inicialmente para el procesador POWER en 1997. Desde entonces
hemos estado refinando la tecnología para hacerla más confiable, escalable y a fin
de que sirva mejor para sus necesidades empresariales.
1967
IBM desarrolla el hypervisor que eventualmente se convertiría en
VM en el mainframe
1973
IBM anuncia el S/370 modelo 158 y modelo 168, las dos primeras
máquinas para realizar particionamiento físico
1987
Se anuncia PR/SM (LPAR en el mainframe)
1990
Se anuncia la familia de ES/9000. Éste es el ultimo mainframe IBM
para dar soporte al particionamiento físico
1997
El diseño de POWER LPAR comienza
1999
Se anuncia System i LPAR
200
System i envía soporte de sub-processor LPAR / System p envía
soporte total de processor LPAR
2001
Se introduce LPAR en POWER4™ con AIX 5L™ V5.1
2004
Micro Partitioning LPAR y Virtual I/O con POWER5™ y AIX 5L V5.3
2007
IBM anuncia POWER6, los primeros servidores UNIX con Live
Partition Mobility
Múltiples sistemas operativos son compatibles con LPARs, incluyendo z/OS, z/VM, z/VSE,
z/TPF, AIX, GNU/Linux (incluyendo Linux en zSeries), y i5/OS. En sistemas de
almacenamiento, tales como el IBM TotalStorage DS8000, pueden permitir que múltiples
instancias virtuales de un array de almacenamiento existan dentro de una misma matriz
física.
El particionamiento lógico se realiza principalmente en la capa de hardware. Dos LPARs
puedan tener acceso a la memoria de un chip de memoria, dentro de los rangos de
direcciones de memoria asignadas para que puedan acceder directamente sin solapamiento.
Varios CPU pueden usarse para un LPAR, o ser compartida entre varias, pero sólo por el
mando de un proceso de la segunda partición para operar directamente en la memoria. CPUs
pueden ser dedicados a un único LPAR, o compartidos entre LPARs por separado. Si bien en
Amdahl del MDF es posible configurar una LPAR con ambos compartidos y dedicados CPUs
ya no es posible con mainframes.
En IBM, LPARs son gestionados por la PR/SM instalación. Moderno IBM operar
exclusivamente en modo LPAR, incluso cuando sólo hay una partición lógica en una huella.
Múltiples LPARs pueden formar un Sysplex o Sysplex Paralelo, ya sea en una huella o
propagación a través de múltiples huellas.
En condiciones de seguridad permiten la combinación de múltiples ensayos, el desarrollo,
garantía de calidad, producción y trabajo en el mismo sistema, que ofrece varias ventajas
como disminuir los costos de despliegue más rápido y más comodidad. IBM mainframe
LPARs se Common Criteria EAL5 certificable, lo que equivale a separar físicamente los
servidores, sin conexiones, así que son apropiados para los más altos requisitos de seguridad,
incluidas las de uso militar. Casi todos los mainframes de IBM corren con múltiples LPARs
(hasta 60 en los últimos modelos), IBM System z9 y del sistema Z10 apoyo de hasta 60
LPARs.
VENTA JAS
La primera ventaja de consolidar en un sistema con LPAR es, como ya mencionamos, ahorrar
costes de operación, disminuyendo la complejidad de múltiples servidores, pero
manteniendo una cierta independencia y control en cada una de las particiones.
Esto nos permite contar con diferentes versiones de software, de idioma, de sistema
operativo, y trabajar con diferentes husos horarios y criterios de seguridad en cada partición,
impidiendo además que el consumo de CPU de un país afecte el rendimiento de otro.
Además de los costes de operación, se reducen las necesidades de espacio físico, puede
centralizarse el Centro de Datos, se ahorran costes de licencias de software (IBM sólo nos
cobrará por una copia de OS/400 para todas las particiones) y es posible compartir
dispositivos de backup, consolas, etc.
Permite además redistribuir dinámicamente la CPU (interactiva y batch) asignada a cada
partición, para ello utiliza una aplicación que se encarga de realizar el monitoreo continuo de
la actividad en cada LPAR, y cuando detecta CPU sobrante en una partición, amplía
rápidamente la capacidad asignada a las particiones que sufren, moviendo desde centésimas
de procesador a procesadores completos, eliminando la fragmentación y acelerando
enormemente el sistema.
También es posible especificar la importancia, prioridad, y condiciones de ajuste de cada
partición, como así también el rango (mínimo y máximo) de CPU interactiva y batch que
puede ser asignado a cada partición, para permitir que el ajuste se haga siempre en función
de las necesidades propias de cada empresa. También es posible definir prioridades
diferentes en función de la hora del día.
El resultado es el máximo aprovechamiento, en todo momento, del componente más caro
del sistema (la CPU), mejores tiempos de respuesta y niveles de servicio, usuarios más
productivos y contentos, y un mejor retorno de la inversión en hardware.
V IRTUALIZACIÓN
EN SERVIDORES
HP
Las técnicas de virtualización de servidores de HP se apoyan en hardware con una
arquitectura basada en celdas que se pueden agrupar formando nPARs: En una máquina con
cuatro celdas, podemos formar 4 nPARs de una celda, 2 nPARs de dos celdas, etc. En cada
NPAR podemos arrancar instancias de sistema operativo HP-UX o Windows. La granularidad
es la celda y el aislamiento es eléctrico.
La primera tecnología fue la Partición Virtual (VPAR) consiste en dividir un servidor físico o
una nPAR, en subconjuntos (CPU, Memoria y tarjetas de E/S) dónde se arranca una instancia
de sistema operativo HP-UX. Todo ello a nivel físico: Si tenemos una máquina con 4 CPUs,
podemos arrancar 4 vPARs con distintas versiones de sistema operativo en cada una de ellas.
La granularidad es la CPU y no hay aislamiento eléctrico.
La siguiente tecnología, Máquinas Virtuales (VM), se basa en un sistema operativo anfitrión
(host) que gestiona como tareas a otros sistemas operativos invitados (guest). En éste caso,
pueden ser HP-UX, Linux o Windows. Los dispositivos de E/S los gestiona el host y los guest
sólo ven drivers genéricos: En una máquina con 1 CPU puedo arrancar varias VMs. La
granularidad es a nivel de porcentaje de CPU (5%) así que, teóricamente, podría arrancar 20
VMs usando una CPU.
La imagen siguiente ilustra las distintas posibilidades de utilización, de cada una de éstas
tecnologías: