diff --git a/docs/udelartex/bibliografia/biblio.bib b/docs/udelartex/bibliografia/biblio.bib index 5386e2c732eab7a2f6e2a775ccce563a35219721..c123b5d6c7b4d22ce49f16c8dad9d8b61ad82334 100644 --- a/docs/udelartex/bibliografia/biblio.bib +++ b/docs/udelartex/bibliografia/biblio.bib @@ -480,6 +480,14 @@ note = {Accedido: 2020-01-08} } +@Misc{openstack-train-release-notes, + title = {Train Series Release Notes}, + author = {OpenStack}, + howpublished = {\url{https://docs.openstack.org/releasenotes/openstack-ansible/train.html}}, + note = {Accedido: 2020-01-29} +} + + @Misc{ansible-modules, title = {Module Index}, author = {Ansible}, diff --git a/docs/udelartex/capitulos/fundamentos.tex b/docs/udelartex/capitulos/fundamentos.tex index b6bf22f017620e084d79526010494b6c791faf9f..1d48c3565994550ca96110b0741b9470564ecfdb 100644 --- a/docs/udelartex/capitulos/fundamentos.tex +++ b/docs/udelartex/capitulos/fundamentos.tex @@ -72,7 +72,7 @@ Citando la ‘Application Container Security Guide’ (SP 800-190 de NIST \cite{ Un \gls{LXC} \cite{arch-lxc}\cite{redhat-lxc} es un contenedor formado por un conjunto de procesos que se encuentran aislados del resto del sistema host. Como tal, brinda un entorno virtual con su propia CPU, memoria, red, etc, implementado mediante el uso de los namespaces y cgroups del kernel Linux corriendo en la máquina host. Este tipo de contenedores es utilizado por OpenStack durante su despliegue para ejecutar los servicios en cuya configuración se haya indicado que utilicen contenedores en lugar de correr directo sobre el servidor. \section{Datacenters} -La infraestructura que se encuentra por debajo de la mencionada nube se conoce con el nombre de Datacenter. Un Datacenter \cite{cisco-datacenter} es un espacio fÃsico que aloja múltiples componentes de hardware interconectados tales como servidores, racks, switches, routers, sistemas de almacenamiento, etc. Estos proveen una red de recursos de red, cómputo y almacenamiento, necesaria para alojar diversas aplicaciones o grandes cantidades de datos. A su vez, los nuevos Datacenters escalan implementando infraestructuras virtualizadas, utilizando los mecanismos mencionados anteriormente, por encima de la fÃsica ya existente llegando a interconectar múltiples espacios fÃsicos ubicados en diversas partes del mundo. Debido al gran potencial computacional existente en este tipo de infraestructuras, su mayor explotación se encuentra en la ejecución de tecnologÃas tales como big data, inteligencia artificial, aprendizaje automático, entre otras. +La infraestructura que se encuentra por debajo de la mencionada nube se conoce con el nombre de Datacenter. Un Datacenter \cite{cisco-datacenter} es un espacio fÃsico que aloja múltiples componentes de hardware interconectados tales como servidores, racks, switches, routers, sistemas de almacenamiento, etc. Estos proveen un conjunto de recursos de red, cómputo y almacenamiento, necesarios para alojar diversas aplicaciones o grandes cantidades de datos. A su vez, los nuevos Datacenters escalan implementando infraestructuras virtualizadas, utilizando los mecanismos mencionados anteriormente, por encima de la fÃsica ya existente llegando a interconectar múltiples espacios fÃsicos ubicados en diversas partes del mundo. Debido al gran potencial computacional existente en este tipo de infraestructuras, su mayor explotación se encuentra en la ejecución de tecnologÃas tales como big data, inteligencia artificial, aprendizaje automático, entre otras. Por su gran importancia en la tecnologÃa de la información actual, los Datacenters no solo requieren un diseño de infraestructura de recursos computacionales sino también un diseño de componentes fÃsicos externos que garanticen la seguridad fÃsica y una tasa de resistencia a fallas prácticamente perfecta. En función de estos aspectos es que existe un estándar internacional especificado por la \gls{ANSI} que califica y certifica el diseño de un Datacenter. Existen entonces cuatro categorÃas bajo el estándar ANSI/TIA-942 que se resumen a continuación: diff --git a/docs/udelartex/capitulos/gestion.tex b/docs/udelartex/capitulos/gestion.tex index a17115a6a88d900880d00531ae663263762d1114..c8ed74e972c52260875bbcc40af9e1dabf4e645f 100644 --- a/docs/udelartex/capitulos/gestion.tex +++ b/docs/udelartex/capitulos/gestion.tex @@ -306,10 +306,10 @@ keystone_container En esta versión sà fue posible finalizar el proceso con éxito. Cabe resaltar que en la documentación oficial, a la hora de configurar el archivo \path{/root/add_host.limit} no se mencionan los contenedores de RabbitMQ, Ceph y Keystone, sin embargo fue necesario agregarlos para que se comunicaran y configuraran correctamente junto con los ya creados en los nodos de infraestructura anteriores. \section{Actualización de versión} -Al igual que en las tareas previas se explica el proceso para ambas versiones utilizadas de OpenStack. Se detallan los procedimientos realizados para llevar a cabo las actualizaciones de versiones mayores, mencionando los problemas que surgieron en el proceso y sus respectivas soluciones. Estas actualizaciones solamente pueden ser realizadas entre liberaciones secuenciales. Dado que en el trabajo fueron utilizadas las versiones Queens y Stein se presenta una subsección para cada de estas. Por otro lado, las correcciones que se realizan dentro una versión se refieren como actualizaciones menores. Estas últimas no serán presentadas pero el proceso para llevarlas a cabo es detallado en \cite{openstack-minor-upgrade}. +Al igual que en las tareas previas se explica el proceso para ambas versiones utilizadas de OpenStack. Se detallan los procedimientos realizados para llevar a cabo las actualizaciones de versiones mayores, mencionando los problemas que surgieron en el proceso y sus respectivas soluciones. Estas actualizaciones solamente pueden ser realizadas entre liberaciones secuenciales. Dado que en el trabajo fueron utilizadas las versiones Queens y Stein se presenta una subsección para cada de estas. Por otro lado, las correcciones que se realizan dentro una versión se refieren como actualizaciones menores. Estas últimas no serán presentadas pero el proceso para llevarlas a cabo es detallado en \cite{openstack-minor-upgrade}. Es sumamente importante resaltar que estos procesos de actualización se encuentran en constante desarrollo y por lo tanto se recomienda ensayar el procedimiento en un ambiente de pruebas. \subsection*{Queens a Rocky} -En este caso se especifica cómo actualizar de la versión Queens a Rocky, siguiendo la guÃa \cite{openstack-rocky-upgrade}. En esta última se muestran dos opciones para realizar la actualización: mediante un script o en forma manual. Es sumamente importante resaltar que estos procesos de actualización se encuentra en constante desarrollo y por lo tanto se recomienda probar el procedimiento en un ambiente de desarrollo. +En este caso se especifica cómo actualizar de la versión Queens a Rocky, siguiendo la guÃa \cite{openstack-rocky-upgrade}. En esta última se muestran dos opciones para realizar la actualización: mediante un script o en forma manual. \subsubsection*{Actualizar mediante un script} En este caso se deben seguir los siguientes pasos: @@ -461,16 +461,27 @@ echo 'flush_all' | nc $(awk -F '-l' '/^OPTIONS/ {print $2}' {{ memcached_conf_de \end{itemize} +\subsection*{Stein a Train} +En este caso se analiza el proceso de actualización de la versión Stein a Train, siguiendo la guÃa \cite{openstack-train-upgrade}, la cual nuevamente presenta las opciones de actualización mediante un script o en forma manual. En esta oportunidad no se detallan los pasos especÃficos sino que se utiliza el escenario para resaltar la importancia de revisar las notas de liberación de la versión antes de actualizar la plataforma para preveer posibles inconvenientes \cite{openstack-train-release-notes}. + +En la liberación Train se actualiza la versión de Ansible utilizada, pasando de 2.7 a 2.8. Esta modificación genera cambios en la forma en que se procesan las configuraciones de Ansible que son correctamente manejados dentro de OSA. Sin embargo, esta situación también lleva a que se deba actualizar el proyecto ceph-ansible de la versión Mimic (3.x) a Nautilus (4.x) en los casos en que se haya desplegado el cluster de Ceph directamente desde OSA. La actualización de versión del cluster de Ceph no es manejada en forma directa por OpenStack-Ansible por lo tanto es necesario que sea realizada por el administrador previo al cambio de Stein a Train, o de lo contrario el proceso fallará con el siguiente mensaje: + +\begin{lstlisting} +TASK [ceph-mon : waiting for the monitor(s) to form the quorum...] +fatal: [infra1_ceph-mon_container-83fc4980]: FAILED! => {"msg": "The conditional check '(ceph_health_raw.stdout | length > 0) and (ceph_health_raw.stdout | default('{}') | from_json)['state'] in ['leader', 'peon']\n' failed. The error was: No JSON object could be decoded"} +\end{lstlisting} + +La actualización de un cluster de Ceph mediante Ansible requiere la existencia de al menos 3 nodos monitores, lo cual implica agregar un nuevo nodo de infraestructura a la arquitectura utilizada para la instalación de la versión Stein. Si bien este proceso escapa del alcance del proyecto, se intentó realizar el procedimiento utilizando un ambiente con las condiciones requeridas pero no se obtuvo un resultado exitoso. Esta situación frenó el proceso de actualización de OSA a la versión Train. + \section*{Conclusiones} -Repasando todas las operaciones descritas en este capitulo es posible sacar varias conclusiones: +Repasando todas las operaciones descritas en este capÃtulo es posible obtener varias conclusiones: \begin{itemize} \item La presencia de fallas es algo que siempre hay que contemplar y más aún en el caso de un Datacenter donde la resiliencia y la conservación de los datos son aspectos primordiales. Para lograr esto se deben tener polÃticas de respaldo tanto para el cluster de Galera como los almacenamientos de bloque. Por otro lado, el reestablecimiento del servicio como se describió en el capÃtulo puede requerir de una secuencia considerable de comandos o verificaciones, por lo tanto es recomendable tener scripts que automaticen estas tareas ganando tiempo y consistencia. \item En cuanto a realizar modificaciones a la plataforma, tanto para escalarlo horizontalmente como para actualizar la versión utilizada, queda evidenciada a lo largo del capitulo la complejidad y los riesgos que conlleva realizar este tipo de tareas. Por esto siempre es recomendable probar los procedimientos en un ambiente de desarrollo para mitigar la mayor cantidad de inconvenientes que puedan surgir. - \item OSA es una plataforma compleja en sà misma, si además se utilizan otras tecnologÃas para mejorar su funcionamiento, como por ejemplo Ceph en el backend de almacenamiento, es necesario considerar que se introduciran complejidades propias de estas tecnologÃas. Esto puede implicar modificaciones en OSA para que exista compatibilidad o incluso requerimientos extras en procesos estándares como ocurre al realizar una actualización de versión utilizando Ceph. + \item OSA es una plataforma compleja en sà misma, si además se utilizan otras tecnologÃas para mejorar su funcionamiento, como por ejemplo Ceph en el backend de almacenamiento, es necesario considerar que se introducirán complejidades propias de estas tecnologÃas. Esto puede implicar modificaciones en OSA para que exista compatibilidad o incluso requerimientos extras en procesos estándares como ocurre en la segunda actualización de versión mencionada. - \item Nuevamente se puede apreciar como junto a la evolución de OpenStack muchos de los problemas de las versiones anteriores son solucionados brindando mayor consistencia a los procesos. \end{itemize} diff --git a/docs/udelartex/capitulos/planproyecto.tex b/docs/udelartex/capitulos/planproyecto.tex index 8680e4a483e9bf73834af4375fe2f593b32168c0..b7db40e1ec29aa208da6f0abe42c3901cba608d0 100644 --- a/docs/udelartex/capitulos/planproyecto.tex +++ b/docs/udelartex/capitulos/planproyecto.tex @@ -10,7 +10,7 @@ El trabajo tuvo una duración de 18 meses, iniciando en Agosto de 2018 y extendi \textbf{Febrero - Marzo 2019:} mientras se buscaba una solución para el ambiente remoto, se decidió intentar avanzar con las pruebas en ambientes locales. En todo este periodo de 2 meses se lograron grandes avances en la ejecución de las playbooks dado que 2 de las 3 se completaron correctamente [posible ref]. Finalmente en esta etapa de pruebas a nivel local surgió un problema de falta de recursos insolucionable que impedÃa finalizar la instalación. La arquitectura utilizada por más simple que fuera, quedaba demasiado grande para las computadoras personales que se estaban utilizando, generando por ejemplo que algunos servicios se vieran interrumpidos abruptamente por falta de memoria RAM. -\textbf{Abril - Junio 2019:} debido a la falta de recursos, la idea de utilizar un servidor fÃsico dedicado cobró relevancia nuevamente. En esta etapa se obtuvieron los permisos de administrador en el servidor Renata del INCO [ref hardware utilizado]. Como consecuencia de este cambio surgieron nuevos puntos a resolver, como: el acceso al servidor, la salida a internet desde el mismo, de qué forma utilizar los recursos para la instalación de OpenStack y la necesidad de adquirir conocimiento con el hipervisor KVM [ref ambiente trabajo]. +\textbf{Abril - Junio 2019:} debido a la falta de recursos, la idea de utilizar un servidor fÃsico dedicado cobró relevancia nuevamente. En esta etapa se obtuvieron los permisos de administrador en el servidor renata del INCO [ref hardware utilizado]. Como consecuencia de este cambio surgieron nuevos puntos a resolver, como: el acceso al servidor, la salida a Internet desde el mismo, de qué forma utilizar los recursos para la instalación de OpenStack y la necesidad de adquirir conocimiento con el hipervisor KVM [ref ambiente trabajo]. Gracias a la gran cantidad de recursos del servidor y a los conocimientos adquiridos hasta el momento, completar una instalación funcional llevó aproximadamente dos meses. Finalmente el proceso completo para alcanzar el primer objetivo llevó el doble del tiempo estimado (10 meses), dejando en claro que instalar y configurar una plataforma de Datacenter no es para nada trivial. \textbf{Junio - Julio 2019:} esta etapa consistió en documentar todo lo aprendido y experimentado hasta el momento. diff --git a/docs/udelartex/tesis.bbl b/docs/udelartex/tesis.bbl index b03a9b99b0c5bba2e37defd7daa90c061b34c5d3..a1bb3e608abcfe7253c4d5e80b0c7dc3023ac393 100644 --- a/docs/udelartex/tesis.bbl +++ b/docs/udelartex/tesis.bbl @@ -329,6 +329,13 @@ OpenStack. \url{https://docs.openstack.org/openstack-ansible/rocky/admin/upgrades/major-upgrades.html}. \newblock Accedido: 2020-01-25. +\bibitem{openstack-train-upgrade} +OpenStack. +\newblock Major upgrades. +\newblock + \url{https://docs.openstack.org/openstack-ansible/train/admin/upgrades/major-upgrades.html}. +\newblock Accedido: 2020-01-25. + \bibitem{openstack-manage-flavors} OpenStack. \newblock Manage flavors. @@ -456,6 +463,13 @@ OpenStack. \url{https://docs.openstack.org/swift/latest/overview_architecture.html}. \newblock Accedido: 2019-07-05. +\bibitem{openstack-train-release-notes} +OpenStack. +\newblock Train series release notes. +\newblock + \url{https://docs.openstack.org/releasenotes/openstack-ansible/train.html}. +\newblock Accedido: 2020-01-29. + \bibitem{openstack-troubleshooting} OpenStack. \newblock Troubleshooting. diff --git a/docs/udelartex/tesis.lof b/docs/udelartex/tesis.lof index 1f57f16bf20e07d8b17d4a0593c402f7b1c5c1d5..497e4fdea637f6a355e14261190f320e0e743621 100644 --- a/docs/udelartex/tesis.lof +++ b/docs/udelartex/tesis.lof @@ -33,81 +33,81 @@ \contentsline {figure}{\numberline {6.6}{\ignorespaces Salida a Internet en los nodos de Openstack.\relax }}{64}{figure.caption.74}% \addvspace {10\p@ } \addvspace {10\p@ } -\contentsline {figure}{\numberline {8.1}{\ignorespaces Diagrama de arquitectura para el escenario 1 de Linux Bridge\relax }}{87}{figure.caption.100}% -\contentsline {figure}{\numberline {8.2}{\ignorespaces Paquete ARP request capturado en la interfaz eth0 de la instancia 1\relax }}{91}{figure.caption.103}% -\contentsline {figure}{\numberline {8.3}{\ignorespaces Paquete ARP request encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{91}{figure.caption.104}% -\contentsline {figure}{\numberline {8.4}{\ignorespaces Paquete ARP reply encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{93}{figure.caption.105}% -\contentsline {figure}{\numberline {8.5}{\ignorespaces Paquete ARP reply capturado en la interfaz eth0 de la instancia 1\relax }}{94}{figure.caption.106}% -\contentsline {figure}{\numberline {8.6}{\ignorespaces Paquete ICMP request capturado en la interfaz eth0 de la instancia 1\relax }}{94}{figure.caption.108}% -\contentsline {figure}{\numberline {8.7}{\ignorespaces Paquete ICMP request encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{95}{figure.caption.109}% -\contentsline {figure}{\numberline {8.8}{\ignorespaces Diagrama de arquitectura para el escenario 2 de Linux Bridge\relax }}{96}{figure.caption.111}% -\contentsline {figure}{\numberline {8.9}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{102}{figure.caption.115}% -\contentsline {figure}{\numberline {8.10}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 2\relax }}{103}{figure.caption.119}% -\contentsline {figure}{\numberline {8.11}{\ignorespaces Diagrama de arquitectura para el escenario 3 de Linux Bridge\relax }}{104}{figure.caption.121}% -\contentsline {figure}{\numberline {8.12}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{108}{figure.caption.125}% -\contentsline {figure}{\numberline {8.13}{\ignorespaces Paquete ARP request taggeado con el VLAN ID 100 capturado en la interfaz br-vlan en el nodo de red\relax }}{109}{figure.caption.128}% -\contentsline {figure}{\numberline {8.14}{\ignorespaces Paquete ICMP echo request capturado en la interfaz br-vlan del nodo de red\relax }}{110}{figure.caption.130}% -\contentsline {figure}{\numberline {8.15}{\ignorespaces Diagrama de arquitectura para el escenario 4 de Linux Bridge\relax }}{111}{figure.caption.132}% -\contentsline {figure}{\numberline {8.16}{\ignorespaces Paquete ICMP echo request taggeado con el VLAN ID 100 capturado en la interfaz eth3 del router fÃsico\relax }}{114}{figure.caption.136}% -\contentsline {figure}{\numberline {8.17}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qg del router de Neutron\relax }}{114}{figure.caption.137}% -\contentsline {figure}{\numberline {8.18}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qr del router de Neutron\relax }}{115}{figure.caption.140}% -\contentsline {figure}{\numberline {8.19}{\ignorespaces Diagrama de componentes de Open vSwitch\relax }}{116}{figure.caption.142}% -\contentsline {figure}{\numberline {8.20}{\ignorespaces Diagrama de arquitectura para el escenario 1 de Open vSwitch\relax }}{120}{figure.caption.143}% -\contentsline {figure}{\numberline {8.21}{\ignorespaces Paquete ARP request capturado en la interfaz eth0 de la instancia 1\relax }}{127}{figure.caption.146}% -\contentsline {figure}{\numberline {8.22}{\ignorespaces ARP request encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{129}{figure.caption.147}% -\contentsline {figure}{\numberline {8.23}{\ignorespaces ARP reply encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{133}{figure.caption.148}% -\contentsline {figure}{\numberline {8.24}{\ignorespaces Paquete ARP reply capturado en la interfaz eth0 de la instancia 1\relax }}{134}{figure.caption.149}% -\contentsline {figure}{\numberline {8.25}{\ignorespaces Paquete ICMP request capturado en la interfaz eth0 de la instancia 1\relax }}{134}{figure.caption.151}% -\contentsline {figure}{\numberline {8.26}{\ignorespaces Paquete ICMP request encapsulado en VXLAN 19 capturado en el bridge br-vxlan en el nodo de cómputo 1\relax }}{136}{figure.caption.152}% -\contentsline {figure}{\numberline {8.27}{\ignorespaces Diagrama de arquitectura para el escenario 2 de Open vSwitch\relax }}{137}{figure.caption.154}% -\contentsline {figure}{\numberline {8.28}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{142}{figure.caption.158}% -\contentsline {figure}{\numberline {8.29}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 2\relax }}{143}{figure.caption.162}% -\contentsline {figure}{\numberline {8.30}{\ignorespaces Diagrama de arquitectura para el escenario 3 de Open vSwitch\relax }}{144}{figure.caption.164}% -\contentsline {figure}{\numberline {8.31}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{148}{figure.caption.168}% -\contentsline {figure}{\numberline {8.32}{\ignorespaces Paquete ARP request taggeado con el VLAN ID 100 capturado en la interfaz br-vlan en el nodo de red\relax }}{149}{figure.caption.171}% -\contentsline {figure}{\numberline {8.33}{\ignorespaces Paquete ICMP echo request capturado en la interfaz br-vlan del nodo de red\relax }}{150}{figure.caption.173}% -\contentsline {figure}{\numberline {8.34}{\ignorespaces Diagrama de arquitectura para el escenario 4 de Open vSwitch\relax }}{151}{figure.caption.175}% -\contentsline {figure}{\numberline {8.35}{\ignorespaces Paquete ICMP echo request taggeado con el VLAN ID 100 capturado en la interfaz eth3 del router fÃsico\relax }}{154}{figure.caption.179}% -\contentsline {figure}{\numberline {8.36}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qg del router de Neutron\relax }}{154}{figure.caption.180}% -\contentsline {figure}{\numberline {8.37}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qr del router de Neutron\relax }}{155}{figure.caption.183}% -\contentsline {figure}{\numberline {8.38}{\ignorespaces Routers virtuales instanciados en múltiples agentes fÃsicos funcionales\relax }}{156}{figure.caption.185}% -\contentsline {figure}{\numberline {8.39}{\ignorespaces Routers virtuales instanciados en múltiples agentes fÃsicos luego de un fallo en uno de ellos\relax }}{156}{figure.caption.186}% -\addvspace {10\p@ } -\addvspace {10\p@ } -\addvspace {10\p@ } -\contentsline {figure}{\numberline {1.1}{\ignorespaces Arquitectura diseñada para desarrollo\relax }}{170}{figure.caption.192}% -\contentsline {figure}{\numberline {1.2}{\ignorespaces Arquitectura diseñada para producción\relax }}{171}{figure.caption.193}% -\addvspace {10\p@ } -\addvspace {10\p@ } -\addvspace {10\p@ } -\contentsline {figure}{\numberline {3.1}{\ignorespaces Nueva conexión en virt-manager.\relax }}{213}{figure.caption.216}% -\contentsline {figure}{\numberline {3.2}{\ignorespaces Configuración de redes virtuales en virt-manager.\relax }}{214}{figure.caption.217}% -\addvspace {10\p@ } -\contentsline {figure}{\numberline {4.1}{\ignorespaces Vista del login de Horizon.\relax }}{221}{figure.caption.231}% -\contentsline {figure}{\numberline {4.2}{\ignorespaces Creación de un proyecto (1/2).\relax }}{222}{figure.caption.233}% -\contentsline {figure}{\numberline {4.3}{\ignorespaces Creación de un proyecto (2/2).\relax }}{223}{figure.caption.234}% -\contentsline {figure}{\numberline {4.4}{\ignorespaces Creación de un usuario.\relax }}{224}{figure.caption.236}% -\contentsline {figure}{\numberline {4.5}{\ignorespaces Creación de un flavor (1/2).\relax }}{225}{figure.caption.238}% -\contentsline {figure}{\numberline {4.6}{\ignorespaces Creación de un flavor (2/2).\relax }}{225}{figure.caption.239}% -\contentsline {figure}{\numberline {4.7}{\ignorespaces Creación de una red provider (1/2).\relax }}{226}{figure.caption.241}% -\contentsline {figure}{\numberline {4.8}{\ignorespaces Creación de una red provider (2/2).\relax }}{227}{figure.caption.242}% -\contentsline {figure}{\numberline {4.9}{\ignorespaces Creación de una imagen (1/2).\relax }}{228}{figure.caption.244}% -\contentsline {figure}{\numberline {4.10}{\ignorespaces Creación de una imagen (2/2).\relax }}{229}{figure.caption.245}% -\contentsline {figure}{\numberline {4.11}{\ignorespaces Creación de una red (1/3).\relax }}{230}{figure.caption.247}% -\contentsline {figure}{\numberline {4.12}{\ignorespaces Creación de una red (2/3).\relax }}{230}{figure.caption.248}% -\contentsline {figure}{\numberline {4.13}{\ignorespaces Creación de una red (3/3).\relax }}{231}{figure.caption.249}% -\contentsline {figure}{\numberline {4.14}{\ignorespaces Creación de un router.\relax }}{231}{figure.caption.251}% -\contentsline {figure}{\numberline {4.15}{\ignorespaces Creación de una interfaz en un router.\relax }}{232}{figure.caption.253}% -\contentsline {figure}{\numberline {4.16}{\ignorespaces Creación de una key pair.\relax }}{232}{figure.caption.255}% -\contentsline {figure}{\numberline {4.17}{\ignorespaces Lanzar una nueva instancia (1/5).\relax }}{233}{figure.caption.257}% -\contentsline {figure}{\numberline {4.18}{\ignorespaces Lanzar una nueva instancia (2/5).\relax }}{233}{figure.caption.258}% -\contentsline {figure}{\numberline {4.19}{\ignorespaces Lanzar una nueva instancia (3/5).\relax }}{234}{figure.caption.259}% -\contentsline {figure}{\numberline {4.20}{\ignorespaces Lanzar una nueva instancia (4/5).\relax }}{234}{figure.caption.260}% -\contentsline {figure}{\numberline {4.21}{\ignorespaces Lanzar una nueva instancia (5/5).\relax }}{235}{figure.caption.261}% -\contentsline {figure}{\numberline {4.22}{\ignorespaces Asignación de floating IP.\relax }}{236}{figure.caption.262}% -\contentsline {figure}{\numberline {4.23}{\ignorespaces Asociación de floating IP.\relax }}{237}{figure.caption.263}% -\contentsline {figure}{\numberline {4.24}{\ignorespaces Reglas security group por defecto.\relax }}{237}{figure.caption.264}% -\contentsline {figure}{\numberline {4.25}{\ignorespaces Agregar regla para tráfico ICMP.\relax }}{238}{figure.caption.265}% -\contentsline {figure}{\numberline {4.26}{\ignorespaces Agregar regla para tráfico SSH.\relax }}{238}{figure.caption.266}% +\contentsline {figure}{\numberline {8.1}{\ignorespaces Diagrama de arquitectura para el escenario 1 de Linux Bridge\relax }}{88}{figure.caption.101}% +\contentsline {figure}{\numberline {8.2}{\ignorespaces Paquete ARP request capturado en la interfaz eth0 de la instancia 1\relax }}{92}{figure.caption.104}% +\contentsline {figure}{\numberline {8.3}{\ignorespaces Paquete ARP request encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{92}{figure.caption.105}% +\contentsline {figure}{\numberline {8.4}{\ignorespaces Paquete ARP reply encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{94}{figure.caption.106}% +\contentsline {figure}{\numberline {8.5}{\ignorespaces Paquete ARP reply capturado en la interfaz eth0 de la instancia 1\relax }}{95}{figure.caption.107}% +\contentsline {figure}{\numberline {8.6}{\ignorespaces Paquete ICMP request capturado en la interfaz eth0 de la instancia 1\relax }}{95}{figure.caption.109}% +\contentsline {figure}{\numberline {8.7}{\ignorespaces Paquete ICMP request encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{96}{figure.caption.110}% +\contentsline {figure}{\numberline {8.8}{\ignorespaces Diagrama de arquitectura para el escenario 2 de Linux Bridge\relax }}{97}{figure.caption.112}% +\contentsline {figure}{\numberline {8.9}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{103}{figure.caption.116}% +\contentsline {figure}{\numberline {8.10}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 2\relax }}{104}{figure.caption.120}% +\contentsline {figure}{\numberline {8.11}{\ignorespaces Diagrama de arquitectura para el escenario 3 de Linux Bridge\relax }}{105}{figure.caption.122}% +\contentsline {figure}{\numberline {8.12}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{109}{figure.caption.126}% +\contentsline {figure}{\numberline {8.13}{\ignorespaces Paquete ARP request taggeado con el VLAN ID 100 capturado en la interfaz br-vlan en el nodo de red\relax }}{110}{figure.caption.129}% +\contentsline {figure}{\numberline {8.14}{\ignorespaces Paquete ICMP echo request capturado en la interfaz br-vlan del nodo de red\relax }}{111}{figure.caption.131}% +\contentsline {figure}{\numberline {8.15}{\ignorespaces Diagrama de arquitectura para el escenario 4 de Linux Bridge\relax }}{112}{figure.caption.133}% +\contentsline {figure}{\numberline {8.16}{\ignorespaces Paquete ICMP echo request taggeado con el VLAN ID 100 capturado en la interfaz eth3 del router fÃsico\relax }}{115}{figure.caption.137}% +\contentsline {figure}{\numberline {8.17}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qg del router de Neutron\relax }}{115}{figure.caption.138}% +\contentsline {figure}{\numberline {8.18}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qr del router de Neutron\relax }}{116}{figure.caption.141}% +\contentsline {figure}{\numberline {8.19}{\ignorespaces Diagrama de componentes de Open vSwitch\relax }}{117}{figure.caption.143}% +\contentsline {figure}{\numberline {8.20}{\ignorespaces Diagrama de arquitectura para el escenario 1 de Open vSwitch\relax }}{121}{figure.caption.144}% +\contentsline {figure}{\numberline {8.21}{\ignorespaces Paquete ARP request capturado en la interfaz eth0 de la instancia 1\relax }}{128}{figure.caption.147}% +\contentsline {figure}{\numberline {8.22}{\ignorespaces ARP request encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{130}{figure.caption.148}% +\contentsline {figure}{\numberline {8.23}{\ignorespaces ARP reply encapsulado en VXLAN capturado en la interfaz br-vxlan del nodo de cómputo 1\relax }}{134}{figure.caption.149}% +\contentsline {figure}{\numberline {8.24}{\ignorespaces Paquete ARP reply capturado en la interfaz eth0 de la instancia 1\relax }}{135}{figure.caption.150}% +\contentsline {figure}{\numberline {8.25}{\ignorespaces Paquete ICMP request capturado en la interfaz eth0 de la instancia 1\relax }}{135}{figure.caption.152}% +\contentsline {figure}{\numberline {8.26}{\ignorespaces Paquete ICMP request encapsulado en VXLAN 19 capturado en el bridge br-vxlan en el nodo de cómputo 1\relax }}{137}{figure.caption.153}% +\contentsline {figure}{\numberline {8.27}{\ignorespaces Diagrama de arquitectura para el escenario 2 de Open vSwitch\relax }}{138}{figure.caption.155}% +\contentsline {figure}{\numberline {8.28}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{143}{figure.caption.159}% +\contentsline {figure}{\numberline {8.29}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 2\relax }}{144}{figure.caption.163}% +\contentsline {figure}{\numberline {8.30}{\ignorespaces Diagrama de arquitectura para el escenario 3 de Open vSwitch\relax }}{145}{figure.caption.165}% +\contentsline {figure}{\numberline {8.31}{\ignorespaces Paquete ICMP echo request encapsulado en VXLAN capturado en la interfaz br-vxlan en el nodo de cómputo 1\relax }}{149}{figure.caption.169}% +\contentsline {figure}{\numberline {8.32}{\ignorespaces Paquete ARP request taggeado con el VLAN ID 100 capturado en la interfaz br-vlan en el nodo de red\relax }}{150}{figure.caption.172}% +\contentsline {figure}{\numberline {8.33}{\ignorespaces Paquete ICMP echo request capturado en la interfaz br-vlan del nodo de red\relax }}{151}{figure.caption.174}% +\contentsline {figure}{\numberline {8.34}{\ignorespaces Diagrama de arquitectura para el escenario 4 de Open vSwitch\relax }}{152}{figure.caption.176}% +\contentsline {figure}{\numberline {8.35}{\ignorespaces Paquete ICMP echo request taggeado con el VLAN ID 100 capturado en la interfaz eth3 del router fÃsico\relax }}{155}{figure.caption.180}% +\contentsline {figure}{\numberline {8.36}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qg del router de Neutron\relax }}{155}{figure.caption.181}% +\contentsline {figure}{\numberline {8.37}{\ignorespaces Paquete ICMP echo request capturado en la interfaz qr del router de Neutron\relax }}{156}{figure.caption.184}% +\contentsline {figure}{\numberline {8.38}{\ignorespaces Routers virtuales instanciados en múltiples agentes fÃsicos funcionales\relax }}{157}{figure.caption.186}% +\contentsline {figure}{\numberline {8.39}{\ignorespaces Routers virtuales instanciados en múltiples agentes fÃsicos luego de un fallo en uno de ellos\relax }}{157}{figure.caption.187}% +\addvspace {10\p@ } +\addvspace {10\p@ } +\addvspace {10\p@ } +\contentsline {figure}{\numberline {1.1}{\ignorespaces Arquitectura diseñada para desarrollo\relax }}{171}{figure.caption.193}% +\contentsline {figure}{\numberline {1.2}{\ignorespaces Arquitectura diseñada para producción\relax }}{172}{figure.caption.194}% +\addvspace {10\p@ } +\addvspace {10\p@ } +\addvspace {10\p@ } +\contentsline {figure}{\numberline {3.1}{\ignorespaces Nueva conexión en virt-manager.\relax }}{214}{figure.caption.217}% +\contentsline {figure}{\numberline {3.2}{\ignorespaces Configuración de redes virtuales en virt-manager.\relax }}{215}{figure.caption.218}% +\addvspace {10\p@ } +\contentsline {figure}{\numberline {4.1}{\ignorespaces Vista del login de Horizon.\relax }}{222}{figure.caption.232}% +\contentsline {figure}{\numberline {4.2}{\ignorespaces Creación de un proyecto (1/2).\relax }}{223}{figure.caption.234}% +\contentsline {figure}{\numberline {4.3}{\ignorespaces Creación de un proyecto (2/2).\relax }}{224}{figure.caption.235}% +\contentsline {figure}{\numberline {4.4}{\ignorespaces Creación de un usuario.\relax }}{225}{figure.caption.237}% +\contentsline {figure}{\numberline {4.5}{\ignorespaces Creación de un flavor (1/2).\relax }}{226}{figure.caption.239}% +\contentsline {figure}{\numberline {4.6}{\ignorespaces Creación de un flavor (2/2).\relax }}{226}{figure.caption.240}% +\contentsline {figure}{\numberline {4.7}{\ignorespaces Creación de una red provider (1/2).\relax }}{227}{figure.caption.242}% +\contentsline {figure}{\numberline {4.8}{\ignorespaces Creación de una red provider (2/2).\relax }}{228}{figure.caption.243}% +\contentsline {figure}{\numberline {4.9}{\ignorespaces Creación de una imagen (1/2).\relax }}{229}{figure.caption.245}% +\contentsline {figure}{\numberline {4.10}{\ignorespaces Creación de una imagen (2/2).\relax }}{230}{figure.caption.246}% +\contentsline {figure}{\numberline {4.11}{\ignorespaces Creación de una red (1/3).\relax }}{231}{figure.caption.248}% +\contentsline {figure}{\numberline {4.12}{\ignorespaces Creación de una red (2/3).\relax }}{231}{figure.caption.249}% +\contentsline {figure}{\numberline {4.13}{\ignorespaces Creación de una red (3/3).\relax }}{232}{figure.caption.250}% +\contentsline {figure}{\numberline {4.14}{\ignorespaces Creación de un router.\relax }}{232}{figure.caption.252}% +\contentsline {figure}{\numberline {4.15}{\ignorespaces Creación de una interfaz en un router.\relax }}{233}{figure.caption.254}% +\contentsline {figure}{\numberline {4.16}{\ignorespaces Creación de una key pair.\relax }}{233}{figure.caption.256}% +\contentsline {figure}{\numberline {4.17}{\ignorespaces Lanzar una nueva instancia (1/5).\relax }}{234}{figure.caption.258}% +\contentsline {figure}{\numberline {4.18}{\ignorespaces Lanzar una nueva instancia (2/5).\relax }}{234}{figure.caption.259}% +\contentsline {figure}{\numberline {4.19}{\ignorespaces Lanzar una nueva instancia (3/5).\relax }}{235}{figure.caption.260}% +\contentsline {figure}{\numberline {4.20}{\ignorespaces Lanzar una nueva instancia (4/5).\relax }}{235}{figure.caption.261}% +\contentsline {figure}{\numberline {4.21}{\ignorespaces Lanzar una nueva instancia (5/5).\relax }}{236}{figure.caption.262}% +\contentsline {figure}{\numberline {4.22}{\ignorespaces Asignación de floating IP.\relax }}{237}{figure.caption.263}% +\contentsline {figure}{\numberline {4.23}{\ignorespaces Asociación de floating IP.\relax }}{238}{figure.caption.264}% +\contentsline {figure}{\numberline {4.24}{\ignorespaces Reglas security group por defecto.\relax }}{238}{figure.caption.265}% +\contentsline {figure}{\numberline {4.25}{\ignorespaces Agregar regla para tráfico ICMP.\relax }}{239}{figure.caption.266}% +\contentsline {figure}{\numberline {4.26}{\ignorespaces Agregar regla para tráfico SSH.\relax }}{239}{figure.caption.267}% \addvspace {10\p@ } \contentsfinish diff --git a/docs/udelartex/tesis.out b/docs/udelartex/tesis.out index 5097e810176effc036e1065b8e61399eeb392106..f05c08c4da1622212815cd368e967b6bcce637ec 100644 --- a/docs/udelartex/tesis.out +++ b/docs/udelartex/tesis.out @@ -80,11 +80,11 @@ \BOOKMARK [2][-]{subsection.8.5.1}{Layer 3 High Availability}{section.8.5}% 80 \BOOKMARK [0][-]{chapter.9}{Trabajo a futuro}{}% 81 \BOOKMARK [0][-]{chapter.10}{Conclusiones}{}% 82 -\BOOKMARK [0][-]{chapter*.190}{Referencias bibliogr\341ficas}{}% 83 -\BOOKMARK [0][-]{chapter*.190}{Glosario}{}% 84 -\BOOKMARK [0][-]{section*.191}{Ap\351ndices}{}% 85 +\BOOKMARK [0][-]{chapter*.191}{Referencias bibliogr\341ficas}{}% 83 +\BOOKMARK [0][-]{chapter*.191}{Glosario}{}% 84 +\BOOKMARK [0][-]{section*.192}{Ap\351ndices}{}% 85 \BOOKMARK [0][-]{appendix.Alph1}{Im\341genes}{}% 86 -\BOOKMARK [0][-]{section*.194}{Anexos}{}% 87 +\BOOKMARK [0][-]{section*.195}{Anexos}{}% 87 \BOOKMARK [0][-]{appendix.Anexo.1}{Instalaci\363n versi\363n Queens}{}% 88 \BOOKMARK [1][-]{section.Anexo.1.1}{Preparaci\363n de nodos}{appendix.Anexo.1}% 89 \BOOKMARK [1][-]{section.Anexo.1.2}{Configuraci\363n}{appendix.Anexo.1}% 90 diff --git a/docs/udelartex/tesis.pdf b/docs/udelartex/tesis.pdf index 673a20b43ff979fe8f81743b95c5a2c0fa42ee94..32f81819952bf130af1237e5ec99dc4832bebcfa 100644 Binary files a/docs/udelartex/tesis.pdf and b/docs/udelartex/tesis.pdf differ diff --git a/docs/udelartex/tesis.synctex.gz b/docs/udelartex/tesis.synctex.gz index e760de8e63ce73656debb5ca795902c9bd6aa50d..5f2e42bcde87358b84cc0fb6811fa798ce72ca15 100644 Binary files a/docs/udelartex/tesis.synctex.gz and b/docs/udelartex/tesis.synctex.gz differ diff --git a/docs/udelartex/tesis.toc b/docs/udelartex/tesis.toc index 010c50cbd68744785e551386d1c2c3f19e390774..fbc3df614d65592bc8e74aaf9a8a812ae7f8b054 100644 --- a/docs/udelartex/tesis.toc +++ b/docs/udelartex/tesis.toc @@ -103,133 +103,133 @@ \contentsline {subsection}{\numberline {7.2.2}Eliminar un nodo de cómputo}{69}{subsection.7.2.2}% \contentsline {subsection}{\numberline {7.2.3}Agregar nodo de Infraestructura}{71}{subsection.7.2.3}% \contentsline {section}{\numberline {7.3}Actualización de versión}{74}{section.7.3}% -\contentsline {chapter}{\numberline {8}Análisis del módulo de red}{80}{chapter.8}% -\contentsline {section}{\numberline {8.1}Escenarios de prueba}{80}{section.8.1}% -\contentsline {subsection}{\numberline {8.1.1}Escenario 1: tráfico este-oeste (misma red tenant)}{81}{subsection.8.1.1}% -\contentsline {subsubsection}{\numberline {8.1.1.1}Composición del escenario}{81}{subsubsection.8.1.1.1}% -\contentsline {subsection}{\numberline {8.1.2}Escenario 2: tráfico este-oeste (distintas redes tenant)}{82}{subsection.8.1.2}% -\contentsline {subsubsection}{\numberline {8.1.2.1}Composición del escenario}{82}{subsubsection.8.1.2.1}% -\contentsline {subsection}{\numberline {8.1.3}Escenario 3: tráfico norte-sur (acceso hacia el exterior)}{83}{subsection.8.1.3}% -\contentsline {subsubsection}{\numberline {8.1.3.1}Composición del escenario}{84}{subsubsection.8.1.3.1}% -\contentsline {subsection}{\numberline {8.1.4}Escenario 4: tráfico norte-sur (acceso desde el exterior)}{85}{subsection.8.1.4}% -\contentsline {subsubsection}{\numberline {8.1.4.1}Composición del escenario}{85}{subsubsection.8.1.4.1}% -\contentsline {section}{\numberline {8.2}Linux bridge}{85}{section.8.2}% -\contentsline {subsection}{\numberline {8.2.1}Escenario 1}{87}{subsection.8.2.1}% -\contentsline {subsubsection}{\numberline {8.2.1.1}Análisis de componentes}{87}{subsubsection.8.2.1.1}% -\contentsline {subsubsection}{\numberline {8.2.1.2}Análisis de tráfico}{90}{subsubsection.8.2.1.2}% -\contentsline {subparagraph}{Paso 1}{90}{section*.101}% -\contentsline {subparagraph}{Paso 2}{90}{section*.102}% -\contentsline {subparagraph}{Paso 3}{94}{section*.107}% -\contentsline {subparagraph}{Paso 4}{95}{section*.110}% -\contentsline {subsection}{\numberline {8.2.2}Escenario 2}{96}{subsection.8.2.2}% -\contentsline {subsubsection}{\numberline {8.2.2.1}Análisis de componentes}{96}{subsubsection.8.2.2.1}% -\contentsline {subsubsection}{\numberline {8.2.2.2}Análisis de tráfico}{101}{subsubsection.8.2.2.2}% -\contentsline {subparagraph}{Paso 1}{101}{section*.112}% -\contentsline {subparagraph}{Paso 2}{102}{section*.113}% -\contentsline {subparagraph}{Paso 3}{102}{section*.114}% -\contentsline {subparagraph}{Paso 4}{102}{section*.116}% -\contentsline {subparagraph}{Paso 5}{103}{section*.117}% -\contentsline {subparagraph}{Paso 6}{103}{section*.118}% -\contentsline {subparagraph}{Paso 7}{103}{section*.120}% -\contentsline {subsection}{\numberline {8.2.3}Escenario 3}{104}{subsection.8.2.3}% -\contentsline {subsubsection}{\numberline {8.2.3.1}Análisis de componentes}{104}{subsubsection.8.2.3.1}% -\contentsline {subsubsection}{\numberline {8.2.3.2}Análisis de tráfico}{107}{subsubsection.8.2.3.2}% -\contentsline {subparagraph}{Paso 1}{108}{section*.122}% -\contentsline {subparagraph}{Paso 2}{108}{section*.123}% -\contentsline {subparagraph}{Paso 3}{108}{section*.124}% -\contentsline {subparagraph}{Paso 4}{108}{section*.126}% -\contentsline {subparagraph}{Paso 5}{109}{section*.127}% -\contentsline {subparagraph}{Paso 6}{110}{section*.129}% -\contentsline {subparagraph}{Paso 7}{110}{section*.131}% -\contentsline {subsection}{\numberline {8.2.4}Escenario 4}{111}{subsection.8.2.4}% -\contentsline {subsubsection}{\numberline {8.2.4.1}Análisis de componentes}{111}{subsubsection.8.2.4.1}% -\contentsline {subsubsection}{\numberline {8.2.4.2}Análisis de tráfico}{113}{subsubsection.8.2.4.2}% -\contentsline {subparagraph}{Paso 1}{113}{section*.133}% -\contentsline {subparagraph}{Paso 2}{113}{section*.134}% -\contentsline {subparagraph}{Paso 3}{113}{section*.135}% -\contentsline {subparagraph}{Paso 4}{114}{section*.138}% -\contentsline {subparagraph}{Paso 5}{114}{section*.139}% -\contentsline {subparagraph}{Paso 6}{115}{section*.141}% -\contentsline {section}{\numberline {8.3}Open vSwitch}{115}{section.8.3}% -\contentsline {subsubsection}{\numberline {8.3.0.1}Archivos de configuración}{117}{subsubsection.8.3.0.1}% -\contentsline {subsection}{\numberline {8.3.1}Escenario 1}{120}{subsection.8.3.1}% -\contentsline {subsubsection}{\numberline {8.3.1.1}Análisis de componentes}{120}{subsubsection.8.3.1.1}% -\contentsline {subsubsection}{\numberline {8.3.1.2}Análisis de tráfico}{126}{subsubsection.8.3.1.2}% -\contentsline {subparagraph}{Paso 1}{126}{section*.144}% -\contentsline {subparagraph}{Paso 2}{127}{section*.145}% -\contentsline {subparagraph}{Paso 3}{134}{section*.150}% -\contentsline {subparagraph}{Paso 4}{136}{section*.153}% -\contentsline {subsection}{\numberline {8.3.2}Escenario 2}{137}{subsection.8.3.2}% -\contentsline {subsubsection}{\numberline {8.3.2.1}Análisis de componentes}{137}{subsubsection.8.3.2.1}% -\contentsline {subsubsection}{\numberline {8.3.2.2}Análisis de tráfico}{141}{subsubsection.8.3.2.2}% -\contentsline {subparagraph}{Paso 1}{142}{section*.155}% -\contentsline {subparagraph}{Paso 2}{142}{section*.156}% -\contentsline {subparagraph}{Paso 3}{142}{section*.157}% -\contentsline {subparagraph}{Paso 4}{142}{section*.159}% -\contentsline {subparagraph}{Paso 5}{143}{section*.160}% -\contentsline {subparagraph}{Paso 6}{143}{section*.161}% -\contentsline {subparagraph}{Paso 7}{143}{section*.163}% -\contentsline {subsection}{\numberline {8.3.3}Escenario 3}{144}{subsection.8.3.3}% -\contentsline {subsubsection}{\numberline {8.3.3.1}Análisis de componentes}{144}{subsubsection.8.3.3.1}% -\contentsline {subsubsection}{\numberline {8.3.3.2}Análisis de tráfico}{147}{subsubsection.8.3.3.2}% -\contentsline {subparagraph}{Paso 1}{147}{section*.165}% -\contentsline {subparagraph}{Paso 2}{147}{section*.166}% -\contentsline {subparagraph}{Paso 3}{148}{section*.167}% -\contentsline {subparagraph}{Paso 4}{148}{section*.169}% -\contentsline {subparagraph}{Paso 5}{148}{section*.170}% -\contentsline {subparagraph}{Paso 6}{150}{section*.172}% -\contentsline {subparagraph}{Paso 7}{150}{section*.174}% -\contentsline {subsection}{\numberline {8.3.4}Escenario 4}{151}{subsection.8.3.4}% -\contentsline {subsubsection}{\numberline {8.3.4.1}Análisis de componentes}{151}{subsubsection.8.3.4.1}% -\contentsline {subsubsection}{\numberline {8.3.4.2}Análisis de tráfico}{152}{subsubsection.8.3.4.2}% -\contentsline {subparagraph}{Paso 1}{153}{section*.176}% -\contentsline {subparagraph}{Paso 2}{153}{section*.177}% -\contentsline {subparagraph}{Paso 3}{153}{section*.178}% -\contentsline {subparagraph}{Paso 4}{155}{section*.181}% -\contentsline {subparagraph}{Paso 5}{155}{section*.182}% -\contentsline {subparagraph}{Paso 6}{155}{section*.184}% -\contentsline {section}{\numberline {8.4}Comparativa de drivers}{155}{section.8.4}% -\contentsline {section}{\numberline {8.5}Funcionalidades avanzadas}{155}{section.8.5}% -\contentsline {subsection}{\numberline {8.5.1}Layer 3 High Availability}{155}{subsection.8.5.1}% -\contentsline {chapter}{\numberline {9}Trabajo a futuro}{157}{chapter.9}% -\contentsline {chapter}{\numberline {10}Conclusiones}{159}{chapter.10}% -\contentsline {chapter}{Referencias bibliográficas}{160}{chapter*.190}% -\contentsline {chapter}{Glosario}{167}{chapter*.190}% -\contentsline {chapter}{\textbf {Apéndices}}{168}{section*.191}% +\contentsline {chapter}{\numberline {8}Análisis del módulo de red}{81}{chapter.8}% +\contentsline {section}{\numberline {8.1}Escenarios de prueba}{81}{section.8.1}% +\contentsline {subsection}{\numberline {8.1.1}Escenario 1: tráfico este-oeste (misma red tenant)}{82}{subsection.8.1.1}% +\contentsline {subsubsection}{\numberline {8.1.1.1}Composición del escenario}{82}{subsubsection.8.1.1.1}% +\contentsline {subsection}{\numberline {8.1.2}Escenario 2: tráfico este-oeste (distintas redes tenant)}{83}{subsection.8.1.2}% +\contentsline {subsubsection}{\numberline {8.1.2.1}Composición del escenario}{83}{subsubsection.8.1.2.1}% +\contentsline {subsection}{\numberline {8.1.3}Escenario 3: tráfico norte-sur (acceso hacia el exterior)}{84}{subsection.8.1.3}% +\contentsline {subsubsection}{\numberline {8.1.3.1}Composición del escenario}{85}{subsubsection.8.1.3.1}% +\contentsline {subsection}{\numberline {8.1.4}Escenario 4: tráfico norte-sur (acceso desde el exterior)}{86}{subsection.8.1.4}% +\contentsline {subsubsection}{\numberline {8.1.4.1}Composición del escenario}{86}{subsubsection.8.1.4.1}% +\contentsline {section}{\numberline {8.2}Linux bridge}{86}{section.8.2}% +\contentsline {subsection}{\numberline {8.2.1}Escenario 1}{88}{subsection.8.2.1}% +\contentsline {subsubsection}{\numberline {8.2.1.1}Análisis de componentes}{88}{subsubsection.8.2.1.1}% +\contentsline {subsubsection}{\numberline {8.2.1.2}Análisis de tráfico}{91}{subsubsection.8.2.1.2}% +\contentsline {subparagraph}{Paso 1}{91}{section*.102}% +\contentsline {subparagraph}{Paso 2}{91}{section*.103}% +\contentsline {subparagraph}{Paso 3}{95}{section*.108}% +\contentsline {subparagraph}{Paso 4}{96}{section*.111}% +\contentsline {subsection}{\numberline {8.2.2}Escenario 2}{97}{subsection.8.2.2}% +\contentsline {subsubsection}{\numberline {8.2.2.1}Análisis de componentes}{97}{subsubsection.8.2.2.1}% +\contentsline {subsubsection}{\numberline {8.2.2.2}Análisis de tráfico}{102}{subsubsection.8.2.2.2}% +\contentsline {subparagraph}{Paso 1}{102}{section*.113}% +\contentsline {subparagraph}{Paso 2}{103}{section*.114}% +\contentsline {subparagraph}{Paso 3}{103}{section*.115}% +\contentsline {subparagraph}{Paso 4}{103}{section*.117}% +\contentsline {subparagraph}{Paso 5}{104}{section*.118}% +\contentsline {subparagraph}{Paso 6}{104}{section*.119}% +\contentsline {subparagraph}{Paso 7}{104}{section*.121}% +\contentsline {subsection}{\numberline {8.2.3}Escenario 3}{105}{subsection.8.2.3}% +\contentsline {subsubsection}{\numberline {8.2.3.1}Análisis de componentes}{105}{subsubsection.8.2.3.1}% +\contentsline {subsubsection}{\numberline {8.2.3.2}Análisis de tráfico}{108}{subsubsection.8.2.3.2}% +\contentsline {subparagraph}{Paso 1}{109}{section*.123}% +\contentsline {subparagraph}{Paso 2}{109}{section*.124}% +\contentsline {subparagraph}{Paso 3}{109}{section*.125}% +\contentsline {subparagraph}{Paso 4}{109}{section*.127}% +\contentsline {subparagraph}{Paso 5}{110}{section*.128}% +\contentsline {subparagraph}{Paso 6}{111}{section*.130}% +\contentsline {subparagraph}{Paso 7}{111}{section*.132}% +\contentsline {subsection}{\numberline {8.2.4}Escenario 4}{112}{subsection.8.2.4}% +\contentsline {subsubsection}{\numberline {8.2.4.1}Análisis de componentes}{112}{subsubsection.8.2.4.1}% +\contentsline {subsubsection}{\numberline {8.2.4.2}Análisis de tráfico}{114}{subsubsection.8.2.4.2}% +\contentsline {subparagraph}{Paso 1}{114}{section*.134}% +\contentsline {subparagraph}{Paso 2}{114}{section*.135}% +\contentsline {subparagraph}{Paso 3}{114}{section*.136}% +\contentsline {subparagraph}{Paso 4}{115}{section*.139}% +\contentsline {subparagraph}{Paso 5}{115}{section*.140}% +\contentsline {subparagraph}{Paso 6}{116}{section*.142}% +\contentsline {section}{\numberline {8.3}Open vSwitch}{116}{section.8.3}% +\contentsline {subsubsection}{\numberline {8.3.0.1}Archivos de configuración}{118}{subsubsection.8.3.0.1}% +\contentsline {subsection}{\numberline {8.3.1}Escenario 1}{121}{subsection.8.3.1}% +\contentsline {subsubsection}{\numberline {8.3.1.1}Análisis de componentes}{121}{subsubsection.8.3.1.1}% +\contentsline {subsubsection}{\numberline {8.3.1.2}Análisis de tráfico}{127}{subsubsection.8.3.1.2}% +\contentsline {subparagraph}{Paso 1}{127}{section*.145}% +\contentsline {subparagraph}{Paso 2}{128}{section*.146}% +\contentsline {subparagraph}{Paso 3}{135}{section*.151}% +\contentsline {subparagraph}{Paso 4}{137}{section*.154}% +\contentsline {subsection}{\numberline {8.3.2}Escenario 2}{138}{subsection.8.3.2}% +\contentsline {subsubsection}{\numberline {8.3.2.1}Análisis de componentes}{138}{subsubsection.8.3.2.1}% +\contentsline {subsubsection}{\numberline {8.3.2.2}Análisis de tráfico}{142}{subsubsection.8.3.2.2}% +\contentsline {subparagraph}{Paso 1}{143}{section*.156}% +\contentsline {subparagraph}{Paso 2}{143}{section*.157}% +\contentsline {subparagraph}{Paso 3}{143}{section*.158}% +\contentsline {subparagraph}{Paso 4}{143}{section*.160}% +\contentsline {subparagraph}{Paso 5}{144}{section*.161}% +\contentsline {subparagraph}{Paso 6}{144}{section*.162}% +\contentsline {subparagraph}{Paso 7}{144}{section*.164}% +\contentsline {subsection}{\numberline {8.3.3}Escenario 3}{145}{subsection.8.3.3}% +\contentsline {subsubsection}{\numberline {8.3.3.1}Análisis de componentes}{145}{subsubsection.8.3.3.1}% +\contentsline {subsubsection}{\numberline {8.3.3.2}Análisis de tráfico}{148}{subsubsection.8.3.3.2}% +\contentsline {subparagraph}{Paso 1}{148}{section*.166}% +\contentsline {subparagraph}{Paso 2}{148}{section*.167}% +\contentsline {subparagraph}{Paso 3}{149}{section*.168}% +\contentsline {subparagraph}{Paso 4}{149}{section*.170}% +\contentsline {subparagraph}{Paso 5}{149}{section*.171}% +\contentsline {subparagraph}{Paso 6}{151}{section*.173}% +\contentsline {subparagraph}{Paso 7}{151}{section*.175}% +\contentsline {subsection}{\numberline {8.3.4}Escenario 4}{152}{subsection.8.3.4}% +\contentsline {subsubsection}{\numberline {8.3.4.1}Análisis de componentes}{152}{subsubsection.8.3.4.1}% +\contentsline {subsubsection}{\numberline {8.3.4.2}Análisis de tráfico}{153}{subsubsection.8.3.4.2}% +\contentsline {subparagraph}{Paso 1}{154}{section*.177}% +\contentsline {subparagraph}{Paso 2}{154}{section*.178}% +\contentsline {subparagraph}{Paso 3}{154}{section*.179}% +\contentsline {subparagraph}{Paso 4}{156}{section*.182}% +\contentsline {subparagraph}{Paso 5}{156}{section*.183}% +\contentsline {subparagraph}{Paso 6}{156}{section*.185}% +\contentsline {section}{\numberline {8.4}Comparativa de drivers}{156}{section.8.4}% +\contentsline {section}{\numberline {8.5}Funcionalidades avanzadas}{156}{section.8.5}% +\contentsline {subsection}{\numberline {8.5.1}Layer 3 High Availability}{156}{subsection.8.5.1}% +\contentsline {chapter}{\numberline {9}Trabajo a futuro}{158}{chapter.9}% +\contentsline {chapter}{\numberline {10}Conclusiones}{160}{chapter.10}% +\contentsline {chapter}{Referencias bibliográficas}{161}{chapter*.191}% +\contentsline {chapter}{Glosario}{168}{chapter*.191}% +\contentsline {chapter}{\textbf {Apéndices}}{169}{section*.192}% \ttl@change@i {\@ne }{chapter}{13pt}{}{ Apéndice\ \thecontentslabel \quad }{}{\titlerule *[1pc]{.}\contentspage }\relax \ttl@change@v {chapter}{}{}{}\relax -\contentsline {chapter}{\numberline {1}Imágenes}{169}{appendix.Alph1}% +\contentsline {chapter}{\numberline {1}Imágenes}{170}{appendix.Alph1}% \ttl@change@i {\@ne }{chapter}{0pt}{\vspace *{0.45cm}}{\thecontentslabel \quad }{}{\bfseries \hfill \contentspage }\relax \ttl@change@v {chapter}{}{}{}\relax -\contentsline {chapter}{\textbf {Anexos}}{172}{section*.194}% +\contentsline {chapter}{\textbf {Anexos}}{173}{section*.195}% \ttl@change@i {\@ne }{chapter}{13pt}{}{ Anexo\ \thecontentslabel \quad }{}{\titlerule *[1pc]{.}\contentspage }\relax \ttl@change@v {chapter}{}{}{}\relax -\contentsline {chapter}{\numberline {1}Instalación versión Queens}{173}{appendix.Anexo.1}% -\contentsline {section}{\numberline {1.1}Preparación de nodos}{173}{section.Anexo.1.1}% -\contentsline {section}{\numberline {1.2}Configuración}{182}{section.Anexo.1.2}% -\contentsline {subsection}{\numberline {1.2.1}Configuración claves SSH}{182}{subsection.Anexo.1.2.1}% -\contentsline {subsection}{\numberline {1.2.2}Archivos de configuración OSA}{183}{subsection.Anexo.1.2.2}% -\contentsline {subsection}{\numberline {1.2.3}Generación de claves}{188}{subsection.Anexo.1.2.3}% -\contentsline {subsection}{\numberline {1.2.4}Correcciones}{188}{subsection.Anexo.1.2.4}% -\contentsline {subsubsection}{\numberline {1.2.4.1}SELinux}{188}{subsubsection.Anexo.1.2.4.1}% -\contentsline {chapter}{\numberline {2}Instalación versión Stein}{190}{appendix.Anexo.2}% -\contentsline {section}{\numberline {2.1}Preparación de nodos}{190}{section.Anexo.2.1}% -\contentsline {section}{\numberline {2.2}Configuración archivos OSA}{203}{section.Anexo.2.2}% -\contentsline {section}{\numberline {2.3}Cambios para driver OVS}{210}{section.Anexo.2.3}% -\contentsline {chapter}{\numberline {3}Virtualización con KVM}{213}{appendix.Anexo.3}% -\contentsline {section}{\numberline {3.1}Utilización virt-manager}{213}{section.Anexo.3.1}% -\contentsline {subsection}{\numberline {3.1.1}Conexión remota}{213}{subsection.Anexo.3.1.1}% -\contentsline {subsection}{\numberline {3.1.2}Creación de una red}{214}{subsection.Anexo.3.1.2}% -\contentsline {subsection}{\numberline {3.1.3}Crear nodo}{216}{subsection.Anexo.3.1.3}% -\contentsline {chapter}{\numberline {4}Interacción}{220}{appendix.Anexo.4}% -\contentsline {section}{\numberline {4.1}Configuraciones de administrador}{221}{section.Anexo.4.1}% -\contentsline {section}{\numberline {4.2}Interacción de un usuario}{227}{section.Anexo.4.2}% -\contentsline {section}{\numberline {4.3}Acceso a una instancia}{235}{section.Anexo.4.3}% -\contentsline {subsection}{\numberline {4.3.1}Por SPICE}{235}{subsection.Anexo.4.3.1}% -\contentsline {subsection}{\numberline {4.3.2}Por SSH}{236}{subsection.Anexo.4.3.2}% -\contentsline {subsubsection}{\numberline {4.3.2.1}Asociar una Floating IP a la instancia}{236}{subsubsection.Anexo.4.3.2.1}% -\contentsline {subsubsection}{\numberline {4.3.2.2}Modificar security group}{237}{subsubsection.Anexo.4.3.2.2}% -\contentsline {subsubsection}{\numberline {4.3.2.3}SSH}{238}{subsubsection.Anexo.4.3.2.3}% -\contentsline {subsection}{\numberline {4.3.3}Por virsh}{239}{subsection.Anexo.4.3.3}% -\contentsline {chapter}{\numberline {5}migrate\_instance.sh}{240}{appendix.Anexo.5}% +\contentsline {chapter}{\numberline {1}Instalación versión Queens}{174}{appendix.Anexo.1}% +\contentsline {section}{\numberline {1.1}Preparación de nodos}{174}{section.Anexo.1.1}% +\contentsline {section}{\numberline {1.2}Configuración}{183}{section.Anexo.1.2}% +\contentsline {subsection}{\numberline {1.2.1}Configuración claves SSH}{183}{subsection.Anexo.1.2.1}% +\contentsline {subsection}{\numberline {1.2.2}Archivos de configuración OSA}{184}{subsection.Anexo.1.2.2}% +\contentsline {subsection}{\numberline {1.2.3}Generación de claves}{189}{subsection.Anexo.1.2.3}% +\contentsline {subsection}{\numberline {1.2.4}Correcciones}{189}{subsection.Anexo.1.2.4}% +\contentsline {subsubsection}{\numberline {1.2.4.1}SELinux}{189}{subsubsection.Anexo.1.2.4.1}% +\contentsline {chapter}{\numberline {2}Instalación versión Stein}{191}{appendix.Anexo.2}% +\contentsline {section}{\numberline {2.1}Preparación de nodos}{191}{section.Anexo.2.1}% +\contentsline {section}{\numberline {2.2}Configuración archivos OSA}{204}{section.Anexo.2.2}% +\contentsline {section}{\numberline {2.3}Cambios para driver OVS}{211}{section.Anexo.2.3}% +\contentsline {chapter}{\numberline {3}Virtualización con KVM}{214}{appendix.Anexo.3}% +\contentsline {section}{\numberline {3.1}Utilización virt-manager}{214}{section.Anexo.3.1}% +\contentsline {subsection}{\numberline {3.1.1}Conexión remota}{214}{subsection.Anexo.3.1.1}% +\contentsline {subsection}{\numberline {3.1.2}Creación de una red}{215}{subsection.Anexo.3.1.2}% +\contentsline {subsection}{\numberline {3.1.3}Crear nodo}{217}{subsection.Anexo.3.1.3}% +\contentsline {chapter}{\numberline {4}Interacción}{221}{appendix.Anexo.4}% +\contentsline {section}{\numberline {4.1}Configuraciones de administrador}{222}{section.Anexo.4.1}% +\contentsline {section}{\numberline {4.2}Interacción de un usuario}{228}{section.Anexo.4.2}% +\contentsline {section}{\numberline {4.3}Acceso a una instancia}{236}{section.Anexo.4.3}% +\contentsline {subsection}{\numberline {4.3.1}Por SPICE}{236}{subsection.Anexo.4.3.1}% +\contentsline {subsection}{\numberline {4.3.2}Por SSH}{237}{subsection.Anexo.4.3.2}% +\contentsline {subsubsection}{\numberline {4.3.2.1}Asociar una Floating IP a la instancia}{237}{subsubsection.Anexo.4.3.2.1}% +\contentsline {subsubsection}{\numberline {4.3.2.2}Modificar security group}{238}{subsubsection.Anexo.4.3.2.2}% +\contentsline {subsubsection}{\numberline {4.3.2.3}SSH}{239}{subsubsection.Anexo.4.3.2.3}% +\contentsline {subsection}{\numberline {4.3.3}Por virsh}{240}{subsection.Anexo.4.3.3}% +\contentsline {chapter}{\numberline {5}migrate\_instance.sh}{241}{appendix.Anexo.5}% \contentsfinish diff --git a/docs/udelartex/tesis.xwm b/docs/udelartex/tesis.xwm index 825b7dc13325a249d88f0cccd92c437fa4848ef0..79b9a9fcc85a9bd545d7d1bb29df71f72aac96a8 100644 --- a/docs/udelartex/tesis.xwm +++ b/docs/udelartex/tesis.xwm @@ -1,2 +1,2 @@ \relax -\xwmnewlabel{xwmlastpage}{{5}{241}{migrate\_instance.sh\relax }{lstnumber.-313.31}{}} +\xwmnewlabel{xwmlastpage}{{5}{242}{migrate\_instance.sh\relax }{lstnumber.-314.31}{}}