Professional Documents
Culture Documents
net/publication/320333458
CITATIONS READS
0 87
1 author:
SEE PROFILE
All content following this page was uploaded by Arturo Díaz Crespo on 11 October 2017.
La Habana 2017
Universidad Tecnológica de La Habana
La Habana, 2017
FRASE
Albert Einstein
DEDICATORIA
A mi familia…
AGRADECIMIENTOS
En primer lugar, agradezco a mi tutora por siempre estar presente y por sus minuciosas
revisiones y recomendaciones, así como por dejarme la libertad de actuar a la hora de probar
en la práctica algún que otro concepto. Gracias por la paciencia que ha tenido al trabajar
conmigo, que es mucha!!!
A mi equipo “aguerrido y trabajador” Ariel, Clavijo, Dennys por los consejos y el trabajo en
conjunto (rsync) a la hora de hacer parte de nuestras tesis.
A los nerds (en el mejor de los sentidos) Sergio y Pepe por enseñarme lo básico de Linux a la
hora de enfrentarme en alguna que otra situación.
A Alain Garófalo por sus acertadas recomendaciones a mi tesis y por ser el “gurú” en cuanto a
los procedimientos a realizar en la práctica.
A mis tíos y abuelos ya que sin ellos no me habría sido posible estar donde estoy ahora. También
por su constante preocupación por mis progresos tanto en mi tesis como en mi vida como
estudiante.
A todas las demás personas que no mencioné por mi mala memoria pero que de alguna forma
u otra contribuyeron con sus ideas.
A todos…..Gracias!!!!
DECLARACIÓN DE AUTORÍA
Autor:
El presente trabajo ha sido realizado conforme a las condiciones exigidas en las orientaciones
sobre la estructura del Trabajo de Diploma 2017. El mismo fue conformado en su totalidad por
publicado para obtener otros grados o títulos. Se autoriza la utilización del Trabajo de Diploma
_____________________
CERTIFICACIÓN
supervisión.
______________________ _________________________
Los métodos para diseñar Sistemas de Almacenamiento para Centros de Datos existentes, en la
mayoría de los casos, no plantean un estudio previo de las condiciones del centro ni los
requerimientos técnicos que se deben cumplir de acuerdo a los tipos de servicio y tráfico que
necesitan las empresas. Solo ofrecen los pasos a seguir por las instituciones para adoptar ciertas
tecnologías de Almacenamiento con determinadas características que no necesariamente son
las que necesitan las empresas.
Methods for designing storage systems for existing data centers, in most cases, do not pose a
previous study of the conditions of the center nor the technical requirements that must be
met according to the types of service and traffic that the business need. Just provide the steps
for the institutions to adopt certain storage technologies with certain characteristics that are
not necessarily those businesses need.
Therefore, in the present investigation a method was created to design Private Cloud Storage
Systems with support for Infrastructure as a Service for small and medium enterprises based on
the needs and restrictions of the Information Technology and Communications of each one.
Was obtained a method that offers tools to the designer when it comes to implementing these
systems and is also able to adapt to the specific requirements demanded by the applications of
a Data Center under the paradigm of Cloud Computing with IaaS capacity and DSaaS capacity.
The method obtained was validated through its implementation in a university center
"Universidad Tecnológica de La Habana" obtaining successfully results.
INDICE
PORTADA ................................................................................................................................. I
DEDICATORIA ........................................................................................................................ IV
AGRADECIMIENTOS ............................................................................................................... V
INTRODUCCIÓN ...................................................................................................................... 1
1.1. Introducción.................................................................................................................. 4
1.2. Filosofía de diseño top-down. Aplicación al diseño de sistemas de almacenamiento.... 4
1.3. Evaluación de los métodos de diseños de sistemas de almacenamiento para centros de
datos 7
1.4. Pruebas para identificar de los requerimientos impuestos por las aplicaciones y
servicios a soportar ................................................................................................................ 13
1.5. Requerimientos No Funcionales identificados en el diseño de sistemas de
almacenamiento .................................................................................................................... 14
1.6. Modelos y Arquitecturas de Referencias para Sistemas de Almacenamiento.............. 18
1.6.1 Comparación entre los modelos de referencias y la NP. .................................. 20
1.6.2 Requerimientos funcionales a cumplir por el SA. ............................................ 22
1.7. Sistemas de Almacenamiento en la actualidad............................................................ 23
1.7.1 DAS, NAS y SAN ............................................................................................... 23
1.7.2 Sistemas basados en Objetos, Bloques y Ficheros. ........................................... 27
1.7.3 Aspectos para la selección de un sistema NAS o SAN ..................................... 31
1.7.4 Tipos de Infraestructuras más empleadas en SA.............................................. 33
1.7.5 Comparación entre las principales soluciones SLCA para SA. ....................... 36
1.7.6 Conclusiones parciales ...................................................................................... 40
1.8. Tipos de Discos para SA [25]........................................................................................ 41
1.8.1 Serial ATA (SATA) .................................................................................................. 42
1.8.2 SAS ........................................................................................................................... 42
1.8.3 Nearline SAS (NL-SAS) .......................................................................................... 42
1.8.4 Canal de Fibra ......................................................................................................... 43
1.8.5 Discos de Estado Sólido ........................................................................................... 43
1.8.6 Discos Híbridos ........................................................................................................ 44
1.9. Pruebas para caracterizar y evaluar sistemas de almacenamiento ..................... 44
1.10. DSaaS. Principales soluciones SLCA. ................................................................. 47
1.11. Sistema de Salvas. Principales soluciones SLCA. .............................................. 48
1.12. Conclusiones .......................................................................................................... 49
Capítulo 2: “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas” .................................................. 50
2.1. Introducción.................................................................................................................. 50
2.2. Presentación del método de diseño ............................................................................. 50
2.3. Regulaciones y/o políticas a cumplir por el sistema de almacenamiento ................ 51
2.4. Requerimientos de las aplicaciones y/o servicios a soportar por el sistema de
almacenamiento ................................................................................................................... 52
2.4.1 Datos Generales ....................................................................................................... 52
2.4.2 Requerimiento de Utilización:................................................................................. 54
2.4.3 Dimensionamiento de las MV: ................................................................................ 56
2.4.4 Requerimiento de Capacidades para ofrecer IaaS. ................................................ 57
2.5. Requerimientos no funcionales del sistema de almacenamiento ......................... 57
2.6. Caracterización del SA inicial (Opcional).............................................................. 59
2.7. Definición del SA a desplegar en la NP .................................................................. 60
2.8. Diseñar tomando en cuenta las restricciones del SA definido.............................. 61
2.8.1 Diseño Lógico .......................................................................................................... 61
2.8.2 Diseño Físico ........................................................................................................... 64
2.10. Pruebas para caracterizar y evaluar el sistema de almacenamiento .................... 67
2.11. Identificación del sistema de salvas ..................................................................... 76
2.12. Conclusiones .......................................................................................................... 77
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos” ................................................................................................................................... 78
3.1. Introducción.................................................................................................................. 78
3.2. Regulaciones y/o política a cumplir por el SA ........................................................... 78
3.3. Requerimientos de las aplicaciones ............................................................................ 81
3.3.1 Datos Generales ....................................................................................................... 81
3.3.2 Requerimiento de Utilización:................................................................................. 82
3.3.3 Dimensionamiento de las MV: ................................................................................ 83
3.3.4 Requerimiento de Capacidades para ofrecer IaaS. ................................................ 83
3.4. Requerimientos no funcionales del SA. ...................................................................... 83
3.5. Caracterización del SA inicial ..................................................................................... 86
3.6. Definición del SA a desplegar...................................................................................... 86
3.7. Diseño Lógico ................................................................................................................ 86
3.8. Diseño Físico ................................................................................................................. 89
3.9. Resultados de las Pruebas al SA ................................................................................. 91
3.10. Conclusiones ............................................................................................................... 95
CONCLUSIONES .................................................................................................................... 96
RECOMENDACIONES ............................................................................................................ 97
REFERENCIAS BIBLIOGRAFICAS ............................................................................................ 98
ANEXOS............................................................................................................................... 105
Figura 1 . Ciclo de vida del diseño e implementación de Redes de Áreas Locales (LAN)
[1] ................................................................................................................................................ 4
Figura 2 Referencias consultadas en la evaluación de los métodos de diseño ..................... 7
Figura 3 Cuadrante Mágico de Gartner Principales Proveedores de Nube e IaaS ............ 8
Figura 4 Cuadrante Mágico de Gartner Proveedores de Soluciones de Almacenamiento 8
Figura 5 Principales proveedores de hardware para SA ...................................................... 9
Figura 6 Modelo de Referencia de la SNIA .......................................................................... 18
Figura 7 Modelo de Referencia de la UIT ............................................................................ 18
Figura 8 Modelo de Referencia de la Nube Privada ............................................................ 18
Figura 9 Esquema del Sistema DAS ...................................................................................... 24
Figura 10 Esquema del Sistema NAS .................................................................................... 25
Figura 11 Esquema del Sistema SAN .................................................................................... 26
Figura 12 Esquema del Almacenamiento de Objetos .......................................................... 27
Figura 13 Esquema del Almacenamiento de Bloques.......................................................... 29
Figura 14 Esquema del Almacenamiento de Ficheros ........................................................ 30
Figura 15 Ejemplo de Red Convergente ............................................................................... 34
Figura 16 Resumen elección del SA ...................................................................................... 40
Figura 17 Método de Diseño para SA propuesto ................................................................. 50
Figura 18 Procedimiento para la selección del SA............................................................... 60
Figura 19 Diseño Lógico ......................................................................................................... 62
Figura 20 Diseño Físico .......................................................................................................... 65
Figura 21 Procedimiento para identificar el sistema de salvas .......................................... 76
Figura 22 Diseño Lógico del SA Ceph .................................................................................. 88
Figura 23 Diseño Físico del SA Ceph .................................................................................... 91
Figura 24 Throughput e IOPS de lectura y escritura de los discos duros ......................... 92
Figura 25 Throughput e IOPS de lectura y escritura del clúster Ceph ............................. 92
Figura 26 Latencias de los Discos empleados en el SA ........................................................ 93
Figura 27 Latencias del SA en clúster ................................................................................... 94
INDICE DE TABLAS
INTRODUCCIÓN
Los Sistemas de Almacenamiento (SA) son parte imprescindible hoy en día de los Centros de
Datos (CD) ya que son en ellos donde es alojada la información, los servicios y las aplicaciones
que constituyen la razón de ser de las empresas. La adopción de estos sistemas ha traído
consigo innumerables beneficios tanto para los proveedores como para los clientes. Ventajas
como la gestión centralizada de la información, compartición de datos de forma inmediata,
seguridad y alta disponibilidad de datos y la fácil escalabilidad que proveen estos sistemas son
solo un ejemplo por lo cual las empresas los adoptan.
Sin embargo, dado el estudio realizado en [11] [9] [10] [12] [13] [14] [15] [16] [17] [18] [19] [20]
[21] [22] se pudo detectar que los métodos para diseñar SA para CD existentes, en la mayoría
de los casos, no plantean un estudio previo de las condiciones del centro ni los requerimientos
técnicos que se deben cumplir de acuerdo a los tipos de servicio y tráfico que necesitan las
empresas. Solo ofrecen los pasos a seguir por las instituciones para adoptar tecnologías de
almacenamiento con determinadas características que no necesariamente son las que
necesitan las empresas. También no fue identificado un documento oficial con directivas para
la adopción de un Sistema u otro y las organizaciones de estandarización investigadas [15] [16]
[17] solo ofrecen algunas recomendaciones a la hora del despliegue, pero no indican como
elegirlos. Otro aspecto detectado es que las empresas adoptan una u otra tecnología de
almacenamiento sin la previa caracterización de los servicios u aplicaciones que en este van a
operar. En suma, no fue detectado un modelo de pruebas oficial para evaluar SA, cada empresa
aplica uno personalizado.
1
Introducción
SA y un campo de acción que abarcó los procedimientos de diseño de SA para Nubes Privadas
(NP) con soporte para brindar Infraestructura como Servicio (IaaS1).
Por tanto, el objetivo general de este trabajo fue: obtener un procedimiento para diseñar SA
para NP con soporte para IaaS partiendo de las necesidades y restricciones de cada lugar donde
se implemente.
Estudiar las cuatro fases de diseño definidas por el método de diseño de redes
empresariales top-down.
Confeccionar el procedimiento.
Métodos de investigación:
- Método sistémico. Su utilización permitirá determinar y definir las fases del método de
diseño a realizar y a concebir y sus dependencias
1
Siglas correspondientes al término en Inglés: Infrastructure as a Service.
2
Siglas correspondientes al término en Inglés: Storage Networking Industry Association.
2
Introducción
Capítulo 2: “Método de diseño de sistemas de almacenamiento para Nubes Privadas con soporte
para IaaS para pequeñas y medianas empresas”. En este capítulo se confecciona el método de
diseño a partir de todo el análisis realizado en el primer capítulo detallando los procedimientos
a realizar en cada fase diseñada.
3
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
1.1. Introducción
El principal aporte de la filosofía top-down reside en contribuir a que el diseño creado satisfaga
realmente los objetivos y requerimientos técnicos perseguidos por la entidad cliente. Este
plantea cuatro fases, definidas en un proceso iterativo y cíclico como se muestra en la Figura 1.
La primera fase abarca el análisis de los objetivos, metas, requerimientos técnicos y
restricciones que presenta el cliente en el proyecto de diseño, junto a la caracterización del
sistema inicial, de existir. Las fases segunda y tercera desarrollan el diseño lógico y físico
respectivamente, en las que se deben brindar directrices y guías para el diseño, así como
criterios para la selección de las diferentes tecnologías y elementos físicos. La cuarta fase aborda
el proceso de pruebas para validar el diseño propuesto, su optimización y la documentación del
proceso de diseño [1].
También propone la implementación de un sistema que sea modular [1], para facilitar la
en el diseño de los SA para lograr cumplir con los RNF a los que tributa.
Figura 1 . Ciclo de vida del diseño e implementación de Redes de Áreas Locales (LAN)
[1]
4
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Realizando una analogía para el diseño de SA las fases de la filosofía top-down, a consideración
del autor, permitirá:
Definir los objetivos del negocio que persigue el cliente con el nuevo proyecto,
especificar las metas a cumplir para que este sea considerado exitoso, las consecuencias
del fracaso y las restricciones a tomar en cuenta durante el proceso del diseño. Todo lo
anterior influye directamente en el proceso de toma de decisiones lo que contribuye
desde un inicio, a la correcta elección de las tecnologías y productos, y si se identifican
concretamente la misión y la visión de la entidad, permitirá detectar las problemáticas
a resolver para alcanzar los resultados, hasta en la definición de las pruebas para validar
el éxito del proyecto [1].
Identificar de forma específica los servicios, las aplicaciones y/o los datos que soportará
el SA, y por quiénes será utilizado. Esto permite dimensionar y seleccionar las
tecnologías eficientemente.
Identificar los RNF del SA. La correcta realización de este paso es necesaria a la hora de
la realización de las FASES II y III, ya que los RNF deben responder a los requerimientos
para alcanzar las metas del negocio con la QoS3 esperada y las restricciones existentes.
Para las organizaciones varios requerimientos técnicos pueden resultar importantes,
incluso con diferentes niveles de criticidad en función de la misión de la misma [2] [3].
Dimensionar el SA.
Identificar las características de los discos a emplear, así como las controladoras a utilizar
según los RNF a cumplir.
3
Siglas correspondientes al término en Inglés: Quality of Service
4
Siglas correspondientes al término en Inglés: Storage Area Network.
5
Siglas correspondientes al término en Inglés: Network Attached Storage.
6
Siglas correspondientes al término en Inglés: Direct Attached Storage
5
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Identificar las características de las tecnologías de interconexión de red [4], así como
los dispositivos a utilizar y elegir [5]–[8] óptimos para el diseño.
Seleccionar las tecnologías de interconexión de red [4] [5]–[8] que respondan al diseño
de SA escogido.
Seleccionar los tipos de discos a emplear según las características propias del SA.
Identificar las herramientas necesarias para las pruebas del SA así como las métricas
para conocer si el sistema responde de manera eficiente [9] [10] . Esto es aplicable a
estos sistemas, debido a que existen varios tipos de SA, los cuales no ofrecen las mismas
características ni están diseñados para los mismos ambientes, por lo que resulta
fundamental elaborar pruebas diferentes para cada uno con el fin de evaluar sus
parámetros de rendimiento en el ambiente particular del CD de la empresa.
Cada prueba a ejecutar debe ser descrita con las siguientes especificaciones: objetivos
y criterios de aceptación, tipo de prueba, recursos necesarios, descripción de los pasos
de implementación, y su planificación en tiempo. Los objetivos deben ser claramente
definidos y deben responder a los metas del negocio y a los requerimientos técnicos
planteados por el cliente para poder evaluar el éxito del proyecto.
En base a los resultados de las pruebas, pueden ser aplicadas técnicas de optimización.
La optimización permite hacer un uso eficiente de los recursos sin degradar el
rendimiento del sistema, así como el tratamiento de manera diferenciada a las
diferentes aplicaciones en función del nivel de importancia para la entidad.
Finalmente se debe haber obtenido una propuesta de diseño basada en el análisis de los
objetivos del negocio y los requerimientos técnicos, que incluye componentes lógicos y
físicos comprobados y optimizados. La última etapa es escribir el documento del diseño.
Este debe contener las metas planteadas por el cliente, cómo fueron satisfechas, la
caracterización del escenario real, las aplicaciones necesarias y sus requerimientos, los
diseños lógico y físico, el presupuesto y los gastos asociados al proyecto, los planes de
implementación, las mediciones que indiquen el éxito del despliegue y cómo debe
evolucionar el diseño si surgen nuevos requerimientos.
6
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
En post de identificar estándares, métodos, procedimientos, guías y/o buenas prácticas para
diseñar SA se realizó una revisión bibliográfica que abarcó: publicaciones académicas
consistentes en artículos, ponencias, libros y tesis indexados en BD de alto rigor científico
técnico como Ieeexplore [11] , Springer [12], ACM7 [13] y otras fuentes; guías, estándares y
reportes de organismos de estandarización, proveedores de soluciones de NP y de soluciones
de hardware y software de SA tanto propietarias como SLCA. También se realizó un estudio de
los proveedores de hardware COTS8 para SA. La Figura 2 muestra las referencias consultadas
por categorías:
Bibliografía consultada
Publicaciones Académicas
2
3
Organismos de Estandarización
2
Proveedores de Nube, Hardware y
1 Software privados
Proveedores de SLCA de SA
7
Siglas correspondientes al termino en inglés: Association for Computing Machinery
8
Siglas correspondientes al termino en inglés: Commercial off-the-shelf.
9
Siglas correspondientes a: “Congreso Internacional de Telemática y Telecomunicaciones”. CITTEL está dirigido
a especialistas, funcionarios y científicos de la comunidad nacional e internacional que estudian y ejecutan
actividades relacionadas con la solución de problemas en las ramas de la telemática, las telecomunicaciones y
disciplinas afines.
10
Siglas correspondientes al término en inglés: Storage Networking Industry Association. La (SNIA) es una
organización no lucrativa compuesta de las compañías del miembro que atraviesan la tecnología de la
información. SNIA tiene como misión liderar la industria del almacenamiento en el desarrollo y la promoción de
arquitecturas, estándares y servicios educativos que facilitan la gestión, el movimiento y la seguridad de la
información.
7
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Por su parte Proveedores de Nube, Hardware y Software privados se pudieron identificar los
más importantes como Microsoft, IBM, Dell EMC y Net App que constituye hoy en día líderes
en estas tecnologías a nivel mundial según el cuadrante mágico de Gartner (Figuras 3 y 4) y es
importante conocer las recomendaciones que estos brindan a los clientes a la hora de
implementar sus SA.
De los Proveedores de SLCA de SA se escogió una muestra de aquellos que tuvieran interés en
la comunidad científica y para ello se realizó una búsqueda en la IEEE y se escogió como
referencia a tres de ellos: Ceph (software que actualmente se encuentra con gran popularidad
en la comunidad Linux por poder brindar almacenamiento tanto en bloques, objetos y ficheros
por lo que puede ser utilizado tanto para el despliegue de una SAN o una NAS); GlusterFS
(software especialmente para almacenamiento como ficheros por lo que es ideal para una NAS);
FreeNAS (otro software muy utilizado especializado en sistemas NAS); Openfiler (es un software
que permite brindar tanto almacenamiento en bloques para una SAN como almacenamiento
en ficheros para una NAS). El objetivo de este análisis radicó en identificar si estos proveedores
proponían una guía genérica para el despliegue de los mismos teniendo en cuenta las fases del
top-down.
8
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Por último, se investigó acerca de los principales proveedores de hardware COTS realizando un
análisis de los principales proveedores de hardware y servidores a nivel mundial. En la
investigación se tuvo en cuenta a HP, Dell EMC, IBM, CISCO, Huawei, Inspur, pero solo se pudo
identificar como proveedores COTS a Huawei e Inspur. (Figura 5)
9
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
% de
cumpl
Aspecto Comentario
imien
to
Estudio de la misión,
Este aspecto es uno de los que menos cumplimiento
visión, la estructura
tiene según los resultados ya que no se pudo verificar
organizacional de la 15%
su aplicación exceptuando a 7,10 y 11 los cuales si
entidad cliente y sus
abogan por el estudio de este aspecto.
características
Definición de los En cuanto a este indicador también se aprecia poco
20%
objetivos del negocio interés en él solo 2,7,10 y 11 abogan por su realización.
Caracterización del Respecto a este parámetro de gran importancia se
estado inicial del pudo apreciar que tampoco se tiene mucho en cuenta,
sistema solo es propuesto por 1,2,6,7,8,10 y la mayoría asume 30%
(infraestructura y que la implementación se realizará en escenarios
servicios) donde no existe aún ninguna infraestructura.
En este caso si se aprecia un gran cumplimiento por
gran parte de los investigados dada la importancia de
Definición de
establecer dichas restricciones las cuales abarcaron 75%
restricciones
tanto restricciones de hardware, software, así como
área de instalación.
Aquí solo 6 y 7 proponen que se deben caracterizar los
Definición de los
servicios y/o aplicaciones que utilizaran el SA, pero no
servicios y/o
ofrecen ninguna herramienta para hacerlo. Por su parte
aplicaciones que 20%
10 y 11 lo proponen y ofrecen una pequeña
utilizarán el SA, y su
herramienta para hacerlo, pero muy pobre por lo que
caracterización
debe ser mejorada.
Aquí 1 y 7 proponen que se deben conocer los RNF que
debe cumplir el SA, no propone ni presenta ningunos.
Definición de los RNF Por su parte 10 y 11 si proponen RNF definidos a
35%
a soportar por el SA. cumplir por un SA. También 13,14,15 y 16 que
corresponden con los softwares para implementar el SA
elegidos definen los RNF que ellos satisfacen.
La división de fases es cumplida por todos excepto por
División de fases los Softwares y los Proveedores COTS en los cuales no 60%
se definen fases de diseño.
10
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
% de
cumpl
Aspecto Comentario
imien
to
En este aspecto la mayoría aboga por un sistema u otro
según variados aspectos los cuales son diferentes en
Estudio del tipo de SA
uno u otro. Es necesario una investigación para definir
a utilizar según los 58%
de manera precisa cuando SAN o NAS. Están exentos de
RNF
este análisis los softwares y los proveedores COTS ya
que no tiene sentido el estudio de este aspecto en ellos
Identificación de las
características de los
Este aspecto es muy desarrollado por casi todos ya que
discos a emplear, así
la mayoría propone las características que deben tener
como las 55%
los discos a utilizar y realizan una breve explicación de
controladoras a
lo que puede ofrecer uno u otro tipo de disco.
utilizar según los RNF
a cumplir.
Dimensionamiento
Muy poco desarrollado, solo es tomado en cuenta y
del SA teniendo en
brindan una pequeña herramienta para su realización
cuenta las
por 10 y 11. Por su parte 18 ofrece una breve
características de los 15%
explicación del porqué es necesario una planificación
servicios y
de las capacidades y otros aspectos que tributan al
aplicaciones que se
dimensionamiento.
demanden.
Identificación de las
La mayoría logra identificar las tecnologías de
características de las
interconexión y las topologías necesarias para
tecnologías de
desplegar su sistema e incluso ofrecen algunos 75%
interconexión de red,
ejemplos de diferentes despliegues con distintas
así como los
configuraciones.
dispositivos a utilizar.
En la mayoría de los casos no existe diferencia entre el
diseño lógico y el físico, de hecho, la mayoría lo hace de
División de fases 15%
forma simultánea. Solo se pudo apreciar una
diferenciación de fases en 10, 11 y 12.
% de
cumpl
Aspecto Comentario
imien
to
Selección de la En este aspecto solo 10 y 11 seleccionan de acorde a
solución (SAN/NAS) los RNF y explican el porqué de su selección. En los
del SA que se acople a demás no queda bien fundamentada el porqué de una
12%
las características de u otra o el diseño corresponde a una u otra tecnología
la empresa según los en específico. Quedan exentos de este análisis los
RNF a cumplir. proveedores COTS.
11
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
% de
cumpl
Aspecto Comentario
imien
to
Despliegue de un
prototipo del diseño
propuesto, o su
La gran mayoría despliega un modelo con los
modelación, con las
principales parámetros de configuración del sistema en
configuraciones,
sí. Se observa con mayor énfasis y argumentación en
aplicaciones y 85%
los SLCA investigados. En los COTS no se aplica ya que
requerimientos del
ellos solo proveen el hardware y no se identificó
mismo, para
ninguna sugerencia de despliegue y configuración.
comprender el
comportamiento de la
propuesta.
Pocos son los que proponen herramientas para testear
Identificar las
el SA. Solo 5,6,10,11,14 y 15 proponen nombres de
herramientas
herramientas y los parámetros que estas miden. En los 30%
necesarias para las
demás casos, o no se proponen o usan herramientas
pruebas al SA.
propias de la solución.
12
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
1.4. Pruebas para identificar de los requerimientos impuestos por las aplicaciones y servicios
a soportar
Conocer a ciencia cierta dichas métricas y sus valores óptimos resulta complicado ya que en la
mayoría de los casos el desarrollador de dichas aplicaciones propone escenarios genéricos y el
resultado de la monitorización de algunos parámetros que en ocasiones no corresponden con
los requerimientos específicos del cliente [35] [36].
11
Siglas correspondientes al término en Inglés: Input/Output Operations per Second
13
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
A pesar de ello resulta importante conocer las métricas a la hora de caracterizar una aplicación.
En el estudio realizado en [35] [36] [37] [38] [3] [23] [1] [14] [9] [10] [15] [16] [17] [18] [19] [20]
[21] [22] [24] se pudo comprobar lo siguiente:
Aspectos Referencias
Caracterizan las aplicaciones con sus métricas y ofrecen un
[38] [1]
procedimiento para hacerlo.
Indican que se deben caracterizan las aplicaciones, pero no lo
[24] [23]
realizan ni ofrecen procedimientos o métricas.
Exponen métricas que pueden ser de interés a la hora de
[35] [36] [37] [3]
caracterizar las aplicaciones.
Implementan el diseño de un SA sin caracterizar las
[14] [9] [10] [15] [16] [17]
aplicaciones, ni indicarlo, ni ofrecer métricas ni
[18] [19] [20] [21] [22]
procedimientos.
Como se puede observar se hace necesario la creación de una herramienta que permita la
caracterización de las aplicaciones con vista a su implementación sobre un SA por la importancia
que esto conlleva ya que de no hacerse podríamos caer en errores de sub o
sobredimensionamiento.
Por lo que para la creación de la herramienta que se expone en el Epígrafe 2.4 se tomó como
referencia principal a [38] ya que ofrece un procedimiento para caracterizar las aplicaciones,
una plantilla para plasmar la información , así como las herramientas necesarias para
obtenerlas. A [1] como modelo inicial a la hora de plasmar la información basado en la tabla
ofrecida en el ANEXO G y un listado de los posible tipos de aplicaciones. Por últimos a [35] [36]
[37] [38] [3] [1] para la extracción de las métricas necesarias tales que aplicaron directamente
a SA como la medición de los IOPS, Throughput de Red y Disco así como los aspectos de
Capacidad.
Existe una fuerte interrelación e interdependencia entre los RF y los RNF. Durante un proceso
de diseño basado en la filosofía top-down el diseñador debe esclarecer junto con el cliente los
RNF que este último desea en su diseño. En base a los RNF seleccionados por el cliente se eligen
los RF necesarios y en un momento posterior se selecciona el hardware y software necesario
que cumpla con los requerimientos técnicos preestablecidos. Además, el almacenamiento es
uno de los bloques funcionales de la nube privada por lo que éste hereda directamente sus RNF.
14
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
15
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Comentario
El autor está de acuerdo con la definición, pero con la modificación de “cómo operan los
servicios” a “cómo opera el SA” para dar un mejor enfoque.
Es el grado en el que un servicio es capaz de rápidamente [3] [23] [40]
Recuperación
volver a su estado normal de operación después de una [26] [27]
ante fallas
interrupción no planificada. [28] [29]
Comentario
Aquí el enfoque no es el correcto. Debería ser en vez de “el grado en el que un servicio” a
“la forma en que el SA”. Además, no queda claro que es una “interrupción” debería estar
enfocado a “una falla de naturaleza intencional o no intencional”
Capacidad de un servicio para continuar operando [3] [39] [40]
Tolerancia a
adecuadamente ante la ocurrencia de fallos en uno o más [26] [27]
Fallas
componentes. [28] [29]
Comentario
Esta definición es aplicable 100% después de modificar de “capacidad de un servicio” a
“capacidad del SA”
Es la cantidad máxima de recursos disponibles de [3] [39] [23]
Capacidad
almacenamiento y computo a brindar como servicio. [40]
Comentario
No es el enfoque correcto. El autor considera que debería expresar tanto las limitaciones de
los recursos de almacenamiento o la máxima cantidad de recursos de almacenamiento
disponibles a emplear tanto en la infraestructura como para la renta.
[3] [39] [40]
El porcentaje de la capacidad total de un recurso que está
Utilización [26] [27]
en uso en un sistema.
[28] [29]
Comentario
El autor considera que el enfoque es aplicable al diseño de SA con la especificidad que sería
“la utilización de los recursos de almacenamiento”. En este caso el autor considera que este
RNF es más bien para fines de desempeño por lo que se sugiere que sea soportado por los
gestores que se integrarán a la solución.
Cantidad de datos libres de errores transferidos por
Throughput [3] [39] [40]
unidad de tiempo.
Comentario
Este requerimiento es abordado de manera muy general no enfocado a las especificidades
de un SA. El autor considera que el throughput debe estar dirigido a medir aspectos claves
de un SA como red y transferencia de discos.
Expresa la cantidad de recursos consumidos para procesar
una cantidad determinada de trabajo. Para una misma [3] [23]
Eficiencia
carga de trabajo es más eficiente aquella arquitectura que [40]
sea capaz de cumplir los SLA utilizando menos recursos
Comentario
De esta forma se encuentra un poco ambiguo el concepto. El autor considera que debe ser
enfocado mejor con respecto a cuan eficiente es SA teniendo en cuenta factores claves en
un CD como la energía y aspectos inherentes al SA como utilización de los recursos.
Tiempo de Tiempo que le toma a un servicio responder a la solicitud
[3] [39] [40]
respuesta de un cliente.
Comentario
Este enfoque no es el adecuado ya que se refiere a una aplicación (servicio) no al tiempo de
respuesta con parámetros propios de un SA. Se debe enfocar en tiempos de respuestas que
estén relacionados con los componentes de un SA tales como red y discos.
16
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
17
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Factibilidad Indica el grado de oportunidad, ahorros y eficiencia desde [3] [26] [27]
Económica el punto de vista financiero que presenta un diseño. [28] [29]
Comentario
El autor está de acuerdo con la definición planteada.
Capa de Usuario
Capa Paralela
Función de Función de Función de
Usuario Negocios Administración
Capacidades de Capacidades de Capacidades de los Capacidades de Soporte para
los Sistemas los Sistemas de Sistemas de Integración Desarrollo
Operacionales Soporte Seguridad
de Negocios
Capa de Acceso Interfaces de Acceso
Autenticación y Interfaces de Acceso Interfaces de Acceso
Control de Gestión de Catálogo de Servicios Catálogos de Gestión de Identidad
Acceso Conexión Productos
Aprovisionamiento Seguridad Ambiente de
Autorización y Gestión Desarrollo
Monitoreo, Reportes, Gestión de Cuentas
de Políticas de
Reglas y Gestión de
Capa de Servicios Seguridad Monitoreo
Eventos Gestión de
Gestión de Construcción
Capacidades de Capacidades para Capacidades de Gestión de Fallos
los Servicios Negocios Administración Subscripción
Gestión de Servicios
Gestión de
Encriptación Gestión de Pruebas
Mantenimiento y
Actualización Tarificación
Orquestación de Servicios
Gestión de Políticas de Interacción inter-Nube
Servicio Cuentas Auditorías
Automatización de
Servicios
Gestión de Acuerdos
Capa de Recursos de Servicios
Interfaces de Acceso Anti-virus
Nota:
Indica que son bloques funcionales y componentes opcionales deseables.
___ Indica que son bloques funcionales y componentes obligatorios
18
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
El modelo de referencia de los SA para el despliegue de Nubes, planteado por la SNIA, mantiene
interfaces heredadas para ofrecer compatibilidad e incluye otras para facilitar el acceso a la
información y la gestión del sistema. Este modelo posee tres niveles básicos en su estructura:
el nivel de los servicios de recursos, el de la virtualización de estos recursos acorde a las
abstracciones de almacenamiento y el de las interfaces de acceso a la información. Los recursos
son virtualizados para permitir el almacenamiento de tablas, objetos y ficheros a través de las
abstracciones de dispositivos basados en bloques, almacenamiento de objetos y sistemas de
ficheros.
Existen varios ejemplos propietarios de este tipo de interfaces, sin embargo, todas soportan el
mismo grupo de operaciones, por lo que es un área que presenta las condiciones requeridas
para su estandarización. En este sentido la SNIA propone la Interfaz de Gestión Datos de Nubes
(CDMI) que permite: (1) Gestionar los contenedores y los datos que almacenan; (2) Asociar los
metadatos con los contenedores y con los objetos que contienen; (3) Descubrir por parte de los
clientes, las características disponibles por el proveedor de servicios en la Nube.
Este estándar divide las operaciones en dos tipos, uno que maneja el contenido sobre HTTP y el
otro que no, para poder proveer acceso tanto a los clientes que interaccionen con CDMI como
a los que no. Puede ser usada por aplicaciones administrativas y de gestión para el manejo de
contenedores, dominios, accesos seguros. También puede ser empleado para el monitoreo y la
obtención de información, incluso en almacenamientos accedidos mediante protocolos
propietarios.
19
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
CDMI es una interfaz funcional dirigida a los desarrolladores de aplicaciones que están
implementando o usando almacenamiento en la Nube, de la cual se especula que será
implementada en la mayoría de las soluciones de almacenamiento. Esta interfaz es empleada
por las aplicaciones para llevar a cabo las operaciones de recuperar, actualizar y eliminar sobre
los elementos de datos en la Nube, siendo capaz de permitirle al cliente descubrir las
capacidades de la oferta del almacenamiento en la Nube y administrar los contenedores o
volúmenes virtuales y datos en los mismos.
Capa de Acceso:
20
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Capa de Servicios:
Modelo de Referencia de la UIT: La UIT propone una capa donde se encuentran los
servicios específicos como SAN, NAS y Salvas, pero muy pobre, no abarca las capacidades
para negocios, administración ni cómo se van a orquestar los servicios.
Modelo de Referencia de la SNIA: Se muestra una capa de servicio de datos, pero no se
especifican de qué tipo. Al igual que el de la UIT no abarca las capacidades para negocios,
administración ni cómo se van a orquestar los servicios.
Modelo de Referencia de la Nube Privada: Si se encuentra presente.
Capa de Servicios tiene dentro de ella:
Capacidades de los servicios: -Capacidad para DSaaS, -Capacidad para IaaS
Capacidades para negocios: -Capacidad para acceder al componente funcional
de negocios, -Gestión de Servicios inter-Nubes
Capacidades de administración: Proporciona un conjunto de capacidades para
acceder a la función de administración relacionada con la provisión de servicios
en la nube.
Orquestación de los servicios: Proporciona coordinación, agregación y
composición de múltiples componentes de servicio para entregar el servicio en
la nube.
Capa de Recursos:
21
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Capa Paralela:
22
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Estos sistemas, unidos a la evolución en las arquitecturas de red y los protocolos referidos al
almacenamiento, son los empleados en la actualidad en CDs tradicionales y en CDs que
soportan el paradigma de la CN. Para estos últimos, el almacenamiento ha evolucionado hasta
surgir tecnologías y conceptos como el Almacenamiento Unificado y el Almacenamiento en la
Nube, que se nutren de los mejores atributos de los SAs anteriores hasta derivar en soluciones
de almacenamiento con mayores prestaciones y funcionalidades.
23
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
La tecnología NAS, surgió como respuesta a los problemas asociados a los sistemas DAS [64]. De
manera general, un dispositivo NAS está compuesto por un arreglo de discos duros conectados
como Arreglo Redundante de Discos Independientes (RAID) [67]–[70] y software de gestión, y
está completamente dedicado a dar acceso a los clientes al almacenamiento, empleando
protocolos de compartición de ficheros como: Sistema de Ficheros en Red (NFS) [71] [72] y
Sistema de Ficheros de Internet Común (CIFS) [73]. Además pueden emplearse otros protocolos
como: Protocolo de Transferencia de Archivos (FTP) [71] [74], [75] o Protocolo de Transferencia
de Archivos Trivial (TFTP) [71]. Lo anterior permite que un dispositivo NAS tenga una gran
utilidad a la hora de compartir archivos e información entre diferentes tipos de plataforma ya
que sus protocolos se encuentran estandarizados por lo que puede ser compatible con la
mayoría de los SO más utilizados en la actualidad dígase Windows, Linux o Mac, por lo que un
dispositivo NAS ofrece una mayor interoperabilidad que un SAN.
24
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Dado que los protocolos de comunicaciones empleados por NAS son basados en ficheros, el
cliente solicita el fichero completo al servidor y lo maneja localmente [64].
Una NAS posee Funcionalidad plug-and-play ya que estos dispositivos solo requieren ser
conectados a la red para su funcionamiento, adquieren su dirección IP y aparecen
automáticamente como un dispositivo de almacenamiento adicional permitiendo una mayor
velocidad de despliegue. En el ANEXO J se pueden encontrar otras de sus principales
características.
La Asociación de la Industria del Almacenamiento en Red (SNIA), define una SAN como una red
especializada cuyo propósito fundamental es la transferencia de datos entre sistemas de
cómputo y dispositivos de almacenamiento. Siendo así, una SAN comprende: la infraestructura
de comunicación que provee conexiones físicas y una capa de gestión encargada de organizar
las conexiones, elementos de almacenamiento y sistemas de cómputo, de manera tal que la
transferencia sea robusta y segura [76].
Según [76] una SAN permite conexiones cualquiera-a-cualquiera a través de la red, empleando
dispositivos de interconexión tales como routers, puertas de enlace (gateways), hubs,
conmutadores y otros. Elimina la tradicional conexión dedicada entre servidor y
almacenamiento y el concepto de que el servidor “comprende y gestiona” los dispositivos de
almacenamiento. También elimina toda restricción para el volumen de datos que puede
acceder un servidor, usualmente limitada por el número de dispositivos de almacenamiento
conectados a un servidor individual. Por el contrario, una SAN introduce la flexibilidad de
permitir que un servidor o varios servidores heterogéneos compartan una misma utilidad de
25
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
En la Figura 11 [24] se muestra el esquema básico de una SAN. Pueden observarse sus
componentes principales y de manera simplificada intuir las ventajas que implica aislar en la red
el tráfico de almacenamiento o dedicar una red con este solo propósito.
ALMACENAMIENTO UNIFICADO
Actualmente, lo que se pretende con este concepto, es aprovechar las bondades propias del
estándar Ethernet para manejar el tráfico de almacenamiento y de esta manera integrar las
diferentes tecnologías relacionadas.
26
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
El almacenamiento de objetos separa explícitamente los metadatos de los archivos de los datos
para soportar capacidades adicionales: A diferencia de los metadatos fijos en los sistemas de
archivos (nombre de archivo, fecha de creación, tipo, etc.), el almacenamiento de objetos
proporciona metadatos de función completa a nivel de objeto para:
27
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Otra de las funcionalidades son que los objetos de datos se pueden configurar en una base por
archivo para permitir el ancho de banda adaptable, incluso a través de múltiples servidores de
almacenamiento de objetos, soportando optimizaciones en ancho de banda y E / S
Interfaces
Utilización
28
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Interfaces
Estos bloques son controlados por el sistema operativo basado en servidor, y generalmente se
accede por los protocolos Fibre Channel (FC), Fibre Channel over Ethernet (FCoE) o iSCSI.
Utilización
Como cada bloque actúa como un disco duro individual y es configurado por el administrador
de almacenamiento, resulta ideal para entornos de virtualización ya que cada bloque admite el
formateo individual de sistemas de archivos como NFS, NTFS o VMFS (VMware) que son
requeridos por las aplicaciones.
Mientras que los dispositivos de almacenamiento de bloques tienden a ser más complejos y
costosos que el almacenamiento de archivos, también tienden a ser más flexibles y
proporcionan un mejor rendimiento.
c) Ficheros
29
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
La estructura de directorios suele ser jerárquica, ramificada o "en árbol", aunque en algún caso
podría ser plana. En algunos sistemas de archivos los nombres de archivos son estructurados,
con sintaxis especiales para extensiones de archivos y números de versión. En otros, los
nombres de archivos son simplemente cadenas de texto y los metadatos de cada archivo son
alojados separadamente.
Interfaces
Los tipos de interfaces más utilizadas en el almacenamiento de ficheros son: (NFS) (CIFS) (FTP)
(TFTP) y SMB.
Utilización
Los sistemas de ficheros normalmente son utilizados para guardar y compartir información en
una red local. También se puede utilizar como medio para brindar DSaaS.
30
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
En base a lo tratado en los epígrafes anteriores ya es posible definir la misión de una SAN o NAS
en un CD. A continuación, en la Tabla 9 se muestran ejemplos de cuando es conveniente la
utilización de SAN o NAS dependiendo de las aplicaciones que sobre esta se desplegarán.
NAS SAN
1-Servidor de Archivos [82] 1-Bases de datos [83] [84] [85]
También es necesario conocer cuando elegir uno u otro en dependencia de los RNF que debe
cumplir el SA. Para ello la Tabla 10 muestra una comparativa realizada por el autor en base al
principio de funcionamiento y a la documentación recopilada en cuanto al cumplimiento por
parte de un sistema u otro en cuanto a los RNF. Las siglas B, M, A significan Bajo, Medio y Alto
respectivamente.
SAN NAS
Dimensiones Categoría Atributos
B M A B M A
Horizontal X X
Comentario
Ambos presentan altos índices de escalabilidad horizontal
pudiéndose añadir nodos aumentando así la capacidad
total de almacenamiento. La limitante es impuesta por la
Escalabilidad
topología de red y la solución de software.
Adaptabilidad
Vertical
Comentario
No depende del sistema sino del Hardware donde se va a
implementar
Interoperabilidad X X
Compatibilidad
Comentario
31
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Desempeño Latencias X X X
Comentario
Una SAN mayormente se utiliza para escenarios donde se
requiera un alto throughput, así como bajos tiempo de
QoS respuesta y latencia. La NAS al utilizar una conexión LAN
no presenta el mismo throughput que una SAN y
encuentra limitado por la congestión de la Red a la que
está conectado.
Eficiencia
Comentario
Depende del equipamiento y su Hardware.
% servicio activo
Disponibilidad
Comentario
Depende de situaciones ajenas al funcionamiento del
sistema.
Disponibilidad Tolerancia a Fallas X x
Comentario
Ambos presentan algoritmos que los hacen tolerantes a
fallas.
Recuperación ante fallas X X
Confiabilidad X X
32
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Comentario
Un sistema SAN posee una mayor velocidad para
recuperarse ante una falla lo que hace que sea un sistema
confiable. Una NAS presenta la limitante que depende del
throughput de la red a la cual esté conectada.
Usuario Final
Administradores
Usabilidad Comentario
No depende de la Arquitectura sino de la solución de
software del SA.
Comentario
Robustez Este aspecto no indica superioridad de uno sobre otro
depende del proveedor de la solución elegido.
Factibilidad
Costos en general X X
Factibilidad
Económica Comentario
Un sistema SAN es mucho más costoso por todo el
equipamiento que este requiere. Por su parte una NAS es
una solución mucho más económica la cual puede ser
implementada hasta para uso doméstico.
Comentario
Seguridad Depende de las políticas que desee implementar el cliente
no del sistema en sí.
No hay dudas que una red de canal de fibra es una red muy rápida aislada normalmente del
tráfico de la red LAN de la empresa. Sin embargo, es muy cara. Las tarjetas de canal de fibra
óptica cuestan alrededor de mil dólares cada una. También requieren adaptadores llamados
(HBAs) para poder convertir de FC a Ethernet. Cada HBA tiene un nombre único mundial
(WWN), que es similar a la MAC de Ethernet ya que se usa un identificador único organizado,
asignado por el IEEE.
Dada la evolución de las redes ethernet hasta 40Gbps y la existencia de los discos de estado
sólido (SSD) con velocidades de escritura y lectura en el orden de los gigabits las redes no
33
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
convergentes de almacenamiento (FC) poco a poco están pasando a un segundo plano y las
empresas poco a poco están migrando poco a poco a redes convergentes que pueden ofrecer
en estos momentos un desempeño muy similar a FC y a un costo mucho menor.
FCoE
Con los comandos de FCoE, los comandos de canal de fibra estándar y los paquetes de datos se
transportan en una infraestructura física 10GbE a través de una sola tarjeta de red convergente
(CNA). El tráfico de Ethernet estándar TCP/IP y las operaciones de almacenamiento de canal de
fibra se pueden transportar a través del mismo enlace. FCoE usa una tarjeta de interfaz de red
física (y un cable) para múltiples conexiones lógicas de almacenamiento y red. Es decir que FcoE
permite una red convergente para llevar tráfico IP y FC, combinando la funcionalidad de una
LAN y una SAN. Muchos centros de datos modernos utilizan redes LAN y SAN convergentes
trabajando juntas como se muestra en la Figura 15
34
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
para servidor de caja de pizza y servidor de cuchilla, ya que ambos tienen espacio muy limitado
para componentes.
Menor costo: El número reducido de conexiones significa una reducción de cables, interruptores
y otro equipo de redes. La historia de Ethernet también presenta grandes economías de escala;
el costo de redes cae de forma dramática cuando la cantidad de dispositivos en el mercado pasa
de millones a mil millones, como se vio declinar el precio de dispositivos de Ethernet de 100Mb
y Ethernet de gigabits.
Igualmente, 10GbE serán más baratos cuando más negocios adapten su uso. Puesto que el
hardware de CNA se integra en un solo chip, el uso extendido también aumentará su volumen
en el mercado, lo cual se traducirá en una caída de precio significativa con el tiempo.
iSCSI
Internet SCSI (iSCSI) es otro tipo de protocolo de red convergente; es una alternativa para FCoE.
Al igual que canal de fibra, iSCSI proporciona almacenamiento de nivel de bloques en una red.
Sin embargo, iSCSI no proporciona una administración total del entorno. La ventaja principal
sobre iSCSI en FCoE es que iSCSI proporciona mucha de la habilidad y flexibilidad de canal de
fibra, pero a un bajo costo.
Las capacidades de red ahora están poniéndose al día con las capacidades que se han ofrecido
en la industria del almacenamiento durante más de una década. SDS representa una nueva
evolución para la industria del almacenamiento en cuanto a cómo se administrará y desplegará
el almacenamiento en el futuro.
35
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
SDS prefiere una interfaz de gestión de almacenamiento estandarizada (como SMI-S) con el fin
de automatizar la gestión de los recursos de almacenamiento y descubrir sus capacidades para
su uso en diversos pools. SMI-S, es un estándar de almacenamiento desarrollado y mantenido
por la Storage Networking Industry Association (SNIA). También ha sido ratificado como una
norma ISO [99]. SMI se basa en el modelo de información común y los estándares de gestión
empresarial basados en Web definidos por el grupo de trabajo de administración distribuida,
que definen la funcionalidad de gestión a través de HTTP. La versión aprobada más reciente de
SMI-S está disponible en el SNIA [100].
Sin embargo, las interfaces de gestión de almacenamiento heredadas son comunes hoy en día,
y predecir su desaparición es prematuro. Además, hay emergentes API de código abierto que
se están convirtiendo en un estándar de gestión de almacenamiento de facto, un ejemplo es
OpenStack Cinder.
Por último, SDS permite a los administradores trabajar con interfaces abstractas que les
permiten gestionar agrupaciones, asignar nuevos recursos, configurar políticas y determinar los
niveles de servicio. Otras características pueden ser consultadas en el ANEXO I.
36
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
entre dichos sistemas [101] [102] [103] [104] [105] [106] . El resultado de la investigación dio a
conocer que los más utilizados fueron de manera general HDFS, Ceph, GlusterFS, iRODS y Lustre
aunque hay otros como QuantcastFS, XtreemFS, MooseFS , PVFS y BeeGFS que también son
utilizados pero en menor medida que los anteriores según los artículos citados y la búsqueda
realizada hasta este momento.
Resultados
Después del estudio de los conceptos básicos que presentan estos sistemas, en teoría, las
arquitecturas descentralizadas parecen escalar mejor que las centralizadas gracias a la gestión
de la carga de trabajo distribuida. Además, la elección de una solución u otra se debe hacer de
acuerdo al uso que se le desee dar. Para obtener rendimiento, replicación asíncrona y el uso de
un único índice para mantener el espacio de nombres, son preferibles arquitecturas
centralizadas mientras que una arquitectura descentralizada es mejor para la gestión de
grandes cantidades de datos y peticiones.
En cuanto a la tolerancia a fallos, se pudo ver que todos, excepto Lustre, detectan el fallo de un
servidor y ponen el mismo en cuarentena de forma transparente para el usuario. También fue
identificada la habilidad de estos para mantener un número de réplicas deseado en aras de
proveer la redundancia necesaria en caso de fallos de lo cual Ceph y GlusterFS son líderes a la
hora de su recuperación.
La escalabilidad es la capacidad del sistema para, sin perturbar su rendimiento, crecer haciendo
frente a un número cada vez mayor de clientes que realizan solicitudes y operaciones de E/S y
también almacenar un número cada vez mayor de archivos de distintos tamaños. En este
ámbito, gracias a que GlusterFS y Ceph no presentan una estructura centralizada en cuanto a
los servidores de metadatos, como los restantes DFS, estos pueden afrontar un gran número
de peticiones de clientes, siendo Ceph el que mejor desempeño presenta en este sentido ya
que distribuye la gestión de metadatos a través de varios servidores de metadatos. Sin embargo,
al tener separada la gestión de los metadatos de la gestión de los datos, con Ceph se requiere
añadir dos tipos de servidores: de metadatos y de datos, lo que lo hace un sistema más complejo
de escalar comparado con GlusterFS.
Se pudo comprobar que HDFS, QFS, PVFS, MooseFS, iRODS y Lustre son más adecuados para
almacenar pequeñas cantidades de grandes archivos mientras que Ceph y GlusterFS son
adecuados para manejar archivos grandes y pequeños. Ceph empeora su desempeño a la hora
de replicar los archivos, debido quizás a la replicación sincrónica, no siendo así para el resto de
los DFS, de los cuales en cuanto a escritura GlusterFS sin dudas es el de mejor desempeño. Sin
37
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
embargo, [106] afirma que en una prueba de desempeño de E/S aplicada a Ceph, PVFS, Lustre
y BeeGFS, se obtiene que Ceph tiene el mejores resultados.
Se pudo observar que tanto Ceph como GlusterFS utilizan un algoritmo para calcular la
localización de los archivos, lo que reduce la carga de trabajo de los servidores de metadatos,
ya que con esta variante son los clientes los que realizan la búsqueda de los archivos a partir de
los datos brindados por los servidores de metadatos, lo que representa una ventaja frente al
método utilizado por el resto de las soluciones.
En cuanto a la detección de fallas todos excepto Lustre, PVFS y QFS, presentan fuertes
mecanismos para la detección de fallas, gracias a que los servidores están totalmente
conectados e intercambian mensajes para estos fines.
Ceph y GlusterFS presentan una alta disponibilidad gracias a que los metadatos están replicados
y su gestión se distribuye entre varios servidores, contrariamente a un sistema centralizado
(como el caso del resto de los DFS), donde los servidores de metadatos representan un punto
único de fallo, que puede causar la pérdida de metadatos y la indisponibilidad del sistema.
Aunque estos últimos implementan mecanismos para resolver este problema, es evidente la
superioridad de Ceph y GlusterFS sobre estos en cuanto a la disponibilidad.
Como la caída de un servidor puede provocar la inaccesibilidad de los datos se utiliza el método
de la replicación, con el cual se realizan varias copias de los datos asegurando la disponibilidad
e introduciendo un problema de coherencia que necesita de sincronización en aras de ser
resuelto. En cuanto a la disponibilidad de los datos, Ceph y QFS almacenan automáticamente
réplicas en bastidores diferentes, verifican automáticamente si la replicación ocurrió de forma
satisfactoria, remueven las mismas cuando no es el caso y utilizan replicación sincrónica (que
provoca inaccesibilidad de los datos durante la ocurrencia de la misma) y en el caso de QFS
también asincrónica. Siendo Ceph y QFS los únicos de los analizados que cuentan con las
características antes mencionadas, es evidente su superioridad con respecto al resto en este
aspecto.
Mientras Ceph y GlusterFS cuentan con algoritmos que distribuyen la carga de trabajo de
metadatos y permiten agregar dinámicamente nuevos servidores, el servidor de metadatos
único de los sistemas centralizados, como es el caso del resto, representa un cuello de botella.
La sobrecarga de los servidores de datos puede provocar que estos tengan que enfrentar más
operaciones de E/S conduciendo así a una congestión en la red. HDFS, QFS, Ceph y GlusterFS
logran resolver este problema mediante la ubicación de los datos de acuerdo con el espacio
libre en cada disco y moviendo datos de servidores sobrecargados a otros no tanto. Aunque
esta última ventaja debe ser realizada de forma manual, no es el caso de QFS, y no automática
como la primera, es apreciable como estos presentan una clara ventaja con respecto al resto.
38
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
En cuanto al soporte por parte de los principales GN se tomó una muestra y se analizaron los
siguientes: OpenStack, VMware, Microsoft, CloudStack, Proxmox y Opennebula. En todos ellos
se puede verificar que los factores comunes son Ceph y GlusterFS [107] [108] [109] [110] [111]
[112] [113] lo que es muy importante ya que demuestra el interés de estos proveedores en
estas soluciones y además las reafirman como una elección por encima de las anteriores
analizadas.
39
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Medio a Medio a
Hardware12 Medio Medio -
Alto alto
Estado En uso En uso En uso En uso En uso
Conclusión
Luego de analizadas las principales soluciones SLCA para SA se llegó a la conclusión de que
evidentemente Ceph y GlusterFS son los que más destacan. Por ello, el autor las propone como
solución, Ceph para una SAN y GlusterFS para NAS. Un desglose de sus principales
funcionalidades (RF) se encuentran en el ANEXO M.
12
La columna Hardware muestra en qué medida son necesarios los recursos de cómputo, siendo el parámetro
“medio” otorgado en dicha columna 4GB de RAM y CPU con dos núcleos
40
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
En primer lugar, se aboga por una infraestructura de red convergente dado el ancho de banda
que actualmente presentan las redes ethernet además de abaratar los costos tanto del
cableado, como de los dispositivos de interconexión y servidores.
El autor aboga por utilizar una SAN en escenarios donde existan máquinas virtuales y
aplicaciones de alto throughput como bases de datos y páginas web, utilizado bloques y objetos
respectivamente y propone como solución de software a Ceph por las ventajas antes
mencionadas (Epígrafe 1.7.5).
En cuanto a una NAS se aboga su utilización para las Salvas y para el almacenamiento de
información variada tales como documentos, fotos, videos con el objetivo de brindar DSaaS.
Para ello se propone como solución a GlusterFS.
El tipo de discos duros en el servidor host o en la matriz de almacenamiento que utilizan los
servidores de archivos tiene un impacto significativo en el rendimiento general de la
arquitectura de almacenamiento. Los factores de rendimiento críticos para los discos duros son:
41
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Otros factores, como la caché de la unidad y el soporte para funciones avanzadas, como NCQ,
TRIM (SATA solamente), Commanded Command Queuing y UNMAP (SAS y Fibre Channel)
pueden mejorar el rendimiento y la duración.
Al igual que con la conectividad de almacenamiento, las altas operaciones de E / S por segundo
(IOPS) y baja latencia son más críticas que el rendimiento máximo sostenido cuando se trata de
dimensionar y el rendimiento de los clientes en el servidor. Esto se traduce en la selección de
unidades que tienen la mayor velocidad de rotación y la menor latencia posible, y la elección de
cuándo utilizar SSD para un rendimiento extremo. En cuanto a ello [114] [115] [116] [117]
muestran los umbrales que se consideran aceptables en cuanto a las latencias de los diferentes
tipos de discos, donde para un HDD las latencias rondan los 15-20 ms aproximadamente y para
un SSD pueden llegar hasta los 5ms. Es necesario señalar que esas son las latencias que
normalmente presentan estos tipos de discos, pero en las referencias citadas no se tomó en
cuenta los tamaños de bloques por lo cual estos umbrales pueden variar.
1.8.2 SAS
Las unidades SCSI (SAS) conectadas en serie suelen ser más caras que las unidades SATA, pero
pueden proporcionar un rendimiento superior en el rendimiento y, lo que es más importante,
una baja latencia. Las unidades SAS normalmente tienen una velocidad de rotación de 10K o
15K RPM con una latencia promedio de 2ms a 3ms e interfaces de 6 Gbps. También hay SAS
SSDs. A diferencia de las unidades SATA, las unidades SAS tienen puertos de interfaz dual que
se requieren para el uso de espacios de almacenamiento agrupados.
La mayoría de las matrices SAN actualmente utilizan unidades SAS; Pero algunas matrices de
extremo superior también utilizan Fibre Channel, unidades SAS y unidades SATA. Por ejemplo,
las unidades SAS se utilizan en el patrón de Infraestructura Definida por Software junto con un
recinto de almacenamiento JBOD, que habilita la función Espacios de almacenamiento.
42
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
de 7.200 RPM y una latencia promedio de alrededor de cuatro milisegundos. Sin embargo,
exponer la unidad SATA a través de una interfaz SAS proporciona todas las características
empresariales que vienen con una unidad SAS, incluyendo múltiples soportes de host, canales
de datos concurrentes, rutas redundantes a la matriz de discos (requerida para espacios de
almacenamiento agrupados) y colas de comandos empresariales. El resultado son unidades SAS
que son capaces de capacidades mucho mayores y disponibles a costos significativamente más
bajos.
Es importante tener en cuenta que, aunque las unidades NL-SAS proporcionan mayor capacidad
a través de la interfaz SAS, tienen la misma latencia, confiabilidad y limitaciones de rendimiento
de las unidades SATA empresariales tradicionales, lo que resulta en mayores índices de fallas de
unidades SATA en comparación con las unidades nativas SAS.
Como resultado, las unidades NL-SAS se pueden utilizar en escenarios de clúster y alta
disponibilidad que utilizan Espacios de almacenamiento, aunque se recomienda
encarecidamente utilizar unidades SSD para implementar niveles de almacenamiento para
mejorar el rendimiento del almacenamiento.
Los últimos años han demostrado una mayor adopción de SSDs en los mercados de
almacenamiento de empresas. Estos dispositivos más caros suelen reservarse para cargas de
trabajo que tienen requisitos de alto rendimiento. La mezcla de SSD con discos giratorios en
matrices de almacenamiento es común para minimizar el costo. Estas matrices de
43
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Para conocer las pruebas que actualmente se utilizan se analizaron varias fuentes de
importancia internacional entre ellas las recomendaciones de organizaciones de
estandarización como el Instituto Nacional de Estándar y Tecnología (NIST), la Unión
Internacional de Telecomunicaciones (UIT), la Distributed Management TaskForce (DMTF) y la
Asociación de Industrias del Almacenamiento en Red (SNIA) [119] [56], [57] [122] [123] [124]
También se analizaron unos de los principales proveedores de Nube Amazon [125], y Microsoft
[126], para conocer las pruebas a las que ellos sometían su infraestructura Nube.
De lo anterior se pudo conocer que Amazon, una de las grandes entidades que posee Nubes
para brindar IaaS, ha realizado algunas pruebas de desempeño a su Nube Amazon Elastic
Compute Cloud (Amazon EC2) basándose en los métodos y las métricas definidas en las
siguientes benchmarks: LMbench, Bonnie, CacheBench y HPC ChallengeBenchmark [61], pero
todas las pruebas estuvieron basadas en las cinco instancias del entorno de Amazon EC2
(m1.small, m1.large, m1.xlarge, c1.medium y c1.xlarge) como bien se describe en el documento
referenciado, lo cual indica que esto no constituye un estándar para métricas ni para evaluación
de desempeño de sistemas, de hecho se conoce que en otras Nubes que brindan IaaS como
GoGrid, Mosso y ElasticHost (EH) no emplean las mismas benchmarks para sus pruebas de
desempeño. Por otro lado, la compañía Microsoft ha publicado un conjunto de pruebas de
44
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
validación para Sistemas de Almacenamiento que soportan clústeres de conmutación por error
[62], las cuales tienen un perfil bastante general, aplicables a una gran variedad de Sistemas de
Almacenamiento, pero tampoco constituyen un estándar [127]. Por su parte, a pesar de los
avances realizados, las organizaciones de estandarización como la SNIA, la UIT y el NIST, no han
obtenido un conjunto de pruebas de validación estandarizadas para evaluar las potencialidades
de los Sistemas de Almacenamiento en general.
En base a lo anterior el autor del presente trabajo propone el conjunto de pruebas de validación
definidas en [118] la que se pueden observar en la Tabla 13 y la que según sus autores están
basadas en las pruebas que realizan los principales proveedores de servicios Nube. No se
identificó una prueba para medir la eficiencia por lo cual el autor propondrá la empleada en
[38] con métricas obtenidas en [128] [129].
Nombre de la prueba
Categorías Subcategorías Descripción
propuesta
45
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
46
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Para ello se realizó una búsqueda para identificar cuáles eran las más utilizadas por la
comunidad. Ya que la naturaleza del software es Código Abierto, no se identificó ninguna
consultora de prestigio que tuviera rankings con respecto a ellas. Es por ello que la elección de
estos softwares se basó principalmente en los RF que cada una podía ofrecer al usuario, la
usabilidad que presentaba y qué instituciones las estaban implementando.
La investigación dio como resultado que las más usadas son: OwnCloud, Seafile y Pydio.
Owncloud [130]
Owncloud fue la que más consumidores presentó con más de 100 organizaciones de las cuales
aproximadamente el 45% son centros de estudios universitarios. Presenta una buena usabilidad
para los usuarios finales y ofrece un sitio web con una demo de la aplicación antes de
descargarla. En cuanto a sus RF cubre la mayoría de las operaciones básicas que desea un
usuario como subir, bajar, borrar y compartir información. Un desglose de todos los RF que
permite Owncloud se encuentran en el ANEXO K. Además, posee addons los cuales le pueden
brindar funcionalidades adicionales como calendario o reproductor de música. También
permite la sincronización de la información entre dispositivos móviles y la PC con la aplicación.
Seafile [131]
Otra buena plataforma de DSaaS. Según el sitio oficial presentan clientes tanto en Alemania,
Francia, Finlandia, Estados Unidos, Canadá, Rusia, Polonia y China. La usabilidad es bastante
buena y como Owncloud posee una web demo para probar sus prestaciones. Además de ofrecer
las funcionalidades básicas ofrece otras muy interesantes no presentes en Owncloud como
establecer permisos específicos a cada carpeta aumentando así la seguridad de la información
ya que evita la eliminación por equivocación. Un desglose de todos los RF que permite SeaFile
se encuentran en el ANEXO K. Como el anterior permite la sincronización de la información
entre dispositivos móviles y el pc con la aplicación.
47
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
Pydio [132]
Por último, se encuentra Pydio y es esta plataforma la que el autor propone. Según el sitio oficial
es utilizada por prestigiosas universidades como la Universidad de Cambridge y la Universidad
de Washington; además por grandes compañías como Seagate y Nikon. La usabilidad a
consideración del autor es excelente y ofrece como distinción aspectos como un tour de inicio
al usuario donde poco a poco le explica cada funcionalidad a medida que la quiera utilizar.
También la forma de gestión de los archivos es diferentes ya que es muy similar a la de un SO
personal permitiendo dar click derecho y desplegándose la cinta de opciones. Posee nuevas
funcionalidades como compresión de archivos y un editor de OpenOffice integrado lo que
permite la edición de documentos personales en cualquier lugar. En suma a lo anterior posee
una libreta de contactos, un reproductor de medios y además realiza todas las operaciones
básicas de archivos. Como los anteriores posee un demo donde el usuario puede probar la
plataforma antes de adquirirla. Un desglose de todos los RF que permite Pydio se encuentran
en el ANEXO K. Como en los casos anteriores permite la sincronización de la información entre
dispositivos móviles y el pc con la aplicación.
Para disminuir errores se debe realizar con profesionalismo, conocimiento, y utilizando las
técnicas y dispositivos adecuados junto a una buena solución de respaldo. Para ello se realizó
una investigación con el objetivo de conocer cuáles son las principales soluciones SLCA que
permiten cumplir este objetivo.
Se pudo identificar que las más utilizadas de forma general son Bácula y Amanda Backup [133].
Ambas son soluciones muy utilizadas y ambas poseen RF parecidos. Además, ambas tienen un
roadmap excelente que como promedio se puede identificar que presentan una nueva versión
cada año. Ambas poseen gran soporte de sistemas operativos, tanto propietarios como
privados.
Ambas son soluciones excelentes pero el autor propone a Bácula ya que esta posee, a diferencia
de Amanda Backup, una mejor documentación, un mejor soporte y una mejor usabilidad ya que
48
Capítulo 1: “Procedimientos de diseño de sistemas de almacenamiento. Elementos
considerados relevantes en el proceso de diseño.”
cuenta con una interfaz web mucho más amigable al usuario. Además, a diferencia de Amanda
Backup, Bácula es empleada por centros de gran prestigio internacional según su sitio web tales
como: NASA, Banco de Austria, Universidad de Texas, Universidad Leibniz de Hannover, entre
otras [134]. Un resumen de los RF tanto de Amanda Backup como Bácula puede encontrarse en
el ANEXO L
1.12. Conclusiones
El análisis realizado a los métodos planteados por las diferentes instituciones revela los puntos
comunes que tienen las grandes compañías, así como sus deficiencias a la hora de realizar un
diseño con la filosofía del top-down enfocada al SA. En los casos estudiados se destacó la
ausencia de información y criterios para elaborar pruebas para medir diferentes variables que
permitan crear un criterio cualitativo y cuantitativo del SA en CD privados. También que en casi
ninguno se tiene en cuenta los requerimientos específicos de cada institución, sino que
proponen un diseño genérico no dimensionado.
Todo la anterior expuesto sentó las bases para elaborar un método para el diseño de SA acorde
con los principios de la filosofía top-down, tomando los aspectos positivos de cada uno de los
métodos de diseño analizados, los tipos de SA, así como las disímiles recomendaciones
estudiadas.
49
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
Capítulo 2: “Método de diseño de sistemas de almacenamiento para Nubes Privadas con soporte
para IaaS para pequeñas y medianas empresas”
2.1. Introducción
Hasta ahora se ha podido analizar los aspectos más importantes a tener en cuenta a la hora de
implementar un SA que cumpla con los requerimientos impuestos por las aplicaciones y el
cliente. Luego del análisis realizado en el capítulo anterior y con el objetivo de dar cumplimiento
al objetivo planteado en este trabajo se ha propuesto un método de diseño de sistemas de
almacenamiento para Nubes Privadas con soporte para IaaS para pequeñas y medianas
empresas basado principalmente en la filosofía de diseño Top-Down, así como las pruebas para
evaluar el proyecto obtenido. La comprensión de cada una de las fases que componen el
método resulta de vital importancia para su correcta implementación en la práctica, por esta
razón en el siguiente capítulo se realizará un análisis exhaustivo de cada fase planteada.
50
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
Este método se compone de una fase de inicio, procesos, subprocesos y un final. Existen zonas
que son iterativas por la importancia que estas poseen y no es posible el avance hasta que se
obtenga un resultado positivo logrando así la calidad requerida.
El autor recomienda no saltarse fases ya que estas tienen un impacto directo en las posteriores
ya que la forma de diseño fue de tipo secuencial e iterativa. Cada fase del proceso será
desarrollada ampliamente en los epígrafes posteriores.
51
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
Para ello se hace necesario realizar una serie de pruebas a las aplicaciones para obtener los
datos necesarios. Las siguientes pruebas son basadas en [38] como se expone en el estado del
arte, las cuales son realizadas tanto en entornos de desarrollo como en producción. Su
estructura pude ser consultada en el ANEXO F.
2- Identificar los datos generales de las aplicaciones (ver tipos de aplicaciones en el Anexo H)
y los servicios a soportar.
52
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
Aplicaciones Nuevas15
Aplicaciones Futuras
A consideración del autor se sugiere desplegarlas de forma multitiers siempre que la aplicación
lo permita porque contribuye al desempeño y elasticidad, aunque en algunos casos puede
resultar más complicada su instalación.
Para las aplicaciones existentes se realizarán pruebas en producción, mientras que para las
nuevas y futuras se consultarán las sugerencias y/o indicaciones del ecosistema16 entorno a la
aplicación en cuanto a su dimensionamiento. Se propone emplear las pruebas de desarrollo
para medir y comprobar el funcionamiento de las aplicaciones y la calidad del servicio.
3- Identificar los servicios de:
Si se ofrece DSaaS es necesario realizarle una encuesta al cliente para seleccionar los RF
fundamentales que debe cumplir el servicio. Estos RF influyen en la selección del software a
utilizar:
A nivel de Usuario:
13
Tributa a la tolerancia a fallos y la elasticidad, por ende, al desempeño.
14
La aplicación puede ser desplegada en varias MV.
15
Aplicaciones nuevas a agregar a corto plazo.
16
Todo aquel elemento que contribuya a la consolidación del producto, ej: libros, guías, blogs, videos tutoriales.
53
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
A nivel de Negocio:
A nivel de Administración:
54
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
Almacenamiento
Almacenamiento Capacidad (GB)
Throughput
Aplicac Servic M No Throughp
No Dimensionamiento IOPS
ión ios V do Disc Tot ut (Mbps)
utiliza
os al Adecu Su Sob Pro Ma Pro Ma
do
ado b. re m. x. m. x.
Aplicaciones Existentes
Aplicaciones Nuevas
Aplicaciones Futuras
Instalación y configuración:
2. Configurar agentes de la HG en todas las MV, así como las plantillas y disparadores
necesarios para monitorear las métricas establecidas.
Pruebas:
55
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
Almacenamiento
Almacenamiento Throughput
Capacidad (GB)
Aplicación Servicios MV Nodo Throughput
IOPS
Discos Total (Mbps)
Prom. Max. Prom. Max.
Aplicaciones Existentes
Aplicaciones Nuevas
Aplicaciones Futuras
TOTAL
1. Consultar con el cliente si desea mantener el dimensionamiento que tenían las MV o usar
uno propuesto por él, en este caso la tabla se completaría con los valores que el cliente
especifique. Por otra parte, el cliente puede aceptar las sugerencias y conclusiones a las que
se arribaron en la Tabla 16 respecto al dimensionamiento de las MV luego de aplicar las
pruebas de utilización y se reajustarían los valores.
2. Utilizar los datos obtenidos en la Tabla 16 para completar la tabla y dimensionar en función
de la utilización. Si se desea lograr elasticidad vertical se debe establecer como cuota
superior e inferior utilizando el máximo y promedio respectivamente. En caso de no poder
brindar elasticidad vertical se establecerá como valores de Almacenamiento y Red el valor
90 percentil de los máximos obtenido en la Tabla 16 Este dimensionamiento solo es en
función de los usuarios actuales.
3. Para dimensionar en función de los usuarios futuros de forma aproximada es necesario
aplicar la ecuación 1 a cada una de las métricas obtenidas en el paso anterior.
𝑈𝑡𝑖𝑙𝑖𝑧𝑎𝑐𝑖ó𝑛 𝑎𝑐𝑡𝑢𝑎𝑙×𝑈𝑠𝑢𝑎𝑟𝑖𝑜𝑠 𝑓𝑢𝑡𝑢𝑟𝑜𝑠
𝑈𝑡𝑖𝑙𝑖𝑧𝑎𝑐𝑖ó𝑛 𝑓𝑢𝑡𝑢𝑟𝑎 = (1)
𝑈𝑠𝑢𝑎𝑟𝑖𝑜𝑠 𝑎𝑐𝑡𝑢𝑎𝑙𝑒𝑠
56
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
Si se va a brindar IaaS es necesario completar los datos de la Tabla 18 que recogen los recursos
asignados por cliente. Es necesario tenerlos en cuenta además del dimensionamiento por MV
para el dimensionamiento total de la infraestructura.
Almacenamiento
Almacenamiento Throughput
Capacidad (GB)
Aplicación Servicios MV Nodo Throughput
IOPS
Total (Mbps)
Total Total
En el Anexo E se encuentran todos los RNF propuestos los cuales son basados en las
conclusiones y definiciones expuestas en el Epígrafe 1.5 y han sido organizados por
dimensiones, categorías, atributos, métricas y la acción propuesta por el autor para obtenerlas.
1- Seleccione de las siguientes categorías cuál desea que posea una mayor prioridad. Se
deberá asignar una numeración ascendente donde los números más bajos representan
mayor prioridad comenzando por 1. En caso de que no sea importante su prioridad dejar
en blanco.
__Restricciones de localización: Ej.: deben evitarse locales que limiten la expansión por su
cercanía con componentes de la edificación como elevadores, muros exteriores, etc.
__Restricciones de espacio: Es necesario verificar el espacio asignado para el SA para así poder
conocer las dimensiones del servidor a comprar y poder escalar de forma óptima.
57
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
__Restricciones arquitectónicas: Ej.: la altura mínima del cuarto debe ser de 2.6m desde el piso
hasta cualquier obstrucción superior como lámparas, cámaras, rociadores, etc.
4- En cuanto a compatibilidad:
a) ¿Qué sistema operativo se utilizará con la solución?
b) ¿Qué gestor se empleará?
5- En cuanto a capacidad:
a) ¿Qué espacio en GB deberá asignarse a utilizar por las instancias virtuales en total?
¿Qué nivel de redundancia deberá tener?
17
Siglas correspondientes al término en Inglés: Heating, Ventilation, and Air Conditioning
58
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
b) ¿Qué espacio en GB deberá asignarse para las salvas? ¿Qué nivel de redundancia
deberá tener?
c) ¿Qué espacio en GB deberá asignarse para ofrecer DSaaS? ¿Qué nivel de
redundancia deberá tener?
9- En cuanto a la usabilidad que poseen los administradores para gestionar responda las
siguientes interrogantes:
¿Cómo califican la facilidad de instalación del sistema? __Buena __Mala __Regular
¿Cómo califican la curva de aprendizaje de gestión del sistema? __Fácil __Medio __Difícil
¿Cómo califican las opciones de gestión del sistema (Web, CLI, Otra Herramienta)?
__Buena __Mala __Regular
18
Para ello es necesario la búsqueda en grandes consultoras internacionales como Gartner, Forrester, IDC o
RightScale
59
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
RNF del CD, en caso de que no sea capaz, permite conocer las limitaciones que dan origen a
estas deficiencias del SA inicial.
Si el SA inicial es capaz de cumplir con los RNF definidos en el paso anterior no habrá necesidad
de realizar ningún diseño de un nuevo SA, por lo que el método propuesto concluiría justo en
este paso de la primera fase. Esto es importante pues de no realizar esta caracterización, no se
podría llegar a esta conclusión, lo que podría traerle a la empresa gastos significativos debido al
diseño de un nuevo SA. Si por el contrario el SA inicial no es capaz de cumplir con estos
requerimientos se debe continuar con el método.
En caso positivo, se valorará si el sistema cumple con los RNF de las aplicaciones y del CD en
general además de las otras restricciones impuestas por el cliente (Epígrafe 2.3). Si lo anterior
es satisfactorio entonces se reutilizaría el SA inicial.
60
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
El segundo paso consistirá en la selección del SA en sí. Aquí se debe conocer muy bien cuando
se deberá emplear una SAN o NAS, en función de RNF, y propósito en CD, ventajas y desventajas
que traería el uso de uno u otro (Epígrafe 1.7). Además, se deberá identificar las principales
soluciones SLCA hoy en el mercado, las que destacan, para en función de esto con propiedad,
proponer (Epígrafe 1.7.4). Siempre debe abogarse por una solución, en caso de que no exista
ninguna restricción en cuanto a ello, definida por software y redes convergentes (Epígrafe 1.7.3)
con el objetivo de abaratar los costos de inversión.
Para el tercer paso, luego de haber escogido la solución se procederá con las pruebas como las
propuestas en el Epígrafe 2.10. Si son satisfactorias se procederá al siguiente paso que es el
diseño del sistema en sí. En caso negativo se deberá replantear la selección de otro SA que
responda correctamente a los RNF y restricciones impuestas.
El cuarto paso consiste en diseñar utilizando el SA elegido para lo cual debe realizarse el diseño
lógico (Epígrafe 2.8.1), el diseño físico (Epígrafe 2.8.2) y finalmente probar el SA una vez
diseñado correctamente e instalado (Epígrafe 2.10).
El primer paso para comenzar con el diseño, es el diseño lógico del SA y de los subsistemas que
lo componen tal como Salvas y el almacenamiento como servicio (DSaaS). Los procedimientos
que siguen le son aplicable al SA y a sus subsistemas.
El segundo paso consiste en identificar las recomendaciones de diseño lógico propuestas por el
proveedor. En la mayoría de los casos las soluciones de software imponen topologías específicas
las cuales deben ser cumplidas ya que estas constituyen recomendaciones de los proveedores
y en la mayoría de las veces que esto es incumplido trae consigo bajo desempeño y un no
correcto funcionamiento del sistema.
61
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
Ejemplos:
En el caso del sistema SAN Ceph, la solución impone dos redes: 1- Red cliente: la que es
encargada de la comunicación entre el SA y el acceso a la información la cuál debe ser como
mínimo de 10 Gbps; 2- Red del Clúster: la que es encargada de las operaciones propias del SA
como la replicación y el rebalanceo y recomiendan el mayor ancho de banda de red posible en
dependencia de la velocidad de escritura y lectura. Ver Anexo N para más detalles sobre su
diseño lógico.
En el caso del sistema de salvas Bácula se hace necesario 2 nodos adicionales: 1-Director que es
donde va a estar el demonio de salvas, así como el demonio web del sistema de salvas y debe
tener acceso al almacenamiento para alojar allí las salvas; 2- Server de Base de Datos necesario
para su funcionamiento y el control de las salvas. Aquí se recomienda que el almacenamiento
sea en una NAS, aunque también se puede utilizar una SAN. Ver Anexo N para más detalles
sobre su diseño lógico.
En el caso del DSaaS Pydio solo se requiere un Servidor que es donde va a estar alojado el
software de DSaaS y su interfaz web. Además, este servidor debe tener acceso al SA y se
recomienda que sea una NAS, pero también puede ser implementado en una SAN. Ver Anexo
N para más detalles sobre su diseño lógico.
El tercer paso consiste, después de saber cuál es el diseño que propone el proveedor, crear el
diseño lógico de los componentes de cada subsistema. Cada subsistema en la mayoría de los
casos posee:
62
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
1- Nodos de cómputo: Son los designados para el procesamiento que requiere el software
de la solución. Normalmente estos nodos poseen un mayor desempeño que los nodos
estándar. Debe leerse siempre la recomendación de HW que ofrece el proveedor para
no recaer en gastos innecesarios.
2- Nodos de control: Como su nombre lo indica son los nodos donde se realiza el control
del sistema, se establecen configuraciones y de manera general se gestiona el sistema.
Estos nodos normalmente no requieren altos rendimientos solo una conexión de red al
sistema. Normalmente los nodos de control por sus bajas prestaciones se implementan
en conjunto con los de cómputo, es decir que desde el propio nodo donde se procesa el
sistema también se realiza su control.
3- Red del Sistema: Ya que se abogará por una solución de redes convergentes es necesario
conocer algunos parámetros claves que esta debe soportar:
Ancho de Banda: Para ello es necesario el estudio de la solución a implementar para
poder conocer el ancho de banda que requiere para su operación.
Protocolos soportados: según un estudio realizado se muestra que VLAN es el protocolo
más empleado, permite segmentar el tráfico de la red y garantizar su aislamiento y
puede soportar 4096 VLANs. Por otro lado, los proveedores utilizan MC-LAG para evitar
los lazos y utilizar los enlaces que se bloquean con el uso de STP. En algunos casos solo
se propone el empleo de STP por si ocurre algún error o desconfiguración de MC-LAG.
Para lograr un mayor desempeño y balance de carga se apoyan en LACP. Una mayor
escalabilidad es posible con el despliegue de redes capa tres, los proveedores proponen
utilizar protocolos como OSPF, IS-IS y BGP que permiten ECMP, recomiendan OSPF para
CD pequeños y medianos, y BGP para grandes CD. Normalmente se utiliza VRRP para
garantizar redundancia en el primer salto. A consideración del autor del presente trabajo
se seleccionarán dispositivos con soporte para OpenFlow que permitan evolucionar a
una solución SDN en un futuro.
4- Gestión: Esto es necesario para mantener nuestro sistema con un correcto
funcionamiento y ser proactivo ante alguna falla. Para ello se hace necesario la elección
de una herramienta o herramientas de gestión que cubran las cinco áreas funcionales:
Fallas, Configuración, Prestaciones, Seguridad y Contabilidad (ANEXO Ñ). Como los
anteriores subsistemas presenta también su propio diseño lógico por lo que
nuevamente el autor recomienda la lectura de la documentación del proveedor.
El quinto paso consiste en identificar cada sistema en particular el espacio que requiere para su
funcionamiento y posteriormente (sexto paso) obtener la capacidad de almacenamiento total
requerida, así como los requerimientos de Hardware total (incluye red). Para ello el autor
propone la siguiente tabla:
63
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
Cómputo
Red Requerida Mínimo
Capacidad en
Factor de Necesario
Sistema Nodo GB sin
Redundancia Ancho de
redundancia Número de
banda CPU RAM
interfaces
requerido
Salvas
DSaaS
SA
Para el cálculo de la capacidad final que deberá soportar el SA el autor propone las siguientes
fórmulas:
El séptimo paso consiste en realizar las pruebas para validar si lo implementado realmente
responde a las expectativas y a los RNF. Para ello el autor propone el sistema de pruebas del
Epígrafe 2.10.
En caso de ser satisfactorias se documenta el proceso y terminaría esta fase. En caso negativo
el proceso comienza nuevamente por el paso dos.
En esta fase se comienzan a añadir por primera vez los componentes físicos que formarán parte
del SA. Es de gran importancia realizar una buena selección, pues estos son los que determinan
en gran medida el futuro rendimiento y estabilidad del sistema. Aunque se tenga un buen
diseño lógico que cubra con todos los requerimientos planteados, si este no está acompañado
de unos componentes que lo respalden la solución planteada carecerá de madurez y eficacia.
Al igual que en las demás fases estudiadas hasta ahora, se propone un procedimiento para
simplificar esta fase de diseño del sistema mostrado en la Figura 20.
64
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
El primer paso del diseño físico consistirá en valorar las condiciones físicas del local será
instalado el SA. Esto es de vital importancia para el diseño ya que este factor imprime varias
restricciones al diseño como son:
Para mitigar estos efectos es necesario analizar varios elementos del local que influyen directa
e indirectamente sobre el SA y los demás sistemas del CD en general. Del análisis de estos
elementos depende en gran medida la posible aplicabilidad del proyecto de almacenamiento e
incluso puede encarecer más los costos debido a la compra o alquiler de algún local que reúna
las condiciones adecuadas para la implementación del SA. Los elementos críticos a tener en
cuenta son:
65
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
Esto tiene como objetivo fundamental reducir los costos del SA en la medida de lo posible,
mediante la utilización de equipos de la empresa para el SA, esto evitaría la compra de
equipamiento extra para el sistema. Muchas empresas poseen en sus CD equipamientos que
no se encuentran realizando labores importantes para la empresa por lo que hay veces que se
puede prescindir de ellos y sus funciones pueden pasar a otros equipos, esto depende mucho
de las condiciones particulares que existan en cada CD por lo que el nivel de cumplimiento de
este paso no siempre será el mismo en las empresas y en muchas ocasiones puede resultar
totalmente contraproducente su realización.
En caso de ser afirmativa conduce a otra interrogante ¿cumple con el diseño lógico
recomendado por el proveedor? Para responder a esta interrogante se debe haber realizado
previamente el diseño lógico (Epígrafe 2.8.1). En caso de que sea negativo proseguimos con el
paso tres.
El tercer paso lo constituye la elección en sí del Nuevo Hardware, el cual, evidentemente debe
cumplir con los RNF y el diseño lógico antes planteado. Para elegir el nuevo Hardware el autor
propone las siguientes recomendaciones:
1- En primer lugar, realizar un estudio para conocer cuáles son los principales proveedores
de Hardware, tanto para almacenamiento como para red a nivel mundial. Para ello el
autor recomienda la búsqueda de estos en consultoras de prestigio internacional como
Forrester19, Gartner20 ,IDC21 o RightScale22. Un estudio de estos proveedores se realizó
en el Epígrafe 1.3.
2- Luego de tener identificado a los principales proveedores de Hardware es momento de
buscar las ofertas/soluciones que estos proponen, por su puesto, eligiendo aquellas que
cumplan con el diseño establecido
3- Luego de tener identificada las soluciones nos enfocamos a ver la renovación de los
productos y los roadmaps de las soluciones de software. El autor propone elegir aquella
a la cual le den un mayor soporte, así como la que muestre mayor acogida a nivel
mundial.
19
Forrester Research es una empresa independiente de investigación de mercados que brinda asesoramiento
sobre el impacto existente y potencial de la tecnología a sus clientes y al público en general.
20
Gartner Inc. es una empresa consultora y de investigación de las tecnologías de la información con sede en
Stamford, Connecticut, Estados Unidos.
21
International Data Corporation (IDC) es el principal proveedor mundial de inteligencia de mercado, servicios
de asesoramiento y eventos para el mercado de tecnología de la información, telecomunicaciones y tecnología
de consumo.
22
RightScale permite a las empresas líderes acelerar la entrega de aplicaciones basadas en la nube que atraen a
los clientes y generan ingresos de primera línea mientras optimizan el uso de la nube para reducir el riesgo y los
costos.
66
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
4- Después de tener definida la solución es posible tener uno o más proveedores que
cumplan con los requisitos anteriores. Para ello se realiza un análisis de la relación
Costo/Prestigio donde la decisión final queda en manos del cliente.
En caso en que la respuesta del segundo paso sea positiva nos dirigimos al paso tres alternativo
donde comprobamos si el Hardware heredado cumple con los requerimientos y la capacidad
total es la requerida. En caso positivo se procede a la documentación final. En caso negativo, no
necesariamente puede ser problema de Hardware, sino que es posible que sea necesario con
ese mismo HW agregar un componente extra. Si no es necesario, se procede con el paso tres,
en caso afirmativo, se procedería a analizar los datos que ofrece el proveedor acerca de la
obsolescencia. Si se comprueba que es obsoleto entonces no vale la pena adquirir un nuevo
equipamiento para este tipo de caso ya que podría en un futuro provocar pérdidas innecesarias
a la hora de buscar piezas de repuesto que es posible que ya no estén a la venta por el proveedor
oficial; y entonces se pasaría nuevamente al paso tres. En caso que no sea obsoleto entonces si
podemos elegir los componentes necesarios.
Estos componentes extras pueden ser necesarios para el funcionamiento del SA como discos
duros (Epígrafe 1.8) y nuevas tarjetas de red. En este paso resulta importante tener en cuenta
nuevamente el fabricante de cada uno de los componentes que se van a emplear en el sistema
pues cada uno de ellos goza de diferentes grados de consolidación a nivel internacional y poseen
diferentes políticas de garantía y atención técnica, esto puede afectar indirectamente el
rendimiento a largo plazo del sistema.
Otro aspecto a tener en cuenta durante esta selección es el presupuesto aprobado para el SA,
se debe tener cuidado de no superar los límites establecidos debido a la búsqueda de los
mejores componentes individuamente, por lo que en ocasiones habrá que tomar decisiones
para adquirir los componentes con la mejor relación calidad/precio posible en función del
presupuesto disponible.
Finalmente documentar todo el proceso.
2.10. Pruebas para caracterizar y evaluar el sistema de almacenamiento
El siguiente modelo de pruebas se compuso basado en los aspectos propuestos en el Epígrafe
1.9 con el objetivo de validar el SA a utilizar y los RNF propuestos por el autor en el ANEXO E. En
este caso se emplearon herramientas de software libre y código abierto para la obtención de
los resultados dada la naturaleza del SA a emplear las cuales se describen en la Tabla 20. Es
preciso destacar que lo importante de este modelo es la estructura que presenta, la cual es
aplicable a cualquier SA, obviamente, modificando algunos parámetros como la configuración
de la herramienta. Los restantes RNF no presentan un modelo de pruebas por lo que deben
evaluarse según las métricas definidas en el ANEXO E.
67
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PRUEBA #1
Recursos a emplear:
Para realizar las pruebas de throughput e IOPS en los discos se empleará la herramienta Fio
mientras que para realizar las pruebas de throughput en la red del SA se empleará la
herramienta Iperf.
Descripción de la prueba:
Instalación y configuración:
68
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
Pruebas:
Los tamaños de bloques a emplear serán 4KB, 64KB, 256KB y 1024KB debido a que se desea
comprobar el rendimiento de los discos con diferentes tamaños de bloques puesto que el SA
será expuesto a ficheros de tamaño variable.
69
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
2. Generar los gráficos empleando los datos de throughput e IOPS de las diferentes
operaciones analizadas.
3. Generar las tablas correspondientes al Throughput de la red tanto pública como del
clúster de almacenamiento respectivamente.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PRUEBA #2
Objetivo: Obtener los tiempos de respuesta para las distintas operaciones realizadas sobre los
discos y el SA en general.
Las métricas a medir son los tiempos de respuesta de los discos y del SA a distintos tamaños
de bloques.
Recursos a emplear:
Descripción de la prueba:
Instalación y configuración:
Pruebas:
70
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
2. Generar los gráficos empleando los datos de latencia de las diferentes operaciones
realizadas en los HDD y en el clúster del SA.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PRUEBA #3
1. Tolerancia a fallos
2. Recuperación ante fallos
3. Confiabilidad
4. Escalabilidad Horizontal
Recursos a emplear:
Descripción de la prueba:
Instalación y configuración:
1. Instalar el SO
2. Configurar las interfaces de redes
3. Instalar los paquetes del SA.
Pruebas:
71
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
En esta prueba no se hace necesario la limpieza del escenario puesto que no se empleó
ninguna herramienta externa al funcionamiento del SA.
Verificar si el sistema pudo escalar de forma horizontal correctamente sin que hubiera pérdida
de información.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PRUEBA #4
Recursos a emplear:
Descripción de la prueba:
1. Configurar la herramienta FIO para generar escrituras y lecturas aleatorias con varios
tamaños de bloques en cada nodo del SA.
2. Luego de configurar la herramienta FIO ejecutarla de forma simultánea en todos los
nodos que componen el SA lo cual simulará las distintas peticiones de E/L de los clientes
al SA en un ambiente de alta demanda.
72
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PRUEBA #5
Duración: un mes
Recursos a emplear:
Herramienta de monitoreo.
Descripción de la prueba:
Pruebas:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PRUEBA #6
Duración: Permanente
Número de iteraciones: --
73
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
Recursos a emplear:
Herramienta de monitoreo.
Descripción de la prueba:
Pruebas:
Monitorear el uso del SA en producción en el horario de mayor demanda por parte de los
usuarios en el lugar donde se encuentra implementado el SA.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PRUEBA #7
74
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
Recursos a emplear:
1. Herramienta de monitoreo.
2. SPECpower_ssj2008.
3. Herramienta stress y scripts de prueba.
Descripción de la prueba:
Instalación y configuración:
Pruebas:
1. Medir el consumo de potencia con todos los nodos del SA encendidos y ninguna
tarea ejecutándose durante 10 minutos.
2. Ejecutar stress directamente sobre todos los nodos del CD y medir el consumo
de energía del CD durante 10 minutos.
3. Durante cada fase se monitoriza la:
Potencia total consumida por el SA.
Capacidad utilizada/Capacidad total en %
GB/watt
IOPS/watt
Mbps/watt
1. Calcular media, desviación estándar y umbral del 95 % percentil para cada valor de las
métricas.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
75
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
El primer paso para comenzar con el procedimiento será la siguiente interrogante que deberá
realizarse al cliente ¿existe como restricción el empleo de una solución en particular?, la cual
en caso afirmativo conlleva a una segunda interrogante que deberá realizarse el diseñador
¿cumple con los RNF y las restricciones? Y en caso de ser afirmativa se procederá a su
implementación en un sistema tipo NAS ya que es el recomendado para estos fines.
En caso opuesto que no exista una restricción de uso de una solución en particular o que la
solución que se propuso no cumpliera con los RNF entonces se continuará con la siguiente
interrogante ¿el gestor de Nube posee su propio sistema de salvas? Esto es muy importante ya
que en varios casos el gestor posee su propio sistema de salvas integrado con funcionalidades
que cumplen con los requerimientos expuestos y no se hace necesaria la aplicación de una
nueva solución.
En caso de que el gestor incluya un sistema de salvas se realiza la misma interrogante que al
inicio ¿cumple con las restricciones y los RNF? En caso afirmativo se procede a su
implementación. En caso negativo nos vamos a elegir una solución en el mercado.
Para la búsqueda de una solución en el mercado es muy importante, en primer lugar, que sea
SLCA, en segundo lugar, que cumpla con los RNF y restricciones, en tercer lugar, que tenga
76
Capítulo 2 “Método de diseño de sistemas de almacenamiento para Nubes Privadas con
soporte para IaaS para pequeñas y medianas empresas”
usabilidad y en cuarto lugar que tenga soporte. Una comparativa entre las principales soluciones
de salvas más utilizadas se encuentra en el Epígrafe 1.11.
2.12. Conclusiones
El método propuesto en este capítulo cumple con el diseño top-down y es aplicable a todas las
pequeñas y medianas empresas bajo el paradigma de la Computación en la Nube. Este método
toma en cuenta desde un inicio las necesidades de la institución lo que garantiza un diseño
adaptado a las condiciones y requerimientos reales del negocio. Ofrece una serie de
herramientas y pasos de diseño para la correcta implementación del mismo, así como para
disminuir el tiempo de despliegue.
77
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
3.1. Introducción
El método planteado en el capítulo anterior debe pasar por un proceso de validación para
demostrar la eficacia real que posee cuando es llevado a la práctica. Mediante este proceso se
comprueba si es capaz de crearse un SA acorde a las necesidades de las instituciones, su
capacidad de aportar claridad en el proceso de diseño, y sobre todo si su estructura permite
evitar problemas comunes que se presentan en el diseño de estos sistemas, ahorrando tiempo
de ejecución. Para llevar a cabo esta tarea se seleccionó a la Universidad Tecnológica de La
Habana (CUJAE).
Misión:
Visión:
78
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
los procesos sustantivos del centro. La VRIC acorde a dicha estrategia ha trazado las siguientes
metas:
Mantener los niveles de los servicios ofrecidos por la Red-CUJAE haciendo un uso más
eficiente de los recursos disponibles.
Aumentar la cantidad y calidad de servicios ofrecidos por la Red-CUJAE a partir de la
disponibilidad de hardware.
Aumentar la productividad del personal que gestiona el CPD mediante la explotación de
las facilidades ofrecidas por tecnologías más recientes.
Disponer de la infraestructura necesaria para introducir nuevos modelos de servicios en
la universidad.
Beneficiar a facultades y centros del instituto con los modelos de servicios propios de
las tecnologías actuales, reduciendo las necesidades de adquisición de hardware.
Antes de su implementación es necesario conocer las regulaciones y/o política a cumplir por el
SA. Para ello se realizó la encuesta propuesta en el Epígrafe 2.3 a los administradores de red de
la Universidad.
79
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
80
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
23
Tributa a la tolerancia a fallos y la elasticidad, por ende, al desempeño.
24
La aplicación puede ser desplegada en varias MV.
81
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
Entornos de Producción
La Tabla 23 muestra las métricas de utilización correspondientes a uno de los squids encargados
de ofrecer el servicio de internet a los usuarios utilizando la prueba definida en el Epígrafe 2.4.2
Almacenamiento
Almacenamiento Capacidad (GB)
Throughput
Aplica Dimensionamie Throughput
MV Nodo No IOPS
ción Dis To nto (Kbps)
utiliz
cos tal Adec Su So Pro M
ado Prom. Max.
uado b. bre m. ax.
L E L E
Carga ascendente
Naveg
ación
Squi yoda.cuja 10 0.4 1, 2.6 2
por 1 7.4 x 3
d03 e.edu.cu .7 3 10 1 0
intern
et
Carga descendente
Naveg
ación 1
Squi yoda.cuja 10 0.7 0, 10.
por 1 7.4 x 3 3
d03 e.edu.cu .7 6 88 83
intern 6
et
Carga por Picos
82
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
Naveg
ación
Squi yoda.cuja 10 0.4 3. 1, 3
por 1 7.4 x 2.1
d03 e.edu.cu .7 37 2 55 2
intern
et
Sobrecarga
Naveg
ación
Squi yoda.cuja 10 2, 4
por 1 7.4 x 0.8 4 4.4
d03 e.edu.cu .7 10 0
intern
et
Comentario: Podemos observar que el comportamiento generando cargas es muy similar a un
día típico lo que confirma que, a pesar de exponer el servicio bajo ciertas condiciones
anormales, aun así, no tiene influencia alguna sobre el almacenamiento.
Almacenamie
nto Capacidad Almacenamiento Throughput
Aplicació (GB)
MV Nodo
n IOPS Throughput (Kbps)
Discos Total Pro Ma
Prom. Max.
m. x.
L E L E
Aplicaciones Existentes
Navegaci
Squid yoda.cujae.ed 10.2 253. 20.4 45
ón por 1 5 1.5 4
03 u.cu 5 7 5 0
internet
10.2 253. 20.4 45
TOTAL 1 5 1.5 4
5 7 5 0
Comentario: Podemos observar luego de dimensionar correctamente el servicio se aprecia un
ajuste en el consumo de recursos que este presentará. Correctamente dimensionado se ahorra
un 50% de espacio de disco asignado y calculando el 90 percentil de los máximos se obtienen
valores mucho menores y más reales del comportamiento de servicio en un día típico.
83
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
1- Seleccione de las siguientes categorías cuál desea que posea una mayor prioridad. Se deberá
asignar una numeración ascendente donde los números más bajos representan mayor
prioridad comenzando por 1. En caso de que no sea importante su prioridad dejar en blanco.
_9_Restricciones de localización: Ej.: deben evitarse locales que limiten la expansión por su
cercanía con componentes de la edificación como elevadores, muros exteriores, etc.
_3_Restricciones de espacio: Es necesario verificar el espacio asignado para el SA para así poder
conocer las dimensiones del servidor a comprar y poder escalar de forma óptima.
_7_Restricciones arquitectónicas: Ej.: la altura mínima del cuarto debe ser de 2.6m desde el piso
hasta cualquier obstrucción superior como lámparas, cámaras, rociadores, etc.
25
Siglas correspondientes al término en Inglés: Heating, Ventilation, and Air Conditioning
84
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
4- En cuanto a compatibilidad:
¿Qué sistema operativo se utilizará con la solución?
R/Sistema Operativo Linux
¿Qué gestor se empleará?
R/Gestor OpenNebula
5- En cuanto a capacidad:
¿Qué espacio en GB deberá asignarse a utilizar por las instancias virtuales en total? ¿Qué nivel de
redundancia deberá tener?
R/ 1TB con redundancia 3
¿Qué espacio en GB deberá asignarse para las salvas? ¿Qué nivel de redundancia deberá tener?
R/1 TB con erasure code
¿Qué espacio en GB deberá asignarse para ofrecer DSaaS? ¿Qué nivel de redundancia deberá
tener?
R/ 500 GB con redundancia 2
7- En cuanto a la usabilidad que poseen los administradores para gestionar responda las
siguientes interrogantes:
¿Cómo califican la facilidad de instalación del sistema? __Buena _X_Mala __Regular
¿Cómo califican la curva de aprendizaje de gestión del sistema? __Fácil __Medio _X_Difícil
¿Cómo califican las opciones de gestión del sistema (Web, CLI, Otra Herramienta)?
__Buena _X_Mala __Regular
85
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
Dada las aplicaciones que utilizarán el SA el autor propuso utilizar el sistema de almacenamiento
SAN Ceph. Ceph File System es un sistema de archivos distribuido libremente, está diseñado
para el uso con gran cantidad de datos. Ceph tiene como objetivo ser compatible con POSIX y
completamente distribuido sin ningún punto de fallo. Los datos tienen replicación libre de
errores, haciéndolo tolerante a fallos.
Entre los usuarios de Ceph se encuentran grandes compañías de prestigio internacional como
Cisco, Western Digital, ZTE y T-Mobile de Alemania. Además, sus requerimientos de Hardware
son bajos lo que permite su despliegue en Hardware de propósito general (ANEXO M).
Para las pruebas preliminares se utilizaron las mismas definidas en el Epígrafe 2.10.
Según la documentación oficial de Ceph esta propone dos subredes: 1- Red Cliente: es la
utilizada por las instancias virtuales o los elementos que utilizarán el SA y debe tener un ancho
86
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
de banda mínimo de 1Gbps, 2- Red del Clúster: es la empleada para las acciones de replicación
y balanceo del clúster y es recomendado un ancho de banda de 10Gbps.
2.Proyectar el diseño lógico de los nodos de cómputo, control, red del sistema y gestión.
En este caso los nodos de cómputo son los monitores que son los encargados de mantener el
mapa del estado del clúster, incluyendo el mapa del monitor, el mapa OSD, el mapa del Grupo
de Colocación (PG) y el mapa CRUSH. Ceph mantiene una historia (llamada "epoch") de cada
cambio de estado en los Ceph Monitors, Ceph OSD Daemons y PGs. En cuanto a los nodos de
control puede ser cualquiera que pertenezca al clúster Ceph.
En cuanto a la red todas las redes en la CUJAE están virtualizadas mediante el uso de Redes de
Área Local Virtuales (VLAN), por esta razón todas las subredes utilizadas en el SA contienen
además de los parámetros básicos que identifican una red, el identificador de VLAN
correspondiente asignado por los administradores del centro para la red del clúster y un troncal
LACP para la red cliente. Los nodos utilizan una red pública para atender las peticiones de los
clientes, esta es la que posee un troncal LACP con dirección de red 10.8.9.0/24 con el objetivo
de llegar a un ancho de banda de 2Gbps. También se emplea una red interna para el clúster
donde se realizan las operaciones de réplica de los diferentes objetos almacenados, esta red es
la VLAN 4002, con dirección de red 192.168.0.0/24. El conmutador utilizado para interconectar
estas redes posee todas sus interfaces a con un ancho de banda de 1 Gbps.
El SA debe contar con una parte destinada a la monitorización y gestión del servicio según dicta
la arquitectura de referencia de la UIT. Esta monitorización debe permitir comprobar el estado
de todos los componentes que forman parte del sistema con el objetivo de prevenir
proactivamente cualquier fallo que pudiera ocasionarse. Debe ser capaz de enviar
notificaciones reportando cualquier evento del sistema, así como debe permitir la fácil
configuración de cualquier componente. El SA también debe contar con algún mecanismo de
autenticación para garantizar el nivel de seguridad y privacidad de la información necesarios
frente a accesos no autorizados. En cuanto a lo anterior, el cli de Ceph permite cubrir 3 de las 5
áreas: Configuración, Prestaciones y Seguridad. Por lo que se hizo necesaria la utilización de una
Herramienta de Gestión (HG), por lo que se empleó Zabbix para cubrir las restantes: Fallas y
Contabilidad. La gestión se realiza por la red cliente ya que el volumen de información no
dificulta el tráfico con las aplicaciones que utilizan el SA.
87
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
Según la documentación oficial Ceph se identificó que el hardware debe cumplir con:
Red:2 interfaces de Red: 1-Red cliente a un mínimo de 1Gbps y 2- Red Clúster sugerido a
10Gbps.
Para ello se utilizó la Tabla 25 propuesta en el Epígrafe 2.8.1. Para ello se tomaron las
respuestas de la encuesta realizada en el Epígrafe 3.2.
Cómputo
Red Requerida
Capacidad en Necesario
Factor de
Sistema Nodo GB sin Número Ancho de
Redundancia
redundancia de banda CPU RAM
interfaces requerido
Salvas - 1000 Erasure code - - - -
DSaaS - 500 2 - - - -
SA Ceph01 3000 - 2 4 GB
88
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
Para el cálculo de la capacidad final que deberá soportar el SA el autor utilizó las fórmulas 2 y 3
propuesta en el Epígrafe 2.8.1
𝐶𝑎𝑝𝑎𝑐𝑖𝑑𝑎𝑑 𝐷𝑖𝑠𝑝𝑜𝑛𝑖𝑏𝑙𝑒
= 𝐶𝑎𝑝𝑎𝑐𝑖𝑑𝑎𝑑 𝑇𝑜𝑡𝑎𝑙 𝑑𝑒𝑙 𝑆𝐴 − 𝐶𝑎𝑝𝑎𝑐𝑖𝑑𝑎𝑑 𝑇𝑜𝑡𝑎𝑙 𝑑𝑒𝑙 𝑆𝐴 𝑅𝑒𝑞𝑢𝑒𝑟𝑖𝑑𝑎
En cuanto a climatización el local posee 3 Splits los cuales garantizan la temperatura requerida,
así como un deshumidificador.
El lugar no presenta problemas en cuanto al tema eléctrico y cada servidor posee su backup
además de que existe una planta externa en caso de algún fallo en el fluido eléctrico.
En cuanto a la seguridad del local existe un sistema de alarmas, así como una lista de personas
autorizadas a acceder al mismo.
89
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
Con respecto al Hardware, sí cumplía con lo propuesto por el proveedor, pero en cuanto a
capacidad total no cumplía con los requisitos.
Ya que la capacidad no era la indicada, se agregaron más discos duros logrando una capacidad
por nodo de 3 TB. Además, en cuanto a la red se agregaron en cada nodo dos tarjetas de red a
1 Gbps para lograr un enlace LACP de 2Gbps en la red cliente. Dichos componentes son de
tecnología moderna por lo que resultó factible su agregación.
Switchs:
Se utilizaron 2 Switchs:
1.
90
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
Esquemático:
Leyenda:
91
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
PRUEBA #1
140 3500
120 3000
IOPS
100 2500
80 2000
60 1500
40 1000
20 500
0 0
Troughtput IOPS
10000
Troughtput (MB/s)
200
8000
150
IOPS
6000
100
4000
50 2000
0 0
Troughtput IOPS
92
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
Unidades
Unidades
Mbit/s | Mbyte/s
Mbit/s | Mbyte/s
CEPH
Ceph01 Ceph02 Ceph03 Ceph04
Ceph01 951/112 943/110 942/112
Ceph02 940/110 943/112 940/111
Ceph03 940/110 944/112 940/112
Ceph04 941/112 940/111 941/112
Unidades
Mbit/s | Mbyte/s
PRUEBA #2
50
40
30
20
10
Latencia (milisegundos)
93
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
Latencia (ms)
Comentario: En cuanto a las latencias podemos observar que para un disco físico y para la
mayoría de los tamaños de bloques se encuentra por debajo de los 30 ms que es un poco por
encima del umbral establecido, pero aun así sigue siendo un buen resultado. En cambio, al
aplicar la prueba al SA vemos un cambio radical, siendo la latencia mayor 1ms.
PRUEBA #3
Esta prueba solo se ejecutó parcialmente debido a que solo se pudo comprobar la capacidad
del sistema para añadir más nodos, no se pudo comprobar cómo funciona con una capacidad
de almacenamiento del orden del exabyte, pues el centro no cuenta con una infraestructura de
esas dimensiones.
PRUEBA #4
Comentario: En cuanto a las pruebas de estrés permitió conocer las potencialidades que puede
ofrecer Ceph en un entorno de gran utilización del SA. Aun así, pudo responder
satisfactoriamente utilizando, en la mayoría de los casos menos del 50% de los recursos totales.
94
Capítulo 3: “Validación del método de diseño de Sistemas de Almacenamiento para Centros de
Datos”
PRUEBA #5
Durante este período de tiempo el SA no estuvo fuera de servicio. En todos los casos en que
fueron provocadas intencionalmente las fallas el SA activó el mecanismo de auto rebalanceo de
la información al detectar el fallo en algunos de sus componentes, y logró añadirlos nuevamente
cuando fueron reinsertados. Durante estas operaciones el servicio no sufrió ninguna pérdida
apreciable en la QoS brindada a los clientes y la información almacenada previamente no sufrió
ninguna alteración manteniéndose la integridad de la misma. Esto ofrece un porcentaje de
disponibilidad equivalente a un 100%.
PRUEBA #6
PRUEBA #7
No se realizó ya que no se contaba ni con el software ni con los instrumentos de medición requeridos.
3.10. Conclusiones
La implementación del método propuesto permitió certificar su validez y eficacia en la práctica.
La solución de software empleada fue el SDS distribuido Ceph, el cual cumplió con la mayoría
de los requerimientos pues permitió ser desplegado tanto sobre hardware de propósito general
ofreciendo resultados positivos en la mayoría de las pruebas realizadas. La usabilidad de los
administradores resultó ser el requerimiento más negativo del SA debido a la ausencia de una
interfaz gráfica intuitiva y al nivel de conocimientos necesarios para gestionar el SDS.
95
Conclusiones
CONCLUSIONES
El método desarrollado para el diseño de SA constituye una posible solución económica, eficaz
y segura para las infraestructuras TIC de las pequeñas y medianas empresas, dotándolas de una
infraestructura dinámica con un nivel de escalabilidad capaz de responder rápidamente a la
demanda de los servicios y aplicaciones que estas posean. Posibilita diseñar SA basados en las
condiciones particulares de los CD privados de las empresas, permitiendo un mejor
aprovechamiento de los recursos financieros y de cómputo del centro, contribuyendo al
cumplimiento de los objetivos del negocio. Las pruebas de validación diseñadas en el método
permiten evaluar el cumplimiento de los RNF definidos al inicio del proceso de diseño una vez
desplegado el SA inicial, lo que permite detectar futuras fallas que puedan afectar el
rendimiento del SA. El empleo del método en el diseño del SA de la CUJAE permitió validar su
desempeño, pues se logró la confección de un SA capaz de ofrecer una respuesta efectiva a las
necesidades y condiciones existentes, hecho que se pudo constatar mediante el cumplimiento
de los RNF propuestos.
96
Recomendaciones
RECOMENDACIONES
Solucionar los problemas asociados a las restricciones existentes para el diseño del
Mantener vigilancia sobre la futura plataforma de gestión de Ceph Kraken para mejor
la usabilidad del SA
97
Referencias bibliográficas
REFERENCIAS BIBLIOGRAFICAS
[1] P. Oppenheimer, Top-down network design, 3rd ed. Indianapolis, IN: Cisco Press, 2011.
[2] R. J. Kauffman, D. Ma, and M. Yu, “A metrics suite of cloud computing adoption readiness,”
Electron. Mark., pp. 1–27, 2016.
[4] J. Zhu, “Cloud Computing Technologies and Applications,” in Handbook of Cloud Computing,
B. Furht and A. Escalante, Eds. Boston, MA: Springer US, 2010, pp. 21–45.
[6] “Flash Storage – SAN Storage and Hybrid Storage Products | NetApp.” [Online]. Available:
http://www.netapp.com/us/products/index.aspx. [Accessed: 27-Jan-2017].
[7] “IBM Storage Networking: Fibre Channel Storage Area Networks (SAN),” 20-Jul-2011. [Online].
Available: http://www.ibm.com/systems/storage/san/. [Accessed: 27-Jan-2017].
[10] J. Tate, R. Kelley, S. R. R. Maliska, L. Torolho, M. Voigt, and others, IBM SAN Solution Design
Best Practices for VMware vSphere ESXi. IBM Redbooks, 2013.
[14] Cisco Corp., “Advanced SAN Design Using Cisco MDS 9500 Series Multilayer Directors - Cisco.”
04-Jan-2014.
[15] V. Stewart, M. Slisinger, L. Touchette, and P. Learmonth, “NetApp and VMware vSphere
Storage Best Practices,” 2010.
[16] E. C. Microsoft Corp, “MICROSOFT EXCHANGE STORAGE BEST PRACTICES AND DESIGN
GUIDANCE FOR EMC STORAGE,” 2012. [Online]. Available:
http://www.ndm.net/emcstore/pdf/vnx/h8888-exch-2010-storage-best-pract-design-guid-emc-
storage.pdf. [Accessed: 06-Feb-2017].
[20] R. K. Randy Kerns, “Storage Strategy Development,” presented at the SNIA: Data Storage
Innovation Conference, 2015.
98
Referencias bibliográficas
[22] Australian Goverment, “Design a spatial-data storage system,” 2012. [Online]. Available:
https://training.gov.au/TrainingComponentFiles/CPP07/CPPSIS5043A_R1.pdf. [Accessed: 20-Jan-
2017].
[23] “Dayron Albeirus Padrón, Lilia Rosa García Perellada, David Ferrat Garea ‘PROPUESTA DE UN
MÉTODO PARA EL DISEÑO DE SISTEMAS DE ALMACENAMIENTO PARA CENTROS DE DATOS,’ in 18
Convención Científica de Ingeniería y Arquitectura., Palacio de Convenciones de La Habana, 2016, pp.
896–907.” .
[34] “J. F. Kurose and K. W. Ross, Computer networking : a top-down approach, 6ta. United States
of America: Pearson Education, Inc., 2013.” .
[35] “‘AWS | Amazon EC2 | Tipos de instancias,’ Amazon Web Services, Inc. [Online]. Available:
//aws.amazon.com/es/ec2/instance-types/. [Accessed: 08-Jul-2015].” .
[37] Vmware, “Server and Storage Sizing For VMware VDI: A Prescriptive Approach.” 2016.
[38] Ramírez, José Guillermo Gil, “Propuesta de pruebas para evaluar desempeño y elasticidad de
Nubes Privadas con soporte para la capacidad de Infraestructura como Servicio,” Instituto Superior
Politécnico José Antonio Echeverría, 2016.
[39] Herrera Matos, Carlos José, “Propuesta de pruebas para evaluar sistemas de
almacenamiento,” Instituto Superior Politécnico José Antonio Echeverría, 2015.
[40] Asiel Lara Brito, “Diseño del Sistema de Almacenamiento de Copias de Seguridad de la Red-
CUJAE,” Instituto Superior Politécnico José Antonio Echeverría, 2015.
99
Referencias bibliográficas
[42] “End of Service and Support Announcement for OceanStor N8300 - Enterprise Service
Support,” 16-May-2017. [Online]. Available: http://support.huawei.com/enterprise/en/bulletins-
product/NEWS1000010411. [Accessed: 16-May-2017].
[43] “IBM Support - IBM software support lifecycle policy,” 27-Feb-2017. [Online]. Available:
https://www-01.ibm.com/software/support/lifecycle/lc-policy.html. [Accessed: 16-May-2017].
[44] “Life cycle announcement strategy - Enterprise Service Support,” 16-May-2017. [Online].
Available:
http://support.huawei.com/enterprise/NewsReadAction.action?newType=0304&contentId=NEWS10
00002017. [Accessed: 16-May-2017].
[45] “Obsolescence & Migrations - HPE Software Support,” 16-May-2017. [Online]. Available:
https://softwaresupport.hpe.com/obsolescence-migrations. [Accessed: 16-May-2017].
[50] “G. Kandiraju, H. Franke, M. D. Williams, M. Steinder, and S. M. Black, ‘Software defined
infrastructures,’ IBM J RES DEV, vol. 58, no. 2/3, p. 13, 2014.” .
[51] “L. R. García Perellada and A. A. Garófalo Hernández, ‘Arquitectura de Referencia para el
diseño y despliegue de Nubes Privadas,’ Rev. Ing. Electrónica Automática Comun. RIELAC, vol. XXXVI,
no. 1/2015, pp. 33–38, Enero - Abril 2015.” .
[53] “L. E. Nelson, ‘The Forrester WaveTM: Private Cloud Software Suites, Q1 2016. How The Top
Nine Private Cloud Software Suites Stack Up.,’ Forrester Research, Inc., 60 Acorn Park Drive,
Cambridge, MA 02140 USA, Q1 2016, Jan. 2016.” .
[54] “‘ast-0066982_iw_private_cloud_final.pdf.’” .
[55] “‘Requirements for desktop as a service,’ ITU-T, Switzerland Geneva, CLOUD COMPUTING
Y.3500–Y.3999 ITU-T Y.3503, May 2014.” .
[57] “‘The next-generation data center,’ IBM Corporation, USA, May 2014.” .
[58] “R. Mahindru, R. Sarkar, and M. Viswanathan, ‘Software defined unified monitoring and
management of clouds,’ IBM J RES DEV, vol. 58, no. 2/3, p. 12, 05 2014.” .
[59] “L. Xu, L. Liu, and C. Wu, ‘Services Enhancing Usage of Large Equipments in a Private Cloud,’ in
2013 International Conference on Service Sciences (ICSS), 2013, pp. 118–122.” .
[60] “‘Cloud computing framework and high-level requirements,’ ITU-T, Switzerland Geneva,
Recommendation ITU-T Y.3501 Y.3501, May 2013.” .
[61] “‘Information technology – Cloud computing – Reference architecture,’ ISO copyright office,
Switzerland, ISO/IEC 17789:2014 (E), 10 2014.” .
[62] “F. Cocozza, G. López, G. Marín, R. Villalón, and F. Arroyo, ‘Cloud Management Platform
Selection: A Case Study in a University Setting,’ in CLOUD COMPUTING 2015, Nice, France, 2015, pp.
77–85.” .
100
Referencias bibliográficas
[64] “Bertogna ML: Planificación Dinámica sobre Entornos Grid. Universidad Nacional de La Plata,
Facultad de Informática; 2010.” .
[65] John Rath and Rath Consulting, “DATA CENTER STRATEGIES. Simplifying high-stakes, mission
critical decisions in a complex industry.”
[66] S. Overby, “6 IT Strategies to Stay Ahead of Data Center Trends,” CIO, 07-Mar-2014. [Online].
Available: http://www.cio.com/article/2378095/data-center/6-it-strategies-to-stay-ahead-of-data-
center-trends.html. [Accessed: 23-May-2017].
[67] “Buckle P: How to Configure Openfiler iSCSI Storage for VMware ESX 4. Xtravirt; 2009.” .
[68] “Byrne J: Where is the cloud storage market headed? In Storage, vol. 10. pp. 3; 2011:3.” .
[69] “Campello D: Network File System. Venezuela: Universidad Simón Bolívar; 2007.” .
[70] “Castagna R: Storage budget recovery on a roll. In Storage, vol. 10. pp. 8; 2011:8.” .
[71] “Castillo MA, Rocha AS: Implementación de un sistema de VoIP de alta disponibilidad basado
en Asterisk y Heartbeat. Escuela Superior Politécnica del Litoral, Facultad de Ingeniería en Electricidad
y Computación; 2011.” .
[73] “Chu PB, Riedel E: Green Storage II: metrics and measurement.: Storage Networking Industry
Association . 2008.” .
[74] “Cisco, Intel: Converging SAN and LAN Infrastructure with Fibre Channel over Ethernet for
Efficient, Cost-Effective Data Centers. Cisco, Intel Corp.; 2008.” .
[75] “Cisco.: Fibre Channel over Ethernet. (Cisco. ed.: Cisco; 2010.” .
[77] Dr. Brent Welch, “Object Storage Technology,” presented at the SNIA Education, 2014.
[78] SNIA, “Object Storage Understanding the What, How and Why behind Object Storage
Technologies,” presented at the SNIA Ethernet Storage Forum, 2014.
[81] G. Kovacs, “In the Cloud: Block Storage vs. Object Storage.” [Online]. Available:
https://cloud.netapp.com/blog/block-storage-vs-object-storage-cloud. [Accessed: 23-May-2017].
[82] “Benefits of NAS in the SMB - SureTech.com - IT Solutions for your WorkFlow,” 17-May-2017.
[Online]. Available: http://www.suretech.com/12320/Benefits_of_NAS_in_the_SMB. [Accessed: 17-
May-2017].
[83] Vmware, “Oracle Database 12c on VMware Virtual SAN 6.2 All-Flash.”
101
Referencias bibliográficas
[87] “How to Choose Network-Attached Storage for Your Business | PCWorld,” 17-May-2017.
[Online]. Available:
http://www.pcworld.com/article/209679/NAS_small_business_network_attached_storage_for_every
one.html. [Accessed: 17-May-2017].
[88] J. Tate, P. Beck, H. H. Ibarra, S. Kumaravel, L. Miklas, and others, Introduction to storage area
networks. IBM Redbooks, 2016.
[89] C. Poelker and A. Nikitin, Storage area networks for dummies, 2nd edition. Hoboken, NJ:
Wiley Publishing, Inc, 2008.
[90] “Part 4: Using NAS for Exchange Server storage,” SearchExchange, 17-May-2017. [Online].
Available: http://searchexchange.techtarget.com/tutorial/Part-4-Using-NAS-for-Exchange-Server-
storage. [Accessed: 17-May-2017].
[91] “Using Network Attached Storage (NAS) - MailStore Server Help,” 17-May-2017. [Online].
Available: https://help.mailstore.com/en/server/Using_Network_Attached_Storage_(NAS).
[Accessed: 17-May-2017].
[93] “Using a storage area network with virtual machines,” 17-May-2017. [Online]. Available:
https://technet.microsoft.com/en-us/library/cc708298(v=ws.10).aspx. [Accessed: 17-May-2017].
[95] Mark Lippit and Erik Smith, Networked Storage. Concepts and Protocols, vol. EMC Corp. 2014.
[98] M. Carlson et al., “Software defined storage,” Storage Netw. Ind. Assoc Work. Draft Apr, 2014.
[100] “Storage Management Initiative Specification (SMI-S) Releases | SNIA.” [Online]. Available:
https://www.snia.org/tech_activities/standards/curr_standards/smi. [Accessed: 24-May-2017].
[101] W.-P. Chen and C.-M. Liu, “Performance Comparison on the Heterogeneous File System in
Cloud Storage Systems,” 2016, pp. 694–701.
[102] B. Depardon, G. Le Mahec, and C. Séguin, “Analysis of six distributed file systems,” 2013.
[103] Dharavath Ramesh and Member IEEE, Neeraj PatidarOberoi, “Evolution and Analysis of
Distributed File Systems in Cloud Storage: Analytical Survey,” Int. Conf. Comput. Commun. Autom., pp.
1170–1173, 2016.
[104] M. Vaidya and S. Deshpande, “Critical Study of Performance Parameters on Distributed File
Systems Using MapReduce,” Procedia Comput. Sci., vol. 78, pp. 224–232, 2016.
[105] X. Zhang, S. Gaddam, and A. T. Chronopoulos, “Ceph Distributed File System Benchmarks on
an Openstack Cloud,” 2015, pp. 113–120.
[106] “Frank C. Casmartiño Bondarenko, Asiel Lara Brito, Lilia Rosa García Perellada,‘Comparación
de sistemas de ficheros distribuidos’ in 17 Convención Científica de Ingeniería y Arquitectura., Palacio
de Convenciones de La Habana, 2014.” .
102
Referencias bibliográficas
[107] “Ceph Over Fibre for VMWare,” Ceph, 24-Dec-2012. [Online]. Available:
http://ceph.com/geen-categorie/ceph-over-fibre-for-vmware/. [Accessed: 29-May-2017].
[108] “Open Cloud Storage Setup — OpenNebula 5.2.1 documentation.” [Online]. Available:
https://docs.opennebula.org/5.2/deployment/open_cloud_storage_setup/index.html. [Accessed: 26-
May-2017].
[110] “Red Hat Gluster Storage: Compatible Physical, Virtual Server and Client OS Platforms - Red
Hat Customer Portal.” [Online]. Available: https://access.redhat.com/articles/66206. [Accessed: 26-
May-2017].
[111] “Setting up Red Hat Gluster Storage in Microsoft Azure.” [Online]. Available:
https://access.redhat.com/documentation/en-
US/Red_Hat_Storage/3.1/html/Deployment_Guide_for_Public_Cloud/chap-Documentation-
Deployment_Guide_for_Public_Cloud-Azure-Setting_up_RHGS_Azure.html. [Accessed: 29-May-
2017].
[114] Dan Braden, “Monitoring Measuring Bandwidth And Tuning SAN Storage From AIX2.,” 2014.
[115] S. D. Lowe, vExpert, M. V. P. Hyper-V, MCSE, and S. Editor, “Latency: The King of Storage
Performance Metrics,” Enterprise Storage Guide - News, Analysis & Reviews, 17-Mar-2016. [Online].
Available: http://www.enterprisestorageguide.com/latency-king-storage-performance-metrics.
[Accessed: 08-May-2017].
[117] “VMware vSphere 5.1 Documentation Center. Disk parameters.” [Online]. Available:
https://pubs.vmware.com/vsphere-51/topic/com.vmware.vsphere.monitoring.doc/GUID-308BEF5A-
4B18-469D-9234-C4AD5CBCA593.html. [Accessed: 08-May-2017].
[119] “P. M. Timothy Grance, ‘The NIST Definition of Cloud Computing,’ 2011.” .
[120] “Focus Group on Cloud Computing, ‘FG Cloud Technical Report Part 1- Introduction to the
cloud ecosystem: definitions, taxonomies, use cases and high- level requirements,’ 2012.” .
[121] “Focus Group on Cloud Computing, ‘FG Cloud Technical Report Part 5: Cloud security,’ 2012.”
.
[122] “Focus Group on Cloud Computing, ‘FG Cloud Technical Report Part 4: Cloud Resource
Management Gap Analysis,’ 2012.” .
[123] “Solid State Storage (SSS) Performance Test Specification (PTS) | SNIA.” [Online]. Available:
https://www.snia.org/tech_activities/standards/curr_standards/pts. [Accessed: 10-Apr-2017].
103
Referencias bibliográficas
[127] “Focus Group on Cloud Computing, ‘FG Cloud Technical Report Part 3: Requirements and
framework architecture of cloud infrastructure,’ 2012.” .
[128] Herb Tanzer and Chuck Paridon, “Energy Efficiency Metrics for Storage,” Santa Clara, 2014.
[129] Leah Schoeb, Vice Chair, SNIA Technical Council, “Enterprise Storage – Storage Efficiency,”
2014.
[131] “Seafile - Open Source File Sync and Share Software.” [Online]. Available:
https://www.seafile.com/en/features/. [Accessed: 19-May-2017].
[133] W. C. Preston, Backup & Recovery: Inexpensive Backup Solutions for Open Systems. O’Reilly
Media, Inc., 2014.
[137] Hewlett-Packard, “Software-defined storage. What it is, how it works, and why you need it.”
2013.
[139] M. Carlson et al., “Software defined storage,” Storage Netw. Ind. Assoc Work. Draft Apr, 2014.
[140] Mark Peters, Senior Analyst; and Monya Keane, Research Analyst, “Key Reasons to Use
Software-defined Storage—and How to Get Started,” 2015.
[141] E. Thereska et al., “IOFlow: a software-defined storage architecture,” 2013, pp. 182–196.
[142] “Data backup software features from Bacula Systems.” [Online]. Available:
https://www.baculasystems.com/products/bacula-enterprise/features. [Accessed: 26-May-2017].
[143] “Amanda Enterprise 3.1 Pre-installation Checks - Zmanda Documentation Wiki.” [Online].
Available: http://docs.zmanda.com/Template:Amanda_Enterprise_3.1_Pre-installation_Checks.
[Accessed: 26-May-2017].
104
Anexos
ANEXOS
de datos
105
Anexos
Número
1 1 1 1 1 1 1 1 1 1 2
1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9 0
Aspectos
Estudio de la
misión,
visión, la
estructura
organizacion x x x
al de la
entidad
cliente y sus
característica
s.
Definición de
x x x x
los objetivos
del negocio.
F Caracterizaci
ón del
A estado inicial
x x x x x x
del sistema
S (infraestruct
ura y
E
servicios).
1 Definición de X X X X X X X X X X X X X X X
restricciones.
Definición de
los servicios
y/o
aplicaciones
X X X X
que
utilizarán el
SA, y su
caracterizaci
ón.
Definición de
los RNF a X x X X X X X X
soportar por
el SA.
DIVISIÓN DE X X X X X X X X X X X
FASES
F Estudio del
tipo de SA a X X X X X X X
A utilizar según
los RNF.
106
Anexos
S Identificación
de las
E características
de los discos a
2 emplear, así X X X X X X X X X X X
como las
controladoras
a utilizar
según los RNF
a cumplir.
Dimensionami
ento del SA
teniendo en
cuenta las
características X X X
de los
servicios y
aplicaciones
que se
demanden.
Identificación
de las
características
de las
tecnologías de X X X X X X X X X X X X X X X X
interconexión
de red, así
como los
dispositivos a
utilizar.
DIVISIÓN DE x x X
FASES
Selección de la
solución
(SAN/NAS) del
SA que se
acople a las
X X
características
de la empresa
F
según los RNF
A a cumplir.
Elección del
S software
correspondien X X X X X X X X X
E te a una
solución u
3 otra.
Propuesta
para la
selección del
Hardware del
SA.
Selección de X X X
los tipos de
107
Anexos
discos a
utilizar en el
sistema de
almacenamien
to según los
RNF.
Selección de
las tecnologías
de
interconexión X X X X X X X
de red que
respondan al
diseño de SA
escogido.
DIVISIÓN DE X X X X X X X X X X X X
FASES
Despliegue
de un
prototipo del
diseño
propuesto, o
su
modelación,
con las
configuracio
nes, X X X X X X X X X X X X X X X X X
aplicaciones
y
requerimient
F os del
mismo, para
A comprender
el
S comportamie
nto de la
E
propuesta.
4 Identificar las
herramientas
necesarias X X X X X X
para las
pruebas al
SA.
Identificar las
métricas
para conocer
X X X X X X X
si el sistema
responde de
manera
eficiente.
Ejecución de X X X X X X X X X X
las distintas
108
Anexos
pruebas al
SA.
Optimización X X X X X X X X X X
.
109
Anexos
110
Anexos
1- Estructura
Los sistemas de ficheros distribuidos están conformados por tres elementos fundamentales:
los servicios de archivos y de nombres, y los clientes. El servicio de archivos es el encargado de
mantener el contenido de los datos y sus atributos: tiempos de creación, último acceso, última
modificación, longitud y otros. Posee todas las especificaciones sobre la información que brinda
el sistema de archivos a los clientes. El servicio de nombres se encarga de proporcionar
transparencia e independencia en la ubicación para la ejecución de movimientos de la
información sin que haya variación en los nombres que se muestran a los clientes y sin el
conocimiento de los usuarios, teniendo como fines garantizar un mejor rendimiento y tolerancia
a fallas. Es donde se crean, se modifican y se buscan las entradas al sistema. Se encarga de
mapear los nombres de los archivos a objetos (ficheros, directorios). La interfaz del servicio de
nombres ofrece al cliente operaciones de buscar, añadir y borrar nombre. Algunos atributos del
fichero se mantienen por el servicio de nombres: tipo de dato, identificador del usuario,
propietario del dato, derechos de acceso y otros.
Los clientes acceden mediante una aplicación local a una interfaz del sistema de ficheros,
interpreta las llamadas locales que se realizan y generan las peticiones para los accesos
remotos. Tiene conocimientos sobre la ubicación de los servicios de nombres y de archivos,
y en algunos sistemas gestionan la información de la caché que se encuentra almacenada
localmente.
2- Arquitectura
Las arquitecturas de los sistemas de ficheros distribuidos son variadas, y en relación a la que
posean estarán determinadas muchas de sus bondades operacionales y funcionales, como la
capacidad de escalar y la de procesar eficientemente las solicitudes de los usuarios. Pueden
clasificarse como cliente-servidor, donde cada una de las partes tiene bien definidas sus
funciones, y punto a punto, donde ambas partes pueden asumir cualquiera de las funciones,
tanto cliente como servidor. Los servidores se encargan de los servicios de archivos y de
nombres, de garantizar la consistencia, la replicación y las copias de seguridad de la información,
y además de la autenticación y de la ejecución de las solicitudes de los clientes.
111
Anexos
la Figura se muestran las clasificaciones acordes a cada uno de los elementos citados
anteriormente.
Los sistemas de ficheros asimétricos retienen el control del clúster en uno o unos pocos nodos.
Estos sistemas pueden ser globalmente centralizados al manejarse los datos vitales en un solo
nodo o localmente centralizados donde existe más de un nodo con dicha información, el nivel
de centralización influye considerablemente en la tolerancia a fallas y en la fiabilidad del
sistema. Los sistemas globalmente centralizados tienen un único punto de fallo, en muchos
casos adolecen de problemas de congestión de la información, disparan los tiempos de
respuesta incluso sobrepasando los umbrales fijados, y poseen grandes problemas de
escalabilidad y de fiabilidad. Los sistemas localmente centralizados garantizan mayor fiabilidad
y atenúan notablemente los problemas de escalabilidad con respecto a sus predecesores,
aunque no todos logran esto en las dimensiones necesarias. Los sistemas de ficheros simétricos
contienen en cada uno de los nodos los datos necesarios para comprender la estructura de la
información del sistema. Esto hace que sean sistemas descentralizados que proveen de alto
rendimiento, fiabilidad, tolerancia a fallas y de multiescalabilidad a los DFS.
3- Nombrado
El nombrado se ocupa de mapear los objetos lógicos a ubicaciones físicas. Los mecanismos de
nombrado forman parte del servicio de nombres, y tienen que brindar independencia y
transparencia en la ubicación para permitir el desarrollo de potencialidades en el sistema. Los
nombres de los archivos, en los DFS que proveen independencia en la ubicación, no varían al
cambiar su ubicación física permitiendo el movimiento de réplicas a nodos más cercanos a los
clientes, el balanceo de carga y otros. El establecimiento de abstracciones de nombrado que
112
Anexos
permitan que los clientes no tengan conocimientos de los detalles relacionados con el
almacenamiento real de la información, garantizan un mejor rendimiento, escalabilidad y
tolerancia a fallas. El nombrado en estos sistemas sigue alguno de los siguientes esquemas:
El nombrado de archivos mediante combinación del nombre del nodo remoto y del local
garantiza un amplio sistema de nombres y una simple resolución, pero provoca conflictos con
las transparencias de ubicación, migración y concurrencia del sistema, así como con la
independencia en la ubicación.
Los directorios remotos son adjuntos a los locales, dando la idea de un árbol de directorios
coherente. Puede ser accedido de forma transparente solo una vez que es montado
previamente y requiere que sea conocida la ubicación del servidor que hospeda el directorio
remoto. Causa problemas relacionados con la transparencia de ubicación.
La integración total de los componentes del sistema de ficheros brinda una estructura de
nombres global donde todos los ficheros pertenecen a un único espacio de nombres. Poseer un
único espacio de nombres comúnmente está relacionado con el empleo un solo nodo para su
gestión provocando bajo rendimiento y flexibilidad, y la incapacidad del sistema de tolerar las
fallas del servicio de nombres. La utilización en los DFS de este esquema de nombrado, hace
necesaria la implementación de varias facilidades de cómputo que cooperen entre ellas para
brindar tolerancia a fallas.
Los DFS realizan el nombrado mediante un mapeo directo entre los nombres y las direcciones,
o entre varios niveles, mediante el uso de identificadores. El mapeo de los nombres empleando
enlaces simbólicos asigna a cada nombre una dirección. La utilización de múltiples enlaces
simbólicos para mapear un único nombre de archivo es denominada enlace fuerte. Existen tres
categorías generales de nombrado:
Nombrado jerárquico: Está basado en el concepto de espacio de nombres, donde cada nombre
posee una dirección, se despliega en forma de jerarquía, y emplea nombres relativos y
absolutos. Cada uno de los nodos almacena los enlaces a sus semejantes.
Nombrado flotante: Inunda la red, preguntando por el nombre en cuestión, hasta que el nodo
correcto responde. Es muy útil para realizar el nombrado de forma homogénea y es muy común
su uso en los sistemas centralizados. Nombrado basado en atributos: Emplea para el nombrado
atributos distintivos de la información que permiten su identificación dentro del sistema.
4- Semánticas de acceso
Las semánticas son implementadas en los DFS para gestionar el acceso a los archivos
compartidos. Estos sistemas buscan proporcionar una semántica lo más cercana posible a la
que ofrecen los sistemas de ficheros tradicionales, pero el hecho de encontrarse distribuidos
provoca una fuerte penalización en su rendimiento. Los DFS, en dependencia de su finalidad,
113
Anexos
utilizan uno u otro tipo de semántica para garantizar una relación razonable entre esta y la
eficiencia del sistema, por lo que en muchas ocasiones no la cumplen íntegramente. El
desempeño de los clientes, el tráfico en la red y la carga de los servidores conforman la eficiencia
del sistema, y aunque los tres son importantes, siempre son afectados en alguna medida para
garantizar los objetivos de diseño. Las semánticas se pueden clasificar en varios tipos:
Semántica secuencial: Las operaciones sobre un fichero se ordenan de forma secuencial en el
tiempo. Una lectura devuelve la última actualización realizada al fichero mediante una escritura.
Es fácil de implementar en los sistemas que poseen un único servidor y no emplean la caché de
los clientes. Puede emplearse la política de escritura simultánea para la actualización de la
caché, realizando notificaciones a los clientes que poseen copias de los archivos aunque mejora
el rendimiento requiere de estados extras que generan mayor tráfico en la red.
Semántica de sesión: Las sesiones comienzan al abrir un fichero y finalizan cuando se cierra. Los
ficheros son obtenidos y manipulados en una copia local que se carga al abrirlo, y luego se
actualiza al finalizar sesión. Los cambios en un archivo abierto son visibles únicamente en el
nodo que los modificó y solo una vez cerrado se hacen visibles a futuras sesiones. Provoca que
varios nodos puedan poseer diferentes imágenes del mismo archivo y que dos sesiones abiertas
sobre un mismo fichero puedan terminar de forma concurrente, manteniéndose en el sistema
solo las modificaciones de la última sesión. La modificación por parte de los clientes de datos
que se encuentren compartidos solo se propaga una vez cerrada la sesión. Este tipo de
semánticas no es adecuado para procesos que acceden de forma concurrente a los ficheros.
Ficheros inmutables: Los ficheros no pueden ser modificados, solo creados o leídos, o sea que
son compartidos para sólo lectura. La modificación de los datos se realiza creando un nuevo
fichero que conserva el nombre del anterior. La semántica de ficheros inmutables es de ayuda
para la replicación aunque no garantiza que sean actualizadas las copias de los archivos
obsoletos.
Semántica de transacciones: El acceso a los ficheros se produce de forma atómica, o sea que se
ejecuta desde el inicio y hasta el fin de una operación. Todas las transacciones tienen que ser
completadas, si una parte no es satisfactoria la transacción es invalidada. La ejecución de forma
atómica debe estar garantizada en todas las circunstancias incluyendo caídas, errores y fallas
de energía. El sistema debe asegurar que dos transacciones ejecutadas de forma concurrente
sean tratadas de forma similar a una ejecución secuencial.
5- Caching
El caching se encarga de mantener los archivos recientemente usados, accesibles de forma
eficiente, garantizando un mejor rendimiento al almacenar información. Es empleado para
reducir las I/O a disco y para disminuir el tráfico en la red. La caché se mantiene siempre en la
memoria principal del servidor con tamaños de bloques que pueden ser variables, llegando a
abarcar archivos completos. En los DFS el proceso de caching puede realizarse tanto en el cliente
como en el servidor, alojado en la memoria principal o en disco como se tratan a continuación:
114
Anexos
Las políticas de actualización de las escrituras en caché permiten guardar los cambios realizados
localmente por los clientes en los nodos del DFS. Estas políticas repercuten considerablemente
en el rendimiento y la fiabilidad de estos sistemas.
Escritura simultánea: Las operaciones de escritura son inmediatamente transferidas a los
servidores, o sea que la caché es empleada solo para las operaciones de lectura, constituye la
estrategia más simple y de mayor fiabilidad.
Escrituras demoradas: Las modificaciones de los archivos son escritas en la caché y
posteriormente son realizadas hacia el servidor. Las operaciones de escrituras se ejecutan
rápidamente y si la información es sobrescrita antes de ser enviada al servidor, solo la última
actualización es escrita al servidor.
Escritura final: La caché local es empleada todo el tiempo que los archivos están abiertos, y una
vez cerrados, los datos son escritos al servidor. En el caso de archivos que estén abiertos por
largos períodos de tiempo esta política garantiza mejor rendimiento que las escrituras
demoradas, pero provoca problemas de consistencia.
6- Tipos de servicios
Los modelos de servicios de archivos para el acceso a la información que brindan los sistemas
de ficheros distribuidos permiten seleccionar un sistema u otro en relación a las necesidades
concretas de diseño. Los DFS presentan tres modelos de operación:
115
Anexos
Acceso remoto: El empleo de este modelo permite que se puedan realizar sobre el servicio de
archivos operaciones remotas para abrir, cerrar, leer, escribir, obtener atributos y otras sobre
los ficheros. El sistema de ficheros se encuentra verdaderamente en funcionamiento desde los
servidores.
Híbrido: Este modelo combina las características de los dos tratados anteriormente y en algunos
casos emplea el caching en los clientes. Permite lograr un mayor rendimiento al usar
mecanismos para garantizar la consistencia de la información y de la caché en los casos
necesarios.
La carga/descarga no es eficiente para el trabajo con pequeños archivos por las frecuentes
solicitudes que tienen que ser realizadas, trae problemas para los clientes que no tienen
suficiente espacio en la caché para almacenar el archivo completo y provocaría problemas de
consistencia ante múltiples solicitudes. Es empleado normalmente en sistemas que utilizan
semánticas de sesión. El acceso remoto conlleva a que los servidores sean accedidos
constantemente mientras se esté produciendo el acceso a los archivos a diferencia de la carga/
descarga. El modelo híbrido permite el uso de cualquiera de las semánticas y a la vez lograr
mejores índices de rendimiento y fiabilidad.
7- Tolerancia a fallas
El diseño adecuado de un DFS tiene que incluir técnicas que soporten la capacidad de tolerar
fallas de hardware y de software. La tolerancia a fallas permite que los sistemas continúen en
funcionamiento, en algunos casos puede que reduzcan en alguna medida su potencia, en vez
de que fallen completamente cuando algunos componentes estén fuera de servicio. Los
sistemas ideales no deben presentar fallas que causen su caída y afecten su fiabilidad, y aunque
es imposible de lograr, en la práctica se emplean técnicas que se aproximan. La habilidad de los
DFS de tolerar fallas se expresa a través de la fiabilidad y la disponibilidad que ofrecen. El
principio básico para un diseño tolerante a fallas se basa en brindar redundancia de los
componentes de hardware, de la estructura de datos y de los recursos de cómputo. La
redundancia provoca costos monetarios y de tiempo, y para poder garantizar una buena
relación costo/beneficio tiene que existir equivalencia entre el nivel de tolerancia a fallas
deseado y la eficiencia del sistema. La redundancia de los recursos de cómputo requiere que las
capacidades de procesamiento en uso por el sistema, al ocurrir una falla, sean reasumidas y a
diferencia de la redundancia de hardware, las recuperaciones ante fallas son muy lentas. La
redundancia de hardware por otra parte incrementa los costos de hardware, por lo que en
muchos casos para el diseño de un sistema tolerante a fallas son implementadas técnicas
híbridas que combinan varios tipos de redundancia tanto de hardware como de software. La
redundancia de la estructura de datos es abordada en el próximo apartado por su importancia
116
Anexos
117
Anexos
9- Consistencia
Las operaciones que son realizadas en los DFS tienen que producirse de forma consistente para
permitir que la información a la que acceden los clientes esté actualizada. La distribución, la
replicación y el soporte de accesos concurrentes constituyen los mayores retos en estos
sistemas para que exista consistencia. Un mismo archivo aunque se encuentre en diferentes
ubicaciones, por estar replicado o almacenado en la caché de algún cliente, tiene que poseer la
misma información en todas sus instancias. Los sistemas comúnmente para mantener la
consistencia de la información replicada actualizan una de las copias y luego propagan los
cambios a todos los nodos que la poseen, permite que todos los clientes obtengan el contenido
real de los archivos a los que acceden. Es necesario para el diseño de los DFS implementar
118
Anexos
mecanismos para lograr la consistencia de los archivos en la caché de los clientes por lo que se
emplean diferentes mecanismos para su actualización, así como también para garantizar la
consistencia de la información redundante que se encuentra distribuida. Los DFS utilizan
algunos de estos mecanismos y funcionalidades de acuerdo a las semánticas y tipos de servicios
de diseño buscando un equilibrio entre rendimiento y disponibilidad.
Los archivos que se encuentran distribuidos en los sistemas que utilizan replicación, y sus
copias, tienen que ser consistentes, por lo que es necesario usar mecanismos para evitar que
más de un cliente esté accediendo a un archivo que va a ser escrito:
Bloqueos en escrituras concurrentes sobre archivos compartidos: El acceso al sistema de
ficheros, de al menos un cliente para la escritura en archivos compartidos, hace que todas las
copias existentes sean bloqueadas para garantizar la consistencia de la información
almacenada.
Prohibición de caching en escrituras concurrentes: En escenarios donde varios clientes abren
un archivo y al menos uno de ellos realiza una escritura, el servidor informa a todos los clientes
que eliminen la copia del archivo que tienen en la caché.
Los DFS que emplean la caché de los clientes requieren de la implementación de mecanismos
para la verificación de la consistencia del contenido de la copia local del cliente con la que se
encuentra alojada en el sistema. Esto constituye un problema de gran complejidad al tener cada
cliente su propia caché, y dado el hecho de que son sistemas distribuidos, el número de usuarios
que pueden estar accediendo simultáneamente es elevado. Algunos de los mecanismos
empleados para dar consistencia a la información en caché son abordados a continuación:
Cliente iniciado: El cliente contacta con el servidor e inicia un chequeo de validez para
comprobar si la información que tiene en la caché es consistente con la copia alojada en el
servidor. La frecuencia de validación es uno de los problemas ya que si es realizada cada cortos
períodos la red y el servidor pueden sobrecargarse.
Servidor iniciado: El servidor registra los ficheros que tienen en la caché cada uno de los clientes.
Las inconsistencias pueden ocurrir cada vez que un archivo es modificado y se encuentra en la
caché de algún cliente. En todas las ocasiones que ocurren actualizaciones el servidor envía un
mensaje de invalidación a los clientes que poseen dicha información en caché. Los sistemas que
utilizan la semántica de sesión los mensajes de validación son necesarios solo cuando el archivo
es cerrado. En el caso de la semántica POSIX de los sistemas UNIX los mensajes de validación
son necesitados con mayor frecuencia.
10- Seguridad
La seguridad en los sistemas de ficheros distribuidos puede ser abordada en varios sentidos,
acorde a los objetivos de diseño de cada sistema. Una política de seguridad exhaustiva debe
119
Anexos
11- Autonomía
Los algoritmos y componentes que incluyen actualmente los DFS ofrecen mejoras
considerables en cuanto a disponibilidad, rendimiento y capacidad de recuperación, sin
embargo, provocan un incremento en la complejidad y en los conocimientos necesarios para su
gestión. Todo esto catapultó el surgimiento de nuevos diseños dotados de funcionalidades
autonómicas, a continuación, se tratan algunas de las capacidades de autogestión más
importantes:
Auto-configuración: Los sistemas autónomos son configurados mediante políticas de alto nivel
que ejecutan las acciones necesarias para lograr los objetivos definidos para su funcionamiento.
La autonomía radica en que el sistema tiene que traducir esas políticas de alto nivel en
configuraciones de bajo nivel, simplificando considerablemente el proceso de configuración del
sistema.
Auto-optimización: Constituye la búsqueda continua de formas de optimizar el funcionamiento
del sistema. Los elementos fundamentales son analizados continuamente en búsqueda de un
mejor rendimiento y utilización. El balance de la carga de procesamiento y la distribución de la
información que es frecuentemente accedida son algunos ejemplos de la optimización de los
sistemas de ficheros distribuidos.
120
Anexos
121
Anexos
1.1 Arquitectura
NameNode
El NameNode se encarga del manejo del espacio de nombres del sistema y de regular el acceso
de los clientes a los archivos. Cualquier cambio en los metadatos de los archivos almacenados
es guardado por el NameNode. Periódicamente recibe los reportes de estado y de los bloques
de cada uno de los DataNodes del clúster. El reporte de estado brinda información acerca de la
capacidad de almacenamiento del DataNode, número de transferencias en progreso y otras.
El NameNode se encarga de todas las decisiones relacionadas con la replicación de los bloques.
El factor de replicación de cada uno de los archivos es llevado por el NameNode y puede ser
modificado en cualquier instante. Todos los metadatos son almacenados en el sistema de
ficheros local del NameNode y se mantienen en la memoria el espacio de nombres y el mapeo
de los bloques. Se emplean dos archivos para el manejo del espacio de nombres el Editlog y el
FsImage. En el Editlog se guardan todos los cambios que ocurren en los metadatos del sistema
como la creación de un fichero o el cambio del factor de replicación. El espacio de nombres, los
122
Anexos
permisos, las modificaciones, los tiempos de accesos y las cuotas de disco son representados a
través de los inodes. Los inodes y el mapeo de bloques a ficheros es almacenado en el FsImage.
DataNode
Los DataNodes son los responsables de completar las solicitudes de lectura y escritura de los
clientes. Se encargan de crear, eliminar y replicar los bloques de información bajo las
instrucciones del NameNode. Cada una de las réplicas de los bloques en los DataNode son
representadas por dos archivos en el sistema de ficheros local del nodo. Uno contiene los datos
como tal y el otro los metadatos del bloque incluyendo la suma de verificación de los datos de
ese bloque y la marca de cuando fue generado. Los DataNodes almacenan los los bloques como
archivos en su sistema de ficheros local aunque no tienen conocimientos en relación a los
archivos del HDFS.
1.2 Consistencia
Los clientes que buscan escribir alguna información son autorizados a través de un permiso que
les permite solo el acceso para esa escritura a fichero. HDFS implementa el modelo write-once-
read-many que presupone que cuando se va a realizar una escritura el fichero es creado,
guardado y cerrado sin que tenga que realizarse ninguna modificación posterior. No permite
acceso de escritura concurrente, aunque un archivo que se encuentre en proceso de escritura
puede ser leído. Emplea leases y bloqueos de la información que poseen los clientes que va a
ser modificada para lograr la consistencia de la caché. Los clientes comprueban la consistencia
de la información a la que accedieron a través de la suma de verificación que realizan de la copia
que obtienen, comparándola con la suma de verificación de cada uno de los bloques que fue
generada por el sistema de ficheros.
HDFS divide los ficheros en una secuencia de bloques del mismo tamaño, excepto el último, y
son replicados en todo el clúster. La replicación se realiza siguiendo una política de ubicación
que busca garantizar tolerancia a fallas. La política por defecto es que en ningún DataNode
puede haber más de una copia, y en ningún rack, más de dos copias de un mismo bloque. La
política de ubicación de las réplicas está estrechamente vinculada con los niveles de
disponibilidad, con los índices de rendimiento y con el grado en que el sistema puede tolerar
las fallas. Para disminuir el uso de ancho de banda y la latencia en las lecturas, el sistema emplea
la réplica más cercana al origen de la solicitud del cliente. El NameNode utiliza los reportes
acerca de los bloques para verificar el número de réplicas de cada uno y rectificar su
distribución. En caso de que exista mayor número de réplicas el NameNode selecciona las que
serán eliminadas, tratando de no disminuir el número de racks en que se encuentran y
decantándose por los DataNodes que poseen la menor cantidad de espacio disponible en disco,
para poder brindar mayor rendimiento y tolerancia a fallas. Un menor número de réplicas
123
Anexos
HDFS tiene todos sus nodos completamente conectados y comunicados entre ellos, para poder
detectar fallas en la red o en los servidores y brindar fiabilidad. Cuando inicia el sistema cada
DataNode compara la versión del software y el ID del espacio de nombres que le fue asignado
con el NameNode. Si alguno de estos elementos no coinciden el DataNode se apaga para
preservar la integridad del sistema. Los DataNodes también realizan su registro con el
NameNode que consiste en hacerse reconocibles incluso aunque poseen otra dirección IP o
puerto. Una vez registrados, cada hora, los DataNodes envían el reporte acerca de los bloques,
y cada tres segundos, el de su estado. En caso de no ser recibido un reporte de estado, como
máximo diez minutos desde el último, el DataNodes es considerado fuera de servicio. Todo esto
le permite al NameNode estar al tanto del estado de los DataNodes y la toma de las decisiones
necesarias para evitar fallas en todo el sistema y para garantizar la disponibilidad de la
información almacenada.
HDFS es diseñado, más para el procesamiento de grandes lotes de datos, que para brindar una
interfaz interactiva para los usuarios. Permite el acceso bajo demanda de las aplicaciones a la
información almacenada. Parte del principio de que es más importante garantizar un alto
throughput en el acceso a los datos que lograr una baja latencia. Los sistemas con semánticas
POSIX imponen fuertes requerimientos que afectan este escenario por lo que un grupo de áreas
fundamentales fueron relajadas para incrementar el throughput. Este sistema no cumple con
las semánticas POSIX.
Este DFS posee un módulo de acceso basado en FUSE que le permite ofrecer mayor
compatibilidad. Este módulo brinda a los clientes un sistema de ficheros virtual a nivel de
usuarios con la estructura correspondiente a los directorios físicos remotos. Además, se encarga
de encausar todas las solicitudes de los clientes de forma remota, o sea que se ocupa de la
mediación entre cada una de las partes, empleando mecanismos que puedan ser comprendidos
por ambos.
En este DFS son fijados umbrales en relación al ratio permisible por cada uno de los DataNodes
para el balanceo de la carga. El ratio de un nodo es definido como la relación entre el espacio
usado con respecto a la capacidad total. El clúster se encuentra balanceado si el uso de cada
DataNode difiere del uso del clúster en no más del valor de umbral. En los nodos que no están
124
Anexos
balanceados son almacenadas las réplicas que son movidas desde otros respetando las políticas
de ubicación establecidas.
1.7 Limitaciones
Esta tecnología puede ser exportada como sistema de ficheros, GlusterFS, y a través de varios
protocolos a nivel de archivos como NFS, CIFS, FTP, WebDAV, HTTP y HTTPS. Ejecuta todas sus
funciones en el espacio de usuario para no comprometer el rendimiento del sistema. Emplea
un algoritmo hash elástico (EHA), para la ubicación de la información, que constituye elemento
clave de su funcionamiento. Permite el empleo de recursos de forma independiente, tanto de
rendimiento como de capacidad, desde el orden de los TB hasta el de los PB. Soporta la
utilización de hardware de propósito general y de infraestructuras públicas de almacenamiento
en la Nube.
GlusterFS puede ser configurado de acuerdo a las políticas de protección ante fallas que sean
necesarias para garantizar la redundancia de la información como RAID 5, RAID 6, una mezcla
de varios, replicación u otros. Brinda alto rendimiento y emplea un pool de gestión centralizado.
2.1 Arquitectura
125
Anexos
GlusterFS posee una arquitectura punto a punto, simétrica y descentralizada. Está conformado
por un clúster de ordenadores donde cada uno realiza la función tanto de cliente como de
servidor, y la información es distribuida y almacenada en sus sistemas de ficheros locales (ext4,
xfs, zfs y otros). GlusterFS básicamente es una capa sobre los sistemas de ficheros locales que
permite escalar el sistema al orden de los PB y es accesible a través de un único punto de
montaje. Además, no utiliza servidores de metadatos centralizados, como es común en los
sistemas tradicionales, aportándole multiescalabilidad y un rendimiento muy superior. Los
accesos de las API y los clientes son realizados empleando REST y un módulo de montaje FUSE.
Los servidores exportan el sistema de ficheros local como un volumen virtual, mientras los
clientes que acceden al clúster ejecutan los traductores que manejan la estructura de GlusterFS,
es por ello que cada nodo es tanto cliente como servidor. El espacio de nombres es global,
distribuido a través de todos los servidores, con los metadatos almacenados en el mismo
sistema de ficheros local, manejado a través del algoritmo EHA. GlusterFS utiliza este algoritmo
con las entradas del nombre del fichero y del directorio para generar una etiqueta hash asociada
a cada uno de los archivos, y luego guardarla junto al mismo fichero como su identificador
dentro del sistema.
Este sistema de ficheros puede ser escalado linealmente en rendimiento y capacidad como
resultado de la eliminación de los servidores de metadatos, la distribución efectiva de los datos
y el uso de paralelismo en los accesos. Además, no gestiona directamente el almacenamiento
de la información a nivel de discos/bloques, si no que lo maneja como un todo, y es por ello que
no necesita guardar los metadatos de forma independiente. El EHA genera identificadores
únicos, elimina los escenarios de riesgo, permite que el sistema tenga un buen rendimiento
debido a la descentralización de los metadatos, y asigna los archivos a volúmenes virtuales
aportando multiescalabilidad y fiabilidad al sistema. Los nodos de almacenamiento de GlusterFS
pueden ser interconectados empleando Infiniband RDMA o TCP/IP.
Servidor
Cliente
Los clientes del sistema GlusterFS son los encargados de mantener la estructura del
almacenamiento al ejecutar de su lado los traductores. La mayor parte de la funcionalidades de
este sistema se implementan como traductores, a continuación se citan algunos.
4. Replicación de archivos.
126
Anexos
5. Balanceo de carga.
6. Fragmentación de archivos.
7. Tolerancia a fallas a nivel de bricks.
8. Operaciones I/O y almacenamiento en caché de disco.
9. Cuotas de almacenamiento
En GlusterFS los volúmenes pueden estar formados por múltiples subvolúmenes que
generalmente están hospedados en varios servidores. Cada subvolumen posee un brick
correspondiente como unidad básica de almacenamiento. Este sistema posee tres tipos
fundamentales de volúmenes:
10. Volúmenes distribuidos: Los archivos son ubicados de forma aleatoria en los bricks que
forman parte del volumen. Pueden haber uno o múltiples servidores hospedando los
bricks, pero cada fichero se encuentra almacenado solo una vez, por lo que la falla de
uno de los servidores puede causar pérdidas de información.
11. Volúmenes replicados: Son creadas copias de los archivos y almacenadas en múltiples
bricks, que se encuentran en diferentes servidores, en el volumen para garantizar la
protección ante fallas de los servidores.
12. Volúmenes fragmentados: Los datos son divididos en partes, distribuidas en múltiples
volúmenes, luego segmentadas y guardados finalmente en los bricks. Esto permite
significativas velocidades de subidas en escenarios de alta concurrencia.
2.2 Consistencia
En este sistema no se emplea por defecto el caching en los clientes para poder brindar
multiescalabilidad y una consistencia de caché bien fuerte. Todos los traductores poseen sus
mecanismos propios para mantener un espacio de nombres global. La consistencia de la
información replicada es garantizada mediante el traductor de replicación automática. Este
traductor utiliza bloqueos en los accesos paralelos de los clientes a una misma información para
lograr que los datos que se encuentran alojados en más de un brick sean los mismos.
GlusterFS provee redundancia empleando diferentes niveles de tecnologías RAID como RAID5,
RAID6 y RAID10 o replicación para su utilización en aplicaciones de alto rendimiento. En este
sistema la replicación es realizada a nivel de servidor a través del traductor de replicación
automática, responsable de:
127
Anexos
Todos los bricks que se encuentran distribuidos tienen que tener la misma capacidad. En caso
de que hallan bricks de menor capacidad, al llenarse uno de ellos, no se almacenará más
información en el volumen distribuido del que formen parte. Es importante señalar que en una
configuración con tres bricks con valor unitario de redundancia el volumen tendrá menor
capacidad, alrededor del 66.7% del espacio físico total, y en otra con diez bricks e igual
redundancia, un 90 %. El primer caso brinda mayor fiabilidad a la información ue el segundo.
Este DFS emplea traductores para la detección de fallas a nivel de bricks para identificar las fallas
relacionadas con el sistema de ficheros y de almacenamiento. El traductor de detección de fallas
deshabilita los bricks con problemas sin provocar interrupciones en el funcionamiento de los
nodos hospederos.
Los clientes son capaces de comunicarse con los bricks aún estando caídos, por lo que conocen
de su indisponibilidad solo al ejecutar las operaciones de I/O por las demoras que provoca. Para
evitar este escenario y proveer una mejor detección de fallas se implementa el verificador de
salud para el chequeo constante del estado del DFS lo que implica la verificación funcional del
hardware y del almacenamiento. Los procesos de los bricks, al detectar que su almacenamiento
no responde, dejan de prestar servicio. El demonio glusterd puede detectar si alguno de los
procesos de los bricks se encuentra fuera de servicio. En los volúmenes se muestra el estado de
los bricks.
128
Anexos
anteriormente dadas por el algoritmo hash por lo que conllevan al rebalance de la carga de los
volúmenes, en un proceso que consta de dos fases:
16. Cálculo de nuevas distribuciones de acuerdo a los nuevos bricks y sus características.
17. Migración de los archivos a sus nuevas ubicaciones hash y limpieza de los antiguos
enlaces que no son necesarios.
Usualmente estas dos fases son realizadas conjuntamente. La fase de migración de los
archivos es disruptiva al producir una carga significativa en las I/O por lo que es ejecutada
3.1 Arquitectura
La arquitectura de Ceph está basada en tres elementos fundamentales que son llamados
demonios; OSD, Monitors (MON) y Metadata Server (MDS). Los OSD se encargan del
almacenamiento de los objetos en el sistema de ficheros local, permiten el acceso a ellos a
través de la red y normalmente están relacionados con un disco físico. Los MON mantienen el
mapa del estado del clúster y de la capa de datos en términos de los grupos de ubicación (PG).
Los MDS se ocupan del manejo de los metadatos del sistema de ficheros (CephFS). El sistema
RADOS constituye la base del funcionamiento de Ceph, aúna al pequeño grupo de MON, y a
129
Anexos
todos los OSD manejando su afiliación al clúster. RADOS dota de inteligencia a los OSD para la
ejecución dinámica en todo el clúster de las tareas de consistencia de la información, de
redundancia del almacenamiento, y de detección y recuperación ante fallas. Garantiza la
consistencia en la distribución y en las lecturas/escrituras de la información. RADOS es el
responsable de la distribución balanceada de la carga de trabajo y de los datos. Emplea el
sistema de ficheros local EBOFS para el almacenamiento de los objetos en los OSD, o sea para
el manejo de la información a bajo nivel. Este sistema provee aplicaciones que permiten acceder
a un sistema de almacenamiento único con semánticas seguras y de alta consistencia. Toda la
información, tanto archivos de los clientes como metadatos, es almacenada en el mismo
sistema de almacenamiento, en diferentes pools; por defecto se crean tres pools: data,
metadata y rbd, que corresponden a cada una de las interfaces.
OSD
MDS
130
Anexos
MON
El funcionamiento de Ceph depende de que los clientes y los OSD tengan conocimiento de la
topología del sistema, o sea de los mapas del clúster, para el acceso a la información. Los MON
se encargan del mantenimiento de los mapas del clúster que incluye los miembros del clúster,
su estado, los cambios que se producen, la salud del sistema, la distribución de la información
y otros. También gestionan las fallas de las que luego se ocupan los OSD, y toman todas las
decisiones en conjunto a través de un algoritmo de consenso distribuido basado en Paxos . El
mapa del clúster está formado por cinco mapas independientes que contienen información
relacionada con cada uno de los elementos fundamentales del clúster y cada mapa mantiene
un historial con los cambios de estado de las operaciones correspondientes.
18. Monitor Map: Está formado por el fsid del clúster, nombre, dirección y el puerto de cada
monitor. Indica la versión del estado actual (epoch), cuando fue creado el mapa y la
última vez que fue modificado.
19. OSD Map: Contiene el fsid del clúster, los datos del momento de creación del mapa y la
última modificación, una lista de los pools, número de réplicas y de PG y una lista de los
OSD y sus estados.
20. PG Map: Posee las versiones de los PG, la marca de tiempo, el último epoch del mapa
OSD, todos los ratio y los detalles de cada PG como el ID, el estado y otros.
21. CRUSH Map: Tiene la lista de los dispositivos de almacenamiento, la jerarquía de
dominios de fallas y las reglas que se utilizan para almacenar los datos.
22. MDS Map: Muestra el epoch del mapa MDS actual, los datos del momento de creación
del mapa y la última vez que fue modificado, el pool que se usa para almacenar los
metadatos, una lista de los servidores de metadatos y una descripción del estado de
estos servidores.
En un clúster debe haber varios monitores para evitar un punto de falla único y el número de
MON tiene que ser impar para que haya quórum. Los MON le asignan un peso a cada uno de
los dispositivos de almacenamiento para controlar el volumen de datos que almacenan y
permitir la distribución uniforme de los datos a través del clúster.
Cliente
131
Anexos
obtendrían la ubicación empleando el algoritmo CRUSH, para luego iniciar las transferencias
directamente con los OSD. Los clientes interactúan con los MDS solo cuando acceden al sistema
de ficheros.
El sistema de almacenamiento Ceph utiliza dos redes de datos para su funcionamiento, una de
acceso público y otra solo para el clúster. Esta arquitectura garantiza el aislamiento de los
procesos de replicación y de estado del clúster, que consumen un significativo ancho de banda,
con los de acceso por parte de los clientes, mejorando el rendimiento y la disponibilidad del
sistema.
CephFS posee una arquitectura asimétrica, localmente centralizada. Este sistema de ficheros
está conformado por demonios MON, MDS y MDS que utilizan el protocolo RADOS de conjunto
con la librería libcephfs para su funcionamiento. Puede ser accedido mediante montaje a nivel
de núcleo en sistemas Linux o a través de FUSE.
Ceph RBD permite el acceso a nivel de bloques a las imágenes que se encuentran distribuidas y
replicadas a través del clúster de almacenamiento. Está provisto con el controlador del
hypervisor KVM.
RADOSGW es la interfaz del sistema de almacenamiento Ceph que permite el acceso a nivel de
objetos a través de aplicaciones S3 y Swift compatibles. Funciona como una capa sobre el
sistema de almacenamiento Ceph que posee sus propios formatos de datos, mantiene las bases
de datos de sus usuarios, la autenticación y el control de acceso, y usa un espacio de nombres
unificado.
3.2 Consistencia
132
Anexos
semanalmente que compara los datos de los objetos bit a bit y muestra los sectores en discos
que se encuentran en mal estado y no fueron hallados en la limpieza menos profunda. Los OSD
que son marcados como caídos sincronizan la información hacia el disco y ellos mismos salen
de funcionamiento para garantizar la consistencia de los datos. Este sistema de almacenamiento
emplea la política de consistencia de la información writeonce- red-once donde los clientes son
notificados cuando todas las réplicas han sido escritas. En caso de que se produzcan accesos
simultáneos a un mismo archivo y alguno de ellos para realizar una modificación, el MDS
bloquea el acceso de todos los clientes que tienen el archivo en la caché, autoriza la escritura y
luego desbloquea el acceso a dicho archivo, una vez esté modificado.
Los datos son replicados en términos de los PG que se almacenan en tantos OSD como el
número de réplicas que fueron fijadas. El algoritmo CRUSH posee la lista de reglas para la
replicación de los datos. Las políticas de ubicación del CRUSH separan las réplicas de los objetos
a través de diferentes dominios de fallas para mantener siempre alguna réplica en caso de que
ocurran múltiples fallas. Emplea el modelo de actualización de una de las copias y luego propaga
los cambios al resto de los nodos donde se encuentran almacenadas. El cliente envía todas las
escrituras de objetos al primer OSD en los PG primarios que asignan un nuevo número de
versión al objeto y a los PG y reenvían la escritura a cualquier OSD. Luego de que cada réplica
aplica la actualización y responde al primario, el primario aplica la actualización localmente y
entonces el cliente conoce de la culminación de la escritura. El modelo de replicación que
emplea Ceph libera al cliente de las complejidades relacionadas con la sincronización que puede
ser un problema en caso de que se estén ejecutando múltiples escrituras o procesos de
recuperación ante fallas. El cliente solo es notificado del fin de una escritura, una vez escritas
todas las copias de dicha información. La replicación no influye en el consumo del ancho de
banda de los clientes que acceden al sistema al llevarse a cabo a través de la red interna del
clúster. La sincronización que utiliza este sistema retiene su simplicidad en permitir semánticas
de lecturas/escrituras y escrituras compartidas a través de I/O sincrónicas.
Ceph emplea mensajes asincrónicos para la comunicación punto a punto, donde los fallas en
una conexión TCP conllevan a un limitado número de nuevos intentos antes de que la falla sea
reportada a los MON del clúster y delega la responsabilidad de la detección de fallas a los OSD
que almacenan la información. Los OSD intercambian reportes de estado periódicamente con
sus semejantes con los cuales comparten los PG, o sea con pares, para garantizar que cualquier
falla en los dispositivos sea detectada. Los que presentan fallas en muchos casos le comunican
a otros que las poseen y en caso de que no puedan; ocasionalmente los OSD vecinos ejecutan
ping entre ellos, si no hay respuesta, se marca como caído en la lista que llevan los MON y no
se emplea en el almacenamiento de datos, después de algún tiempo es sacado del clúster y
133
Anexos
reemplazado por otro replicándose toda la información del anterior. Las responsabilidades de
un OSD caído o que sea sacado del clúster son pasadas al siguiente OSD en la lista.
3.5 Seguridad
4.1 Arquitectura
IRODS, un sistema centralizado, tiene dos componentes principales: el servidor iCat que
almacena metadatos en una base de datos y maneja las consultas a estos metadatos; Y varios
servidores iRODS que almacenan datos en los recursos de almacenamiento. Un servidor iCat y
varios servidores iRODS forman una zona. Comparado con otros sistemas de archivos
distribuidos, iRODS se basa en el sistema de archivos local de los recursos de almacenamiento
(sistema de archivos Unix, NTFS) y no da formato ni despliega su propio sistema de archivos.
4.2 Nombrado
Los clientes en iRODS necesitan conectarse a un solo servidor (iCat o servidor iRODS), ya que
iRODS garantiza el enrutamiento entre los diferentes componentes. IRODS proporciona una
interfaz de cliente en línea de comandos, un módulo FUSE y algunas API (PHP, Java ...) para
asegurar operaciones de E / S y procesar consultas. De forma similar a los DFS vistos
134
Anexos
anteriormente, los clientes se comunican con el servidor iCat para las solicitudes de metadatos
y directamente con los servidores iRODS para la E / S.
IRODS utiliza un mecanismo WORM. Sin embargo, en algunos casos, los datos podrían
reescribirse con una opción --force. En este caso se proporcionan otras opciones para garantizar
la coherencia: --wlock y --rlock. Estos son bloqueo de escritura y bloqueo de lectura que
permiten bloquear un archivo durante una operación de escritura o lectura.
IRODS se implementa como una forma peer-to-peer. Por lo tanto, los servidores pueden
comunicarse juntos para detectar cuando un servidor no está disponible. En este caso, el
servidor inexacto se elimina del grupo de recursos de almacenamiento y el cliente no puede
realizar ninguna operación de E / S desde o hacia este servidor.
135
Anexos
El sistema de archivos Lustre es un sistema de archivos paralelo de código abierto que soporta
muchos requisitos de entornos de simulación HPC de liderazgo mundial.
5.1 Arquitectura
Luster es un sistema distribuido centralizado que se distingue de los DFS actuales, ya que no
proporciona ninguna copia de datos y metadatos. En su lugar, Lustre elige Almacenar metadatos
en un almacenamiento compartido denominado Meta de metadatos (MDT) adjunto a dos
servidores de metadatos (MDS), ofreciendo así una conmutación por error activa / pasiva. MDS
son los servidores que manejan las solicitudes a los metadatos. Los datos se gestionan de la
misma manera. Se dividen en objetos y se distribuyen en varios Objetos de almacenamiento de
objetos compartidos (OST) que se pueden conectar a varios servidores de almacenamiento de
objetos (OSS) para proporcionar una conmutación por error activa / activa. OSS son los
servidores que manejan las solicitudes de E / S.
5.2 Nombrado
El espacio de nombre global único del Lustre es proporcionado al usuario por el MDS. Lustre usa
inodes, como HDFS o MooseFS, y atributos extendidos para asignar el nombre del objeto de
archivo a sus OSTs correspondientes. Por lo tanto, los clientes serán informados de qué OST
debe consultar para cada uno de los datos solicitados.
Luster proporciona herramientas para montar todo el sistema de archivos en el espacio del
usuario (FUSE). Las transferencias de archivos y las consultas de procesamiento se realizan de
la misma manera que los otros DFS centralizados, es decir, solicitan al MDS que ubique los datos
y realice directamente las E / S con los OST apropiados.
Lustre implementa un Distributed Lock Manager (DLM) para administrar la coherencia del
caché. Se trata de un sofisticado mecanismo de bloqueo que permite a Lustre admitir acceso
concurrente de lectura y escritura. Por ejemplo, Lustre puede elegir conceder bloqueo de
escritura en un directorio con poca contienda. El bloqueo de retroalimentación permite a los
clientes almacenar en caché un gran número de actualizaciones en la memoria que se asignarán
al disco más tarde, reduciendo así las transferencias de datos. Mientras que en un directorio
con acceso simultáneo, Lustre puede elegir realizar cada solicitud de uno en uno para
proporcionar una fuerte consistencia de datos.
136
Anexos
Lustre proporciona herramientas sencillas para el equilibrio de carga. Cuando un OST está
desequilibrado, es decir, utiliza más espacio de disco que otros OST, el MDS elegirá OST con más
espacio libre para almacenar nuevos datos.
Lustre difiere de otros DFS porque se detectan fallos durante las operaciones de los clientes
(consultas de metadatos o transferencias de datos) en lugar de detectarse durante las
comunicaciones de los servidores. Cuando un cliente solicita un archivo, primero entra en
contacto con el MDS. Si este último no está disponible, el cliente pedirá a un servidor LDAP que
sepa qué otros MDS puede cuestionar. A continuación, el sistema realiza una conmutación por
error, es decir, el primer MDS está marcado como muerto y el segundo se convierte en activo.
Un fallo en OST se hace de la misma manera. Si un cliente envía datos a un OST que no responde
durante un tiempo determinado, será redirigido a otro OST.
137
Anexos
Leyenda:
ROJO: Concernientes al cliente o los administradores. Preguntado en forma de encuesta en el Epígrafe 2.5
Adaptabilidad Escalabilidad Tamaño del clúster: Número máximo de nodos en clúster que Documentación
soporta el SA. del SA.
Los SA pueden ser escalables
Restricciones de localización
horizontalmente siempre que permitan
Restricciones de espacio
ser agregados nodos de almacenamiento
Horizontal Restricciones arquitectónicas Preguntas al
sin que afecte la integridad de la
Restricciones de armarios/bastidores cliente. (Epíg.
información y se incremente la capacidad
Restricciones medioambientales 2.5)
del sistema.
Restricciones eléctricas
Restricciones de consumo eléctrico
138
Anexos
139
Anexos
143
Anexos
144
Anexos
A continuación, se definen los elementos que deben integrar un proyecto de pruebas y las
recomendaciones para su elección:
145
Anexos
el hardware subyacente del generador. Para ellos se recomienda desplegarlas sobre equipos
con al menos un CPU Intel Core i5 y cuatro GB de RAM. El autor de este trabajo recomienda no
emplear herramientas del mismo proveedor que la solución de NP, por considerar que los
resultados pueden estar afectados por la parcialidad del mismo. En adición, se recomienda que
el hardware para realizar las pruebas no cambie durante el período de pruebas, para evitar
incongruencias en los resultados.
9. Descripción de la prueba: se compone de distintas etapas, instalación y configuración del
escenario, realización de la prueba, limpieza del escenario, consistente en la eliminación de las
instalaciones y configuraciones realizadas para la prueba; agregación y cálculo de métricas
finales. Debe ser clara y concisa, en dependencia de los recursos a emplear y del tiempo
definido.
10. Análisis de los resultados: Se propone realizar un análisis de los resultados compuesto por cuatro
etapas: ordenamiento de los resultados, análisis estadísticos de los resultados, comparación de
métricas con estándares de la industria e incorporación de los resultados a BD y conclusiones.
Entornos en desarrollo:
146
Anexos
147
Anexos
Se requiere además Apache JMeter como generador de carga para la realización de las pruebas.
Se necesita disponer de igual número de nodos de prueba que de generación de cargas.
26
Siglas correspondientes al término en inglés: Management Information Base.
148
Anexos
equipo, debido a que estas usualmente ofrecen más información que las MIB
estandarizadas.
4. Las plantillas, elementos y disparadores pertinentes deben ser instalados.
Pruebas:
1. Aplicar perfiles de carga ascendente durante 30 minutos y posteriormente detener las
pruebas por un intervalo de 10 minutos. Aplicar perfiles de carga descendente durante 30
minutos y posteriormente detener las pruebas durante 10 minutos.
2. Aplicar perfiles de carga por picos durante 30 minutos en intervalos de 5 minutos cada uno
de carga y descanso.
3. Esperar un intervalo de 10 minutos y emplear perfiles de sobrecarga, durante 10 minutos
con descansos de 1 minuto (durante 3 iteraciones).
4. Recoger las métricas definidas de los generadores de carga y las herramientas de gestión.
Limpieza del escenario:
1. Detener todas la MV desplegadas con el servicio y eliminarla.
2. Detener todos los procesos de generación de carga dispuestos.
Cálculo y agregación de métricas:
1. Calcular media, máximo, desviación estándar y umbral del 95 % percentil para cada valor de
las métricas.
Entornos en producción:
Nombre de la prueba: Prueba de utilización de recursos por MV y servicio independiente.
Tipo de prueba: Monitorización.
Objetivo de las pruebas: Especificar el consumo de recursos de cómputo, almacenamiento y red
de la Nube para los tipos de carga presentes en la NP de forma independiente para cada MV
que contiene cada servicio y para cada servicio.
Duración: Permanente.
Número de iteraciones: Una.
Parámetros a ser medidos y medios a emplear:
Los medios a emplear y métricas a recoger son las mismas que para entornos en producción,
con la excepción de que no es necesario emplear JMeter pues no se generará carga para este
escenario.
Descripción de las pruebas:
Instalación y configuración:
1. Identificar métricas y herramientas a emplearse para recogerlas.
2. Instalar el nodo frontend de Zenoss o Zabbix en un nodo físico independiente a los
empleados para las pruebas.
3. Configurar agentes de las herramientas de gestión en todos los nodos de la NP,
configurando los elementos, plantillas y disparadores necesarios para monitorizar las
métricas establecidas para cada servicio.
149
Anexos
4. Configurar vía SNMP aquellos elementos de la red que no puedan configurarse empleando
agentes para integrarlos al sistema de gestión.
Pruebas:
1. Monitorizar las métricas definidas en la Tabla G.1 durante todo el tiempo que se ha
encontrado activo el sistema de gestión de la NP, específicamente en aquellos intervalos de
tiempo de funcionamiento habitual del sistema como días laborables de 8 am a 6 pm, para
obtener tendencias y comportamientos habituales de la infraestructura.
2. El tiempo de duración de la prueba, para obtener métricas confiables debe ser de al menos
un mes, para contar con datos para analizar de cuatro semanas y evitar aleatoriedades
debidas a eventos especiales o días de alto tráfico.
Limpieza del escenario:
1. Se recomienda no realizar limpieza de este escenario, pues toda la NP debe contar con un
sistema de gestión de red y de infraestructura. En casos donde la red se vea muy cargada
por el sistema de gestión se recomienda al terminar las pruebas bajar el tiempo de chequeo
de métricas del sistema de gestión a valores que impacten menos el desempeño de la red.
Cálculo y agregación de métricas:
1. Las herramientas de gestión ofrecen métricas agregadas durante un período definido por el
usuario.
150
Anexos
Para el tipo de aplicación, puede utilizar cualquier texto apropiado que describa el tipo de
■ Seguimiento de ventas
151
Anexos
• Control centralizado y sencillo: Este es el resultado de un sistema, con una interfaz consistente,
para administrar más o el mismo almacenamiento. Las características clave de una
infraestructura bien definida y definida por software, especialmente flexibilidad y facilidad de
cambio, hacen de SDS un elemento fundamental ideal de una NP.
• Economía: el software SDS puede reducir los costos. Cada vez que una organización compra
almacenamiento tradicional, paga tanto el hardware como el software de gestión propietario
asociado. Haciendo una sola inversión de software lógico para administrar todo el hardware de
almacenamiento, una organización puede reducir tanto su OpEx como su CapEx . Y con las
economías de escala que trae SDS, los administradores de almacenamiento / sistema pueden
gestionar invariablemente más datos de orden de magnitud que antes, así como lograr una
mejor utilización de recursos.
152
Anexos
punto. Al ser un grupo único los recursos pueden ser optimizados de acuerdo a las necesidades
de la aplicación.
153
Anexos
*Soporte para múltiples protocolos: NAS soporta diferentes protocolos, entre ellos NFS para
Unix, CIFS para Windows y Protocolo de Trasferencia de Hipertexto (HTTP) para la web.
*Desempeño: típicamente NAS permite múltiples conexiones de red. Esto permite el soporte
concurrente de múltiples redes y permite a más usuarios estar conectados a un elemento de
almacenamiento común.
*Datos compartidos: una de las funciones básicas de NAS es permitir compartir datos mediante
la implementación de un sistema de archivo remoto. Los usuarios en sistemas clientes
diferentes, pueden acceder al mismo archivo en el sistema NAS.
*Gestión del almacenamiento: con NAS la gestión del almacenamiento está centralizada para un
dispositivo NAS en particular, que puede soportar un amplio número de sistemas de
aplicaciones. La administración del sistema de gestión de NAS es simple y maneja todos los
dispositivos de almacenamiento conectados. Esto provee ventajas de costo al permitir que cada
administrador maneje más capacidad.
Las SANs determinan una mejora del desempeño en la trasmisión de datos, permitiendo que
las transferencias se realicen de fuente a destino con mínima intervención de los servidores.
Por otra parte, una SAN implementa nuevas arquitecturas de red en las que múltiples usuarios
o estaciones de trabajo, pueden acceder a diferentes tecnologías de almacenamiento
conectadas a una misma red.
154
Anexos
155
Anexos
156
Anexos
157
Anexos
CEPH GLUSTERFS
Soporte a SO: Soporte a SO:
CentOS CentOS
Debian Debian
RHEL RHEL
Ubuntu Ubuntu
Fedora Fedora
Arch Linux
Requerimientos de HW: Requerimientos de HW:
1 GB por TB de OSD 2GB de RAM
Micro Dual Core Micro Dual Core o superior
2 interfaces de red mínimo a 1Gbps 1 interfaces de red mínimo a
1Gbps
Interfaces de usuario: Interfaces de usuario:
CLI CLI
**Próximamente KRAKEN soporte para GUI GLUSTER FS GUI plugin
TIPO DE ALMACENAMIENTO SOPORTADO OPERACIONES
Objetos Bloques Ficheros Crear volumen
Características Características Características Expandir volumen
generales: generales: generales:
Interface RESRful Soporte para Thin Soporte para Rebalancear volúmenes
Provisioning semánticas
POSIX
APIS para S3 y Swift Soporte para Metadatos Parar volúmenes
imágnes de hasta 16 separados de
exabytes c/u los datos
Gestión de usuarios Cacheo en memoria Rebalanceo Borrar volúmenes
dinámico
Estadísticas de uso Snapshot Snapshot a Configurar auto-reparación
subdirectorios
Integración a Clon en caliente Soporte para Creación de cuotas
productos de nube FUSE
Despliegue multi- Soporte para Despliegue Creación de servidor Gluster NFS
sitio KVM/libvirt compatible con
Recuperación ante Integración a NFS/CIFS Creación de servidor Gluster
desastres productos de nube SAMBA
Creación de servidor Gluster ZFS
Backup incremental Configuración de Geo-
replicación
Recuperación ante Configuración de gluster-swift
desastres para soporte de objetos y
metadatos
OPERACIONES BASICAS DE CADA UNO Creación de Snapshot a
volúmenes
Operaciones con Operaciones sobre Operaciones Monitoreo de funcionalidades
Regiones bloques con metadatos
Operaciones con Operaciones de Establecimiento Creación de lista de control de
diferentes zonas Snapshot de cuotas acceso
Operaciones sobre Operaciones de Creación de perfil para uso
usuarios Espejo específico de CPU y RAM
Gestión de cuotas Operaciones sobre
QEMU/libvirt
Estadísticas de uso Cacheo
OPERACIONES EN MODO CLUSTER
Operaciones básicas sobre el clúster (creación, eliminación.
Modificación de parámetros)
Monitoreo OSD y PGs
Gestión de Usuarios
Operaciones sobre Pools de datos
158
Anexos
159
Anexos
SAN-Ceph
Salvas-Bácula
160
Anexos
DSaaS--Pydio
161
Anexos
162
Anexos
Requisitos previos
En el caso particular de la CUJAE se empleó una imagen de Ubuntu 16.04 LTS en su versión
estable sin interfaz gráfica. El nombre de usuario de los nodos es ceph y el hostname
denominado para cada uno fue: ceph01 hasta ceph05 respectivamente.
Una para el swap cuyo tamaño debe ser del doble de la capacidad de RAM. Esta partición
se debe especificar que es swap.
Una de 40 GB con File System (ext4, xfs o btrfs). A esta partición no se le activa la
opción /boot flag pero si se le fija el punto de montaje “/”.
Nota: Todos los comandos que se ejecuten se recomienda que sean bajo la cuenta de root
# nano /etc/apt/sources.list
Una vez dentro del fichero se eliminaron (se comentó) las líneas existentes
y se agregaron otras con el propósito de utilizar los repositorios de Debian 8, Ceph y Zabbix
(posterior monitoreo) internos de la CUJAE:
163
Anexos
# apt-get update
También se instalaron los paquetes ifenslave vlan y bridge-utils necesarios para configurar la
red como se mostrará más adelante.
Los nodos cuentan con dos redes, una pública para atender las peticiones de los clientes y otra
privada para las operaciones internas del clúster específicamente para las operaciones de
replicación de la información y recuperación ante fallos.
La red pública es la 10.8.9.0 y la del clúster 192.168.0.0 y se establecieron VLANs para separar
el tráfico de la red pública de la del clúster 702 y 4002 respectivamente.
Además, se aplicaron troncales LACP a la red cliente para aumentar su ancho de banda a 2Gbps.
Para poder emplear la configuración de red bajo vlans se requiere de instalar los paquetes
“bridge-utils” e “ifenslave” ya previamente informado.
# nano /etc/network/interfaces
164
Anexos
Es necesario editar el fichero hosts en todos los nodos para facilitar los procedimientos
posteriores. Esto se hace ejecutando en cada uno:
# nano /etc/hosts
Una vez dentro agregamos los hostnames con la dirección IP de todos los nodos. A continuación,
vemos como queda el fichero en el nodo 1, análogamente debe quedar en los demás:
165
Anexos
A continuación, nos dirigimos al fichero sshd_config para modificar una línea de configuración.
Es necesario su modificación para que SSH pueda loguearse como root en los demás nodos.
Para ello modificamos ese fichero en la línea donde dice “PermitRootLogin” borramos lo que
está y ponemos “yes”.
# nano /etc/ssh/sshd_config
Para instalar los paquetes de Ceph se autentica remotamente vía SSH en cada nodo y se ejecuta:
Existen dos formas de desplegar CEPH. La más usada es mediante el paquete “ceph-deploy”, el
cual simplifica bastante el proceso realizando en pocas operaciones la instalación y el despliegue
de los diferentes componentes del sistema en todos los nodos desde el admin-node.
166
Anexos
La otra forma de despliegue es totalmente manual, lo que es más trabajoso y requiere un poco
más de conocimiento en sistemas Linux. En esta guía se describirá el proceso manual debido a
la ausencia del paquete “ceph-deploy” en los repositorios locales de CEPH.
Un clúster de almacenamiento de Ceph requiere como mínimo un monitor para operar. Sin
embargo, siempre es recomendable utilizar más de un monitor y de preferencia un número
impar de ellos para garantizar quorum entre los mismos.
# ssh username@hostname
Nota: Si no se tiene editado el fichero /etc/hosts hay que utilizar la dirección IP del nodo.
2- Generar el FSID del clúster, este será el identificador del clúster. Este identificador es
único para cada clúster.
Para ello debemos instalar el paquete uuid-runtime
Generar el FSID:
# uuidgen
4- Configurar el fichero del clúster “ceph.conf” con los principales parámetros. Utilizar la
salida del comando anterior para fijar el parámetro FSID en el fichero.
# nano /etc/ceph/ceph.conf
Existen diversas maneras de configurar el fichero “ceph.conf” (ver documentación oficial
en el sitio web), a continuación se muestra como se configuró en el CPD CUJAE.
Nota: Recuerde que el fsid generado será diferente al de la figura puesto que son
identificadores únicos para cada clúster.
167
Anexos
Nota: a partir de ahora los comandos serán un poco largos por lo que en la realización de esta
guía ocupan dos renglones del documento. Es necesario aclarar que son comandos únicos, es
decir a la hora de escribirlos son de una única línea. También es necesario aclarar que donde
dice “ allow “ se usa comilla simple “ ‘ “ por eso se recomienda cambiar el teclado a Inglés y no
copiar y pegar sino escribirlos detenidamente y sin equivocaciones ya que de no ser así se
pueden generar configuraciones erróneas.
5- Crear un fichero “keyring” para el monitor y generar una llave secreta con los
permisos correspondientes.
# monmaptool --create --add ceph01 10.8.9.141 --fsid (fsid del clúster) /tmp/monmap
168
Anexos
# mkdir /var/lib/ceph/mon/ceph-ceph-ceph01
15- Revisar el estado del clúster para comprobar la creación del monitor.
# ceph –s
Nota: Fijarse en el parámetro “monmap”. Si la operación fue exitosa deberá decir que hay un
monitor creado y dará el hostname y la dirección IP del mismo. El parámetro “health”
momentáneamente pondrá error. No preocuparse por esto ya que todavía faltan componentes
por agregar.
Una vez que se ha desplegado el primer monitor es hora de añadir los primeros OSD al clúster.
Se comienza creando un OSD por cada HDD presente en el nodo donde se creó el primer
monitor, momentáneamente no se crea ningún OSD en el HDD donde está instalado el Sistema
Operativo ya que no es recomendable según la documentación oficial.
169
Anexos
Ejecutamos
# lsblk
Nota: Para una mayor comprensión se supondrá que los discos dedicados al almacenamiento
serán sdb, sdc y sdd respectivamente. No obstante, el administrador que realice esta operación
debe tener presente cuando ejecute este comando cuales son los discos donde quiere crear los
OSD. No tiene por qué coincidir con esta guía. ¡CUIDADO CON EL DISCO DEL SISTEMA
OPERATIVO!
3- Los OSD trabajan con la tabla de partición GUID (GPT), por lo que es necesario cambiar
la etiqueta a GPT.
4- Preparar los OSD con el FSID del clúster y la información del sistema de ficheros a
emplear.
# ceph-disk prepare --cluster ceph --cluster-uuid (fsuid del cluster) –fs-type xfs /dev/sdb
# ceph-disk prepare --cluster ceph --cluster-uuid (fsuid del cluster) –fs-type xfs /dev/sdc
# ceph-disk prepare --cluster ceph --cluster-uuid (fsuid del cluster) –fs-type xfs /dev/sdd
170
Anexos
6- Revisar nuevamente el estado del clúster para visualizar los OSD agregados.
# ceph -s
Nota: Si las operaciones realizadas fueron correctas deberán aparecer en la salida del comando
tres OSD, el estado “up” significa que el servicio está funcionando.
ceph.conf:
ceph.client.admin.keyring:
Nota: Si el comando no funciona se recomienda revisar los permisos de los usuarios y revisar las
configuraciones de SSH.
171
Anexos
Escalando el clúster
Añadiendo Monitores
# ssh username@hostname
172
Anexos
11- Una vez que el monitor ha sido agregado se comprueba el estado de ceph.
# ceph –s
12- Repita los mismos pasos para añadir el tercer monitor en el nodo 3 (ceph03). Una
vez añadido el tercer monitor en el estado del clúster deberán aparecer los tres
monitores.
Nota: Tenga en cuenta ahora el nombre y la dirección IP del monitor (ceph03 y 10.8.9.143)
Añadiendo OSD
# ssh username@hostname
Ejecutamos
# lsblk
Nota: Para una mayor comprensión se supondrá que los discos dedicados al almacenamiento
serán sdb, sdc y sdd respectivamente. No obstante, el administrador que realice esta operación
debe tener presente cuando ejecute este comando cuales son los discos donde quiere crear los
OSD. No tiene por qué coincidir con esta guía. ¡CUIDADO CON EL DISCO DEL SISTEMA
OPERATIVO!
173
Anexos
3- Los OSD trabajan con la tabla de partición GUID (GPT), por lo que es necesario
cambiar la etiqueta a GPT.
4- Preparar los OSD con el FSID del clúster y la información del sistema de ficheros a
emplear.
# ceph-disk prepare --cluster ceph --cluster-uuid (fsuid del cluster) –fs-type xfs /dev/sdb
# ceph-disk prepare --cluster ceph --cluster-uuid (fsuid del cluster) –fs-type xfs /dev/sdc
# ceph-disk prepare --cluster ceph --cluster-uuid (fsuid del cluster) –fs-type xfs /dev/sdd
6- Revisar nuevamente el estado del clúster para visualizar los OSD agregados.
# ceph -s
7- Repita los mismos pasos para agregar osd en el nodo 3, 4 y 5 (ceph03, ceph04 y
ceph05).
Nota: En el caso de los nodos que no tienen monitores como el nodo 4 antes de ejecutar el paso
5 es necesario realizar lo siguiente:
Entrar en el nodo 1 y copiar el siguiente fichero al nodo 4 (o los nodos que no tienen monitores)
174
Anexos
Es muy probable que en el estado del clúster se encuentre la notificación “clock skew warning”,
esto significa que no está configurado el Protocolo de Tiempo de Red (NTP) por lo que los
monitores están desincronizados. Esto atenta contra el funcionamiento del clúster ya que la
mayoría de las operaciones realizadas por este requieren estar sincronizadas a un servidor de
tiempo común en la red. En caso de no existir uno es necesario crearlo. En el centro de datos
de la CUJAE existe un servidor NTP con direccion IP 10.8.9.24
# ssh username@hostname
# nano /etc/ntp.conf
4- Dentro del fichero se eliminan (se comentan) los servidores que vienen por default
y se agrega el server de la CUJAE. Debe quedar así:
175
Anexos
# ntpq –pn
7- Después de realizar este proceso en todos los nodos esperar unos segundos y
ejecutar:
# ceph –s
Nota: Debería decir “HEALTH_OK” en caso de que no lo diga esperar unos segundos más.
176
Anexos
177