113
TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD APLICADA A SERVIDORES DE BASES DE DATOS EMPRESARIALES T E S I S QUE PARA OBTENER EL GRADO DE: MAESTRÍA EN TECNOLOGÍA DE CÓMPUTO P R E S E N T A: ING. CIRO DAVID LEÓN HERNÁNDEZ DIRECTORES DE TESIS: M. en C. JESÚS ANTONIO ALVAREZ CEDILLO M. en C. MAURICIO OLGUÍN CARBAJAL México, D.F. Diciembre 2009. INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INNOVACIÓN Y DESARROLLO TECNOLÓGICO EN CÓMPUTO

TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD APLICADA A SERVIDORES DE BASES DE DATOS

EMPRESARIALES

T E S I S

QUE PARA OBTENER EL GRADO DE:

MAESTRÍA EN TECNOLOGÍA DE CÓMPUTO

P R E S E N T A:

ING. CIRO DAVID LEÓN HERNÁNDEZ

DIRECTORES DE TESIS:

M. en C. JESÚS ANTONIO ALVAREZ CEDILLO M. en C. MAURICIO OLGUÍN CARBAJAL

México, D.F. Diciembre 2009.

INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INNOVACIÓN Y DESARROLLO

TECNOLÓGICO EN CÓMPUTO

Page 2: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD
Page 3: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD
Page 4: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

I

RESUMEN

Actualmente las empresas necesitan de soluciones que permitan aprovechar al máximo los recursos de sus sistemas informáticos, reducir costos y manejar su información de manera rápida y segura. La virtualización en sistemas de cómputo, es una herramienta que cubre las necesidades anteriormente señaladas. En este trabajo se realiza un estudio de las diferentes técnicas de virtualización, identificando la más adecuada para elaborar un esquema que permita manejar alta disponibilidad en servidores de bases de datos empresariales. Se analizan detalladamente los puntos más importantes como lo son; virtualización, bases de datos, alta disponibilidad y los equipos necesarios para su implementación. Lo anterior permite proponer una solución de alta disponibilidad hacia los diferentes niveles empresariales, utilizando distintos esquemas de virtualización en sistemas informáticos. En primera instancia se define el tipo y la técnica de virtualización que se utiliza para manejar una base de datos. Existen diferentes tipos y técnicas de virtualización que se describen detalladamente en el contenido del trabajo, cabe señalar que en el proyecto se utiliza la técnica de Virtualización Completa debido a que es la más adecuada para el manejo de las Máquinas Virtuales y las Bases de Datos. El tipo de virtualización por decirlo de alguna manera, es la marca con la cual se pretende utilizar la técnica anteriormente mencionada, en este trabajo se utiliza Hyper-V de Microsoft pero podría utilizarse otra similar como es el caso de VMware o Xen. El Centro Nacional de Cálculo (CENAC) del Instituto Politécnico Nacional (IPN) fue quien proporcionó los recursos para la elaboración del proyecto, por tal razón, los equipos, el software y sus licencias fueron de gran ayuda para la culminación del mismo. Debido a que la mayoría de las empresas utilizan bases de datos en sus sistemas para el manejo de la información y aplicaciones, se tomó la decisión de utilizar una Base de Datos potente para el manejo de la información. Aprovechando la disponibilidad del licenciamiento por el CENAC, se utilizó Oracle como manejador de bases de datos, además de un manejador de almacenamiento como Openfiler. Un punto crítico para las empresas es la alta disponibilidad que tienen sus equipos, los cuales manejan una gran cantidad de información importante para el usuario final, en donde lo ideal sería que no hubiera fallas que ocasionaran indisponibilidad de la información, en este trabajo se manejan dos partes importantes de la alta disponibilidad, la parte física manejada por el tipo de virtualizador, y la parte lógica manejada por la Base de Datos. Finalmente, se realizan pruebas de carga hacia los servidores virtuales obteniendo resultados importantes que describen la capacidad de consulta y el número de transacciones realizadas a la Base de Datos en el esquema presentado.

Page 5: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

II

ABSTRACT Nowadays, companies need solutions that allow to take advantage to the maximum from their resources of computer systems, to reduce costs and to handle their information in a fast and sure way. The virtualization in computing systems is a tool that covers the needs previously mentioned. For this reason, in this work, it is realized a study of the different techniques of virtualization, identifying the best one to elaborate a scheme of virtualization that allows handling high availability applied to servers of managerial databases. The most important points are analyzed detailed such as: virtualization, databases, high availability and the necessary equipments for the implementation of the project. The previous thing allows proposing a solution of high availability towards different managerial levels, using different schemes of virtualization in computing systems. In the instance the type and the technique of virtualization, which is in use for handling a database is defined. They exist different types and techniques of virtualization that are described detailed in the content of the work, it is necessary to indicate that in the project the Complete Virtualization technique is used due to the fact that it is most adapted for the managing of Virtual Machines and Databases. The type of virtualization, for saying it somehow, is the brand which is looked to use in the technique previously mentioned, in this work it is used Hyper-V by Microsoft, but another one might be used like VMware or Xen. The National Center of Calculation, CENAC (in it initials in Spanish), of the National Polytechnic Institute (IPN) was the one who provided the resources for the elaboration of the project, for such a reason, the equipments, the software and their licenses were of great help for the culmination of it. Due to the fact that the majority of the companies use databases in their systems for the managing of the information and applications, I take the decision to use a powerful Database for the managing information. Taking advantage of the license given by the CENAC, Oracle was used as a databases operator besides another one of storage as Openfiler. A critical point for the companies is the high availability that their equipments have, which handle a great quantity of important information for the final user, where the ideal thing would be that there were no faults that were causing unavailability of the information, In this work, two important parts of the high availability are handled: the physical part, guided by the type of virtualizator and the logical part, leaded by the Database. Finally, tests of load are realized towards the virtual servers obtaining important results that describe the capacity of consultation and the number of transactions realized to the Database in the presented scheme.

Page 6: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

III

DEDICATORIA

A MI FAMILIA A mis padres, Cirilo y Alicia, quienes me han apoyado incansablemente, gracias por su amor, enseñanza, paciencia y formación. El presente trabajo, es uno más de los frutos de su propia cosecha. Muchas gracias por todo, eternamente agradecido. A mis hermanos quienes son pilares de fortaleza en mi vida. Me han enseñado valores muy importantes como la perseverancia, el carácter y la confianza en uno mismo. Espero que este trabajo sea un aliciente para su vida profesional. A mi esposa, el gran amor de mi vida, por acompañarme en esta gran aventura y darme los regalos más impresionantes de todo el universo, nuestros hijos. Por ellos, soy capaz de esto y más, son la chispa que enciende mis ansias de superación. A toda mi familia con la cual he convivido a lo largo del tiempo, abuelos, tíos, primos, sobrinos y ahijados. A los familiares que se nos han adelantado en el camino, siempre los llevaré en el corazón. A MIS AMIGOS Aquellos que en los momentos difíciles me tendieron la mano, con los que compartí triunfos, fracasos, alegrías y tristezas, muchas gracias por su amistad y su apoyo. Seguiremos compartiendo muchas aventuras más. A MIS COMPAÑEROS Con los que compartí aulas, instalaciones deportivas y un lugar de trabajo. Recuerdos que siempre quedarán para toda la vida, gracias por su colaboración.

Page 7: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

IV

AGRADECIMIENTOS

AL INSTITUTO POLITÉCNICO NACIONAL (IPN) Por darme la oportunidad de formar parte de sus filas de aprendizaje, el deporte, la enseñanza, la investigación y el trabajo. Seguiré luchando por la grandeza de esta gran institución. A la Escuela Superior de Ingeniería Mecánica y Eléctrica (ESIME) unidad Zacatenco, por enseñarme que las cosas cuestan, pero cuando las logras, tienen un valor que nadie te puede quitar. Al Centro de Innovación y Desarrollo Tecnológico en Cómputo (CIDETEC), por darme la oportunidad de avanzar en mi vida profesional, sus instalaciones, equipo, profesores y directivos, estaré eternamente agradecido. A la Dirección de Cómputo y Comunicaciones (DCyC) y la Coordinación de Servicios Informáticos del IPN, por la oportunidad de obtener un nivel más en mi vida profesional, por la confianza y apoyo. A MIS MAESTROS Y ASESORES Sus análisis, sugerencias, comentarios, orientaciones, detalles...; son un legado de conocimientos que no tienen precio. A mis Directores de tesis; M. en C. Jesús A. Álvarez Cedillo y M. en C. Mauricio Olguín Carbajal. Al Director del CIDETEC, Dr. Víctor Manuel Silva García Al Coordinador de General Servicios Informáticos el Dr. Miguel Lindig Bos, al Director de la DCyC , Ing. Martín Haro Martínez y al director del Centro Nacional de Cálculo M. en I. Napoleón Serna Solís. A mi comité tutorial. Para el mejor maestro que he tenido en la vida, el M. en C. Cirilo G. León Vega, aun nos falta mucho por hacer Jefe.

Page 8: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

V

GLOSARIO DE TÉRMINOS

Alta disponibilidad.- También conocida como HA (High Availability), es un protocolo de diseño de sistema y su implementación asociada que asegura un cierto grado absoluto de continuidad operacional durante un periodo de medición dado.

Cluster.- Se aplica a los conjuntos de computadoras construidos mediante la utilización de componentes de hardware comunes y que se comportan como si fuesen una única computadora. La tecnología de cluster ha evolucionado en apoyo de actividades que van desde aplicaciones de supercómputo y software de misiones críticas, servidores Web y comercio electrónico, hasta bases de datos de alto rendimiento, entre otros usos.

Compilador.- Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es código máquina, pero también puede ser simplemente texto. Al proceso de traducción se le conoce como compilación. DAS.- Del inglés Direct Attached Storage, se refiere a un sistema de almacenamiento digital directamente conectada a un servidor o estación de trabajo, sin una red de almacenamiento en el medio. Emulador.- Es un software que permite ejecutar programas en una plataforma (arquitectura, hardware o sistema operativo) diferente para la cual fueron escritos originalmente.

Firewall.- También conocido como contrafuegos, es parte de una red de comunicaciones que está diseñado para bloquear el acceso no autorizado. Es un dispositivo o conjunto de dispositivos programados para permitir, limitar, cifrar, descifrar, el tráfico entre los diferentes ámbitos sobre la base de un conjunto de normas, dependiendo de sus administradores.

Instancia.- Una instancia de un programa es una copia de una versión ejecutable del programa que ha sido escrito en la memoria de la computadora. Informática.- El vocablo informática proviene del francés informatique, es un acrónimo de palabras information y automatique (información automática). La informática engloba a los procesos, técnicas y máquinas que ha desarrollado el ser humano para facilitar el trabajo de la vida diaria. Kernel.- Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema.

Page 9: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

VI

LSI.- Del inglés Large Scale Integration o Larga Escala de Integración pertenecen todos aquellos integrados que contienen más de 100 puertas lógicas (lo cual conlleva unos 1000 componentes integrados individualmente), hasta las mil puertas. Máquina Virtual.- Es un software que emula a una computadora y puede ejecutar programas como si fuera una computadora real.

Monitor de Máquina Virtual.- Un Monitor de Máquina Virtual (MMV), es la parte fundamental de una Máquina Virtual (MV). Un MMV maneja recursos del sistema exportándolos a la MV. Los MMV se encargan de proporcionar un ambiente de ejecución aislado a las MV. Los MMV son los responsables de dar el soporte para que en una misma plataforma de hardware se ejecuten diferentes sistemas operativos sobre Máquinas Virtuales.

Memoria RAM.- La memoria de acceso aleatorio, es la memoria desde donde el procesador recibe las instrucciones y guarda los resultados. Es el área de trabajo para la mayor parte del software de una computadora.

NAS.- Del inglés Network Attached Storage es el nombre dado a una tecnología de almacenamiento dedicada a compartir la capacidad de almacenamiento de un Servidor con computadoras personales o servidores clientes a través de una red.

OLAP.- Es el acrónimo en inglés de procesamiento analítico en línea (On-Line Analytical Processing). Es una solución utilizada en el campo de la llamada Inteligencia empresarial (o Business Intelligence) cuyo objetivo es agilizar la consulta de grandes cantidades de datos. Para ello utiliza estructuras multidimensionales (o Cubos OLAP) que contienen datos resumidos de grandes Bases de datos o Sistemas Transaccionales (OLTP). Se usa en informes de negocios de ventas, marketing, informes de dirección, minería de datos y áreas similares.

Pipeline.- En informática, un pipeline o tubería es un conjunto de elementos procesadores de datos conectados en serie, en donde la salida de un elemento es la entrada del siguiente. Los elementos del pipeline son generalmente ejecutados en paralelo, en esos casos, debe haber un almacenamiento tipo buffer insertado entre elementos. En informática, pipeline es sinónimo de segmentación.

Realidad Virtual.- Es un sistema o interfaz informático que genera entornos sintéticos en tiempo real, representación de las cosas a través de medios electrónicos o representaciones de la realidad, una realidad ilusoria, pues se trata de una realidad perceptiva sin soporte objetivo, sin red extensa, ya que existe sólo dentro de la máquina.

Tupla.- Generalmente en los lenguajes de programación funcional y en otros lenguajes de programación, una tupla es un objeto que bien puede tener datos o diversos objetos, de forma similar a una tupla definida matemáticamente.

Page 10: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

VII

SAN.- Del inglés Storage Area Network o Red de Área de Almacenamiento es una arquitectura para conectar dispositivos de almacenamiento remoto de computadoras (tales como arreglos de discos, bibliotecas de cintas y máquinas de discos ópticos) a servidores de tal manera que los dispositivos aparecen como conectada localmente al sistema operativo. Simulador.- Es un software que trata de reproducir el comportamiento de un programa idénticamente. Sistema informático.- Es el conjunto de componentes relacionados que interactúan entre sí para lograr un objetivo específico, como por ejemplo, el de una computadora en donde interactúan el hardware, software y usuario. Software.- Es el conjunto de los componentes lógicos necesarios para hacer posible la realización de una tarea específica en una computadora.

Transistor.- Dispositivo electrónico semiconductor. El término "transistor" es la contracción en inglés de transfer resistor ("resistencia de transferencia"). Actualmente se los encuentra en cualquier equipo electrónico.

VLAN (Virtual Local Area Network ó Red de Área Local Virtual).- Es un método de crear redes lógicamente independientes dentro de una misma red física con la ayuda de un conmutador o switch por ejemplo. Virtualización.- En informática se refiere a la abstracción de los recursos de una computadora, como lo son; disco duro, procesador, memoria, dispositivos de entrada/salida, dispositivos de red, etc. que mediante un programa (Hypervisor) se pueden crear máquinas virtuales dentro de un servidor físico. VLSI (Very Large Scale Integration). - Son circuitos electrónicos que van de 1,000 a 10,000 puertas por circuito integrado, los cuales aparecen para consolidar la industria de los integrados y para desplazar definitivamente la tecnología de los componentes aislados y dan inicio a la era de la miniaturización de los equipos apareciendo y haciendo cada vez más común la manufactura y el uso de los equipos portátiles. VPN (Virtual Private Network ó Red Privada Virtual).- Es una tecnología de red que permite una extensión de la red local sobre una red pública o no controlada, como por ejemplo Internet. Ejemplos comunes son, la posibilidad de conectar dos o más sucursales de una empresa utilizando como vínculo Internet, permitir a los miembros del equipo de soporte técnico la conexión desde su casa al centro de cómputo, o que un usuario pueda acceder a su equipo doméstico desde un sitio remoto, como por ejemplo un hotel. Lo anterior mediante el uso de Internet.

Page 11: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

VIII

Índice general Pág.

Capítulo 1: Introducción ...................................................................................................................................13

1.1 Evolución de las tecnologías de virtualización .................................................................................131.2 Situación actual ..................................................................................................................................191.3 Planteamiento del problema .............................................................................................................211.4 Justificación ........................................................................................................................................211.5 Objetivo general ..................................................................................................................................221.5.1 Objetivos particulares ........................................................................................................................221.6 Contribución ........................................................................................................................................221.7 Hipótesis .............................................................................................................................................231.8 Metodología ........................................................................................................................................231.9 Estructura de la tesis .........................................................................................................................23

Capítulo 2: La virtualización y la alta disponibilidad ......................................................................................25

2.1 Conceptos ...........................................................................................................................................252.2 Hardware .............................................................................................................................................26

2.2.1 Capacidad de proceso ................................................................................................................262.2.2 Capacidad de memoria RAM .....................................................................................................262.2.3 Capacidad de almacenamiento .................................................................................................27

2.3 Software ..............................................................................................................................................282.4 Técnicas de Virtualización .................................................................................................................28

2.4.1 Virtualización completa ..............................................................................................................292.4.2 Paravirtualización .......................................................................................................................302.4.3 Virtualización a nivel sistema operativo ....................................................................................312.4.4 Emulación del hardware .............................................................................................................312.4.5 Virtualización de aplicaciones ...................................................................................................33

2.5 Tipos de virtualización ........................................................................................................................332.5.1 VMware ........................................................................................................................................342.5.2 Xen ...............................................................................................................................................352.5.3 Qemu ...........................................................................................................................................362.5.4 Virtual PC .....................................................................................................................................372.5.5 VirtualBox ....................................................................................................................................372.5.6 HYPER-V ......................................................................................................................................38

2.6 Ventajas y desventajas de la virtualización ......................................................................................41

Capítulo 3: Bases de datos empresariales .....................................................................................................44

3.1 Evolución .............................................................................................................................................443.2 Definición ............................................................................................................................................463.3 Aplicaciones de los sistemas de base de datos. ..............................................................................463.4 Tipos de base de datos ......................................................................................................................47

3.4.1 Bases de datos estáticas ...........................................................................................................473.4.2 Bases de datos dinámicas .........................................................................................................47

3.5 Modelos de base de datos .................................................................................................................473.5.1 Base de datos relacionales ........................................................................................................483.5.2 Bases de datos jerárquicas ........................................................................................................483.5.3 Base de datos de red .................................................................................................................483.5.4 Bases de datos multidimensionales .........................................................................................483.5.5 Bases de datos orientadas a objetos ........................................................................................493.5.6 Bases de datos documentales ..................................................................................................493.5.7 Bases de datos deductivas ........................................................................................................49

Page 12: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

IX

3.5.8 Gestión de bases de datos distribuida ......................................................................................493.6 Lenguaje estructurado de consulta (SQL) .........................................................................................493.7 Manejadores de base de datos comerciales ....................................................................................50

3.7.1 Oracle Corporation: Oracle .........................................................................................................503.7.2 Sun Microsystems: MySQL .........................................................................................................513.7.3 Microsoft SQL Server ..................................................................................................................52

Capítulo 4: Desarrollo de la metodología ........................................................................................................53

4.1 Plan de trabajo ...................................................................................................................................534.2 Recursos a utilizar ..............................................................................................................................544.3 Arquitectura propuesta ......................................................................................................................564.4 Implementación ..................................................................................................................................60

4.4.1 Instalación y configuración del virtualizador .............................................................................604.4.2 Creación de MV ...........................................................................................................................61

4.5 Configuración de red privada, pública y virtual ................................................................................644.6 Configuración del Servidor de Almacenamiento compartido ..........................................................65

4.6.1 Instalación y configuración de Openfiler ...................................................................................654.7 Configuración de nodos virtuales ......................................................................................................68

4.7.1 Conexión iSCSI ............................................................................................................................684.7.2 Configuración de red ..................................................................................................................694.7.3 Instalación de Clusterware .........................................................................................................704.7.4 Autenticación de usuarios ..........................................................................................................744.7.5 Instalación del Software Clusterware ........................................................................................744.7.6 Instalación de ASM .....................................................................................................................784.7.7 Instalación de Oracle 10g ..........................................................................................................784.7.8 Configuración de bases de datos ..............................................................................................80

4.8 Instalación del simulador de cargas SwingBench ............................................................................83

Capitulo 5: Pruebas y resultados .....................................................................................................................85

5.1 Comparación de un sistema físico y un sistema virtualizado ..........................................................855.1.1 Sistema físico ..............................................................................................................................855.1.2 Sistema virtual ............................................................................................................................88

5.2 Comparación de esquema físico y virtual .........................................................................................895.3 Pruebas de carga ...............................................................................................................................90

Capítulo 6: Conclusiones y trabajos a futuro ..................................................................................................92

6.1 Conclusiones ......................................................................................................................................926.2 Trabajos a futuro ................................................................................................................................94

REFERENCIAS ...................................................................................................................................................96

ANEXOS .............................................................................................................................................................98

Anexo A: Configuración de Hyper-V .................................................................................................................98

Anexo B: Instalación y configuración de Openfiler .......................................................................................101

B1. Instalación ............................................................................................................................................101B2. Configuración .......................................................................................................................................104

Anexo C: Configuración de Clusterware ........................................................................................................108

Page 13: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

X

Índice de figuras Pág. Figura 1. 1. Los primeros sistemas de cómputo empresariales. ................................................................. 13Figura 1.2. Aspecto físico de un Mainframe IBM 650. ................................................................................. 14Figura 1.3. Computadora con circuitos integrados, IBM 360. ..................................................................... 15Figura 1.4. Ejecución de una Máquina Virtual VM 370. ............................................................................... 17

Figura 2. 1 Máquinas virtuales dentro de un equipo con diferentes Sistemas Operativos. ...................... 25Figura 2. 2 Módulos de un sistema virtualizado. .......................................................................................... 28Figura 2. 3 . Esquema de virtualización completa. ....................................................................................... 29Figura 2. 4 Esquema de paravirtualización. .................................................................................................. 30Figura 2. 5 Virtualización a nivel sistema operativo. .................................................................................... 31Figura 2. 6 Esquema de emulación del hardware. ....................................................................................... 32Figura 2. 7 Tipos de virtualización: a) VMware, b) Parallels, c) Xen, d) Virtual PC, e) Qemu, f) VirtualBox, g) Virtuozzo. ..................................................................................................................................................... 33 Figura 4. 1 Arquitectura de red del sistema de virtualización .......................................................................... 59Figura 4. 2 Consola de administración de Hyper-V. ...................................................................................... 61Figura 4. 3 Configuración final de la MV ....................................................................................................... 63Figura 4. 4 Máquina Virtual en el esquema de administración de Hyper-V. ............................................... 64Figura 4. 5 Autenticación de Openfiler. ......................................................................................................... 66Figura 4. 6 Definición de volúmenes para nodos virtuales. ......................................................................... 67Figura 4. 7 Asignación de conexiones para acceso al almacenamiento. ................................................... 67Figura 4. 8 Configuración de segmento de red para iSCSI. ......................................................................... 68Figura 4. 9 Identificación del servidor de almacenamiento. ........................................................................ 69Figura 4. 10 Asignación de direcciones de red privada, pública y virtual. .................................................. 71Figura 4. 11 Asistente para inicializar y convertir discos. ............................................................................ 71Figura 4. 12 Inicio de los discos de almacenamiento. ................................................................................. 72Figura 4. 13 Particiones en estado de Espacio libre. ................................................................................... 73Figura 4. 14 Unidades lógicas de almacenamiento definidas. .................................................................... 73Figura 4. 15 Nombre y ruta de instalación de Clusterware. ......................................................................... 75Figura 4. 16 Configuración de los nodos virtuales para Clusterware. ......................................................... 75Figura 4. 17 Configuración de particiones. ................................................................................................... 76Figura 4. 18 Configuración de almacenamiento. ......................................................................................... 77Figura 4. 19 Selección del tipo de instalación de base de datos de Oracle. .............................................. 79Figura 4. 20 Fin de la instalación de Oracle 10g .......................................................................................... 80Figura 4. 21 Selección de opciones de instalación para la base de datos. ................................................ 82 Figura 5. 1 Esquema de almacenamiento físico de alta disponibilidad con base de datos. .................... 87 Figura A. 1 Agregar funciones Hyper-V .......................................................................................................... 98 Figura A. 2 Resumen de componente. .......................................................................................................... 99 Figura A. 3 Conexión a la red física ................................................................................................................ 99 Figura A. 4 Resumen de instalación ............................................................................................................ 100

Page 14: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

XI

Figura B. 1 Inicio de instalación Openfiler. .................................................................................................. 101 Figura B. 2 Particiones. ................................................................................................................................. 101 Figura B. 3 Configuración de particiones. ................................................................................................... 102 Figura B. 4 Particiones de discos físicos. .................................................................................................... 103 Figura B. 5 Configuración de red.................................................................................................................. 103 Figura B. 6 Grupo de volúmenes. ................................................................................................................. 104 Figura B. 7 Configuración de volúmenes de Clusterware. .......................................................................... 105 Figura B. 8 Esquema general de volúmenes. .............................................................................................. 106 Figura B. 9 Configuración tarjeta iSCSI........................................................................................................ 106 Figura B. 10 Activación de la tarjeta iSCSI .................................................................................................. 107 Figura B. 11 Configuración general de volúmenes ..................................................................................... 107

Figura C. 1 Requisitos específicos del producto ....................................................................................... 108 Figura C. 2 Integración de nodos virtuales a Clusterware .......................................................................... 109 Figura C. 3 Especificación de configuración de disco. ............................................................................... 109 Figura C. 4 Almacenamiento de configuración de cluster. ......................................................................... 110

Page 15: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

XII

Índice de tablas Pág. Tabla 2. 1 Resumen de tipos y técnicas de virtualización. .......................................................................... 40 Tabla 2. 2 Ventajas al utilizar la virtualización. ............................................................................................. 42 Tabla 2. 3 Desventajas al utilizar la virtualización. ....................................................................................... 43

Tabla 3. 1. Características de las diferentes etapas de bases de datos. .................................................... 46

Tabla 4. 1 Actividades necesarias para realizar el proyecto. ....................................................................... 53 Tabla 4. 2 Fechas estimadas para la realización de las fases. ................................................................... 54 Tabla 4. 3 Evaluación de los equipos de cómputo necesarios para la implementación del proyecto. ..... 54 Tabla 4. 4 Software asignado para equipos de cómputo. ............................................................................ 56

Tabla 5. 1 Comparación general de los esquemas físicos y virtuales. ........................................................ 89

Page 16: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

13

Capítulo 1: Introducción

1.1 Evolución de las tecnologías de virtualización

Indudablemente los sistemas informáticos han jugado un papel fundamental en la vida del ser

humano. Las matemáticas fueron importantes para el desarrollo de los equipos de cómputo

que surgieron en el mercado alrededor de los años cincuenta y que hasta el día de hoy han

evolucionando de manera extraordinaria, logrando facilitar las tareas de cálculo y manejo de

información en diferentes entornos empresariales y educativos [1].

Las primeras máquinas llamados también Mainframe o computadora central, emplearon

bulbos para procesar información [2]. Los operadores ingresaban los datos y programas en

código especial por medio de tarjetas perforadas, el almacenamiento interno de la información

se lograba con un tambor que giraba rápidamente, sobre el cual, un dispositivo de lectura y

escritura colocaba marcas magnéticas. Las computadoras de bulbos eran de grandes

dimensiones y generaban una gran cantidad de calor, en la Figura 1.1, se muestra el

dimensionamiento de las primeras máquinas de datos empresariales.

Figura 1. 1. Los primeros sistemas de cómputo empresariales.

Page 17: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

14

En aquella época la empresa IBM1

tenía una gran cantidad de productos en el mercado, y

aunque tenía el monopolio de los equipos de procesamiento de datos a base de tarjetas

perforadas, no había logrado tomar el control total del mercado en el aspecto computacional.

En el año de 1954 fue introducido el modelo IBM 650 [3], el cual es la razón por la que IBM

ha disfrutado de una gran parte del mercado de las computadoras hasta el día de hoy. En esa

época la administración de IBM asumió un gran riesgo y estimó una venta de

aproximadamente 50 computadoras, el costo de estos equipos era estratosférico, por lo que

solo las grandes empresas tenían los recursos suficientes para comprarlos y mantenerlos.

A continuación, se muestra el aspecto físico de las grandes máquinas producidas por IBM en

los años cincuenta, en este caso la IBM 650, que curiosamente fue la primer máquina

electrónica adquirida en nuestro país por la Universidad Autónoma de México (UNAM) [4], en

donde el objetivo era disminuir el tiempo de trabajo para desarrollar cálculos que necesitaban

precisión y un gran número de personas. Cabe señalar que al inicio del proyecto la UNAM

pensaba rentar un equipo IBM-704 pero desafortunadamente el costo fue demasiado y

optaron por adquirir el equipo que se muestra en la Figura 1.2.

Figura 1.2. Aspecto físico de un Mainframe IBM 650.

1Acrónimo de International Business Machines, empresa multinacional que fabrica y comercializa herramientas, programas y servicios relacionados con la informática.

Page 18: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

15

A principios de los 60 el invento del Transistor hizo posible que las computadoras fueran más

rápidas, más pequeñas y con menor necesidades de ventilación, ya que el consumo de

energía era menor comparado con las primeras máquinas. Sin embargo, el costo seguía siendo

una porción significativa del presupuesto de una compañía. Para el almacenamiento, los

equipos utilizaban redes de núcleos magnéticos en lugar de tambores giratorios. Lo anterior

permitía que los programas escritos para una computadora pudieran transferirse a otra sin

problemas.

Los clientes lograban escalar sus sistemas 360 (ver Figura 1.3) a modelos IBM de mayor

tamaño sin tener que modificar sus programas. Las computadoras trabajaban a tal velocidad

que tenían la capacidad de ejecutar más de un programa de manera simultánea, a esta

característica de le llamó multiprogramación [5], en donde el elemento que se encarga de la

administración de los programas en un equipo de cómputo se le denomina microprocesador

que forma parte de la CPU2.

Figura 1.3. Computadora con circuitos integrados, IBM 360.

Más adelante nacieron los circuitos integrados (CI), donde se colocan miles de componentes

electrónicos en una integración en miniatura. Las computadoras nuevamente se hicieron más

pequeñas, más rápidas, desprendían menos calor y eran energéticamente más eficientes. Lo

más sobresaliente fue que el costo de los equipos fue menor.

2 Acrónimo de Unidad Central de Proceso, parte fundamental de la estructura física de una computadora (hardware).

Page 19: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

16

El tamaño reducido del microprocesador y de chips hizo posible la creación de las

computadoras personales llamadas PC3

Estos equipos fueron utilizados para diversos fines y contenían múltiples aplicaciones, lo cual

no era práctico pero necesario. Al utilizar muchas aplicaciones, varios usuarios interactuaban

con el equipo (tiempo compartido), en donde la seguridad de la información era muy

importante, en el caso de que una aplicación presentara problemas podría afectar a las demás

hasta el grado de llegar a perder la información existente en el equipo, lo que seguramente era

una pérdida importante para la empresa u organización, de esta forma surge la necesidad de

la disponibilidad de la información.

. Los equipos de grandes dimensiones como los IBM

360 ya utilizaban circuitos integrados que remplazaban las memorias con núcleos magnéticos.

La empresa que se dedicó a resolver los problemas de seguridad física, seguridad de datos,

multiprogramación, y disponibilidad de la información fue IBM, comenzó a desarrollar una

técnica basada en programas que permitieran manejar sistemas aislados sobre un solo equipo

físico, con la finalidad de reducir problemas de multiprogramación. De esta manera surge el

desarrollo de las primeras máquinas virtuales en los años sesenta [6]. IBM desarrolló el

concepto de MV4

como una solución a los equipos de cómputo de tiempo compartido.

El primer sistema completo de virtualización desarrollado fue el CP-67 y fue ejecutado en una

computadora Mainframe IBM 360/67 [7], [8] y [9]. El programa CP-67 fue un sistema

especializado de tiempo compartido el cual expuso (para cada uno de los usuarios) una

computadora virtual llamada System/360. El funcionamiento del CP-67 y más adelante el

software para la virtualización de sistemas con el System/360 fue demasiado espectacular,

así que IBM decidió crear una computadora que tuviera una arquitectura especializada para

ayudar a la virtualización llamada Virtual Machine Facility/370 (VM/370).

La VM/370 fue un MMV5

Figura 1.4

ejecutado sobre una arquitectura extendida del sistema 370 llamado

370-XA, el cual proporcionó instrucciones específicas al CPU diseñado para manejar el

funcionamiento de las máquinas virtuales ejecutadas. En la , se muestra el logotipo

de inicio de la VM/370.

3 Acrónimo de Personal Computer ó Computadora Personal. 4 Acrónimo de Máquina Virtual, también conocida como Virtual Machine (VM, por sus siglas en inglés). 5 Acrónimo de Monitor de Máquina Virtual ó también conocido como Virtual Machine Monitor (VMM).

Page 20: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

17

Figura 1.4. Ejecución de una Máquina Virtual VM 370.

Para los usuarios, la MV expuesta fue una réplica virtual de la computadora System/370, para

mejorar su rendimiento la plataforma 370-XA, proporcionó ayuda en la arquitectura logrando

mejorar el funcionamiento de ciertas operaciones que eran repetidas en el MMV VM/370.

Antes de esta ayuda, el MMV tenía que simular muchas de las instrucciones de arquitecturas

para cada MV, las cuales mejoraron satisfactoriamente sin interferir con otras máquinas

virtuales. El desarrollo de ayuda permitió que algunas de las instrucciones simuladas fueran

ejecutadas sin problemas en el hardware.

Según [10], IBM desarrolló diversas contribuciones para mejorar el rendimiento del sistema

VM/370, algunas de estas fueron desarrolladas específicamente para mejorar la velocidad en

la ejecución de los programas, las contribuciones ayudaron a mejorar el funcionamiento de la

MV System/370.

En el año de 1974, dos científicos dedicados al estudio de los sistemas virtuales llamados

Gerald J. Popek y Robert Goldberg 6

en su artículo [11], definieron los requerimientos para la

arquitectura de una MV, que decía; para cualquier máquina, un MMV, puede ser construido si

las instrucciones sensibles para una computadora son un subconjunto del conjunto de

instrucciones privilegiadas.

6 Científicos dedicados al desarrollo de sistemas de cómputo que aportaron conocimientos para el desarrollo de las tecnologías de virtualización.

Page 21: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

18

Lo anterior quiere decir que el requerimiento más significativo en una arquitectura de cómputo

son las instrucciones privilegiadas, las cuales son manejadas cuando una MV huésped

(ejecutada directamente en el procesador físico) ejecuta una instrucción privilegiada al mismo

tiempo, el procesador se detiene y regresa el control al MMV, así que cualquiera de los dos

deciden si ejecutan las instrucciones o las emulan de otra manera.

Estos científicos también declararon que la arquitectura de una MV tuvo las siguientes

características importantes:

i. Cualquier programa ejecutado bajo el MMV debe exhibir un efecto idéntico como si

el programa fuese ejecutado directamente en la máquina original. El software o

hardware añaden los componentes de la MV necesaria para manejar los recursos

usados por las máquinas virtuales, y estos requisitos son para intervenir

ocasionalmente alterando las características de sincronización de las mismas.

ii. Un subconjunto estático dominante de instrucciones de un procesador virtual son

ejecutados directamente por el procesador real. Estos dos científicos decían que

una máquina virtual es diferente comparado con un emulador, el cual interviene y

analiza el comportamiento de cada instrucción del procesador virtual, mientras que

una MV ocasionalmente relaciona al procesador real, con el procesador virtual.

iii. El MMV tiene el control completo de los recursos del equipo, una MV ejecutándose

en un sistema no tiene acceso directo a los recursos reales del sistema, esto tiene

que ir a través del MMV.

En los años ochenta, la empresa Microsoft implementó una forma extremadamente sencilla de

virtualización en su compilador QuickBasic7

7 Es un descendiente del

[12], los programas escritos en Basic eran

compilados y traducidos a un código intermedio, para el que se desarrolló un intérprete muy

eficiente. Al ejecutar los programas, en realidad se ejecutaba el intérprete sobre el programa

pre compilado. Al distribuir el programa compilado, al cliente, era necesario entregar un

archivo ejecutable que en realidad era el intérprete sobre el que Microsoft no ponía

condiciones de redistribución.

lenguaje de programación BASIC que Microsoft desarrolló para su uso con el sistema operativo MS-DOS.

Page 22: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

19

Más adelante, sería la empresa Sun Microsystems quien desarrollaría la MV de Java en donde

se compilan las aplicaciones escritas en lenguaje Java [13]. Esta máquina añade varios niveles

sofisticados al incluir un microprocesador completo, un gestor de memoria avanzado, un

sistema de comunicaciones de red, y un fuerte entorno de seguridad, sobre los que se

construyen la mayoría de las grandes aplicaciones de negocio actualmente.

Las anteriores técnicas se han orientado fundamentalmente a la virtualización de

aplicaciones, dicho de otra forma, a la ejecución de aplicaciones sobre máquinas virtuales.

Posteriormente surgen diferentes técnicas de virtualización, en donde la más importante para

las empresas es la simulación de un entorno virtual completo.

Con el paso del tiempo, las técnicas de virtualización han mejorado de la mano del desarrollo

tecnológico del hardware de los sistemas de cómputo. Diversas empresas como VMware [14],

Microsoft [15], Linux [16], Apple [17], Sun Microsystems [18], entre otras, han utilizado las

técnicas de virtualización para que las empresas obtengan beneficios al utilizarlas como el

ahorro de energía eléctrica, reducción de espacios en los cuartos de cómputo, seguridad física,

seguridad lógica, alta disponibilidad, manejo sencillo de la información, etc.

Las técnicas de virtualización tienen más de treinta años de existencia y han evolucionado

rápidamente debido a las mejoras en la tecnología de los equipos de cómputo, permitiendo

realizar acciones que anteriormente eran inimaginables para los entornos personales,

educativos y empresariales. Las empresas deben evaluar la factibilidad de aplicar las

tecnologías de virtualización en sus sistemas de cómputo, lo cual depende de la capacidad del

hardware, del tipo de aplicaciones y componentes que ayudan al desempeño adecuado de la

información.

1.2 Situación actual

Los grandes sistemas de cómputo llamados Mainframe, actualmente se siguen manejando por

grandes empresas y universidades debido a sus capacidades de hardware y manejo de

software, un ejemplo de estos equipos son los zSeries de IBM, que pueden ejecutar una

versión evolucionada de MV. Sin embargo, los servidores de grandes marcas reconocidas

como HP, DELL, IBM, Sun Microsystems, Apple, etc., también son utilizados por las

características de hardware que proveen, en donde el elemento más importante es el

microprocesador, el cual permite crear la cantidad de máquinas virtuales dependiendo de su

Page 23: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

20

capacidad. En estos días cualquier capa de un centro de datos, puede ser virtualizable por

hardware o software, desde el almacenamiento de datos, pasando por los servidores, hasta

llegar a los dispositivos de red [19].

A continuación se toman como ejemplo dos esquemas diferentes de virtualización, con el

propósito de mostrar la necesidad de utilizar la tecnología en los sistemas empresariales.

Actualmente dentro del IPN existe la Coordinación de Servicios Informáticos la cual tiene dos

áreas importantes que soportan las necesidades de cómputo y comunicaciones a todo el

instituto. Por un lado, la Dirección de Cómputo y Comunicaciones (DCyC) requiere de

servidores que soporten almacenamiento de información, aplicaciones, bases de datos,

páginas web, etc., por tal razón, el área cuenta con servidores de grandes capacidades de

cómputo para el manejo de la virtualización, estos equipos cuentan con características

robustas de hardware y manejo de alta disponibilidad, es decir, se cuenta con más de un

equipo en donde se pueden crear hasta 300 MV por servidor, cada máquina virtual funciona

como si fuera un equipo físico, lo cual quiere decir que un usuario que esté trabajando con su

aplicación, no sabe que se trata de una MV. El tipo de virtualización utilizado en este caso es

VMware, en donde una de las características importantes de esta tecnología es la migración

de la información entre servidores sin que el servicio se vea afectado para el usuario.

El Centro Nacional de Cálculo (CENAC) es la otra parte de la Coordinación, en donde el objetivo

principal es el desarrollo de sistemas informáticos de acuerdo a las necesidades del propio

Instituto. En esta unidad también se cuenta con un esquema de virtualización que permite

crear MV. Las características de hardware son menores comparadas con la DCyC, pero son

suficientes para laboratorios de pruebas de los sistemas informáticos. En este caso el número

de máquinas virtuales que se pueden crear por servidor son 30, dependiendo de la asignación

de recursos por cada MV. El tipo de virtualizador que se maneja es Hyper-V de Microsoft, en

donde el propio S.O. contiene la tecnología.

En ambos esquemas, la técnica aplicada utilizada es la virtualización completa, en donde se

ocupa un hipervisor que permite la manipulación total de los recursos de un sistema de

cómputo lo cual permite un mejor desempeño para el manejo de las aplicaciones contenidas

en cada una de las MV sin afectar el funcionamiento entre ellas.

Page 24: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

21

1.3 Planteamiento del problema

En la historia de las computadoras se pueden identificar diversos problemas, en donde los

más importantes son; el costo, el dimensionamiento, la seguridad de la información y el uso de

múltiples aplicaciones dentro de una máquina física.

En el presente trabajo se pretende crear y evaluar un esquema de virtualización, que permita

manejar aplicaciones con alta disponibilidad que contengan bases de datos empresariales ya

que son fundamentales para el manejo de la información, utilizando las técnicas que

actualmente existen en el mercado como por ejemplo Hyper-V de Microsoft, VMWare, Xen, etc.

Además de lo anterior, es necesario realizar pruebas que permitan la evaluación del proyecto.

El número de MV depende de las capacidades de hardware con la que cuente el equipo. Las

MV trabajan idénticamente a un equipo físico, en donde se pueden manejar diversos sistemas

operativos con diferentes aplicaciones sin ocasionar conflictos entre ellas, es decir, trabajan

de forma aislada dentro de la misma máquina física. La idea principal es elegir un equipo que

tenga la capacidad suficiente para manejar por lo menos cuatro MV para usarlas como cluster

y así tener alta disponibilidad en la información manejada por la Base de Datos. Para lograr lo

antes mencionado se pretende utilizar los recursos que se encuentran en el Centro Nacional

de Cálculo del Instituto Politécnico Nacional, en donde se desarrollan diversos sistemas

informáticos y cuentan con la infraestructura adecuada para el desarrollo del proyecto. Se

tomará un servidor con grandes capacidades de hardware, se instalará el software de

virtualización, posteriormente se implementarán las MV con sistemas operativos aislados y

entrarán a un esquema de alta disponibilidad, posteriormente se implementará una base de

datos y se realizará una evaluación de transacciones por minuto.

1.4 Justificación

Actualmente las empresas necesitan de soluciones que permitan aprovechar adecuadamente

el uso de los recursos de sus equipos informáticos, además de manejar correctamente la

información almacenada con alta disponibilidad. Todo lo anterior se puede lograr con la

virtualización en sistemas de cómputo, por lo que es necesario conocer detalladamente los

tipos y técnicas de virtualización existentes hoy en día para que puedan aplicarse a las

necesidades empresariales.

Page 25: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

22

Debido a que las empresas necesitan de las bases de datos, es conveniente proponer un

ambiente de virtualización para su implementación que permita soluciones para las empresas

en el manejo de sus sistemas informáticos.

1.5 Objetivo general

Realizar un esquema de virtualización sobre un equipo de cómputo físico, que permita crear

máquinas virtuales utilizadas para el manejo de bases de datos con alta disponibilidad a nivel

empresarial.

1.5.1 Objetivos particulares

Particularmente se pretenden realizar las siguientes actividades:

• Identificar las problemáticas de los equipos de cómputo en el manejo de bases de

datos y alta disponibilidad.

• Encontrar el tipo y técnica de virtualización adecuada para la elaboración de la tesis.

• Identificar las bases de datos que se pueden implementar en un esquema virtualizado.

• Implementar pruebas de carga.

• Definir la metodología para comprobar el funcionamiento de una base de datos con

sistemas virtuales

1.6 Contribución

Debido a las grandes ventajas que presenta la virtualización en equipos de cómputo, es

necesario proponer a las grandes, medianas y pequeñas empresas soluciones que permitan

un adecuado manejo de la información, y mejor uso de los recursos de sus equipos sin

importar la arquitectura de software que manejen.

Por esta razón se desarrolla la técnica de virtualización llamada Virtualización Completa y se

implementará con diferentes aplicaciones que permita que la información contenida en una

base de datos sea altamente disponible. La contribución de este trabajo será proponer una

solución de virtualización en los diferentes niveles empresariales para disminuir costos en el

uso de equipos de cómputo.

Page 26: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

23

1.7 Hipótesis

Al utilizar las técnicas de virtualización, se reducirán considerablemente los gastos en los

diferentes sectores empresariales, aprovechando mejor los recursos de cómputo,

disminuyendo espacios y contaminación, además de mejorar el desempeño de la información

teniéndola disponible el mayor tiempo. La combinación de la tecnología de virtualización con

las bases de datos resultará muy atractivo para las organizaciones en donde este trabajo será

una orientación para su implementación. Por tal razón, esta tecnología tendrá muchas

aportaciones más para diferentes aplicaciones.

1.8 Metodología

El trabajo se basó en la investigación documental, se establece la base teórica del problema,

investigando y documentando los conceptos de las diferentes técnicas y tipos de virtualización,

bases de datos y alta disponibilidad, en donde se elige el método más adecuado para un

esquema empresarial de acuerdo a los alcances para obtener las herramientas que ayudan al

desarrollo del proyecto.

El lugar de trabajo para el desarrollo del proyecto, el CENAC proporcionó las herramientas

necesarias como los sistemas de cómputo, las aplicaciones de bases de datos, manejo de

almacenamiento y disponibilidad de red de comunicaciones.

El virtualizador en el servidor dedicado y se crearon 4 máquinas virtuales llamados nodos, y se

configuró la red para la comunicación entre ellos, almacenamiento y acceso remoto. De igual

forma se instaló el manejador de almacenamiento para el cluster, se instaló la base de datos y

se realizaron pruebas de carga.

Conclusiones correspondientes y aportaciones a trabajos futuros.

1.9 Estructura de la tesis

La tesis está dividida en dos secciones importantes: en la primera parte se muestran los

aspectos teóricos que son necesarios para realizar la propuesta adecuada del uso de la

virtualización para sistemas empresariales. El primer punto es conocer la problemática que

tienen los primeros sistemas de cómputo, posteriormente los diferentes tipos y técnicas de

Page 27: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

24

virtualización que se pueden aplicar a los sistemas empresariales y con qué tipos de bases de

datos se pueden relacionar, además de manejar alta disponibilidad en su información. En la

segunda parte se muestra el desarrollo del prototipo, su implementación y funcionamiento.

En general, cada uno de los capítulos contiene lo siguiente:

En el Capítulo 1.- Se describe de manera general los puntos más importantes para realizar el

trabajo de tesis, obteniendo las necesidades y visualizando las problemáticas que se tienen

que considerar para el desarrollo del proyecto, así como también se definen los objetivos y las

justificaciones correspondientes.

En el Capítulo 2: “La virtualización y la alta disponibilidad”, en este se ven los antecedentes

donde se muestra el principio del manejo de la información, los diferentes tipos y técnicas de

virtualización y las aplicaciones que trabajan con alta disponibilidad.

El Capitulo 3: “Bases de datos empresariales”, se muestran las diferentes generaciones de las

bases de datos que describen la evolución de la velocidad en la transacción de datos, las

arquitecturas que se pueden aplicar a diferentes esquemas empresariales, y como se manejan

las bases de datos en servidores que usan distintas aplicaciones, además del manejo de alta

disponibilidad.

En el Capítulo 4: “Análisis, diseño y desarrollo del sistema”, se identifican los pasos a seguir y

las herramientas a utilizar para el desarrollo del prototipo, como son; el tipo y la técnica de

virtualización, el manejador de base de datos, la aplicación de alta disponibilidad y de

almacenamiento, el programa de carga de información y finalmente la puesta en marcha y la

evaluación del proyecto.

En el Capítulo 5: “Pruebas y resultados”, en este capítulo se verán los resultados que se

obtuvieron en la implementación del proyecto, explicando y analizando los resultados

detalladamente.

En el Capítulo 6: “Conclusiones y trabajos a futuro”, se presentan los puntos importantes que

destacaron del trabajo y las recomendaciones para trabajos futuros.

Page 28: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

25

Capítulo 2: La virtualización y la alta disponibilidad

2.1 Conceptos

En el campo de las comunicaciones y los equipos de cómputo, la palabra virtualización juega

un papel muy importante, es utilizada en muchos aspectos pero con diferentes funciones. Para

aquellas personas que no están inmersas en el campo de la computación, es fácil confundir

los términos a la hora de utilizar una expresión que involucre la palabra virtualización, como

por ejemplo; VLAN (Red de Área Local Virtual ó VLAN o Virtual Local Area Network), Red Privada

Virtual (VPN o Virtual Private Network), Realidad Virtual, virtualización de aplicaciones,

virtualización de sistemas operativos, máquinas virtuales, etc. Todas las palabras anteriores

tienen un significado diferente aunque se escuchen semejantes. Dentro de la informática se

puede definir a la virtualización como la tecnología que permite manejar más de un sistema

operativo en un equipo de cómputo mediante máquinas virtuales (ver Figura 2. 1).

Figura 2. 1 Máquinas virtuales dentro de un equipo con diferentes Sistemas Operativos.

La virtualización también se puede definir como la abstracción y manipulación de los recursos

de una computadora como lo son; discos duros, conexiones de red, dispositivos de entrada y

Page 29: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

26

salida, memoria, procesador, etc., mediante un programa que permita la virtualización, el cual

crea una abstracción entre el hardware del equipo físico y el sistema operativo de la máquina

virtual. La MV es un medio para crear una versión virtual de un dispositivo o recurso, como un

servidor, una unidad de almacenamiento, una red o incluso un sistema operativo en donde se

dividen los recursos en uno o más entornos de ejecución.

Un servidor virtual se gestiona de forma idéntica a uno real, tiene en cambio el inconveniente

de su ligera ineficiencia, ya que la simulación es un proceso bastante pesado que suele

involucrar procesos de compilación JIT (Just In Time) sobre partes muy críticas del programa

virtualizado. Debido a esta ineficiencia, es poco práctico implementar en máquinas medias

más de 3 ó 4 servidores virtuales por cada microprocesador real.

2.2 Hardware

A continuación se mencionan las características de hardware más importantes que

actualmente tiene un sistema de cómputo para el manejo de la virtualización son:

2.2.1 Capacidad de proceso

Los microprocesadores actuales (en donde predominan las marcas AMD e Intel) de la mayoría

de servidores del mercado, tienen la capacidad de procesamiento necesario para ejecutar el

equivalente a varios sistemas operativos simultáneos, salvo en sistemas dedicados a tareas

de computación pura o de muy elevada carga de trabajo (como por ejemplo las

supercomputadoras o los sistemas de gestión de bases de datos). Los microprocesadores

actuales pasan la mayor parte del tiempo esperando realizar la siguiente tarea, es decir la

capacidad de procesamiento utilizado es mínimo. En la actualidad, los tipos de procesadores

más sobresalientes en el mercado son multinúcleo para computadoras personales, Lap-tops y

servidores.

2.2.2 Capacidad de memoria RAM

Los servidores actuales tienen capacidades de memoria que hace unos quince años no tenían

ni siquiera los discos duros, un gigabyte de RAM es una opción común y económica en una

computadora que maneja aplicaciones de oficina, pero cuando las aplicaciones son más

demandantes, la memoria se vuelve un factor fundamental para el buen funcionamiento. Es

Page 30: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

27

por esta razón que los servidores empresariales manejan una cantidad elevada de memoria

para la virtualización, dependiendo de la cantidad de máquinas virtuales que se tenga

pensado realizar. En algunos casos el costo de dotar a un equipo con más memoria es muy

bajo, pero en otros por cuestiones de tecnología es mucho mayor y obviamente más eficiente.

2.2.3 Capacidad de almacenamiento

La capacidad de almacenamiento ha tenido un desarrollo exponencial debido

fundamentalmente a los grandes avances de la tecnología de almacenamiento como por

ejemplo la técnica GMR (Giant Magnetoresistance) hizo que hacia el año 1996 hubiese una

transición importante de los discos duros de tamaños típicos de unos pocos gigabytes, hacia

las decenas y más recientemente, la técnica Almacenamiento Perpendicular Recording,

permite disponer de discos en el entorno de los varios cientos de gigabytes e incluso terabytes

en el mismo espacio. Estas capacidades son utilizadas en la actualidad por personas

encargadas de las áreas de informática en las organizaciones o aquellas que tienen una gran

afición de los videojuegos que requieren la potencia gráfica y de proceso de una

supercomputadora.

En los servidores empresariales y equipos de cómputo en general, las capacidades de

procesamiento y almacenamiento están siendo desaprovechadas, debido a que las

aplicaciones en algunos casos no son muy demandantes. Por otro lado el costo de dotar a un

servidor del doble o triple de memoria RAM de la originalmente prevista es completamente

asumible. El espacio de almacenamiento depende de la cantidad de información que se tenga

que almacenar, sin embargo también puede crecer en cuanto a capacidad.

En la Figura 2. 2 se muestran las partes que conforman la virtualización, tomando en cuenta

que todos los equipos de cómputo se basan en tres capas fundamentales; hardware o

recursos del equipo, software y aplicaciones. Por otro lado, la virtualización puede tener más

de una MV trabajando al mismo tiempo.

Page 31: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

28

Figura 2. 2 Módulos de un sistema virtualizado.

2.3 Software

Las tecnologías actuales de virtualización se basan fundamentalmente en dos enfoques

distintos; por una parte las virtualizaciones llamadas puras, que simulan completamente los

recursos de un sistema de cómputo y por otro lado están las paravirtualizaciones, que

virtualizan únicamente parte de los recursos y ofrecen una API (Application Programming

Interface - Interfaz de Programación de Aplicaciones) de programación para partes conflictivas

(típicamente el microprocesador y sus modos protegidos de funcionamiento). Un tercer tipo en

donde las MV son simuladas a nivel del propio sistema operativo y no a nivel de hardware. A

estos diferentes esquemas se les denomina Técnicas de Virtualización que son utilizadas con

diferentes Tipos de Virtualizadores.

2.4 Técnicas de Virtualización

La virtualización surge por la necesidad de poder manipular diferentes aplicaciones dentro de

un solo equipo físico. Por medio de las MV se pueden tener aplicaciones con diferentes

plataformas ejecutándose al mismo tiempo. Estas máquinas son manipuladas por un

programa que permite manejar los recursos de una computadora como la memoria, el

procesador, el almacenamiento (Discos Duros), los dispositivos de red, los dispositivos de

entrada y salida, etc.

Page 32: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

29

A las diferentes formas de aplicar los programas que permiten la virtualización se les

denomina técnicas de virtualización [19], se pueden aplicar en distintos entornos

empresariales y educativos, la principal ventaja al utilizar esta tecnología es aprovechar al

máximo los sistemas informáticos explotando lo mejor posible los recursos de un equipo de

cómputo, lo que conlleva que las empresas disminuyan gastos importantes para su desarrollo.

Las técnicas de virtualización están divididas principalmente en cuatro esquemas diferentes:

Virtualización completa, para Virtualización, Virtualización a nivel sistema operativo y

emulación del hardware, cabe señalar que existe otra técnica de Virtualización que se encarga

de emular aplicaciones utilizándolas en plataformas sin que estén instaladas.

2.4.1 Virtualización completa

La virtualización completa, también llamada virtualización nativa utiliza un MMV o Hypervisor8

Figura 2. 3

,

que interactúa entre el S.O. invitado y el hardware nativo como se puede ver en la .

Esta técnica de virtualización es capaz de ejecutar sin modificación alguna plataformas de la

familia de Windows y Linux, se instalan en la MV y funcionan exactamente igual como si lo

hicieran sobre una máquina real.

Figura 2. 3 . Esquema de virtualización completa.

La ventaja fundamental radica en que es lo más parecido a disponer de varios servidores

dentro de uno solo. Algunas instrucciones protegidas deben capturarse y manejarse dentro del

hipervisor ya que el hardware subyacente no es propiedad de un S.O. sino que es compartido a

través del mismo. La interacción directa del hardware con el programa de virtualización

8 En español conocido como Hipervisor es equivalente al término de MMV.

Page 33: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

30

permite ejecutar sistemas operativos sin la necesidad de modificarlos con la única condición

de que el software soporte la demanda de los recursos del equipo anfitrión.

Es el caso de VMware, Qemu [20] y VirtualBox [21], se basan en un MMV que mediante

complicadas técnicas detectan en tiempo de ejecución el código que no puede ejecutarse

directamente por que afectaría a todo el sistema, modificando dinámicamente las

instrucciones conflictivas.

El rendimiento varía mucho, esto es según lo avanzado que sea el MMV en donde VMware es

un buen candidato. Esta técnica, permite instalar el software de virtualización directamente en

el hardware de un sistema físico tal como si se tratara de un sistema operativo, este se

encargará de manejar los recursos del sistema para después ser asignados a cada una de las

máquinas virtuales que pueden manipular diferentes sistemas operativos y aplicaciones.

2.4.2 Paravirtualización

La paravirtualización es la arquitectura más allegada a la virtualización completa (ver Figura 2.

4), ya que hacen uso del hipervisor, pero en este caso las máquinas virtuales creadas se

modifican para que puedan trabajar con el virtualizador, lo anterior permite crear un número

mayor de máquinas virtuales sobre una misma infraestructura física, permitiendo que los

sistemas operativos hospedados puedan realizar modificaciones en llamadas y drivers de

dispositivos. Con la paravirtualización no existe exceso de carga y por lo tanto pérdida de

rendimiento. Cuando se utilizan procesadores como AMD-V o Intel VT, no es necesario que el

hipervisor se ejecute como paravirtualización. Algunos ejemplos de paravirtualización son Xen,

Virtual Iron y los LDOMs de Sun Microsystems.

Figura 2. 4 Esquema de paravirtualización.

Page 34: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

31

El equipo físico no presenta una emulación del hardware; sin embargo, ofrece una API, que

permite que los invitados puedan acceder a los recursos de la máquina, controlados por el

sistema físico. Los sistemas invitados se ejecutan de forma aislada y segura, de forma tal que

no se afectan en caso de problemas.

2.4.3 Virtualización a nivel sistema operativo

Esta técnica virtualiza los equipos de cómputo sobre el propio S.O. y es utilizado cuando el

usuario requiere de varias aplicaciones que utilizan diferentes sistemas operativos, como es el

caso de Linux y Windows, en donde uno de los dos es el S.O. nativo y otro el huésped. Sin

embargo se pueden tener más de uno virtualizado, dependiendo de la capacidad de memoria y

procesamiento del equipo, simplemente aísla los servidores independientes como se puede

observar en la Figura 2. 5.

Figura 2. 5 Virtualización a nivel sistema operativo.

Los sistemas invitados comparten el mismo sistema operativo que el anfitrión. Los invitados se

ven como si estuvieran solos, pero en verdad todos comparten el mismo kernel, lo que provoca

que una vulnerabilidad afecte a todos. En este caso se puede decir que mas que

virtualizaciones son entornos de ejecución aislados, y que puede considerarse mas como

funcionalidades específicas del S.O. anfitrión.

2.4.4 Emulación del hardware

Una de las técnicas de virtualización más complicadas es la emulación del hardware, sin

embargo puede emular dispositivos enteros permitiendo que el equipo físico se comporte

completamente como una MV de forma que todas las llamadas que hagan los sistemas

Page 35: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

32

invitados sean interpretadas y canalizadas por parte del host hacia el verdadero hardware

como se puede observar en la figura 2.6.

Existen algunas soluciones de emulación que permiten interactuar con plataformas como x86,

SPRAC, PowerPC o MIPS. La principal problemática con esta tecnología es la velocidad de

operación en donde resulta muy lenta, debido a que cada una de las instrucciones debe ser

simulada por el hardware del equipo físico. Por lo anterior, no se recomienda utilizar esta

técnica de virtualización para arquitecturas que necesiten una velocidad adecuada para el

manejo de la información como por ejemplo las bases de datos.

Qemu es el tipo de virtualización que mejor se acopla al manejo de la emulación de hardware,

y puede trabajar en dos modos distintos, uno de ellos es el sistema de emulación total donde

se emula una máquina completa incluyendo procesador y periféricos, pudiendo ser usados

para lanzar diferentes sistemas operativos sin tener que reiniciar el sistema. De esta forma se

pueden manejar diferentes sistemas operativos a la vez. El otro tipo de emulación que soporta

Qemu es el modo usuario, en donde se pueden enviar procesos compilados para una Unidad

Central de Proceso.

Existen opciones de emulación para utilizar elementos de una plataforma Linux en Windows

como por ejemplo: Cygwin y Cooperative Linux, en donde se comparte el hardware con el

sistema operativo anfitrión con la limitante que el acceso a dispositivos de entrada y salida no

se realiza directamente.

Figura 2. 6 Esquema de emulación del hardware.

Page 36: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

33

2.4.5 Virtualización de aplicaciones

Esta tecnología permite virtualizar programas con la ayuda de una herramienta de

virtualización como es el caso de ThinApp de VMware [22], anteriormente conocida como

Thininstall. La gran ventaja de esta herramienta es que se pueden usar aplicaciones, como por

ejemplo Autocad9

, en un sistema de cómputo que tenga un S.O. instalado sin haber ejecutado

anteriormente el software.

En la actualidad esta técnica de virtualización está adquiriendo gran fuerza ya que reduce el

costo por el uso de licencias, debido a que los programas se ejecutan como archivos no tienen

que instalarse forzosamente en el sistema en el que está siendo usado.

De las familias de virtualizaciones reales comentadas, la más estable es la virtualización pura,

y dentro de ellas la proporcionada por VMware, seguida de Hyper-V de Microsoft [23] y por el

lado del software libre XEN [24]. Microsoft ha evolucionado considerablemente en la

virtualización de servidores pero con funciones que aún no superan a VMware que tiene ya

desde 1999 siendo líder en el mercado.

2.5 Tipos de virtualización

En la actualidad existen diferentes empresas que se interesan por el desarrollo de

aplicaciones que permitan la virtualización en los sistemas de cómputo, dicho de otra manera,

son las marcas que se encuentran en el mercado como por ejemplo; VMware [36], Parallels

[37], Xen [38], Virtualbox [39], Qemu [40], Virtual PC [41], ver figura 2.7.

Figura 2. 7 Tipos de virtualización: a) VMware, b) Parallels, c) Xen, d) Virtual PC, e) Qemu, f) VirtualBox, g) Virtuozzo.

9 Software utilizado para el diseño arquitectónico.

Page 37: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

34

Cada uno de estos productos maneja una técnica de virtualización diferente; algunas se

pueden aplicar a la virtualización de servidores, otras a S.O. ó simplemente como emuladores.

Determinados productos tienen un costo definido, como por ejemplo VMware en sistemas

empresariales, por otro lado Xen, es uno de los productos que pertenecen al grupo de software

libre, la diferencia principal entre las dos alternativas se refleja en la funcionalidad, el fácil

manejo y la portabilidad.

A continuación se muestran las características de los diferentes tipos de virtualización, sus

ventajas, desventajas y el uso en los sistemas empresariales.

2.5.1 VMware

Es actualmente una herramienta de virtualización líder en el mercado para la arquitectura de

procesadores Intel y AMD. Esta tecnología toma los enfoques para la virtualización ejecutando

un MMV directamente al hardware o en S.O. anfitrión. El procesador necesita de soporte para

manejar una gran cantidad de dispositivos disponibles, VMware se encarga de este trabajo

abstrayendo dichos dispositivos, a esto se le conoce como Arquitectura de una Máquina Virtual

Anfitrión.

VMware, instala un S.O. especial (controlador) llamado VMDriver, el cual permite la estancia de

máquinas virtuales para tener rápido acceso a los dispositivos del sistema. VMDriver es

instalado en el kernel del S.O. para el acceso a los dispositivos y así permitir el paso al arreglo

de dispositivos disponibles que necesitan soporte en el microprocesador. Este tipo de

virtualización proporciona solo un grupo genérico de dispositivos para cada máquina virtual en

cada una de ellas se exponen los siguientes dispositivos: teclado, ratón, unidad de disco,

controlador IDE, CD-ROM, tarjeta de audio, puertos serie, puertos paralelo, un estándar de

gráficos, tarjeta de visualización, y cualquier número de adaptadores Ethernet. Lo anterior

simplifica en gran medida la aplicación de VMware.

La implementación de la interface de la tarjeta de red de VMware es muy interesante.

VMDriver coloca la tarjeta de red física en modo promiscuo y crea un puente de red virtual

Ethernet el cual recibe todos los paquetes de las tarjetas de red. VMDriver puede entonces

analizar cada paquete o bien la ruta de vuelta para el S.O. anfitrión. Esta aplicación también

permite a VMware proporcionar una traducción de direcciones de red mejor conocida como

Page 38: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

35

NAT (Network Address Translation) en el puente virtual a fin de que cada máquina crea que

tiene una dirección IP propia.

2.5.2 Xen

El sistema Xen aunque surgió en el 2005, ha recibido un fuerte apoyo por parte del mayor

distribuidor de software libre Redhat, que ya lo incluye en sus versiones recientes

empresariales como por ejemplo Redhat Enterprise Linux 5.4., además en sus últimas

versiones es capaz de ejecutar sistemas operativos sin modificar, siempre y cuando se cuente

con un microprocesador Intel o AMD con extensiones VT, diseñadas para ayudar a los entornos

de virtualización.

Actualmente, el sistema de virtualización Xen se está convirtiendo en una característica

estándar de las distribuciones Linux empresariales, utiliza la técnica paravirtualización con el

fin de alcanzar alto rendimiento incluso en arquitecturas que no suelen conseguirse con

técnicas tradicionales de virtualización como x86.

Este tipo de virtualización fue desarrollado por la Universidad de Cambridge en Inglaterra,

como una MV de código abierto y con el objetivo de poder manipular diferentes sistemas

operativos modificados de manera aislada. La migración de las máquinas virtuales es muy

sencilla, debido a que se manejan como archivos o imágenes, donde la información se puede

migrar de una MV a otra sin detener el servicio.

La migración de máquinas virtuales sin interrumpir el servicio, permite al administrador la

posibilidad de planificar el mantenimiento del hardware, cambiar la carga de un sistema

sobrecargado o cambiar un servicio específico de una máquina a otra. Otros posibles usos son

los esquemas de pruebas y de desarrollo, las simulaciones de clusters y de redes o los

entornos de ejecución separados por razones de seguridad.

Con lo anterior, se obtiene alta disponibilidad para las aplicaciones manejadas en los sistemas

empresariales. Cuando se migra una máquina virtual, el contenido de su memoria se transfiere

por la red, sin tener que apagarla excepto al final del proceso para poder copiar las últimas

páginas de memoria modificadas. Los desarrolladores de Xen han demostrado el

funcionamiento de esta característica con servidores web con una alta carga, e incluso con

Page 39: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

36

video streaming. En donde las interrupciones típicas son de una magnitud de alrededor de una

décima de segundo.

Los principales actores del mundo Linux, incluyendo a Novell, RedHat, HP, IBM, Intel y AMD, se

han lanzado a dar soporte a Xen. Gracias a su excelente rendimiento y a su bajo costo, el

monitor de máquinas virtuales Xen es un catalizador importante para ingresar al mundo de la

virtualización bajo Linux.

Xen se muestra impresionantemente rápido, aunque la mayoría de las soluciones de

virtualización parecen convincentes cuando se les pide que realicen tareas

computacionalmente costosas, la verdadera calidad de una máquina virtual se revela cuando

maneja aplicaciones que hagan uso intensivo de las llamadas al sistema, normalmente

operaciones de entrada/salida del disco duro o de red.

2.5.3 Qemu

Es un emulador de procesadores basado en la traducción dinámica de binarios (conversión del

código binario de la arquitectura fuente en código entendible por la arquitectura huésped).

Esta tecnología también tiene capacidades de virtualización dentro de un S.O., ya sea Linux,

Windows, o cualquiera de los sistemas operativos admitidos (de hecho es la forma más común

de uso). Esta máquina virtual puede ejecutarse en cualquier tipo de microprocesador o

arquitectura. Está licenciado en parte con la Licencia Pública General Reducida y la Licencia

Pública General de GNU. El objetivo principal es emular un S.O. dentro de otro sin tener que

particionar el disco duro, empleando para su ubicación cualquier directorio dentro de éste.

El programa no dispone de una Interfaz Grafica de Usuario (GUI), pero existe otro programa

llamado Qemu Manager que hace las veces de interfaz gráfica si se utiliza Qemu desde

Windows. También existe una versión para Linux llamado Qemu-launcher. En Mac OSX puede

utilizarse el programa que dispone de una interfaz gráfica para crear y administrar las

máquinas virtuales.

Este software posee dos modos de operación, por un lado la emulación del modo usuario que

puede ejecutar procesos compilados para un tipo de CPU en otro y el modo de emulación

completo, en donde Qemu emula un equipo de cómputo completo, incluyendo procesador y

varios periféricos. Este puede ser usado para proveer hosting (hospedaje de páginas web)

Page 40: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

37

virtual a varias computadoras virtuales en una única computadora. Otra característica es que

puede arrancar varios sistemas operativos, incluyendo entre otros Linux, Microsoft Windows,

DOS, y BSD. Admite además la emulación de varias plataformas de hardware, incluyendo x86,

AMD64, Alpha, Mips, y Sparc.

2.5.4 Virtual PC

Es un programa desarrollado por Connectix y comprado por Microsoft para crear máquinas

virtuales. Su propósito es emular un hardware sobre el que funcionen varios sistemas

operativos y ejecutarlos en la misma máquina a la vez, además de hacer que se comuniquen

entre ellos. Virtual PC en el caso de la versión para Windows, no emula el procesador sino que

deja que él mismo ejecute las instrucciones en el entorno emulado.

Este virtualizador no presenta soporte para todos los programas, ya que pueden existir fallos

debido a errores en la sincronización de las operaciones o se pueden generar problemas fuera

de tiempo. La emulación en Macintosh es de re compilación dinámica para traducir código x86

a código de un Mac con procesador PowerPC. En las Mac con procesador Intel no existe una

versión de Virtual PC con lo que hay que acudir a otro tipo de soluciones. La emulación en

Windows también es de re compilación dinámica, pero solo traduce el modo de kernel y el

modo real x86 a código de usuario, mientras el usuario original corre en forma nativa.

Actualmente se puede descargar Virtual PC para Windows 7 Profesional y Windows 7 Ultimate,

para manejar Windows XP, el procedimiento se puede realizar en tres sencillos pasos y de

forma gratuita, siempre y cuando se tenga la plataforma de Windows como S.O.

predeterminado.

2.5.5 VirtualBox

Es un software de virtualización para arquitecturas de 32 y 64 bits de Intel y AMD, fue

desarrollado originalmente por la empresa alemana Innotek GmbH, pero que pasó a ser

propiedad de la empresa Sun Microsystems en febrero de 2008 cuando ésta compró a

Innotek. Por medio de esta aplicación es posible instalar sistemas operativos adicionales,

conocidos como sistemas invitados o huésped, dentro de otro S.O. anfitrión, cada uno con su

propio ambiente virtual. Por ejemplo, se podrían instalar diferentes distribuciones de Linux en

un VirtualBox instalado en Windows XP o viceversa.

Page 41: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

38

Entre los sistemas operativos soportados (en modo anfitrión) se encuentran GNU/Linux, Mac

OSX, Windows, y Solaris, dentro de éstos es posible vitalizar los sistemas operativos FreeBSD,

GNU/Linux, OpenBSD, OS/2 Warp, Windows y Solaris. La aplicación fue inicialmente ofrecida

bajo una licencia de software privado, pero en enero de 2007, después de años de desarrollo,

surgió VirtualBox OSE (Open Source Edition) bajo la licencia GPL 2.

Actualmente existe la versión privada, VirtualBox, que es gratuita únicamente bajo uso

personal o de evaluación, y está sujeta a la licencia de uso personal y de evaluación VirtualBox

(VirtualBox Personal Use and Evaluation License o PUEL) y la versión Open Source, VirtualBox

OSE, que es software libre, sujeta a la licencia GPL. En comparación con otras aplicaciones

privadas de virtualización, como VMware Workstation o Microsoft Virtual PC, VirtualBox carece

de algunas funcionalidades, pero provee de otras como la ejecución de maquinas virtuales de

forma remota, por medio del Remote Desktop Protocol (RDP) y soporte iSCSI.

En cuanto a la emulación de hardware, los discos duros de los sistemas invitados son

almacenados en los sistemas anfitriones como archivos individuales en un contenedor

llamado Virtual Disk Image, incompartible con los demás software de virtualización. La versión

más actual de Virtual Box es la 3.0.8 que surgió en Octubre del 2009.

2.5.6 HYPER-V

Hyper-V, ha tomado gran fuerza en el uso de sistemas de cómputo empresariales, debido a

que simplemente es el software más comercial del mercado y la virtualización es incluida en

el S.O. Windows Server de Microsoft en donde la versión más actual es la 2008. Cabe señalar

que existen diferentes versiones que permiten crear un determinado número de Máquinas

Virtuales.

Este tipo de virtualización incorpora una arquitectura de Hypervisor o hipervisor basada en

microkernel, que comparados con otros tipos de virtualización cumple los puntos necesarios

para el manejo de máquinas virtuales. Con sus herramientas de gestión integradas, los

administradores pueden disponer de un conjunto de herramientas para la gestión de recursos

virtuales y físicos.

Page 42: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

39

Algunas características de Hyper-V son las siguientes:

• Migración rápida.- Tiene la funcionalidad de trasladar máquinas virtuales como archivos de

un equipo físico a otro sin la necesidad de interrumpir por un gran lapso de tiempo los

servicios.

• Alta disponibilidad.- Incluye soporte para conectividad de servidor a servidor y permite

organizar en cluster todas las máquinas virtuales que se ejecutan en un host.

• Manager y los clientes pueden habilitar este rol dentro de Server Manager. Respaldos en

vivo, con VSS. Además incorpora soporte para los Servicios de Copia de Volumen en

Segundo Plano que permiten realizar respaldos en vivo de las máquinas virtuales en

ejecución por medio de copias instantáneas de volumen.

• Administración de VM.- Facilita la importación o exportación de las configuraciones de

máquina virtual para hacer copia de seguridad y poder clonar las características de las MV

entre distintas máquinas host.

• Se pueden manejar otras plataformas para el manejo de máquinas virtuales, como es el

caso de Linux, para arquitecturas x86 y x84.

• Mejoras en el rendimiento.- Incluye distintas modificaciones para mejorar su rendimiento.

Todas las máquinas virtuales nuevas de Windows Server 2008 incluyen automáticamente

los componentes de integración.

• Mejoras del soporte para SCSI virtual.- Esta edición incluye soporte para un máximo de

cuatro controladoras SCSI virtuales por máquina virtual, permitiendo un soporte más

amplio de dispositivos de almacenamiento.

• Soporte para tamaños de memoria mayores. Puede direccionar hasta 64 GB de memoria

RAM por máquina virtual.

Page 43: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

40

• Reinicio rápido.- Hyper-V da la opción de inicio rápido de checkboxes y eliminación de las

credenciales almacenadas que se hayan utilizado para conectarse a las máquinas

virtuales.

En la Tabla 2. 1 , se muestran las diferentes técnicas de virtualización y los tipos que se

pueden usar en cada una de ellas, es importante mencionar que algunos tipos de

virtualización tienen mejores características o funcionalidades que otros pero la desventaja es

el costo.

Tabla 2. 1 Resumen de tipos y técnicas de virtualización.

Técnicas de

Virtualización

Tipos de

Virtualización

Virtualización completa • Hyper-V

• Vmware ESX

• z/VM

• Adeos

• Parallels Server

Paravirtualización • XEN

• User Model Linux

• Denali

Virtualización a nivel S.O. • Linux-VServer

• Open VZ

• Virtuozzo

• Solaris Container

• Free BSD Jaiils

• Virtual PC

Emulación • Boch

• Qemu

• Virtual box

• Pear PC

• Hércules

Page 44: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

41

2.6 Ventajas y desventajas de la virtualización

Las ventajas fundamentales las podríamos resumir en las siguientes:

Las máquinas virtuales se administran de manera independiente, debido a la partición de los

recursos del sistema de cómputo. Lo anterior facilita en gran parte el mantenimiento en los

sistemas informáticos y más en donde existe una cantidad considerable de servidores. El

choque entre aplicaciones es menor debido a que se encuentran en máquinas virtuales

diferentes.

La administración de la máquina anfitrión es muy sencilla y su estabilidad muy grande debido

a que únicamente se maneja el software que permite virtualizar el equipo que es algo parecido

al S.O. y su aplicación, ninguna otra.

La ampliación de hardware de una MV es inmediata, siempre y cuando haya recursos reales

suficientes disponibles, ampliar la memoria es tan sencillo como un apagado ordenado de la

MV, cambiar su configuración y posteriormente iniciarla. Lo mismo sucede con los discos

virtuales por ejemplo.

El hardware de las máquinas virtuales es independiente del hardware real. Esto significa que

podemos incrementar la capacidad del servidor físico o se decide cambiarlo, solo se tienen

que copiar las máquinas virtuales, pasarlas a otro servidor e iniciarlas, debido a que se

manejan como archivos. No es necesario reinstalar ninguna de las máquinas virtuales, a pesar

de que se realice una migración masiva de hardware. A demás las máquinas virtuales se

pueden pasar de forma continua de un equipo a otro sin afectar el trabajo diario.

En las Tablas 2.2 y 2.3, se muestran las ventajas y desventajas de los sistemas de

virtualización, en este caso se expone el tipo de virtualización VMware, debido que es el más

completo actualmente dentro del grupo de virtualizadores utilizados por las empresas. Josep

Ros [28], muestra en su artículo denominado “Virtualización Corporativa con VMware”, la

información que se muestra a continuación:

Page 45: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

42

Tabla 2. 2 Ventajas al utilizar la virtualización.

Ventajas Descripción

1. Ahorro energético.

Hoy que están tan en boga, por desgracia, los problemas medioambientales, hay que comentar que, efectivamente, en entornos virtualizados se ahorra considerablemente en energía en las CPD. Se llegan a consolidar un número muy importante de servidores que dejan de consumir energía. Se pueden consolidar, asimismo, el número/volumen de SAIS necesarios. Además la última versión de VI 3.5 incorpora DPM que es una tecnología de ahorro que permite realizar VMotion de todas las VM de un host que esté con poca carga y dejarlo en stand-by con gasto cero de energía. Esta funcionalidad aún no está en producción, pero promete.

2. Ahorro de espacio.

En entornos con poco espacio en el CPD, edificios históricos que no se pueden ampliar y otras circunstancias similares en las que cada vez se piden más y más servicios pero el espacio es muy limitado, se pueden sustituir los grandes servidores antiguos que ocupan muchas U de nuestros racks por pequeños sistemas con 1 ó 2 U con mucha más potencia.

3. Ahorro de adquisición y mantenimiento de servidores.

Bien planificada, una virtualización, a la larga, significa un importante ahorro económico en la adquisición de servidores. Del mismo, modo simplifica el escenario de mantenimiento, al reducir el número de servidores críticos en la empresa. Al aprovecharse mucho más la capacidad hardware de los equipos, podemos tener un rápido despliegue de pilotos y VM de prueba sin desembolso económico en hardware.

4. Facilidad de gestión.

Al disponer de un sistema Virtual Center, podemos simplificar enormemente la facilidad de manejo del entorno. Desde un sólo punto de administración podemos ver el estado de todos los servidores físicos y virtuales y ver de modo inmediato las alertas y advertencias sobre problemáticas existentes.

5. Transportabilidad

Rápidamente podemos llevar una VM de un Host a otro. Ya sea (idealmente) a través de VMotion, DRS o HA o bien manualmente. Es importante que procuremos que la inmensa mayoría de nuestras VM sean transportables directamente sin manipulación alguna y, en caso contrario, documentarlo claramente.

6. Rápida recuperación del entorno.

Importantísimo. Donde en un escenario físico podríamos tardar días o semanas en recuperar completamente el escenario, en un entorno virtual es cuestión de minutos/horas.

7. Reconocimiento de los diferentes mundos.

Podemos tener virtualizados y en producción, sistemas Windows, Linux, Novell, Solaris, BSD... La misma realidad física que tenemos en entornos no virtualizados, sin demasiadas exclusiones (AS/400, Apple sobre PPC...)

8. VDI

Se abre, en la actualidad, un nuevo escenario de posibilidades en el que algunas empresas están empezando a virtualizar los escritorios de los usuarios. Esta tecnología se denomina, genéricamente, Virtual Desktop Infrastructure y permite que un usuario realice una conexión local o remota a su escritorio que no es una sesión de Terminal Server o Citrix Metaframe, sino una VM completa que sustituye a su equipo de sobremesa. Éste, a su vez, se ve reemplazado por un simple Thin Client.

9. Entornos de Desarrollo, Integración y Producción efectivos.

La teoría de tener diferentes entornos de Producción, Desarrollo e Integración, en la práctica es muy difícil de llevar a cabo. Por ejemplo en una empresa en la que exista un sistema MSCS con SQL Server difícilmente existirá otro sistema físico de Integración o Desarrollo, realizándose las pruebas directamente en el sistema en producción. La virtualización permite tener los tres escenarios perfectamente separados.

Page 46: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

43

Tabla 2. 3 Desventajas al utilizar la virtualización.

Inconvenientes Descripción 1. Ventana de mantenimiento reducida.

Precisamente lo que es una ventaja puede transformarse en un inconveniente. En un servidor en producción virtualizado hay muchas VM viviendo y apagar ese host puede convertirse en una tarea muy simple: hacer VMotion y apagarlo o una tarea compleja, si no disponemos de VMotion nos costará mucho encontrar el momento en que podamos dejar que todas esas VM dejen de dar servicio.

2. Gran requisito de espacio. El trabajar con VM implica, necesariamente, hacer un replanteamiento en cuanto al almacenamiento. Nuestras VM tendrán un ciclo de vida muy complicado en un entorno con poco espacio de disco. Habrá que hacer copias de seguridad, pruebas, etc. y todo ello significa planificar correctamente el almacenamiento. Evidentemente hay que disponer de espacio sobredimensionado en las cabinas de disco, pero no olvidemos disponer de NAS de bajo coste para las copias de seguridad y las pruebas.

3. Requisito de orden estricto. El orden en el trabajo de un informático de sistemas debería ser una condición sine-qua-non. Sin embargo, sucede en muchas ocasiones que el día a día evita que podamos tener el despacho ordenado. Es habitual observar mesas de informáticos repletas de manuales y documentos sobre los que se almacenan tarjetas, discos duros, CD y así podríamos seguir la pirámide. La virtualización nos obliga a ser extremadamente ordenados en el inventario de los Host y las VM.

4. Hay sistemas no virtualizables o que no tienen soporte del fabricante en entornos virtualizados.

Equipos que tienen un alto consumo de CPU (un Oracle que funciona en un host con 8 CPU físicas y echa humo), los grandes sistemas AS/400, sistemas no compatibles o, mejor dicho, no soportados por VMware como Apple. En estos casos es mucho mejor mantenerse al margen y excluir de nuestro entorno virtual estos equipos. Hace unos meses SAP certificó su instalación en un entorno VI3. Sin embargo, si por nuestra cuenta y riesgo virtualizamos un sistema de este tipo podemos tener problemas de no recibir soporte por parte del fabricante. Aunque siempre podemos hacer un V2P, recordémoslo.

5. Formación necesaria. Aparentemente la virtualización es muy simple pero si se implementa sin una buena base formativa puede dar quebraderos de cabeza. Se recomienda tener bien consolidados los conocimientos sobre los sistemas de virtualización que vayamos a implementar.

6. Desconfianza inicial Hay que virtualizar pero con responsabilidad. Es lógico que los clientes sientan un primer rechazo a entornos virtualizados que prometen la panacea: menos consumo, menos servidores... ¿dónde está la pega? Es importante también que los técnicos e ingenieros que vayan a llevar el mantenimiento del sistema hagan suyo el concepto de Virtualización. En algunos escenarios no se implementa la virtualización simplemente porque el responsable de sistemas de turno se opone directamente al proyecto. Puede ser perjudicial seguir incidiendo en la virtualización en este escenario.

Page 47: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

44

Capítulo 3: Bases de datos empresariales

3.1 Evolución

Desde el principio de la civilización se ha tenido la necesidad de organizar y almacenar

grandes cantidades de información para después recuperarla en forma eficaz. Dos métodos

antiguos de organización de datos son:

• Los pergaminos: los datos se escribían en una larga hoja de papel que se podía enrollar. La

desventaja evidente es que los datos que aparecen al final del rollo no pueden

recuperarse a menos que se desenrolle todo el pliego. Sin embargo era un método de

archivo compacto para grandes cantidades de datos. El almacenamiento secuencial de

datos computarizados en cinta magnética es semejante al del pergamino.

• Los libros encuadernados: la rapidez de acceso puede mejorarse si el rollo se divide en

páginas y luego estas se encuadernan formando así un libro. Esta innovación permite un

rápido acceso a los datos almacenados en cada página. Los datos en cada página se

buscan entonces secuencialmente. Este modo de acceso es semejante al acceso aleatorio

de un archivo secuencial indexado.

Las bases de datos surgen en los años 60 con la necesidad de manejar una gran cantidad de

información, anterior a esta tecnología se utilizaban los sistemas de archivos mejor conocidos

como filesystem los cuales permitían controlar la información de maneta básica.

La empresa IBM desarrollo el sistema IMS10, anteriormente conocido como GAM11

,

posteriormente a mediados de los sesenta surge el sistema surge IDS creado por la empresa

General Electric conocido como sistema de red y se desarrollo para representar relaciones de

datos en un nivel más complejo que los métodos anteriormente mencionados asimismo sirvió

de plataforma para la estandarización de las bases de datos.

10 Acrónimo de Information Management System ó Sistema del Manejo de la Información

11 Acrónimo de Generality Update Access Método ó Método de Acceso a Actualizaciones Generalizado

Page 48: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

45

El grupo encargado de establecer la especificaciones de base de datos fue DBTG12

Uno de los primeros sistemas que se desarrollo para probar la funcionalidad del modelo

relacional fue system R de IBM lo que provoco la evolución de dos grandes desarrollos el

primero SQL lenguaje de consulta estructurado que se ha convertido en un lenguaje estándar

para los diferentes niveles empresariales orientado a sistemas relacionales. El otro esquema

fue en los años 80 con la producción de sistemas relacionales como DB2 y SQL/DS producidos

por IBM. Además una de las más importantes en la actualidad y de gran calidad como lo es

Oracle Corporation.

la cual

estuvo en operación alrededor de seis años, sin embargo se tomo en cuenta por el instituto

americano de estandarización nacional (ANSI, American National Standards Institute).

En la actualidad existen múltiples sistemas relacionales para uso personal, empresarial entre

las que se destacan, Informix y Sybase Inc. Una de las fallas del sistema relacional es el límite

de capacidad al modelar los datos, se ha tratado de mejorar a través del tiempo. La técnica

más utilizada en el diseño de base de datos es el modelo de entidad relación creada en 1976.

Dos de los sistemas que actualmente se han desarrollado debido a la necesidad de la

creciente complejidad de las aplicaciones que requieren base de datos son:

• El modelo de datos orientado a objetos

• EL modelo relacional extendido

Se puede decir que esta evolución es la tercera generación de los SGBD, como se muestra en

la tabla 3.1.

12 Acrónimo de Data Base Task Group

Page 49: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

46

Tabla 3. 1. Características de las diferentes etapas de bases de datos.

Década Características de los archivos Dispositivo de almacenamiento

50 Secuenciales Tarjetas perforadas

60 Modo secuencial simple Cinta magnética

65-70 Modo secuencial y acceso directo Tambor magnético

70-80 Primeras Bases de Datos direccionales Disco magnético compartido

80-90 Auge de las Bases de Datos Disco magnético compartido

90 Bases de Datos en red, compartidas o globalizadas

Informix, Fox, SQL, Access, Oracle.

3.2 Definición

Base de datos en el mundo de la informática es uno de los términos más populares debido al

manejo de aplicaciones que requieren el uso adecuado de la información. El término de base

de datos se refiere a un conjunto de datos pertenecientes a un mismo contexto y almacenados

sistemáticamente para su consulta en el momento requerido. Un ejemplo muy claro es una

biblioteca, en donde se encuentra libros catalogados de forma ordenada y por diferentes

temas, identificando fácilmente la posición de un libro mediante una ficha de referencia

logrando consultar la información requerida.

Esta tecnología permite solucionar problemáticas de administración de datos en aplicaciones

usuales para la gestión de empresas e instituciones públicas, así como en ambientes

científicos para almacenar la información experimental.

3.3 Aplicaciones de los sistemas de base de datos.

Las bases de datos se usan ampliamente en los sistemas empresariales, educativos y

científicos. Algunos de sus aplicaciones representativas son:

Page 50: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

47

• Transacciones de tarjetas de crédito

• Telecomunicaciones

• Finanzas

• Ventas

• Universidades

• Control de personal

• Líneas áreas

• Recursos humanos

Esto permite que en la vida diaria todas las personas sin darse cuenta estén relacionadas con

el uso de las aplicaciones antes mencionadas. Sin embargo se debe tomar en cuenta puntos

importantes en el manejo de esta tecnología de cuales destaca la redundancia, el acceso, la

seguridad y la integridad.

3.4 Tipos de base de datos

Los diferentes de tipos de base de datos dependen de la identificación de la estructura de una

organización e identificación de procesos y que se clasifican de la siguiente manera:

3.4.1 Bases de datos estáticas

Este esquema estático solo es de lectura y se utiliza con la finalidad de utilizar datos que han

sido almacenados a través del tiempo, lo cual facilita el análisis de datos, generando reportes

e indicadores para la toma de decisiones.

3.4.2 Bases de datos dinámicas

En este caso la información almacenada es modifica periódicamente, permitiendo actualizar

borrar y añadir datos que se encuentran dentro de la estructura, lógicamente permitiendo la

consulta de la información. Este esquema lo podemos encontrar en sistemas de existencias.

3.5 Modelos de base de datos

Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido para

su clasificación:

Page 51: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

48

3.5.1 Base de datos relacionales

Se basan en un modelo relacional y usan un conjunto de tablas para representar los datos y la

relación entre ellos, la mayor parte de los sistema de base de datos relacionales emplean el

lenguaje SQL sobre todos empresas comerciales.

Estas relaciones se consideran de forma lógica como conjunto de datos llamados tuplas, en

donde cada tabla está compuesta por registros, es decir las filas de una tabla que representan

las tuplas y los campos que son representados por columnas de una tabla. Esto facilita el

entendimiento y el uso de la información consultada por un usuario. Dicha información puede

ser recuperada o almacenada mediante consultas que ofrecen flexibilidad para el manejo de

la información.

3.5.2 Bases de datos jerárquicas

La utilización de la información en este modelo es representada mediante un esquema que

hace referencia a un árbol, en donde un nodo maestro de información puede tener varios

subconjuntos, el nodo inicial es llamado raíz y a los nodos que no tienen subconjuntos se les

conoce como hojas. Estas bases son especialmente útiles para entornos en donde se maneja

una gran cantidad de información permitiendo crear estructuras estables y de gran

rendimiento. Su desventaja principal consiste el bajo nivel de disponibilidad de información.

3.5.3 Base de datos de red

Este modelo es conocido como nodo, a diferencia de un modelo jerárquico permite que un

mismo nodo tenga varias conexiones superiores y ofrece una alta disponibilidad de

información, sin embargo existe un grado de dificultad al administrar los datos lo que produce

seguridad eficiente en los sistemas.

3.5.4 Bases de datos multidimensionales

Su esquema se utiliza en aplicaciones bien definidas ya que permite la creación de Cubos

conocido como procesamiento analítico en línea, agilizando la consulta en grandes cantidades

de datos de manera multidimensional, lo cual permite manjar una tabla de una base de datos

relacional sin complicación.

Page 52: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

49

3.5.5 Bases de datos orientadas a objetos

Las bases de datos orientadas a objetos ofrecen un medio de migración cómoda para los

usuarios que administran las bases de datos relacionales que deseen utilizar características

orientadas a objetos. Este tipo de almacenamiento incorpora conceptos de encapsulación,

herencia y polimorfismo. Esto es, definiendo operaciones sobre datos e implementando

operaciones sin afectar la interfaz del sistema, así el usuario puedan operar sobre datos a

través de argumentos mostrando una independencia entre programas y operaciones.

3.5.6 Bases de datos documentales

Las bases de datos documentales permiten la búsqueda de información por medio de

indicadores que facilitan obtener un documento completo obteniendo búsquedas específicas y

avanzadas.

3.5.7 Bases de datos deductivas

También conocidas como bases de datos lógicas se rigen mediante reglas que son

almacenadas para la búsqueda de datos deductivos.

3.5.8 Gestión de bases de datos distribuida

Tiene como funcionalidad conectar bases de datos en diferentes puntos a través de una red

de cómputo y con la capacidad de acceder a ellas.

3.6 Lenguaje estructurado de consulta (SQL)

El lenguaje estructurado de consulta por sus siglas en ingles SQL (Structured Query Language)

es el lenguaje de consultas distribuido comercial mente que tiene mayor influencia en el

mercado. SQL utiliza una combinación de álgebra relacional y de cálculo relacional.

Aunque se haga referencia a SQL como lenguaje de consultas, realiza transacciones en una

base de datos, Actualmente se puede tomar como un estándar para las operaciones que

realiza un manejador de base de datos. Mediante consultas SQL es posible diseñar una

estructura completa de base de datos, como es creación, modificación ó borrado de tablas,

tipos de datos de los campos y especificar restricciones de seguridad y lógica de negocio.

Page 53: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

50

Las sentencias SQL se dividen en dos estructuras principales:

Actualización.- Modifica, elimina o inserta datos en una tabla de la base de datos.

Consulta.- Obtiene un conjunto de registro de la base de datos

Es un lenguaje declarativo de "alto nivel" o "de no procedimiento", esto es debido a su fuerte

base teórica y orientación al manejo de conjuntos de registros, y no a registros individuales,

permite una alta productividad en codificación y la orientación a objetos. Es común en los

lenguajes de acceso a bases de datos de alto nivel, el SQL es un lenguaje declarativo.

3.7 Manejadores de base de datos comerciales

Un sistema manejador de base de datos consiste en una colección de datos interrelacionados

y un conjunto de programas para acceder a dichos datos. La colección de datos que

normalmente es denominada base de datos; Contiene información relevante para una

empresa, teniendo como objetivo principal de un sistema manejador de base de datos es

proporcionar una forma de almacenar y recuperar la información de una base de datos de

manera práctica y eficiente.

Actualmente en el mercado existen diversas herramientas que se utilizan para gestionar los

datos de una organización para el apoyo de la administración de información y la realización

de indicadores para la toma de decisiones. Donde a continuación se hace referencias de

algunos sistemas manejadores de datos.

3.7.1 Oracle Corporation: Oracle

Oracle es la primera base de datos diseñada en la tecnología Grid Computing fabricada por

Oracle Corporation, es una poderosa herramienta cliente/servidor para la gestión de base de

datos. Este sistema es utilizado por grandes empresas multinacionales a nivel mundial, una

de sus grandes desventajas es que tiene un costo elevado por la forma en que manipula la

información, por lo que diferentes empresas eligen utilizar bases de datos de menor costo o de

uso libre como por ejemplo; Access, MySQL, SQL Server, PstgreSQL, etc.

Este sistema admite características de las bases de datos orientadas a objeto, cuando se

instala en un servidor, Oracle está constituido por una base de datos y una instancia. La base

Page 54: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

51

de datos es el “lugar” donde se almacenan los datos, mientras que la instancia constituye el

“mecanismo” que permite su manipulación.

Esta tecnología cuenta con características que han sido diseñadas para que las

organizaciones puedan controlar y manejar grandes volúmenes de contenidos no

estructurados en un solo repositorio con el objeto de reducir costos y riesgos asociados a la

perdida de información.

La herramienta se compone de una estructura física y una estructura lógica, es decir, los datos

son almacenados dentro de estructuras físicas, y se acceden por medio de estructuras lógicas,

debido a esta separación se pueden realizar modificaciones en la estructura física sin que

afecte a las estructuras lógicas de la base de datos.

La estructura lógica está compuesta por uno o más espacios de tabla y un conjunto de objetos

de esquema que pueden ser: tablas, vistas, índices, cluster, procedimientos.

Otra desventaja de Oracle además de su elevado costo es que no se puede instalar fácilmente,

tiene manuales que indican el procedimiento de instalación pero aún así resulta bastante

complicado, sin embargo la potencia para el manejo de información hace que las desventajas

sean mínimas.

3.7.2 Sun Microsystems: MySQL

MySQL es una herramienta de libre uso que en ámbito de la computación se conoce como

Open Source, por tal razón son varias las empresas que eligen el uso de esta tecnología para

manipular su información ya que no requieren de gran potencia, además que ofrece un

ambiente de seguridad.

La documentación pública y privada sobre el DBMS (DataBase Management System) es

amplia y existe soporte para el producto. Cumple con importantes estándares predefinidos

para su eficiencia y estabilidad.

Un procedimiento almacenado es un conjunto de instrucciones SQL que pueden ser

compiladas y almacenadas en el lado del servidor y posteriormente invocadas según sea

necesario. El manejo de llaves foráneas es limitado, esto ocasiona que el diseño de las BD sea

Page 55: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

52

más fino debido a la restricción. Existen versiones para diversas plataformas y sistemas

operativos como Windows, Linux, Mac OS y varias versiones de UNIX.

3.7.3 Microsoft SQL Server

Es la herramienta de Microsoft para gestionar bases de datos empresariales, la cual tiene una

estructura arquitectura orientada a las bases de datos relacionales. Este gestor de base de

datos proporciona servicios de réplica con otros sistemas de base de datos. Contiene un

módulo para servicio de inteligencia de negocio e incluye servicios de procesamiento analítico

en línea (OLAP), además cuenta con un motor de minería de datos.

SQL proporciona un conjunto de herramientas para administrar todos los aspectos del

desarrollo, consulta, ajuste, prueba y administración de un servidor de base de datos.

Page 56: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

53

Capítulo 4: Desarrollo de la metodología

4.1 Plan de trabajo

Para la implementación del proyecto, es necesario crear un plan de trabajo en donde se

identifiquen las necesidades que involucren el lugar donde se realizarán las pruebas

correspondientes y el prototipo final, los equipos de cómputo (hardware) y programas

(software) que serán utilizados, tomando en cuenta las facilidades para la disposición de los

recursos y sus características.

En la Tabla 4.1., se muestran las actividades que se tienen que realizar para la realización del

prototipo, como se puede observar a simple vista, dichas actividades están divididas en tres

fases en donde se involucra el análisis en la fase I, diseño en la fase II e implementación en la

fase III.

Tabla 4. 1 Actividades necesarias para realizar el proyecto.

No. Actividad Fase I Fase II Fase III

1 Ubicar lugar de trabajo xxxx

2 Obtener equipos de cómputo (servidores) xxxx xxxx

3 Seleccionar y obtener software de virtualización xxxx

4 Seleccionar y obtener software de base de datos xxxx

5 Seleccionar y obtener sistema de almacenamiento xxxx

6 Seleccionar y obtener aplicación xxxx

7 Montar y configurar el entorno de virtualización xxxx

8 Crear Máquinas Virtuales (Nodos) xxxx

9 Instalar S.O. en cada una de las MV xxxx

10 Configuración de red (pública, privada y virtual) xxxx

11 Instalación y configuración de almacenamiento compartido xxxx

12 Instalación de Cluster xxxx

13 Instalación de Base de Datos xxxx

14 Pruebas xxxx

Page 57: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

54

En la Tabla 4. 2, se proponen las fechas en las que se tienen que realizar las fases del

proyecto. Es importante mencionar, que el tiempo puede variar de acuerdo a la disponibilidad

de los recursos para la lograr la implementación del prototipo, por esta razón se asigna a cada

fase un tiempo bastante considerable.

Tabla 4. 2 Fechas estimadas para la realización de las fases.

Fases Fechas del 2009

I Enero - Marzo

II Abril - Julio

III Agosto - Octubre

4.2 Recursos a utilizar

Se pedirá permiso para el uso de los recursos, tomando en cuenta las funciones que se hacen

en el Centro se tendrá mayor interacción con los equipos y aplicaciones. Una vez obtenido el

permiso, el siguiente paso es evaluar los servidores ofrecidos cordialmente por el CENAC en

donde se instalarán las aplicaciones de virtualización y manejo de almacenamiento

compartido, los equipos proporcionados tienen las características que muestra la Tabla 4.3:

Tabla 4. 3 Evaluación de los equipos de cómputo necesarios para la implementación del proyecto.

No. Equipo Marca y

modelo Características técnicas Propósito

1 Servidor Armado - Disco duro: 4 de 200 GB - Memoria RAM: 6 de 2 GB - Procesador: 2 Intel Xeon de doble núcleo

Servidor de virtualización y almacenamiento.

2 Estación de

trabajo Dell Optiplex

- Disco duro: 200 GB - Memoria RAM: 2 de 2GB - Procesador: Intel Core 2 duo

Servidor para el manejo de almacenamiento.

3,4 y 5 PC 1, PC 2,

PC 3 Acer

- Disco duro: 200 GB - Memoria RAM: 2 de 2 GB - Procesador: AMD de doble núcleo

Máquinas de administración remota de nodos y monitoreo de transacciones.

6 Portátil HP Pavillion dv

2125LA

- Disco duro:120 GB - Memoria RAM: 2 GB - Procesador: Intel Core Duo Monitoreo.

Page 58: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

55

Por otro lado se tiene que decidir que software se va a utilizar y el equipo al que será asignado

para el desarrollo del prototipo.

En primera instancia se propone utilizar el tipo de virtualizador Hyper-V ya que lo incluye el S.O.

Windows Server 2008 Data Center Edition de Microsoft para 64 bits, haciendo uso de una

licencia temporal del propio instituto. La razón de la elección de este tipo de virtualizador, se

debe a que no es necesario invertir en una licencia que tiene un costo considerable en el

mercado, en el caso de que no se pudiera contar con la disponibilidad de la licencia, se

buscará la forma de solicitar los recursos para la inversión de una licencia de VMware ESX

Server.

Una vez que se tenga instalado el S.O. en el servidor, se realizarán las máquinas virtuales que

servirán como nodos para el cluster de la base de datos, a estas MV se les instalará Windows

2003 Server Enterprice Edition ya que contiene las características adecuadas para el manejo

de almacenamiento, información y comunicación entre nodos.

Para la comunicación entre nodos y los equipos físicos es necesario solicitar por lo menos diez

direcciones de red del segmento correspondiente al CENAC. Una vez obtenidas se realizará la

configuración de las direcciones públicas que en este caso serán las asignadas, las privadas

que serán las que se comuniquen con otros equipos internos al esquema del proyecto y

finalmente la configuración de las tarjetas de red virtuales.

Una vez que se tengan listas las MV y se comuniquen satisfactoriamente entre ellas, es

necesario que se cuente con un servidor que manipule el almacenamiento entre nodos, para

lo anterior se propone utilizar un S.O. llamado Openfiler [25], la razón por la cual se eligió el

uso de este software, fue porque es de uso libre licenciado bajo la GNU (General Public

Lincence), es configurado vía web a través de una interfaz gráfica amigable.

El siguiente paso es la configuración de los volúmenes de almacenamiento por medio de una

aplicación propia del sistema operativo utilizado en los 4 nodos, iSCSI initiator. Posteriormente

se realizarán las pruebas correspondientes para que todos las MV puedan observar la misma

cantidad de almacenamiento y sea compartida entre todos.

La alta disponibilidad se manejará con la herramienta propia de Oracle llamada Clusterware,

esta tecnología permite asignar el funcionamiento a un nodo automáticamente, en caso de

que falle el principal, suponiendo que en alguna ocasión fallarán 3 nodos, el cambio se

Page 59: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

56

realizaría automáticamente hasta el cuarto nodo y todo seguirá funcionando sin ningún

problema, logrando disponer de toda la información, de esta forma podemos decir que nuestro

sistema tiene un alto grado de disponibilidad de datos.

En último lugar se instala el manejador de Base de Datos, Oracle 10g es la propuesta para

realizar este proyecto, ya que cuenta con características adecuadas para manipular la

información de forma rápida, precisa y oportuna, además se cuenta con licencia institucional,

lo que permite comprobar las grandes ventajas del software.

Finalmente se realizarán pruebas de estrés con un programa llamado Swing Bench, que

permite simular el acceso a la base de datos a través de las máquinas virtuales, logrando

observar la capacidad que tienen para soportar la carga de transacciones por minuto y de

peticiones hacia la base de datos realizada por los usuarios.

En la Tabla 4. 4, se muestra la relación del software que será utilizado y el equipo que se va a

utilizar para cada programa.

Tabla 4. 4 Software asignado para equipos de cómputo.

Software Equipo Actividades

Windows Server 2008 (Hyper-V) 1 Instalación y configuración

Windows Server 2003 Máquinas Virtuales Instalación

Openfiler 2 Instalación y configuración

iSCSI initiator Máquinas Virtuales Instalación

Clusterware Máquinas Virtuales Instalación y configuración

Manejador de Base de Datos Oracle 10 g Máquinas Virtuales Instalación y configuración

Swing Bench Máquinas Virtuales Instalación y configuración

4.3 Arquitectura propuesta

A continuación se muestra el diagrama de conexión de red y los componentes involucrados en

el esquema de virtualización, para el manejo de base de datos a través del almacenamiento

compartido. Actualmente, el IPN tiene asignada una red de comunicaciones que permite la

interconexión de todos los equipos que se encuentran dentro del instituto, logrando tener el

acceso controlado a Internet a través de un firewall. El segmento de red asignada al CENAC, es

Page 60: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

57

el 148.204.14.0 con una máscara de subred de 24bits, de donde cada uno de los equipos

participantes como computadoras de administración, equipos portátiles, máquinas virtuales y

servidores tomarán direcciones IP permitiendo la comunicación entre ellos. Para lo anterior, se

tomó un rango seleccionado teniendo la debida precaución de no afectar otro servicio de red

que se encuentre dentro del segmento, como por ejemplo la máquina de un usuario u otro

servidor en producción. Para el presente trabajo, se apartaron en total veinte direcciones de

red y fueron asignadas tal y como se muestra en la Figura 4. 1 .

El servidor de virtualización en donde se tiene Hyper-V de Microsoft, contiene los cuatro nodos

o máquinas virtuales y es en donde se realiza la configuración de las tarjetas de red a través

del virtualizador para cada MV. Cada uno de los nodos cuenta con dos tarjetas virtuales y tres

direcciones de red, una para la comunicación del servidor de virtualización y las máquinas de

administración a través del escritorio remoto utilizando el segmento catorce. Otra dirección es

utilizada para la comunicación del servidor de almacenamiento con las máquinas virtuales

tomando como referencia la red 192.168.21.0 debido a la integridad de la información

manipulada por la base de datos. Por último se necesita otra dirección por nodo para que el

almacenamiento se detecte como uno solo logrando tener alta disponibilidad en el caso que

exista un problema y se elimine uno, dos y hasta tres nodos. La información que se encuentra

alojada en la base, estará disponible siempre y cuando se encuentre un nodo trabajando,

tomando en cuenta la carga y el número de peticiones que se reanalice por parte de los

usuarios.

La velocidad de comunicación a través de la red es muy importante, ya que de esto depende

que la carga sea distribuida correctamente hacia los nodos virtuales y estos a su vez al

servidor de almacenamiento. La velocidad de comunicación debe de ser en todos los casos

por lo menos 10/100/1000 Mbps, de lo contrario se crean cuellos de botella que disminuyen

la velocidad de interacción del usuario final y los datos solicitados.

Por otro lado existe un balanceo de cargas hacia los nodos virtuales, cuando un usuario, en

este caso PC1, PC2 o PC3, realizan peticiones hacia la base de datos, el elemento que hace la

gestión para distribuir la carga a través de los nodos virtuales y pasando por los elementos de

red involucrados, es el servidor de virtualización, que de cierta manera sirve como un

balanceador de cargas y al mismo tiempo tiene la función de un Ruteador de comunicaciones,

logrando la interconexión de dos redes totalmente diferentes, que en este caso son el

segmento 148.204.14.0 y la 192.168.21.0.

Page 61: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

58

El servidor de almacenamiento contiene como S.O. un derivado de Linux, llamado Openfiler,

este programa, sustituye la parte física de almacenamiento en donde comúnmente se tiene

una granja de servidores para la distribución adecuada de la información, además de una

serie de dispositivos que son necesarios para su conexión como por ejemplo; switches, cables

de datos, Fibra Óptica, software de administración de almacenamiento, controladoras y por

supuesto una gran cantidad de discos duros para sistemas de almacenamiento como DAS,

NAS y SAN que son necesarias para las empresas. Este equipo contiene toda la información

que se maneja, y será controlada por la base de datos instalada en los nodos virtuales, de esta

forma cuando el usuario necesite un dato, este será obtenido del sistema de almacenamiento.

En resumen, la acción que se realiza en un ambiente de producción, es que los usuarios hagan

peticiones hacia la base y obtengan el resultado lo más pronto posible, sin embargo el proceso

que tiene que seguir la petición realizada, es pasar por la red hasta llegar al servidor de

virtualización y la reparte entre los cuatro nodos dependiendo de la carga que tenga cada uno

de ellos, posteriormente la base de datos tiene la tarea de buscar e identificar dinámicamente

la solicitud realizada por el usuario, en donde la información se encuentra alojada en el

servidor de almacenamiento, una vez que es encontrada dicha información, la base hace la

gestión para proporcionar el resultado al usuario, regresando la información hasta el punto

donde fue anteriormente requerida.

En el esquema se puede apreciar que realmente no se necesita de una gran cantidad de

dispositivos para implementar el manejo una base de datos con alta disponibilidad, de esta

manera se puede decir que el ahorro es considerable comparado con un sistema físico, sin

embargo el rendimiento es menor, considerando el número de condiciones por minuto.

Page 62: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

59

Figura 4. 1 Arquitectura de red del sistema de virtualización

Page 63: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

60

4.4 Implementación

4.4.1 Instalación y configuración del virtualizador

Una vez identificados los equipos a utilizar, se toma la máquina que manipulará la tecnología

de virtualización y requiere de los siguientes puntos:

• Un procesador de 64 bits. Hyper-V está disponible en las versiones x64 de Windows

Server 2008, las versiones x64 de Windows Server 2008 Standard, Windows Server 2008

Enterprise y Windows Server 2008 Datacenter, este último permite crear una cantidad

mayor de MV’s, por tal razón es utilizado para el desarrollo del trabajo.

• Virtualización asistida por hardware. Está disponible en procesadores que incluyen una

opción de virtualización; concretamente, Intel VT o AMD Virtualization (AMD-V).

• La protección de ejecución de datos DEP13

de hardware debe estar disponible y habilitada.

Concretamente, se tiene que habilitar el bit XD de Intel (bit ejecutar deshabilitado) o el bit

NX de AMD (bit no ejecutar).

Prácticamente, el primer paso que se realizó para el desarrollo del proyecto fue la instalación y

configuración del S.O. Windows Server 2008 Datacenter Edition para 64 bits en el Servidor 1.

Esta versión permite crear una mayor cantidad de máquinas virtuales a comparación con otras

versiones como Windows Server 2008 Enterprise Edition.

Es necesario considerar que la configuración de la virtualización asistida por hardware y la

protección de ejecución de datos están disponibles en el BIOS. No obstante, los nombres de

las opciones de configuración pueden diferir con respecto a los indicados anteriormente. Para

obtener más información acerca de si un modelo de procesador concreto admite Hyper-V, se

tendrá que consultar al fabricante del equipo.

Si se modifica la configuración de la virtualización asistida por hardware o la protección de

ejecución de datos de hardware, es probable que se tenga que desconectar el equipo y volver

13 Acrónimo de Data Execution Prevention o Protección de Ejecución de Datos, es una propiedad del microprocesador para la seguridad

en el manejo de sistemas operativos.

Page 64: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

61

a encenderlo. Si sólo se reinicia el equipo, es posible que los cambios realizados en las

opciones de configuración no surtan efecto.

Para la puesta en marcha de Windows Server 2008 Hyper-V, debe realizar antes una

instalación limpia (completa) de Windows Server 2008 Datacenter.

En el Anexo A de este trabajo, se describe cómo se configura Hyper-V en una instalación

completa de Windows Server 2008. Se describe también cómo se instala la consola MMC14

4.4.2 Creación de MV

del Hyper-V Manager que permite administrar el entorno Windows Server 2008 Hyper-V desde

un sistema remoto. Es necesario mencionar que la instalación del S.O. y la configuración de

Hyper-V, no presentaron mayor problema a la hora de ejecutar los pasos mostrados en el

Anexo 1.

En la Figura 4. 2, se muestra la consola de administración de máquinas virtuales, en el panel

izquierdo se pueden observar todos los servidores que ejecuten Hyper-V, desde ellos se

pueden gestionar las máquinas virtuales y crear e importar máquinas virtuales. En este caso

crearemos una máquina virtual con Windows 2003 Server, seleccionando con clic derecho el

servidor de virtualización proporcionado por Hyper-V. Posteriormente seleccionamos New y

Virtual Machine.

Figura 4. 2 Consola de administración de Hyper-V.

14 Acronimo de Microsoft Management Console o Consola de Manejo de Microsoft, hospeda y muestra herramientas administrativas

creadas por Microsoft y por otros proveedores de software.

Page 65: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

62

Automáticamente se abre una ventana de configuración y se ingresan los datos solicitados

como por ejemplo: el nombre de la MV, que será el nombre que se verá desde la consola de

administración, normalmente se pone el mismo nombre que tendrá la MV (o el nombre de una

plantilla), para el proyecto necesitamos crear 4 máquinas virtuales que se nombraron de la

siguiente forma: nodo1, nodo2, nodo3 y nodo4 respectivamente. La razón de que sean 4

nodos es por un esquema de alta disponibilidad en donde todos los nodos verán un espacio de

almacenamiento y la información manejada centralizada.

En esta parte de la instalación se realizará la configuración de los recursos del servidor para

las máquinas virtuales, se asignará la capacidad de disco duro, tarjetas de red,

almacenamiento, unidades de entrada salida, etc.

También se muestra la ruta en donde guardan archivos de la máquina virtual, que por defecto

será: "C:\ProgramData\Microsoft\Windows\Hyper-V", seleccionar "Siguiente".

El siguiente paso es asignar la memoria RAM que queremos que tenga está máquina virtual,

en este caso, cada una de las máquinas tendrá 2GB de memoria RAM, para que pueda

soportar el trabajo de consulta y las aplicaciones instaladas, seleccionar siguiente.

La siguiente ventana requiere la especificación del tipo de conexión que se aplicarán a las

tarjetas virtuales de red que se quiere manejar para las máquinas virtuales, en donde existen

dos tipos: pública y privada, en este caso seleccionar la red Pública, para que se conecte a la

red física, y seleccionar siguiente.

Ahora se define el almacenamiento, para esto seleccionar crear un disco duro virtual o uno ya

creado previamente, en este c aso se toma uno existente que ya contiene el S.O. instalado de

20Gb, finalmente seleccionar siguiente.

En las opciones de instalación, se puede seleccionar si se instalará un sistema operativo más

adelante o una vez creada la MV. Las unidades de entrada-salida como el CD/DVD de

instalación, si en la unidad física del servidor o si lo tenemos en una imagen con extensión .iso,

podemos instalar el S.O. desde un disquete instalándolo desde la red mediante PXE por

ejemplo, seleccionar siguiente.

Finalmente en la Figura 4.3, comprobamos el resumen de creación de la MV, si todo es

correcto seleccionamos finalizar. Tenemos la opción de iniciar la MV una vez creada.

Page 66: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

63

En la Figura 4. 4, podemos observar la MV creada, si pulsamos sobre un servidor físico que se

muestran en la parte izquierda del administrador, en la parte central nos mostrará las MV que

tiene, y sobre ellas con el botón derecho del mouse podemos ingresar directamente como si se

tratara de un acceso remoto, también se pueden editar propiedades, encender, reiniciar o

suspender la MV. Además podremos tomar Snapshots15

de su estado para hacer una copia

idéntica a la MV en su estado actual para usarla en un futuro como respaldo. Podremos

exportar la MV, renombrarla o eliminarla de forma permanente.

Figura 4. 3 Configuración final de la MV

15 Imagen instantánea que en el ámbito de la virtualización se le llama a la captura de una imagen de un programa o archivo que puede ser habilitado en cualquier instante, como por ejemplo una Máquina Virtual.

Page 67: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

64

Figura 4. 4 Máquina Virtual en el esquema de administración de Hyper-V.

Si editamos las propiedades de una máquina virtual, sobre ella con el botón derecho y Settings

podremos editar todas las posibilidades que proporciona a nivel de hardware, con la capacidad

de agregarle a la MV dispositivos de hardware, modificar la memoria RAM previamente

asignada, procesadores, los discos duros y agregarle otro, tarjetas de red, etc.

Si pulsamos sobre un servidor físico corriendo el rol de Hyper-V con botón derecho en él y

seleccionar Hyper-V Server Settings podemos editar ciertos parámetros generales sobre todas

las MV u opciones en este servidor físico.

De esta manera, también se puede cambiar los directorios predeterminados donde se guardan

los archivos de las máquinas virtuales o sus discos duros, modificar ciertos parámetros del

teclado o de los credenciales guardados. Ahora no queda más que arrancar la MV, instalarle

un S.O. y configurarla para que ejecute las aplicaciones o servicios necesarios para el proyecto.

4.5 Configuración de red privada, pública y virtual

Para el funcionamiento de cada uno de las máquinas virtuales anteriormente creadas; nodo1,

nodo2, nodo3 y nodo4, se tiene que configurar la red pública, en donde el segmento de red

asignado al CENAC, es el 148.204.14.0. Por medio de este segmento de red se podrá realizar

la comunicación entre todos los elementos de cómputo utilizados en el esquema general, cabe

Page 68: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

65

señalar que no afectara el desempeño de la red o a otros servicios que se encuentran

operando en el Centro, ya que se creó un esquema independiente previniendo conflictos con

aplicaciones en producción. Los elementos de cómputo involucrados del segmento de red son:

servidores, nodos, y máquinas de escritorio.

La configuración de la red privada, utilizada para la comunicación de los nodos del segmento :

192.168.21.0, se realiza en cada uno de los nodos y en el servidor de almacenamiento

compartido, la cual permitirá la comunicación entre los discos de almacenamiento que se

crean en cada nodo, para que puedan compartir el almacenamiento.

La configuración de la red virtual utilizará el segmento: 148.204.14.0, nos permite la

comunicación interna entre nodos, teniendo otro camino de comunicación si llegara a fallar el

segmento de red público a través de la red privada.

4.6 Configuración del Servidor de Almacenamiento compartido

4.6.1 Instalación y configuración de Openfiler

Openfiler (ver Figura 4. 5), es un sistema operativo que proporciona almacenamiento en red.

Debido a la necesidad de contar con un sistema de almacenamiento como una SAN, DAS o

SAS, que permiten manejar el almacenamiento a través de una aplicación y la necesidad de

conectar físicamente los equipos, se tomo la decisión de utilizar el S.O. Openfiler el cual fue

creado por Xinit Systems, y se basa en la distribución de Linux rPath. Es software libre

licenciado bajo la GNU (General Public License) versión 2. Su pila de software de código

abierto con interfaces de software de terceros.

Page 69: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

66

Figura 4. 5 Autenticación de Openfiler.

Openfiler es instalado en el servidor de almacenamiento utilizando el procedimiento mostrado

en el Anexo B conforme al esquema general. Debido a que el sistema operativo es un derivado

de Linux, la instalación es muy similar al instalar Linux, Ubuntu o Suse. En primera instancia se

tienen que definir las particiones de almacenamiento que serán utilizadas en el equipo,

posteriormente el lenguaje del teclado y más adelante las configuraciones de red, en donde se

configura el segmento de red privado debido a que tendrá comunicación con los nodos

virtuales y será administrado vía web mediante la dirección https://192.168.21.254:446.

Una vez definidos todos los parámetros se inicia la instalación finalizando con la definición de

autenticación para el acceso vía web.

Ya que está listo el servidor de almacenamiento, se ingresa vía web desde una máquina local,

se coloca el usuario y password y posteriormente se comienza con la asignación de

volúmenes, para cada uno de los nodos virtuales, obviamente, dichos nodos tienen que estar

activos para que el sistema de almacenamiento los detecte automáticamente.

El primer paso de la configuración es definir cuantos volúmenes se van a realizar para cada

nodo virtual, en donde se tomó la decisión de que serán creados 3 volúmenes para

Page 70: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

67

Clusterware (CRS) con un espacio de 1,024 MB y uno más para ASM de 950,784 MB. Para lo

anterior es necesario seleccionar un grupo para el volumen del grupo. El procedimiento se

repite en los cuatro nodos con un espacio de 1,024 MB por volumen con conexión iSCSI16

Figura 4. 6

,

obteniendo finalmente lo que se muestra en la

Figura 4. 6 Definición de volúmenes para nodos virtuales.

La conexión de iSCSI es la interfaz de conexión de los nodos al servidor de almacenamiento y

tiene que habilitarse para entrar en operación, finalmente se enlazan los volúmenes creados

como se muestra en la Figura 4. 7.

Figura 4. 7 Asignación de conexiones para acceso al almacenamiento.

16 Tecnología que permite que las computadoras puedan disponer de medios de almacenamiento por medio de la red, en donde el medio puede ser Fibra Óptica o Ethernet.

Page 71: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

68

4.7 Configuración de nodos virtuales

4.7.1 Conexión iSCSI

Una vez definidos los volúmenes de almacenamiento en el Openfiler, ahora sé configura la

conexión hacia el almacenamiento en los 4 nodos virtuales, por esta razón se instala el

software llamado Microsoft iSCSI initiator versión 2.06 para obtener alta disponibilidad en el

sistema propuesto. Este software viene dentro del S.O. anfitrión de cada nodo que es Windows

Server 2003. Lo anterior permitirá establecer la comunicación de todos los nodos con el

servidor de almacenamiento compartido (Openfiler).

La instalación de iSCSI no tiene un grado de complejidad considerable para su instalación, lo

que se tiene que hacer es entrar a las propiedades de iSCSI Initiator que se encuentra dentro

de las herramientas de Windows Server 2003. Una vez estando dentro, seleccionar la pestaña

Discovery (en español Descubrir) para agregar el segmento de la red privada del Openfiler (ver

Figura 4. 8).

Figura 4. 8 Configuración de segmento de red para iSCSI.

Page 72: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

69

El siguiente paso es seleccionar la pestaña Targets (en español objetivos) y automáticamente

reconocerá el nombre del servidor de almacenamiento; iqn.cenac.com.openfiler.tsn, (ver

Figura 4. 9).

Figura 4. 9 Identificación del servidor de almacenamiento.

Finalmente se selecciona la opción para que la conexión se restablezca automáticamente

cuando se reinicie el nodo virtual y finaliza el proceso.

4.7.2 Configuración de red

Para la configuración de red en cada uno de los nodos virtuales se sigue el siguiente

procedimiento:

I. Asignación de nombre por nodo y dominio

a. Nombre: nodo1, nodo2, nodo 3 y nodo4.

b. El Dominio general se definió como: ipn.mx

II. Configuración de las tarjetas de red

a. Pública

b. Privada

Page 73: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

70

III. Dentro de la configuración de red, en opciones avanzadas, verificar que la red pública

se encuentre en primera instancia.

IV. En propiedades de Mi PC, en Opciones Avanzadas, Rendimiento y Opciones Avanzadas,

se tiene que seleccionar Servicios en segundo plano y para mejorar rendimiento

seleccionar la opción programas.

V. En la pestaña de prevención y ejecución de datos seleccionar la primera opción.

VI. Activar de ser necesario los siguientes servicios:

a. Administrador de conexión de Acceso Remoto

b. Administrador de conexión automática de Acceso Remoto

c. Servidor

d. Examinador de equipos

e. Registro remoto

Nota: Los servicios del Coordinador de Transacciones Distribuidas de Microsoft deberán estar

arriba, después de haber instalado y configurado iSCI deberá estar deshabilitado el servicio.

El grupo de trabajo que se creó para cada nodo virtual tiene el nombre de: ora_dba, y debe

estar agregado al usuario administrador, con la finalidad de manejar del Oracle Clusterware.

4.7.3 Instalación de Clusterware

Este procedimiento es necesario para montar los discos creados anteriormente en el sistema

de almacenamiento Openfiler para los 4 nodos virtuales, a los cuales se les asignó el siguiente

nombre: CRS1, CRS2 y CRS3.

El primer paso es ingresar al archivo host que se encuentra en la siguiente ruta de un

explorador de Windows; C:\WINDOWS\system32\drivers\etc, y se muestra un archivo de texto

que contiene las configuraciones de los diferentes grupos de redes que se manejan en este

trabajo para la comunicación de los componentes en donde tenemos la red pública, privada y

virtual con sus direcciones correspondientes para cada nodo virtual (ver Figura 4. 10). Es

importante mencionar que los cuatro nodos deben de contener el mismo archivo de Host con

los mismos datos.

Page 74: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

71

Figura 4. 10 Asignación de direcciones de red privada, pública y virtual.

El siguiente paso es ir al Administrador de Equipos del S.O., seleccionar la opción de

Administrador de Discos.

Posteriormente se muestran los cuatros discos creados anteriormente, en donde se tiene que

seleccionar los que se vayan a utilizar que en este caso son los 4 (CRS1, CRS2, CRS3 y ASM).

Posteriormente el asistente nos indica si queremos iniciar a MBR17

Figura 4. 11

los cuatro discos tal y

como se muestra en la .

Figura 4. 11 Asistente para inicializar y convertir discos.

17 Acrónimo de Master Boot Record ó Sector de Arranque Maestro, es un pequeño programa que es ejecutado en cada inicio del S.O. y se encuentra ubicado en el primer sector absoluto (Track 0, head 0, sector 1) del disco duro en una PC y que busca la tabla de particiones para transferirla al Sector de Arranque.

Page 75: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

72

Posteriormente podremos habilitar las particiones que se encuentran en cada uno de los

nodos virtuales, lo anterior se realiza estando en la parte de Administración de Equipos, dando

click derecho al icono PC y seleccionando Administrar, finalmente seleccionar el apartado de

Administración de Discos.

En esta parte se puede observar cinco particiones de almacenamiento, la primera se refiere al

almacenamiento del nodo virtual que es de 10GB con formato NTFS18

Figura 4. 12

y las cuatro siguientes

se refieren al almacenamiento general que se encuentran deshabilitadas, tres de CRS de

1024MB y una más de 928.49GB. El siguiente paso es habilitar las particiones seleccionando

con click derecho cada una de las particiones, seleccionando la opción de Partición nueva y

extendida, posteriormente se especifica el tamaño que corresponde a cada una de las

particiones mostradas (ver ).

Figura 4. 12 Inicio de los discos de almacenamiento.

Finalmente se asigna una nueva unidad lógica para cada partición de los 4 nodos virtuales, se

selecciona la opción de unidad lógica y especificar el tamaño de partición, posteriormente

seleccionar no asignar una letra o ruta de acceso a la unidad y seleccionar no formatear esta

partición y finalizar el proceso. Finalmente se podrá observar en color azul las particiones

18 Acrónimo de NT File System, es un sistema de archivos diseñado específicamente para Windows NT (incluyendo las versiones Windows 2000, Windows Server 2003, Windows XP, Windows Vista, Windows Server 2008 y Windows 7), con el objetivo de crear un sistema de archivos eficiente, robusto y con seguridad incorporada desde su base.

Page 76: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

73

listas para utilizarse (ver Figura 4. 13), es importante mencionar que este proceso se realiza

solo en un nodo que en este caso fue el nodo 1, ya que el proceso se replica para todos los

nodos.

Figura 4. 13 Particiones en estado de Espacio libre.

Figura 4. 14 Unidades lógicas de almacenamiento definidas.

Page 77: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

74

4.7.4 Autenticación de usuarios

El procedimiento de autenticación de usuarios es necesario para verificar la existencia de

comunicación entre nodos la cual puede ser por nombre o por las diferentes redes manejadas

como la pública, privada y la virtual.

Para verificar la comunicación de los nodos con el sistema de almacenamiento se verifica con

la instrucción Netuse19

4.7.5 Instalación del Software Clusterware

, utilizada en la línea de comandos de MS-DOS, mostrando la conexión

de los cuatro nodos en donde todos los discos tienen que estar conectados .

El Software Clusterware permite la identificación de los discos de almacenamiento compartido

en cada unos de los nodos, y manejar un sistema de almacenamiento único para todos los

nodos. En el Anexo D se muestran las imágenes para llevar a cabo el procedimiento de la

instalación del software de Clusterware.

En primera instancia se debe de contar con el software ejecutable de Clusterware propietario

de Oracle 10g. Se copia a una de las máquinas virtuales en la carpeta raíz de la partición C,

quedando la ruta de la siguiente manera: C:\clusterware, dentro de la carpeta ejecutar

setup.exe. Posteriormente se muestra una pantalla de color negro que especifica el proceso de

instalación del Clusterware y más adelante comienza el asistente de configuración mostrando

la ventana de bienvenida en donde se muestran algunas características de cambios, pero en

este caso solo se tiene que seleccionar y pasar al siguiente paso. Posteriormente se tiene que

ingresar el nombre y la ruta en donde se instalará el producto tal como se muestra en la Figura

4. 15 definido el lugar de instalación, el programa verifica las necesidades de las variables de

entorno20

Figura 4. 16

para la instalación del producto en donde se muestra una barra que describe el

avance de la instalación del 0 al 100%, una vez que sea aprobado el resultado general de la

comprobación seleccionar siguiente. La ventana siguiente solicita ingresar el estado de los

nodos que participarán en el acceso al almacenamiento general, en donde los tres datos

solicitados son el nombre del nodo público, el nombre del nodo virtual y el nombre del host

virtual quedando la configuración como se muestra en la El siguiente paso es

definir el nombre del cluster que en este caso será CRS, en donde es necesario proporcionar el

19 Comando que permite verificar la conexión con el sistema de almacenamiento en red. 20 Son un conjunto de valores dinámicos que normalmente afectan el comportamiento de los procesos en una computadora.

Page 78: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

75

uso de la interfaz de red en donde se tiene la pública con el segmento 148.204.14.0 y la

privada con el segmento 192.168.21.0.

Figura 4. 15 Nombre y ruta de instalación de Clusterware.

Figura 4. 16 Configuración de los nodos virtuales para Clusterware.

Page 79: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

76

El siguiente paso en la configuración es especificar la información de las particiones, en donde

se habilitará la opción de OCR, además de formatear la partición CFS y usar la partición para el

almacenamiento de datos, en este caso se utiliza la letra de la unidad asignada como se

muestra en Figura 4. 17.

Una vez configuradas las particiones, el siguiente paso es seleccionar los discos que se deben

utilizar para almacenar el disco de arranque complementario de Oracle Cluster Registry (OCR)

y Cluster Synchronization Services (CSS). A menos que los discos sean redundantes, se deben

especificar dos particiones para el OCR y tres particiones para el disco de arranque

complementario de CSS. Además se debe especificar los discos que se quieran formatear con

Oracle Cluster File System (CFS), el tipo de formato y una letra de unidad para montar el disco

formateado. En la Figura 4. 18 se muestra la tabla que contiene el número de discos de

almacenamiento con sus particiones, tamaño en MB, formato, letra de unidad y el uso.

Figura 4. 17 Configuración de particiones.

Page 80: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

77

Figura 4. 18 Configuración de almacenamiento.

Finalmente se muestra el resumen de toda la configuración de Clusterware en donde se

indican los valores globales que serán instalados; el idioma del producto, los requisitos de

espacio, las instalaciones que se llevarán a cabo etc. Si se está de acuerdo con las

configuraciones seleccionadas se tienen que aceptar y seleccionar la opción de instalación

para iniciar el proceso en donde se encuentra una barra que muestra el avance de instalación.

Los archivos se extraen en la ruta: C:\oracle\product\10.2.0\crs.

A continuación se muestran los asistentes de configuración que serán instalados de Oracle

Clusterware:

• Oracle Clusterware Configuration Assistant

• Oracle Notification Server Configuration Assistant

• Oracle Private Interconnect Configuration Assistant

• Virtual Private IP Configuration Assistant

Page 81: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

78

Continuando con la instalación de Oracle Clusterware 10.2.0.1.0 y si no existe ningún

problema la instalación se encuentra lista. Es necesario mencionar que si existiera alguna

configuración que no se realizó adecuadamente se refleja en la instalación, mostrando los

errores con código interpretado por Oracle, por lo que será necesario consultar las hojas de

datos que permitan resolver las problemáticas.

4.7.6 Instalación de ASM

Automatic Storage Managment (ASM) es el manejo automático de almacenamiento, la ruta de

acceso es; C:\ASM\database\ASMtool\ ASMtoolg, en donde se muestra la ventana de

configuración de ASM, que permitirá añadir, habilitar o borrar las particiones de disco, solo se

tiene que seleccionar Add o change label, posteriormente se muestran los discos que se

tienen dados de alta, aquí seleccionamos el volumen de disco destinado para ASM el cual

tiene una capacidad de 950,768 KB que aproximadamente equivale a 1 TB, seleccionar la

opción Generate stamps with this prefix, para almacenamiento de Datos. La siguiente ventana

muestra las características del sistema de almacenamiento, capacidad, nombre y dispositivo,

solo es cuestión de confirmar los datos, dar siguiente. Después de finalizar, se ejecuta

automáticamente ASMtoolg, que configura el disco que va a trabajar con ASM.

4.7.7 Instalación de Oracle 10g

El primer elemento con el que se debe de contar para realizar la instalación del manejador de

Bases de Datos Oracle 10g es el archivo ejecutable, que se encuentra dentro de la ruta:

C:\asm\database\setup.exe. Después de dar doble clic, aparece la primer ventana de

Bienvenida en donde comenta que es una guía de instalación de los productos de Oracle, dar

siguiente.

La primera opción es seleccionar el tipo de instalación que se quiere realizar, tal y como se

muestra en la Figura 4. 19 . Se elige la primera por las características mencionadas, como la

gestión automática que tiene las funciones de escalabilidad, rendimiento, alta disponibilidad y

seguridad para atender las aplicaciones críticas más exigentes.

El siguiente paso es especificar los detalles del directorio en raíz en donde quedará instalado

el manejador de bases de datos Oracle 10g, que tiene la siguiente ruta:

C:\oracleproduct\10.2\db_1. Con el nombre: OraDB10g_home2.

Page 82: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

79

Para el manejo de cluster, en la siguiente ventana del instalador se tienen que seleccionar los

cuatro nodos virtuales y dar siguiente. Posteriormente se comprobarán los requisitos

específicos del producto. Se muestra una barrea de avance de verificación de las necesidades.

Figura 4. 19 Selección del tipo de instalación de base de datos de Oracle.

El siguiente paso de la configuración es seleccionar la opción de configuración, en donde se

puede crear una base de datos o configurar la Gestion Automatica de Almacenamiento (ASM)

para gestionar el almacenamiento de archivos de base de datos. Pero la parte que

seleccionamos es la de instalar sólo el software necesario para ejecutar una base de datos.

Se muestra el resumen de la configuración seleccionada, si esta correcta la información solo

es necesario seleccionar la opción Instalar y comenzará a instalar los programas relacionados

para la gestión de base de datos. Si no existe ningún problema en la configuración de los

parámetros solicitados, se muestra una pantalla que nos indica las características de los

productos instalados y las direcciones para instalación a los nodos como por ejemplo;

http://nodo1.ipn.mx:5560/isqlplus/dba, además de indicaciones para ejecutar el directorio

raíz de Oracle en los nodos virtuales para activar los productos Oracle Data Provider para .NET

y Oracle Provider para OLE DB, tal y como se muestra en la Figura 4. 20.

Page 83: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

80

Figura 4. 20 Fin de la instalación de Oracle 10g

4.7.8 Configuración de bases de datos

Para la configuración de la base de datos es necesario ir a inicio, accesorios y seleccionar el

asistente de configuración de bases de datos, que se encuentra dentro de las Herramientas de

Configuración y de Migración. Al ejecutar el asistente, automáticamente surge la ventana de

Bienvenida en donde explica brevemente las características que contiene como; crear,

configurar, o suprimir una base de datos de cluster y gestionar plantillas de bases de datos.

También permite agregar y suprimir instancias, así como agregar, suprimir y modificar servicios

de una base de datos de cluster. Se selecciona la primera opción que es: Base de datos Oracle

Real Application Clusters, seleccionar el siguiente paso. Se tiene que seleccionar la operación

a realizar, que en este caso será la Configurar Gestión Automática de Almacenamiento, y

seleccionar siguiente. Posteriormente se seleccionan los nodos en los que se pretende

gestionar grupos de discos de ASM.

Es importante mencionar que el nodo local que es el nodo1 se utiliza siempre, esté o no

seleccionado. Se elige seleccionar todo. El siguiente paso es de autenticación en donde se

solicita la contraseña SYS específica de ASM, en este caso se utilizó la contraseña oracleasm.

Posteriormente el asistente solicita gestionar los grupos de discos para ASM, que en este caso

solo se tiene un solo grupo llamado Data con el tamaño asignado para ASM de 950,768 KB.

Page 84: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

81

Una vez de haber configurado el gestor automático de almacenamiento se tiene que realizar el

mismo proceso para ingresar al asistente de configuración de bases de datos pero en esta

ocasión se selecciona; Crear Base de Datos. Posteriormente se tienen que seleccionar los

nodos involucrados y seleccionar una plantilla para crear la base de datos, en este caso

seleccionamos de uso general. El siguiente paso es identificar la base de datos Oracle, en

donde se identifica como única mediante el nombre de base de datos global, normalmente

definida con el formato nombre.domonio, que en este caso será: prod.com. Una instancia

Oracle de cada nodo de cluster hace referencia a una base de datos. Cada instancia se

identifica de forma única mediante un Identificador del Sistema Oracle (SID).

Para cada instancia de base de datos de cluster, el SID está formado por un prefijo común

para la base de datos y un número para cada instancia que se genera automáticamente. Se ha

introducido un SID recomendado que puede aceptar o cambiar por otro valor. El prefijo SID

utilizado en este caso es: prod. A continuación se indica la manera en que se gestiona la base

de datos seleccionando la opción de Configurar la Base de datos con Enterprice Manager, y

Usar Data Base Control para Gestión de Base de Datos. La siguiente ventana solicita las

credenciales de base de datos en donde se puede utilizar la misma contraseña para todas las

cuentas, en este caso se utiliza la contraseña; oracledb.

A continuación se muestran las opciones de almacenamiento en donde la más conveniente es

la Gestión de Almacenamiento Automatizada (ASM) ya que simplifica la administración de

almacenamiento de la base de datos y optimiza el diseño de la misma para el rendimiento de

entradas y salidas. Para utilizar esta opción es necesario utilizar un juego de discos, cabe

señalar que también existen las opciones de Sistemas de Archivos de Cluster para el

almacenamiento de bases de datos y Dispositivos Raw para proporcionar almacenamiento

compartido en RAC en caso de no utilizar ASM. La siguiente opción es la de Opciones de

Almacenamiento, en donde para ingresar se tiene que especificar la contraseña SYS de ASM,

que en este caso es; oracleasm.

En el siguiente paso se tienen que seleccionar los grupos para ASM en donde solo se

encuentra una opción y las características son; nombre de grupo, tamaño en MB (950,768),

espacio libre (950,768), redundancia y estado. Cabe señalar que en este punto se pueden

agregar más grupos de discos ASM. Se utilizan las ubicaciones de archivos de bases de datos,

en donde en este caso tomaremos la opción de Usar Oracle Managed Files o manejador de

Page 85: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

82

archivos Oracle. La siguiente ventana es de recuperación, que no es muy necesario utilizarlo

en este caso.

En los servicios de base de datos tenemos a prod.com, el cual es necesario seleccionar para

continuar con los parámetros de inicialización y se elije la Memoria Típica que asigna la

memoria como un porcentaje del total de memoria física (2047 MB), el porcentaje

seleccionado es de 40%. El tamaño total de la memoria incluye 40 MB de tamaño del proceso

de Oracle y los valores por defecto para los parámetros vacios, si los existiera. El siguiente

esquema muestra el almacenamiento de la base de datos en donde se puede especificar los

parámetros de almacenamiento para la creación de la base de datos. La página muestra un

listado en árbol y una vista de resumen (lista de varias columnas) que permite cambiar y ver

los siguientes objetos; archivos de control, tablespaces, archivos de datos, segmentos de

rolback y grupos redo log. Se pueden crear nuevos objetos. El último paso es el de opciones de

creación en donde simplemente se elije la opción de crear base de datos. A continuación se

muestran las opciones que serán creadas en la base de datos denominada prod, como se

muestra en la Figura 4. 21.

Figura 4. 21 Selección de opciones de instalación para la base de datos.

Page 86: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

83

A continuación se inicia la instalación, en primera instancia se copian los archivos de base de

datos posteriormente se crea e inicia las instancia de Oracle, la siguiente acción es crear vistas

de bases de datos de cluster y finalmente terminar la creación de base de datos.

4.8 Instalación del simulador de cargas SwingBench

SwingBench es un programa que trabaja conjuntamente con la base de datos para

proporcionar información de carga hacia la misma. Simula la conexión de múltiples usuarios

conectados al mismo tiempo además de las peticiones realizadas por tiempo determinado.

Con este programa se puede prever cuantos clientes soporta la base de datos sin tener que

tener la infraestructura física y lógica como por ejemplo, usuarios, máquinas, red, clientes, etc.

A continuación se muestra la configuración de SwingBench con la base de datos de Oracle

10g. Es preciso mencionar que Swing bench será instalado en cuatro máquinas diferentes a

los nodos, se utilizan equipos personales que por medio de la red tendrán acceso a la base de

datos. El objetivo es verificar cuanta carga soporta cada nodo y si uno de ellos llegara a

saturarse restarían 3 más hasta llegar al caso que solo un nodo este trabajando, entonces se

demostrará la alta disponibilidad del sistema.

El primer paso es entrar a la carpeta que contiene el programa que por lo general se encuentra

en la raíz de la unidad C del sistema de almacenamiento, posteriormente ingresar a

swingbench.bat y abrirlo con un blog de notas, en donde se muestran las siguientes

asignaciones:

set ORACLE_HOME=D:\oracle\product\10.2.0\db_1

set JAVAHOME=C:\Program Files\Java\jdk1.6.0_10

set SWINGHOME=C:\Swingbench\swingbench

set ANTHOME=%SWINGHOME%\lib

set

CLASSPATH=%JAVAHOME%\lib\rt.jar;%ORACLE_HOME%\jdbc\lib\ojdbc14.jar;%SWINGHOME%\lib\mytransaction

s.jar;%SWINGHOME%\lib\swingbench.jar;

En este proceso es necesario agregar en los TNSnames los nodos del esquema RAC. En donde

será necesario crear un Tablespace para probar el programa de carga.

Como los programas anteriores, SwingBench contiene una guía de instalación que al

ejecutarla muestra una ventana de bienvenida, el autor y su contacto. Posteriormente se elige

Page 87: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

84

la tarea que se quiere realizar, en este caso llevamos a cabo crear el esquema de orden de

entrada, (usuarios, tablas, índices, datos, etc.). Posteriormente se describen los detalles de las

bases de datos, la conexión será hacia uno de los nodos virtuales de la siguiente forma:

//148.204.14.140/proyect, en donde proyect es el nombre del servicio. El nombre de usuario

del DBA será; sys as sysdba, con el password: proyecto.

Se elige el esquema de conexión, que son los detalles de peticiones y consultas hacia la base

de datos, cabe señalar que se menciona que se toma en cuenta que las peticiones se realizan

desde un equipo con las siguientes características; 2.4 Ghz, Pentium 4. El tamaño mínimo de

la base de datos es aproximadamente 49 MB pero puede ser incrementado hasta 100 GB. Se

determina el rango en donde el número de clientes es de 5,847,900 y el número de peticiones

por minuto es de 74,473.

Al finalizar la configuración, comienza la ejecución para crear el usuario y el table space,

posteriormente las tablas y paquetes, mas adelante las referencias de tablas, usuarios,

ordenes y finalmente la creación de índices. En el Anexo E se muestran las imágenes del

procedimiento anteriormente mencionado.

Page 88: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

85

Capitulo 5: Pruebas y resultados

5.1 Comparación de un sistema físico y un sistema virtualizado

5.1.1 Sistema físico

La idea original para realizar este trabajo, surge de la administración de sistemas de

almacenamiento físico que se encuentran operando en el IPN. Actualmente la DCyC cuenta

con este tipo de estructuras informáticas, con la gran diferencia que no utilizan técnicas de

virtualización para la implementación de bases de datos con Oracle, si no que lo hacen con

servidores reales que están integrados a un equipo especializado para el manejo de la

información. Los servidores, equipos de comunicaciones, interconexión, discos duros,

controladoras y granjas de discos de almacenamiento de fibra óptica, son parte de un sistema

de almacenamiento modelo EVA 3000 de la marca Hewlett-Packard.

Del equipo de almacenamiento se destinan cuatro servidores del tipo Proliant DL 380, que

contienen dos discos duros cada uno con capacidad a 300 GB y una velocidad de 10 mil

revoluciones por minuto (10 KRPM), procesadores Xeon de doble núcleo con una velocidad de

2 GHz, un par de tarjetas de red 10/100/1000 Mbps y una tarjeta más de fibra óptica. La

interconexión entre los nodos, se realiza mediante cable UTP categoría 5e del tipo Ethernet y

un Switch marca Enterasis.

La conexión de los servidores hacia el sistema de almacenamiento, se realiza a través de

cable de fibra óptica del tipo full-duplex con conectores para contactos LC-LC, además de

cuatro switches de fibra óptica de la marca Brocade, los cuales a su vez, se conectan a las

controladoras de las granjas de discos duros, en total son ocho controladoras que se manejan

por par, es decir, en total se tienen cuatro granjas de servidores con sus respectivas

controladoras, cada granja de discos contiene quince discos de fibra con una capacidad de

300 GB cada uno, estamos hablando que se tienen aproximadamente 5 TB crudos para

almacenamiento por controladora.

Page 89: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

86

La manipulación del almacenamiento hacia los servidores se hace mediante LUN’s (Logical

Unit Number) que es un identificador para una unidad de disco duro, de manera lógica se

manipula el almacenamiento a través de una herramienta propietaria de HP la cual tiene el

nombre de ILO (Integrated Lights-Out) especial para servidores del tipo Proliant.

En la Figura 5. 1 , se muestra el esquema que se maneja dentro de la DCyC, tomando en

cuenta que ocupan su propio segmento de red y hasta un segmento privado por cuestiones de

seguridad. Es preciso mencionar que el SITE de cómputo, cuenta con tecnología de punta que

permite dar servicio a las necesidades de almacenamiento, bases de datos, páginas web, etc.

La similitud del esquema físico con el virtual, es que los dos utilizan Oracle como gestor de

bases de datos, pero con la diferencia de que la transferencia de información es mucho más

rápida en el sistema físico, debido a que contiene una estructura de red de fibra óptica la cual

maneja un ancho de banda mucho mayor que el sistema virtualizado, sin embargo, cuando la

información sale a Intranet su velocidad disminuye considerablemente ya que se limita por los

elementos que se encuentran en el camino por donde viaja.

Dentro de las pruebas fue necesario realizar la comparación de un sistema físico, que utiliza

servidores para el manejo de la información a través de Oracle. En este esquema se involucran

equipos de fibra óptica (switches, cables, controladoras y discos duros) para la conexión hacia

el sistema de almacenamiento, que en este caso, se cuenta con una SAN.

La configuración de red entre el sistema físico y el virtualizado es similar, las tarjetas de red

son de la misma capacidad y la configuración de direcciones IP es de la misma manera de la

que se realizó en el sistema virtualizado. Una vez que se tienen listos los servidores llamados

nodos con el sistema operativo y con la configuración de red adecuada, se procede a realizar

la configuración de las unidades de almacenamiento, estas se realizan en la EVA 3000 con

ayuda de un administrador para crear las LUN’s correspondientes, tomando diferentes valores

de almacenamiento, generalmente se toman las recomendadas por Oracle en sus mejores

prácticas.

Page 90: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

87

Figura 5. 1 Esquema de almacenamiento físico de alta disponibilidad con base de datos.

Page 91: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

88

Una vez que se tiene listo el almacenamiento, se realiza la instalación del manejador de base

de datos, en donde se destaca la delicadeza de configuración de Oracle. Este tipo de

manejador se utiliza por que que soporta sistemas de almacenamiento compartido, además

de la cantidad de usuarios que son tolerados a la hora que se conectan al mismo tiempo a la

base de datos y las transacciones por minuto. Otro punto importante es el manejo de la

seguridad y alta disponibilidad.

Se realizaron pruebas de conexión en los dos esquemas anteriormente mencionados, a

continuación se muestran las pruebas realizadas con el programa SwingBench que simula

una petición de usuarios real de forma masiva, en donde se muestran las conexiones

realizadas a la base de datos por minuto derivada de los usuarios, además de sus peticiones

hacia la información.

5.1.2 Sistema virtual

El primer esquema que se implementó fue la infraestructura de virtualización, permitiendo

crear 4 nodos virtuales con las características adecuadas para el manejo de la información. Lo

más importante en este proceso fue lograr la comunicación entre todos los nodos creados y el

sistema de virtualización. Se realizaron pruebas de conexión en cada uno de los servidores a

través del comando ping, observando habilitadas las dos tarjetas de red en cada uno de los

nodos.

El segundo procedimiento y uno de los más complicados fue diseñar el ambiente de

almacenamiento de datos, debido a que no se cuenta con la infraestructura suficiente, se

decidió utilizar un servidor e instalar un programa que permitiera simular un ambiente de

almacenamiento del tipo SAN/NAS. Se realizaron pruebas que permitían observar el

almacenamiento compartido de los nodos, hacia el servidor de almacenamiento.

A la hora de instalar y configurar la base de datos, existen muchos problemas que se tienen

que tomar en cuenta, entre los cuales destacan la comunicación entre equipos, los servicios

de componentes de la base de datos, errores en algún proceso de instalación, etc. En pocas

palabras, Oracle necesita que se siga al pie de la letra el procedimiento de configuración e

instalación, de lo contrario se tendrán que consultar los documentos técnicos que se

encuentran en su página www.oracle.com.

Page 92: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

89

5.2 Comparación de esquema físico y virtual

En la tabla se muestra la comparación de las características con las que cuenta cada sistema, donde se involucran equipos de cómputo con sus respectivas capacidades, medios de comunicación, sistemas de almacenamiento, software y licenciamiento, costos, ancho de banda, etc.

Tabla 5. 1 Comparación general de los esquemas físicos y virtuales. Características Esquema Físico Esquema Virtual

Equipos de cómputo

- Servidores Proliant DL-380 HP, RAID 1, Proc. Xeon de Doble núcleo 2.0 GHz, 4 GB RAM.

- Sistema de Almacenamiento SAN EVA 3000, 20 DD de 300 GB FO.

- 1 servidor de administración de almacenamiento DL-320 G5 ILO.

- 1 Servidor de virtualización armado, 4 DD de 200 GB, 6 GB de RAM, 2 Proc Intel Xeon de doble núcleo.

- 1 servidor para almacenamiento, Dell Optiplex 380, 2 DD de 500 GB, 1 DD de 120 GB, 2 GB de RAM, Proc. Intel Core 2 duo.

- 4 PC para administración remota, ACER 200 GB de DD, 2 RAM de 2 GB, Procesador: AMD de doble núcleo

Equipos de comunicaciones y segmentos de red

- 4 Switches de FO de 24 puertos, 4 Gbps.

- switches Ethernet de 24 puertos Enterasis 10/100/1000 Mbps.

- Segmento de red - Publico - Privado - Virtual - Cableado de FO full-duplex - Cableado Ethernet Cat. 5e.

- 1 Switch Enterasis Ethernet 10/100/1000.

- Segmentos de red - Publico - Privado - Virtual - Cableado Ethernet cat. 5e.

Software - Licencias de S.O. Red Hat Enterprice Linux 5.4

- Licencias Oracle 10g - 1 licencia ILO HP

- 1 Windows server 2008 Data Center - 1 Hyper-V - 1 Windows Server 2003 - 1 Oracle 10g - 1 Openfiler - 1 SwingBench

Pruebas de carga

Prueba 1: - Usuarios: - Min: 100 - Max:200 - Concurrentes:150 - Soportado

Prueba 2: - Usuarios: - Min: 500 - Max:800 - Concurrentes:650 - Soportado

Prueba 3: - Usuarios: - Min: 800 - Max:1500 - Concurrentes:900 - Soportado

Prueba 1: - 1.- Usuarios: - Min: 100 - Max: 200 - Concurrentes: 150 - Soportado

Prueba 2: - Usuarios: - Min: 500 - Max:800 - Concurrentes:650 - Soportado

Prueba 3: - Usuarios: - Min: 800 - Max:1500 - Concurrentes:900 - No soportado

Costo aprox. $ 1,500,000 $ 400,000

Page 93: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

90

5.3 Pruebas de carga

Una vez montado el esquema completo, se realizan las pruebas de carga hacia la base de

datos, realizando peticiones a través de los usuarios remotos, que en este caso se encuentran

dentro de la misma subred.

Se realizaron alrededor de cinco pruebas, variando la cantidad de conexiones por minuto y la

cantidad de usuarios conectados al mismo tiempo realizando peticiones hacia la base de

datos.

Finalmente, la prueba que se realizó y en donde se observó mayor estabilidad en los nodos

virtuales, fue cuando se tenían de 70 a 80 conexiones simultaneas, con 825 transacciones

por minuto, tal y como se muestra en la Figura 5.2.

En la segunda prueba, se disminuye la cantidad de usuarios, que en esta ocasión esta en un

rango de 50 a 100 conexiones simultaneas, alcanzando una cantidad muy importante de

transacciones por minuto que fue de 337. Se puede observar en la Figura 5.3, como

disminuye el rendimiento en los nodos virtuales en cuanto a la búsqueda de órdenes,

productos ofrecidos, búsqueda de productos, etc.

Page 94: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

91

Figura 5. 2 Primera prueba de carga hacia la base de datos.

Figura 5. 3 Segunda prueba de carga hacia la base de datos.

Page 95: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

92

Capítulo 6: Conclusiones y trabajos a futuro

6.1 Conclusiones

Tomando en cuenta las referencias utilizadas en este trabajo, se concluye que las

problemáticas principales de los primeros equipos de cómputo como la seguridad, el manejo

de múltiples aplicaciones y la disponibilidad de información, aún existen y perjudican a los

diferentes sectores empresariales.

Las técnicas de virtualización permiten el ahorro de licencias de software, en los dos

esquemas mostrados en este trabajo, la que tiene mayor ventaja es el de virtualización, ya que

La técnica de virtualización más adecuada para los diferentes niveles empresariales, es la

técnica de virtualización completa, esta tecnología permite interactuar directamente con el

hardware de una máquina, es decir, es equivalente a la función de un sistema operativo, lo

que permite crear una mayor cantidad de MV’s, cada una con su respectiva configuración.

Cabe señalar que el número de MV’s que se pueden crear dentro de un equipo físico, depende

de la potencia que tengan sus componentes de hardware, como la memoria, el procesador, los

dispositivos de red y el almacenamiento.

El esquema de almacenamiento utilizado en el ambiente virtual, reduce considerablemente el

costo comparado con un sistema de almacenamiento dedicado como una SAN o una NAS, sin

embargo la confiabilidad disminuye, ya que la configuración de los discos de almacenamiento

se realiza en un esquema general y sobre el mismo servidor. Se experimentó la falla en un

disco de almacenamiento, perdiendo la configuración de los volúmenes y dejando a la base

fuera de línea, posteriormente se volvió a configurar el entorno de almacenamiento

compartido.

De las pruebas realizadas en los equipos físicos, se detectaron problemas a la hora de

comprobar si el arreglo de discos era redundante, obteniendo un resultado insuficiente, ya que

si un disco falla, la comunicación de los demás hacia la base se perdía. Sin embargo con el

manejo de la virtualización, el servidor que la almacena tiene interacción directa con los nodos

Page 96: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

93

virtuales, ya que se encuentran hospedados dentro del mismo, con la desventaja de que si

llega a fallar el servidor principal se pierde todo el arreglo de almacenamiento. Para

incrementar la disponibilidad en el esquema de virtualización, es necesario incrementar el

número de servidores utilizando por lo menos dos que estén conectados a diferentes líneas

eléctricas, además de instalar una fuente de energía extra a los servidores que manejan los

sistemas virtuales, se tendría que implementar algo similar con el servidor de almacenamiento

y los equipos de comunicaciones. Por lo tanto se concluye que el manejo de la virtualización

tiene más ventajas comparado con un sistema físico, sin embargo un punto muy importante es

que si existen peticiones de grandes cantidades de información un sistema físico es el más

adecuado.

Indudablemente el manejador de bases de datos más efectivo para este proyecto es Oracle, ya

que permite ejecutar diversas funcionalidades que proporcionan mayor seguridad en la

información. En este trabajo se implementó Oracle debido a que se tiene licencia Institucional,

permite la agrupación de servidores en Cluster en donde se reparte la carga de peticiones

hacia la base realizada por los usuarios, esto permite tener una mayor cantidad de conexiones

concurrentes e interacción con los datos solicitados.

Se ofrece un esquema virtual de alta disponibilidad, utilizando un manejador de base de datos

que puede ser implementado en diferentes sectores empresariales y educativos, esta

herramienta permite reflejar los esquemas en producción teniendo evaluaciones en la

consulta de información y realizando un estudio de mercado para detectar los beneficios

económicos a mediano y largo plazo.

Definitivamente el funcionamiento de los sistemas de virtualización con bases de datos no se

comparan al funcionamiento de un esquema físico cuando la petición de la información es de

grandes dimensiones, sin embargo, con este trabajo se logró observar el funcionamiento de un

entorno en producción y no está muy lejos de lo que es un sistema virtualizado en cuestión de

transacciones por minuto y de usuarios conectados al mismo tiempo hacia la base de datos.

Otra de las ventajas de la virtualización utilizada en este trabajo, es que permite adquirir

seguridad física y lógica. La seguridad física se puede lograr con muestras instantáneas de

los equipos virtuales denominadas Snapshots o imagen instantánea, en donde solo es

cuestión de minutos (dependiendo de la cantidad de información) lo que se necesita para

respaldar una máquina virtual que puede contener información importante para la empresa y

Page 97: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

94

de la misma forma reponerla. Por otro lado, la seguridad lógica consiste en que los intrusos no

tengan acceso directo hacia los servidores virtuales en producción, ya que se encuentran

aislados de la red y son totalmente independientes una de la otra, logrando manejar múltiples

aplicaciones sobre un único servidor físico.

La disponibilidad de la información en el uso de los sistemas virtuales es adecuada, ya que

existen aplicaciones que permiten pasar máquinas virtuales de un servidor físico a otro sin

tener que dar de baja el servicio, esto sucede cuando el sistema detecta una falla en el

equipo, ya sea por falta de memoria o falla en uno de los discos duros, la máquina virtual

automáticamente pasa al otro servidor creando una imagen instantánea y pasando el control

en el momento adecuado logrando que el usuario no se dé cuenta que existió una interrupción

mínima en la aplicación, con esto se concreta la alta disponibilidad efectiva de los sistemas

virtuales, lo que en los sistemas físicos es muy difícil debido a que se en caso de falla, tendría

que darse de baja el equipo.

El aspecto económico es muy importante, en este trabajo se notó un costo mucho mayor al

utilizar sistemas físicos que sistemas de virtualización, tanto en equipos componentes,

software y personas para su administración.

6.2 Trabajos a futuro

Con el desarrollo de este trabajo, se pueden derivar algunos muy importantes para la mejora

del uso de aplicaciones utilizadas en el ámbito empresarial utilizando la virtualización en

sistemas de cómputo. Se proponen los siguientes trabajos para su desarrollo posterior y

mejorar el esquema propuesto en este trabajo:

a) Realizar esquemas de virtualización utilizando bases de datos de empresariales con

distintos manejadores de bases de datos, y utilizando diferentes tipos de virtualización.

b) Proponer el diseño hardware que permita mejorar la velocidad de respuesta con

respecto a las máquinas virtuales, aprovechando al máximo los recursos de un equipo

de cómputo.

Page 98: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

95

c) Crear una normalización que proponga a las empresas el uso de las técnicas de

virtualización para la ejecución de bases de datos empresariales.

d) Realizar una metodología que permita evaluar cual es la mejor opción de virtualización

para los diferentes niveles empresariales.

Page 99: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

96

REFERENCIAS

[1.] Beekman, G. Introducción a la computación. Buenos Aires : Addison Wesley, pp. 4-6, 1999.

[2.] M. A. Orozco, M. L. Chávez, J. Chávez. Informática uno. [aut. libro] M. L. Chávez, J. Chávez M. A.

Orozco. Informática uno. México D.F. : Thomson, 2006, págs. 12-23.

[3.] Davis, J. B. New Economics and Its History. New Economics and Its History. London : Duke University,

1997, págs. 70-74.

[4.] González, A. Cantarell y M. "Historia de la Computación en México, una Industria en Desarrollo".

"Historia de la Computación en México, una Industria en Desarrollo". s.l. : Colección Hombre Digital,

2000.

[5.] Hoes, I. M. Flynn y A. M. Mc. Administración del Procesador. Sistemas Operativos. Tercera . México,

D.F. : Thomson Learning, 2001, 4, págs. 77-86.

[6.] Creasy, R. J. “The Origin of the VM/370 Time-Sharing System”. 5, Septiembre de 1981, IBM Journal

of Research and Development, Vol. 25, págs. 483-490.

[7.] Bard, Y. , An analytic model of CP-67 - VM/370. [ed.] ACM. Cambridge, Massachusetts, United

States : acm, 1973 . Proceedings of the workshop on virtual computer systems . págs. 170 - 176.

[8.] Goldberg, R. P. , Survey of Virtual Machine Research. 6, California : IEEE Computer Society , June de

1974, Computer, Vol. 7, págs. 34-45.

[9.] T. V. Vleck, “The IBM 360/67 and CP/CMS,” 1997.,“The IBM 360/67 and CP/CMS,” . [En línea]

1997. http://www.multicians.org/thvv/360-67.html.

[10.] Rose, R. “Survey of system virtualization techniques”, 8 de March de 2004.

http://www.robertwrose.com/vita/rose-virtualization.pdf.

[11.] Goldberg, G. J. Popek and R. , “Formal requirements for virtualizable third generation

architectures”. P. 7, 1974, Communications of the ACM, Vol. 17, págs. 412-421.

Page 100: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

97

[12.] Villalonga, J. G. Virtualización de la infraestructura informática:impacto en inversiones y costes de

explotación. [En línea] Nov-Dic de 2006. www.icai.es/contenidos/publicacuiones/28-34_virtualización-

_(VI-2006)-1386[1].pdf.

[13.] D. B. Gutiérrez, L. T. Martínez. "Tecnologías para el desarrollo de Sistemas Distribuidos: Java versus

Corba". [En línea] Septiermbre de 1999. http://di002.edv.uniovi.es/~lourdes/publicaciones/bt99.pdf.

[14.] VMware. Solucuines de virtualización con VMware. [En línea] 2009. www.vmware.com.

[15.] Microsoft. Virtualization and Partitioning. [En línea] 2009.

http://www.microsoft.com/whdc/system/platform/virtual/default.mspx.

[16.] Linux. Linux Online. [En línea] 2009. http://www.linux.org.

[17.] Apple. [En línea] 2009. http;//www.apple.com.

[18.] Microsystems, Sun. Sun Microsystems. [En línea] 2009. http://www.sun.com.

[19.] A.A. Ramos, J. P. García, F. Picouto, J. Grijalba, M. Mayan, A. García, E. Inza, C.A. Barbero. Instala, administra, securiza y virtualiza entornos linux. Mexico D.F. : Alfaomega, 2009, págs. 430-438. [20.] Pena, T. F. Virtualización de sistemas con QEMU. [En línea] Xornadas Técnicas de Software Libre na USC 06. http://www.glug.es/usc06/qemu.pdf. [21.] VirtualBox. VirtualBox. [En línea] http://www.virtualbox.org. [22.] VMware ThinApp. [En línea] http://www.vmware.com/products/thinapp/. [23.] N. Ruest, D. Ruest. MICROSOFT VIRTUALIZATION. MICROSOFT VIRTUALIZATION. s.l. : McGrawHill, 2008. [24.] P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer,I. Pratt, A. Warfield. Xen and the Art of Virtualization. [ed.] Bolton Landing. NY, USA : s.n., 2003. Xen and the Art of Virtualization, Proceedings of the 19th. págs. 164–177. [25.] Openfiler. [En línea] http://www.openfiler.com [26.] J. Ros, “Virtualización Coorporativa con VMware”, Ncora Information Technology S.L., Torredembarra, 21 de Octubre de 2008 págs.12 y 13.

Page 101: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

98

ANEXOS

Anexo A: Configuración de Hyper-V

En esta parte se muestra cómo podemos utilizar el virtualizador en el S.O. anfitrión (Windows Server 2008), conocido como Hyper-V, que permite la virtualización de máquinas sobre una equipo físico. Esto permite crear un entorno virtual en el laboratorio para realizar el proyecto y disponer de máquinas virtuales sobre servidores físicos, la cantidad de máquinas virtuales depende de la capacidad de hardware que soporten los equipos ó la cantidad de licencias con las que se cuente.

A continuación, se muestra el procedimiento para la configuración del virtualizador, haciendo uso del S.O. Windows Server 2008 Data Center. En "Funciones de servidor" debemos agregar Hyper-V para instalar el componente, y seleccionar "Siguiente", como se puede observar en la Figura A. 1.

Figura A. 1 Agregar funciones Hyper-V

El siguiente paso es seleccionar el siguiente paso de Hyper-V del menú de funciones de servidor.

Page 102: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

99

A continuación, se muestra un resumen del componente que se va a instalar, como se muestra la Figura A. 2

Figura A. 2 Resumen de componente.

Las MV necesitan acceder a la red física y comunicarse con los demás equipos, seleccionar una red física del servidor para compartirla con las máquinas virtuales, marcamos la red que corresponde y elegimos "Siguiente", como lo muestra la Figura A. 3.

Figura A. 3 Conexión a la red física

Page 103: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

100

Se verifica el resumen de configuración y finalmente se acepta el proceso de instalación

Una vez finalizada la instalación, es necesario reiniciar el equipo anfitrión y una vez reiniciado el servidor el progreso de instalación continua, automáticamente.

Finalmente el instalador indica que la instalación ha terminado, por lo tanto el uso del virtualizador está listo

Figura A. 4 Resumen de instalación

Cuando se abre la consola de administración de Hyper-V, la "Hyper-V Manager", La primera vez que se utiliza se debe aceptar el acuerdo de uso de licenciamiento.

Page 104: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

101

Anexo B: Instalación y configuración de Openfiler B1. Instalación A continuación se muestra los pasos de instalación del Openfiler. Se inserta el disco Openfiler (Ver Figura B. 1) en la máquina asurando que el sistema está configurado para iniciar con el CD / DVD-ROM. Después de que el sistema inicia la instalación, simplemente se pulsar oprime la tecla Enter para continuar.

Figura B. 1 Inicio de instalación Openfiler.

Seleccionar el modelo de teclado de la lista en este caso Spanish. Dar clic en el botón Siguiente para continuar. Seleccionar el disco particionado manualmente (ver Figura B. 2), ya que garantiza que acabará con un sistema de arranque y con el esquema de particiones correcto.

Figura B. 2 Particiones.

Page 105: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

102

La siguiente ventana que se muestra en el proceso de instalación permite la configuración de los discos físicos (ver Figura B. 3). Cabe mencionar que existen particiones estos deberán ser eliminados.

Figura B. 3 Configuración de particiones.

Es necesario crear las siguientes particiones en el sistema, a fin de proceder con la instalación:

1. "/ boot" - aquí es donde reside el núcleo y el sistema de arranque. En este caso se dejo de 100MB.

2. "/" - Esta es la partición raíz del sistema en que todos las aplicaciones del sistema y las bibliotecas se van a instalar En este caso de todo lo que sobra de MB

3. "swap" - esta es la partición de intercambio de intercambio de memoria al disco y depende de la memoria asignada el equipo en este caso es de 1024MB

Page 106: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

103

La partición de disco régimen se verá similar a la figura:

Figura B. 4 Particiones de discos físicos.

Posteriormente se muestra la configuración de red, se tiene que configurar al menos una tarjeta de interfaz de red para poder acceder a la interfaz web Openfiler y servir a los clientes los datos en una red. En el caso improbable de que está utilizando DHCP para configurar la dirección de red, se puede simplemente dar clic en Siguiente y continuar con la siguiente etapa del proceso de instalación.

Figura B. 5 Configuración de red.

Page 107: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

104

Es necesario definir el nombre de host, se definió una IP privada para el esquema de seguridad lógica la dirección IP será: 192.168.14.254. La siguiente ventana se configura la zona horaria, en este caso seleccionamos Ciudad de México, es necesario configurar una contraseña de root para el sistema. La contraseña de root es la contraseña del administrador de súper usuario, puede iniciar sesión en el sistema para llevar a cabo cualquier tarea administrativa que no son ofrecidos a través de la interfaz web. La contraseña de root para acceder a la consola del servidor Openfiler por defecto son: "openfiler" y "password", respectivamente, finalmente inicia el proceso de instalación. Una vez que la instalación se ha completado, se presentará un mensaje de felicitación. En este punto, después de dar click en reiniciar quitar el CD de instalación desde el CD / DVD-ROM. Una vez que el sistema arranca, comenzar a configurar Openfiler señalando en su navegador el nombre de host o dirección IP del sistema Openfiler. La interfaz es accesible desde la página https://192.168.21.254:446. B2. Configuración Ingresar a Openfiler a través de la administración web mencionada anteriormente. Se inicia la configuración del grupo de volúmenes de almacenamiento para 4 nodos virtuales creados, 3 volúmenes para el manejo de Clusterware y uno para ASM. Es necesario crear un grupo para el manejo de los volúmenes como se muestra en la Figura B.6.

Figura B. 6 Grupo de volúmenes.

Page 108: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

105

Despues de crear el grupo de volumenes se inica la configuracion de cada volumen para su identificación y definición de espacio requrido y tipo de volumen iSCSI como se muestra en la Figura B. 7.

Figura B. 7 Configuración de volúmenes de Clusterware.

Lo anterior se realiza para cada uno de los volúmenes mencionados al inicio de la configuración, finalmente el esquema queda como muestra en la en la figura:

Page 109: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

106

Figura B. 8 Esquema general de volúmenes.

A continuación se configura la tarjeta iSCSI identificando el target IQN(ver Figura B. 9) y habilitando la tarjeta iSCSI que permitirá el acceso al servidor de almacenamiento (Figura B. 10).

Figura B. 9 Configuración tarjeta iSCSI

Page 110: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

107

Figura B. 10 Activación de la tarjeta iSCSI

La siguiente acción es enlazar los grupos de volumenes con los LUN´(ver Figura B.11) mediante el identificador iSCSI iqn.cenac.com.openfiler::tsn.

Figura B. 11 Configuración general de volúmenes

Con lo anterior se concluye la configuración de almacenamiento compartido con Openfiler.

Page 111: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

108

Anexo C: Configuración de Clusterware

Para la instalación de Clusterware es necesario contar con el instalador correspondiente Oracle 10g, es necesario contar con la carpeta a la unidad C del nodo maestro, en este caso es el nodo virtual 1. Dentro de la carpeta se selecciona el archivo ejecutable llamado setup.exe, a continuación se iniciara el instalador Oracle universal. En primer plano, se tiene la ventana de bienvenida tomando en cuenta la prueba de productos de Oracle instalados, en caso de que existan archivos relacionados con la aplicación es necesario eliminarlos. Continuando con la instalación, el instalador especifica la ruta y el nombre de la carpeta donde se almacenaran los archivos. Más adelante, se comprobaran los requisitos específicos del producto tal y como se muestra en la Figura C. 1

Figura C. 1 Requisitos específicos del producto

El siguiente paso se agregan los nodos virtuales al cluster existente especificando la nombre de la dirección IP pública, de la Interconexión privada y de la dirección IP virtual, asegurando que no exista ninguna versión anterior de Oracle Cluster Ready como se muestra en la Figura C. 2

Page 112: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

109

Figura C. 2 Integración de nodos virtuales a Clusterware

Una vez configurados los nombres se tiene que configurar la clasificación de cluster, seleccionado los nodos que gestionara la aplicación, tenemos que recordar que el nombre de clusterware se denomina CRS. Posteriormente se tiene que especificar el uso de interfaz de red para controlar el tráfico entre nodos, se toma en cuenta que los segmentos de red son totalmente diferentes por custiones de seguridad. Es necesario especificar la información de configuración de la particion seleccionada teniendo la opción de colocar OCR como partición primaria, ademas de formatear la particion con CFS eligiendo la opcion para utilizar la particion para almacenamiento de datos tal como se muestra en la Figura C. 3

Figura C. 3 Especificación de configuración de disco.

Page 113: TÉCNICAS DE VIRTUALIZACIÓN PARA ALTA DISPONIBILIDAD

110

Más adelante se muestra una lista de disco compartidos (ver disponibles en Clusterware, esta parte se tiene que seleccionar los discos que se deben utilizar para almacenar el disco de arranque complementario de OCR y CSS.

Figura C. 4 Almacenamiento de configuración de cluster.

Finalmente se muestra un resumen de la instalación.