Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

90
Universidad Nacional del Sur Departamento de Ciencias e Ingenier´ ıa de la Computaci´ on Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos Tesis presentada por Rub´ en Gast´ on Cantera para obtener el grado de Licenciado en Ciencias de la Computaci´ on 2015

description

La información es un bien colectivo e intangible del cual dependen los procesos de las organizaciones modernas. El volumen de la información que éstas manejan ha crecido y seguirá haciéndolo en los próximos años. Para enfrentar esta tendencia, se han adaptado las tecnologías de almacenamiento de datos para soportar grandes volúmenes de información y la descentralización de los mismos.En los capítulos de esta tesis vamos a ver distintas opciones para actualizar el centro de datos de una organización con un gran volumen de información. Comenzaremos mostrando su actual infraestructura de datos, presentaremos las tecnologías contemporáneas aplicables, compararemos distintas arquitecturas de almacenamiento, evaluaremos equipamientos específicos y finalmente diseñaremos e implementaremos una solución acorde a las necesidades de la organización.La información es un recurso vital para toda organización, el buen manejo de esta puede significar la diferencia entre el éxito o el fracaso para todos los proyectos que se emprendan dentro de un organismo que busca el crecimiento y el éxito.

Transcript of Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Page 1: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Universidad Nacional del Sur

Departamento de Ciencias e Ingenierıa de la Computacion

Alta Confiabilidad y

Disponibilidad en

Almacenamiento de Datos

Tesis presentada por Ruben Gaston Cantera

para obtener el grado de

Licenciado en Ciencias de la Computacion

2015

Page 2: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Dedicada a mi amigo Fernando

2

Page 3: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Agradecimientos

La realizacion de esta tesis de grado fue posible gracias al apoyo de varias

personas y con estas lıneas me gustarıa expresarles mi agradecimiento.

En primer lugar a mi familia por acompanarme dıa a dıa y darme fuerzas para

terminar este trabajo.

A mi novia Ana por la ayuda con la sintaxis y semantica, pero sobre todo por

la paciencia.

A la Gerencia de Sistemas de la Cooperativa Obrera y en especial a mis com-

paneros de trabajo, donde aprendı el concepto de independencia tecnologica. Esta

tesis fue escrita totalmente utilizando software libre. Se utilizo el sistema operativo

Centos 6.6, TeX Live, Git, NetBeans, Gimp y TeXstudio. Se utilizo LATEX [Knu84]

para su desarrollo.

A mi companero de trabajo Lic. Gabriel Gomiz que me introdujo en el mundo

de la administracion de servidores y redes. Muchas ideas de esta tesis son de su

autorıa.

Por ultimo y mas importante, quiero agradecer a mis papas Pedro y Lucıa

por esperar tanto tiempo.

Cantera, Ruben Gaston

Universidad Nacional del Sur

Bahıa Blanca, 18 de junio de 2015.

3

Page 4: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Introduccion

La informacion es un bien colectivo e intangible del cual dependen los pro-

cesos de las organizaciones modernas. El volumen de la informacion que estas

manejan ha crecido y seguira haciendolo en los proximos anos. Para enfrentar

esta tendencia, se han adaptado las tecnologıas de almacenamiento de datos para

soportar grandes volumenes de informacion y la descentralizacion de los mismos.

En los capıtulos de esta tesis vamos a ver distintas opciones para actualizar

el centro de datos de una organizacion con un gran volumen de informacion.

Comenzaremos mostrando su actual infraestructura de datos, presentaremos las

tecnologıas contemporaneas aplicables, compararemos distintas arquitecturas de

almacenamiento, evaluaremos equipamientos especıficos y finalmente disenaremos

e implementaremos una solucion acorde a las necesidades de la organizacion.

La informacion es un recurso vital para toda organizacion, el buen manejo

de esta puede significar la diferencia entre el exito o el fracaso para todos los

proyectos que se emprendan dentro de un organismo que busca el crecimiento y

el exito.

4

Page 5: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Indice general

2

Agradecimientos 3

Introduccion 4

I Fundamentos y Tecnologıas 10

1. El Problema 11

1.1. Escenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.1.1. La Realidad . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.1.2. La Utopıa . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.1.3. Alcance y Limitaciones . . . . . . . . . . . . . . . . . . . . 13

1.2. Situaciones de Fracaso . . . . . . . . . . . . . . . . . . . . . . . . 14

1.2.1. Probabilidad . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.2.2. Estadısticas . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2. Tecnologıa de Almacenamiento 16

2.1. Arquitecturas de Almacenamiento . . . . . . . . . . . . . . . . . . 16

2.1.1. Directly Attached Storage . . . . . . . . . . . . . . . . . . 16

2.1.2. Network Attached Storage . . . . . . . . . . . . . . . . . . 17

2.1.3. Storage Area Network . . . . . . . . . . . . . . . . . . . . 18

2.1.4. Comparativa . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.2. Tecnologıas de Conexion . . . . . . . . . . . . . . . . . . . . . . . 21

2.2.1. Fibre Channel . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.2.2. iSCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.2.3. ATA over Ethernet . . . . . . . . . . . . . . . . . . . . . . 26

5

Page 6: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Indice general 6

2.2.4. Multipath . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.3. Discos Duros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.3.1. Serial Attached SCSI . . . . . . . . . . . . . . . . . . . . . 27

2.3.2. Serial ATA . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.3.3. Unidades de Estado Solido . . . . . . . . . . . . . . . . . . 29

2.3.4. Comparativa . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.4. Redundant Array of Independent Disks . . . . . . . . . . . . . . . 32

2.4.1. Niveles de RAID . . . . . . . . . . . . . . . . . . . . . . . 32

2.5. Distributed Replicated Block Device . . . . . . . . . . . . . . . . 34

3. ATA over Ethernet 36

3.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.1.1. Definicion . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.1.2. Funcionamiento Basico . . . . . . . . . . . . . . . . . . . . 38

3.1.3. Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.2. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.2.1. Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.2.2. Advanced Technology Attachment . . . . . . . . . . . . . . 42

3.2.3. ATA sobre Ethernet . . . . . . . . . . . . . . . . . . . . . 43

3.3. Protocolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.3.1. Paquete de Datos . . . . . . . . . . . . . . . . . . . . . . . 44

3.3.2. Cabecera Compartida . . . . . . . . . . . . . . . . . . . . 45

3.3.3. Controladores . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.4. Soporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.4.1. GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.4.2. Hardware Comercial . . . . . . . . . . . . . . . . . . . . . 49

3.4.3. Ejemplo de Uso . . . . . . . . . . . . . . . . . . . . . . . . 49

3.5. Aplicacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.5.1. AoE vs. iSCSI vs. Fibre Channel . . . . . . . . . . . . . . 52

3.5.2. RAID over Ethernet . . . . . . . . . . . . . . . . . . . . . 52

3.5.3. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

II Resolucion y Aplicacion 55

4. La Solucion 56

Page 7: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Indice general 7

4.1. Soluciones Comerciales . . . . . . . . . . . . . . . . . . . . . . . . 57

4.1.1. Opciones de Mercado . . . . . . . . . . . . . . . . . . . . . 58

4.1.2. Testing Dell EqualLogic PS6010XV . . . . . . . . . . . . . 59

4.1.3. Licenciamiento . . . . . . . . . . . . . . . . . . . . . . . . 63

4.2. Independencia Tecnologica . . . . . . . . . . . . . . . . . . . . . . 63

4.3. Soluciones Ad Hoc . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.3.1. Equipamiento . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.3.2. Implementacion . . . . . . . . . . . . . . . . . . . . . . . . 65

5. Diseno 66

5.1. Redundancia de Discos: RAID . . . . . . . . . . . . . . . . . . . . 67

5.1.1. Striping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.1.2. RAID 50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.1.3. RAID 60 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.1.4. RAID 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.2. Redundancia de Equipos: DRBD . . . . . . . . . . . . . . . . . . 68

5.2.1. DRBD over RAID 60 . . . . . . . . . . . . . . . . . . . . . 69

5.2.2. DRBD over RAID 10 . . . . . . . . . . . . . . . . . . . . . 69

5.3. RAID over DRBD vıa AoE . . . . . . . . . . . . . . . . . . . . . . 70

5.3.1. Striping over DRBD . . . . . . . . . . . . . . . . . . . . . 70

5.3.2. Comparativa . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.4. Automatizacion: Clustering PaceMaker . . . . . . . . . . . . . . . 71

6. Conclusiones 73

III Apendices 75

A. Equipamiento 76

B. Herramientas de Analisis de Prestaciones en Discos 80

C. Acronimos 86

Bibliografıa 89

Page 8: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Indice de figuras

2.1. Implementacion DAS . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.2. Despliegue NAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.3. Implementacion SAN . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.4. Esquema de acceso a los Sistemas de Almacenamiento . . . . . . . 21

2.5. Estructura de los Sistemas de Almacenamiento . . . . . . . . . . . 22

2.6. Topologıas de Fibre Channel . . . . . . . . . . . . . . . . . . . . . 23

2.7. Capas de la tecnologıa Fibre Channel . . . . . . . . . . . . . . . . 24

2.8. Representacion iSCSI Initiators y Target . . . . . . . . . . . . . . 26

2.9. Multipath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.10. Especificaciones Tecnicas de SAS . . . . . . . . . . . . . . . . . . 28

2.11. SAS vs SATA vs SSD: Precio por GB en USD . . . . . . . . . . . 31

2.12. Configuracion RAID 0+1 y RAID 10 . . . . . . . . . . . . . . . . 33

2.13. Estructura de un sistema con DRBD . . . . . . . . . . . . . . . . 35

3.1. Diferencias entre stack AoE y iSCSI . . . . . . . . . . . . . . . . . 38

3.2. Modelo de Interconexion de Sistemas Abiertos . . . . . . . . . . . 41

3.3. Paquete de datos AoE . . . . . . . . . . . . . . . . . . . . . . . . 45

3.4. Encabezado de paquete AoE . . . . . . . . . . . . . . . . . . . . . 46

3.5. Ejecucion del comando aoe-discover . . . . . . . . . . . . . . . . 48

3.6. Stack AoE vs. iSCSI vs. FC . . . . . . . . . . . . . . . . . . . . . 53

5.1. Configuracion RAID 50 con 6 discos . . . . . . . . . . . . . . . . . 67

5.2. Comparativa RAID 5 vs RAID 10 . . . . . . . . . . . . . . . . . . 68

5.3. Configuracion RAID 0 sobre DRBD . . . . . . . . . . . . . . . . . 71

8

Page 9: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Indice de cuadros

2.1. Velocidades SATA . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1. Soporte AoE por sistema operativo . . . . . . . . . . . . . . . . . 49

3.2. Parametros del comando vbladed . . . . . . . . . . . . . . . . . . 50

5.1. Caracterısticas de la controladora RAID Dell PERC H700 . . . . 66

5.2. Comparativa de Configuraciones de Almacenamientos . . . . . . . 70

9

Page 10: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Parte I

Fundamentos y Tecnologıas

10

Page 11: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 1

El Problema

Supongamos que luego de 6 anos desde la ultima renovacion de equipamiento

en el datacenter central de una organizacion llego la hora de actualizarlo. Ac-

tualmente todo funciona muy bien, no obstante, se sabe que no se puede dejar

que el tiempo pase, ya que dicha organizacion ha tenido un crecimiento sostenido

constante, y esto ha incrementado notoriamente. De hecho mas del 35 por ciento

de las sucursales se abrieron en los ultimos anos, siendo este su maximo perıodo

de crecimiento.

La organizacion se divide en Gerencias (General, Compras, Logıstica, Siste-

mas, etc) y posee decenas de sucursales de ventas y centros de produccion. La

Gerencia de Sistemas, entre otras tareas, es la responsable de realizar la tarea de

actualizacion del datacenter y nosotros somos los administradores de Information

Technology (IT)1 que vamos a realizar dicha actualizacion.

Se encuentra aprobado el proyecto por parte de la Gerencia General y tenemos

un plazo de 6 meses para realizar nuestra tarea. Del resto de las gerencias siempre

se repite lo mismo y el requerimiento es muy simple: es necesario contar con mas

informacion historica disponible en lınea para poder realizar calculos estadısticos

mas precisos. Ademas debe ser accesible lo mas rapido posible.

Desde la Gerencia de Sistemas no hay objeciones. Incorrectamente se asume

que el costo por MB es despreciable y con respecto a la velocidad, que simplemente

se deben adquirir los servidores mas potentes del mercado y problema solucionado.

Nosotros, como administradores de IT, vemos todas las complicaciones implıcitas.

Nombremos la primera que se nos viene a la mente y casualmente la mas probable:

la sola idea de tener que explicar porque tarda 2 dıas completos (en los cuales hay

1Tecnologıa de la Informacion

11

Page 12: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 1. El Problema 12

cientos de personas que no pueden trabajar) levantar un backup de de una de las

bases centrales —que decidieron que mantenga los ultimos 7 anos de informacion

historica (lo cual representa unos 1.500 GB entre mas de 2.200 tablas e ındices)—

mientras te recuerdan que invirtieron una gran cantidad de dinero hace 5 meses

para ampliar el datacenter ya nos da un indicio que la solucion no es la correcta.

Ademas aun no podemos imaginarnos como (y cuando —y con que frecuencia—)

vamos a realizar esas enormes copias de seguridad.

Hoy en dıa el espacio no es un problema. El verdadero problema es lidiar con

gran cantidad de informacion ante un problema real. Como realmente impactarıa

a la organizacion no contar con esa informacion por 2 horas, 1 dıa, una semana

o en el peor de los escenarios nunca. En realidad cuanto le costarıa.

1.1. Escenario

Actualmente la organizacion cuenta con un almacenamiento Dell PowerVault

220S y 2 servidores Dell PowerEdge 6650.2 Ambos servidores estan conectados

al almacenamiento vıa controladoras redundantes de alta velocidad Dell PERC

4/DC y el almacenamiento posee 8 discos configurados en un volumen Redundant

Array of Independent Disks (RAID) 10 [Tan07]. Existen 2 bases de datos centra-

les, cada servidor ejecuta una base de datos central y un conjunto de servicios.

Ademas, ambos servidores tienen la capacidad de ejecutar los servicios del otro

en forma simultanea con los propios.

Todo funcionan correctamente, la performance es la esperada. Ante un pro-

blema con uno de los servidores, levantamos los servicios en el otro mientras lo

reparamos. Si hay algun problema con un disco del almacenamiento lo reempla-

zamos.

1.1.1. La Realidad

Actualmente la organizacion opera 24x7.3 Esto es, existen centros de produc-

cion que operan de noche. Hay procesos automaticos ejecutandose todo el tiempo.

Las copias de respaldos —por supuesto— se realizan de noche.

Supongamos que tenemos un problema con uno de los discos de la controla-

dora. Como el almacenamiento es RAID 10, simplemente cuando lo detectamos

2Ver apendice A3Las 24 horas de los 7 dıas de la semana: todo el tiempo

Page 13: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 1. El Problema 13

reemplazamos el disco.

Ahora supongamos que tenemos un problema en uno de los servidores a media

noche. A excepcion que nosotros trabajemos 24x7, hasta que no volquemos los

servicios al otro servidor, dejamos de ofrecer la mitad de los servicios por unas

horas.

En un peor escenario, supongamos que tenemos un problema con la contro-

ladora RAID del almacenamiento. Dejamos de dar completamente servicio hasta

que consigamos otra controladora RAID. Como ya pasaron 6 anos desde que la

adquirimos, ese modelo particular se encuentra discontinuado y debemos adquirir

un storage completamente nuevo. Con los tramites adquisicion, envıo, puesta en

funcionamiento y migracion de datos, podemos estimar que en 2 semanas estamos

nuevamente en produccion, lo cual implica el mismo —e inaceptable— tiempo de

downtime.4

1.1.2. La Utopıa

La idea central es mantener el datacenter en lınea el mayor tiempo posible.

Entonces dado el peor escenario, inmediatamente otro almacenamiento sincroni-

zado con el que fallo, comenzarıa a operar en forma automatica y sin intervencion

nuestra. Y los servicios asociados al almacenamiento no deberıan ni enterarse de

lo ocurrido.

Obviamente esto es muy ambicioso. Existen situaciones donde ni siquiera se

justifica semejante infraestructura, un par de horas de downtime son perfectamen-

te tolerables. No obstante, existen organizaciones que poseen escenarios donde no

es tolerable ni un minuto.

Vamos a ver durante los siguientes capıtulos que no solo no es imposible, sino

que se pueden implementar soluciones de alta disponibilidad de varias maneras,

algunas utilizando exclusivamente herramientas open source.

1.1.3. Alcance y Limitaciones

Nos vamos a enfocar solamente en almacenamientos de datos, enfatizando la

confiabilidad y la alta disponibilidad. Por supuesto que podemos aplicar algunas

de las tecnicas y herramientas que vamos a ver en el cluster de aplicaciones.

4Tiempo de inactividad

Page 14: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 1. El Problema 14

1.2. Situaciones de Fracaso

La tarea que estamos por realizar no es trivial. No solo vamos a actualizar

el datacenter (el cual recordamos funciona perfectamente), tambien buscamos

contemplar la mayor cantidad de escenarios de catastrofes para poder evitarlas o

resolverlas en el menor tiempo posible.

Luego de realizar una investigacion en Internet nos encontramos con datos

desalentadores y debemos tenerlos en cuenta para intentar minimizar el impacto

en el datacenter luego de la actualizacion.

Los siguientes datos y estadısticas corresponden a empresas europeas, pero

sirven perfectamente para darnos una idea de los principales problemas con los

que podemos encontrarnos.

1.2.1. Probabilidad

Veeam Software [Til14] ha constatado que la demanda de actividad permanen-

te esta desbordando a las empresas, que no hay garantıas absolutas de seguridad,

que perder datos implica una sangrıa considerable de dinero y que los propios

costos derivados de tiempos de inactividad tambien son cuantiosos.

Por ejemplo, a 9 de cada 10 Chief Information Officers (CIOs) se les exige

“recuperar datos en menos tiempo, reducir el impacto financiero del tiempo de

inactividad no planificado y hacer respaldos con mas frecuencia, para reducir

el riesgo de perdida de datos”. Sin embargo, una cifra similar, 8,2 de cada 10,

reconoce que no cumplen con estos requisitos.

Esto es preocupante, sobre todo si se tiene en cuenta que la inactividad no

planificada puede hacerle perder a una empresa entre 1,4 millones y 2,3 millones de

dolares anuales, que dicha inactividad no es algo extrano o inaudito. Se produce,

como media, con mayor frecuencia que una vez al mes.

Ademas, estarıa comprobado que “una de cada seis recuperaciones de copias

de resguardo fracasa” y que “al ano, habra datos que se perderan de forma per-

manente como mınimo en dos ocasiones”, segun explica Veeam Software.

1.2.2. Estadısticas

El 64 % de los 3.300 responsables de IT de medianas y grandes empresas

encuestadas en el estudio Global Data Protection Index [Wee14], reconoce haber

Page 15: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 1. El Problema 15

sufrido perdidas de datos o paradas de servicio no planificadas durante los ultimos

doce meses.

En concreto, han registrado de media mas de tres dıas (25 horas) de inac-

tividad imprevista en 2014, perdiendo 1,7 billones de dolares (954.000 millones

en caıdas y 754.000 millones en perdidas de datos). A lo que hay que sumar que

las interrupciones tambien repercutieron en la perdida de ingresos (36 %) y en

retrasos en el desarrollo de producto (34 %).

Page 16: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2

Tecnologıa de Almacenamiento

Existen distintas formas de almacenar los datos de una organizacion. Para

decidir que arquitectura de almacenamiento debemos elegir es necesario entender

las caracterısticas y diferencias de cada una de ellas. Ademas, tambien existen

distintas opciones para acceder a dicha informacion.

A continuacion haremos una breve descripcion de las principales arquitecturas

de almacenamiento junto con los posibles medios para acceder a las mismas.

2.1. Arquitecturas de Almacenamiento

Existen 3 tipos de arquitecturas: Directly Attached Storage (DAS), Network

Attached Storage (NAS) y Storage Area Network (SAN). Vamos a ver las prin-

cipales caracterısticas de cada una ellas, las ventajas y desventajas para luego

realizar una comparativa.

2.1.1. Directly Attached Storage

Es el metodo tradicional de almacenamiento y el mas sencillo. Consiste en

conectar el dispositivo de almacenamiento directamente al servidor o estacion de

trabajo, es decir, fısicamente conectado al dispositivo que hace uso de el. Es la

base sobre la cual se construyen sistemas mas avanzados como son SAN y NAS.

Dentro de las computadoras personales, el almacenamiento esta usualmente

integrado dentro del gabinete de equipo. En el caso de servidores, el almacena-

miento puede estar a pocos metros en compartimientos especiales para discos.

Un servidor unido a un unico disco o dispositivo de cintas forma un DAS,

16

Page 17: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 17

pero los sistemas de almacenamiento generalmente estan compuestos por varios

discos configurados como discos separados e independientes o como arreglos de

discos con tolerancia a fallos llamado RAID [Tan07].

En la figura 2.1 es posible observar que un servidor puede hacer uso de un

disco separado o perteneciente a un arreglo de discos.

Figura 2.1: Implementacion DAS

2.1.2. Network Attached Storage

Es el nombre dado a la tecnologıa de almacenamiento dedicada a compartir

la capacidad de almacenamiento de un servidor con computadoras personales o

servidores clientes a traves de una red (normalmente TCP/IP [Tan10]), haciendo

uso de un sistema operativo optimizado para dar acceso con los protocolos Com-

mon Internet File System (CIFS), Network File System (NFS) o File Transfer

Protocol (FTP).

NAS no es solo un dispositivo de almacenamiento conectado a la red, es un

dispositivo que debe manejar la transferencia y organizacion de los datos dentro

del mismo. Es importante entender que el NAS se compone de un servidor, de un

sistema operativo y de almacenamiento compartido a traves de la red para varios

clientes y servidores.

Al disponer de un sistema de almacenamiento a traves de la red, se libera

al almacenamiento de su union directa con un servidor en particular. Esto da la

posibilidad a un usuario que este corriendo cualquier sistema operativo, acceder

Page 18: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 18

a los archivos que se encuentran en un dispositivo de almacenamiento remoto a

traves de protocolos NFS en el caso de GNU/Linux y CIFS en el caso de Windows.

Los protocolos de comunicaciones NAS son basados en archivos por lo que el

cliente solicita el archivo completo al servidor y lo maneja localmente, estan por

ello orientados a informacion almacenada en archivos de pequeno tamano y gran

cantidad.

En la figura 2.2 se puede observar que el NAS es un punto independiente

dentro de la infraestructura, al cual, los clientes pueden acceder utilizando un

dispositivo de interconexion como un switch Ethernet.

Figura 2.2: Despliegue NAS

2.1.3. Storage Area Network

Es una red de almacenamiento dedicada que proporciona acceso a nivel de

bloque o Logical Unit Number (LUN). Un LUN o numero de unidad logica, es

un disco virtual proporcionado por la SAN. El administrador del sistema tiene

el mismo acceso y los derechos a la LUN como si fuera un disco directamente

conectado a la misma. El administrador puede particionar y formatear el disco

en cualquier medio que el elija.

Este tipo de tecnologıa puede utilizarse con conexiones Fibre Channel (FC),

Internet Small Computer Interface (iSCSI) (Internet Small Computer Interface)

y mas recientemente con ATA over Ethernet (AoE). La misma se puede considerar

Page 19: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 19

una extension de DAS. Tanto en SAN como en DAS, las aplicaciones y programas

de usuarios hacen sus peticiones de datos al sistema de archivos directamente. Es

una arquitectura completa que agrupa los siguientes elementos:

Una red de alta velocidad (FC, iSCSI)

Un equipo de interconexion dedicado (switches)

Elementos de almacenamiento de red (discos duros)

Los equipos con acceso a la SAN, ademas de contar con interfaces de red

tradicionales conectadas a las redes de comunicacion, tienen una interfaz de red

especıfica que la conectan con la misma.

El rendimiento de esta tecnologıa esta directamente relacionado con el tipo de

red que se utiliza. En el caso de una red de canal de fibra, el ancho de banda es

de aproximadamente 100 megabytes/segundo y se puede extender aumentando

la cantidad de conexiones de acceso. La capacidad de almacenamiento se puede

extender de manera casi ilimitada y puede alcanzar cientos y hasta miles de

terabytes.

Como observamos en la figura 2.3 una SAN permite compartir datos entre

varios equipos de la red sin afectar el rendimiento, porque el trafico de la red de

almacenamiento esta totalmente separado del trafico de usuario. Son los servido-

res de aplicaciones que funcionan como una interfaz entre la red de datos (por

ejemplo FC) y la red de usuario Ethernet.

2.1.4. Comparativa

El opuesto a NAS es la conexion DAS mediante conexiones Small Computer

Interface (SCSI) o la conexion SAN por fibra optica, en ambos casos con tarjetas

de conexion especıficas de conexion al almacenamiento. Estas conexiones directas

DAS son por lo habitual dedicadas.

En la tecnologıa NAS, las aplicaciones y programas de usuario hacen las peti-

ciones de datos a los sistemas de archivos de manera remota mediante protocolos

CIFS y NFS, el almacenamiento es local al sistema de archivos. Sin embargo,

DAS y SAN realizan las peticiones de datos directamente al sistema de archivos,

como se muestra en la figura 2.4.

Las ventajas del NAS sobre la conexion directa DAS son:

Page 20: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 20

Figura 2.3: Implementacion SAN

Capacidad de compartir las unidades.

Menor costo.

Utilizacion de la misma infraestructura de red.

Gestion mas sencilla.

Por el contrario, NAS tiene un menor rendimiento y fiabilidad por el uso com-

partido de las comunicaciones en caso de ser utilizado en ambientes de mediana

o gran infraestructura.

Una SAN se puede considerar una extension de DAS. Donde en DAS hay

un enlace punto a punto entre el servidor y su almacenamiento, una SAN per-

mite a varios servidores acceder a varios dispositivos de almacenamiento en una

red compartida. Tanto en SAN como en DAS, las aplicaciones y programas de

usuarios hacen sus peticiones de datos al sistema de archivos directamente. La di-

ferencia reside en la manera en la que dicho sistema de archivos obtiene los datos

requeridos del almacenamiento. En DAS, el almacenamiento es local al sistema

de archivos, mientras que en SAN, el almacenamiento es remoto.

Page 21: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 21

Figura 2.4: Esquema de acceso a los Sistemas de Almacenamiento

En el lado opuesto se encuentra la tecnologıa NAS, donde las aplicaciones ha-

cen las peticiones de datos a los sistemas de archivos de manera remota mediante

protocolos CIFS y NFS, como vemos en la figura 2.5.

2.2. Tecnologıas de Conexion

A continuacion veremos diferentes tecnologıas usadas para unir redes de al-

macenamiento.

2.2.1. Fibre Channel

Canal de fibra es una tecnologıa de red utilizada principalmente para redes de

almacenamiento, disponible primero a la velocidad de 1 Gbit/s y posteriormente

a 2, 4 y 8 Gbit/s. A pesar de su nombre, la senalizacion de FC puede funcionar

tanto sobre pares de cobre, como sobre cables de fibra optica.

El Fibre Channel Protocol (FCP)1 es el protocolo de interfaz de SCSI sobre

FC.

1Protocolo del canal de fibra

Page 22: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 22

Figura 2.5: Estructura de los Sistemas de Almacenamiento

Topologıas del canal de fibra

Un enlace en el canal de fibra consiste en dos fibras unidireccionales que trans-

miten en direcciones opuestas. Cada fibra esta unida a un puerto transmisor (TX)

y a un puerto receptor (RX). Como observamos en la ver figura 2.6, dependiendo

de las conexiones entre los diferentes elementos, podemos distinguir tres topo-

logıas principales:

Point-to-Point (FC-P2P). Dos dispositivos se conectan el uno al otro

directamente. Es la topologıa mas simple, con conectividad limitada a dos

elementos.

Arbitrated Loop (FC-AL). En este diseno, todos los dispositivos estan

en un bucle o anillo, similar a una red token ring. El anadir o quitar un

elemento del anillo hace que se interrumpa la actividad en el mismo. El fallo

de un dispositivo hace que se interrumpa el anillo. Existen concentradores

de FC que conectan multiples dispositivos entre sı y que pueden puentear los

dispositivos que han fallado. Un anillo tambien se puede hacer conectando

cada puerto al siguiente elemento formando el anillo. A menudo, un anillo

arbitrado entre dos dispositivos negociara para funcionar como conexion

Page 23: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 23

Figura 2.6: Topologıas de Fibre Channel

P2P, pero ese comportamiento no es requerido por el estandar.

Switched Fabric (FC-SW). Todos los dispositivos o bucles de dispositivos

se conectan a switches de FC, conceptualmente similares a las modernas

implementaciones Ethernet. Los conmutadores controlan el estado del me-

dio fısico, proporcionando interconexiones optimizadas. Es la opcion mas

costosa, debido al uso de concentradores FC.

Capas de Fibre Channel

El canal de fibra es un protocolo con cinco capas como podemos observar en la

figura 2.7, siguiendo los mismos principios que se tiene en el modelo Open System

Interconnection (OSI).2

FC0 La capa fısica, que incluye los cables, la optica de la fibra, conectores,

etc.

FC1 La capa de enlace de datos, que implementa la codificacion y decodifi-

cacion de las senales.

FC2 La capa de red, constituye el nucleo del canal de fibra y define los

protocolos principales.

2Modelo de interconexion de sistemas abiertos

Page 24: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 24

Figura 2.7: Capas de la tecnologıa Fibre Channel

FC3 La capa de servicios comunes, una fina capa que puede implementar

funciones como el cifrado o RAID.

FC4 La capa de mapeo de protocolo, en la que otros protocolos, como SCSI,

se encapsulan en unidades de informacion que se entregan a la capa FC2.

FC0, FC1 y FC2 tambien se conocen como FC-PH, las capas fısicas de FC.

Fibre Channel over Ethernet

Es una tecnologıa de red de computadoras que encapsula las tramas de FC a

traves de redes Ethernet. Esto permite utilizar redes Ethernet de 10 Gigabits/s

(o velocidades mas altas), preservando el protocolo original.

No es compatible el el estandar 10/100, 1 Gb o 10 Gigabit Ethernet (10 GbE).

Requiere una version de Ethernet mejorada para proporcionar una baja latencia,

calidad de servicio, entrega garantizada y otras funcionalidades tradicionalmen-

te asociadas SCSI por lo que se requieren interfaces de red, cables y switches

especıficos utilizar esta tecnologıa.

2.2.2. iSCSI

Es un protocolo de red que transporta los comandos SCSI a traves de redes

TCP/IP haciendo posible llevar datos a grandes distancias. Permite transferir

datos dentro de redes LAN, WAN o sobre Internet independientemente de la

localizacion; se puede implementar sobre la infraestructura de red disponible, sin

Page 25: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 25

embargo el rendimiento puede disminuir notablemente si no se utiliza una subred

dedicada unicamente para el transporte de almacenamiento.

Al contrario que otros protocolos de red disenados para almacenamiento, por

ejemplo FC, solamente requiere una simple y sencilla interfaz Ethernet (o cual-

quier otra red compatible TCP/IP) para funcionar. Esto permite una solucion de

almacenamiento centralizada de bajo costo sin la necesidad de realizar inversiones

costosas ni sufrir las habituales incompatibilidades asociadas a las soluciones FC

para redes de area de almacenamiento.

Los crıticos [Wik15f] argumentan que este protocolo tiene un peor rendimiento

que FC ya que se ve afectado por la sobrecarga que generan las transmisiones

TCP/IP (cabeceras de paquetes, por ejemplo). Sin embargo las pruebas que se

han realizado muestran un excelente rendimiento de las soluciones iSCSI SAN,

cuando se utilizan enlaces Gigabit Ethernet.

iSCSI Initiator e iSCSI Target

El concepto basico de iSCSI es un cable virtual extendido que permite a una

computadora utilizar un iniciador iSCSI (initiator) para conectar a un dispositivo

iSCSI (target) como puede ser un disco duro o una cabina de cintas en una

red IP, para acceder a los mismos a nivel de bloque. Ambos initiator y target

estan plenamente definidos a traves de una direccion IP. El protocolo establece

la conexion y ademas provee metodos de autenticacion para estos.

Desde el punto de vista de los controladores y las aplicaciones de software, los

dispositivos parecen estar conectados realmente como dispositivos SCSI locales.

Los entornos mas complejos, consistentes en multiples equipos y/o dispositivos

son llamados redes de area de almacenamiento.

iSCSI Initiator. Actua como un cliente, envıa comandos (peticiones) SC-

SI sobre la red IP. Dentro de un servidor se pueden encontrar de dos tipos:

• Software Initiator. Utiliza codigo para la implementacion, normal-

mente modifica el kernel del controlador del dispositivo de red emulan-

do ası un dispositivo SCSI, se encuentra disponible para la mayorıa de

los sistemas operativos y es el modo mas comun de implementacion.

• Hardware Initiator. Es un hardware dedicado que incluye una mez-

cla de hardware y software para la implementacion. El hardware initia-

tor disminuye la sobrecarga ocasionada por el procesamiento de TCP

Page 26: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 26

Figura 2.8: Representacion iSCSI Initiators y Target

e iSCSI, lo que permite mejorar el rendimiento de los servidores que

utilizan el protocolo.

iSCSI Target. Generalmente representan un dispositivo de almacenamien-

to como un disco duro, una librerıa de cintas. Este dispositivo recibe y

procesa las peticiones de los initiators.

2.2.3. ATA over Ethernet

Es un protocolo de red desarrollado disenado para acceder a dispositivos de

almacenamiento ATA mediante redes Ethernet.

En el capıtulo siguiente veremos profundamente esta tecnologıa. Vamos a

dedicarle un capıtulo completo, ya que como veremos sobre el final de esta tesis,

sera la tecnologıa elegida para nuestra tarea de actualizacion del datacenter.

2.2.4. Multipath

La disponibilidad y los cuellos de botella deben ser considerados cuando un

sistema tiene varios discos distribuidos a traves de varios adaptadores de entrada

y salida. Como vemos en la figura 2.9, se puede perder acceso a un disco que

este unido a un adaptador de almacenamiento si el adaptador falla; multipath

evita que esto suceda pues ante el fallo de una ruta, este redirigira el trafico de

almacenamiento hacia la otra ruta disponible; ademas ayuda a tener balanceo de

carga entre rutas.

Page 27: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 27

Figura 2.9: Multipath

2.3. Discos Duros

En cuanto a las diferentes tecnologıas de discos duros, estudiaremos las prin-

cipales diferencias entre los sistemas basicos Serial Advanced Technology Attach-

ment (SATA), los sistemas de alto rendimiento Serial Attached SCSI (SAS) y los

nuevos sistemas Solid State Drive (SSD) basados en memoria no volatiles y con

tiempos de acceso superiores a cualquier otra tecnologıa usada en la actualidad,

viendo en cada uno de los casos sus tiempos de acceso, los mejores campos de

aplicacion y por supuesto su costo.

2.3.1. Serial Attached SCSI

Es una interfaz de transferencia de datos en serie, sucesora del SCSI paralelo,

aunque sigue utilizando comandos SCSI para interactuar con los dispositivos SAS.

Aumenta la velocidad, permite la conexion y desconexion de forma rapida.

La primera version aparecio a finales de 2003, SAS 300, que conseguıa un ancho

de banda de 3Gb/s, lo que aumentaba ligeramente la velocidad de su predecesor,

el SCSI Ultra 320MB/s (2,560 Gb/s). La siguiente evolucion, SAS 600, consigue

una velocidad de hasta 6Gb/s, ver especificaciones en la figura 2.10.

Una de las principales caracterısticas es que aumenta la velocidad de transfe-

rencia al aumentar el numero de dispositivos conectados, es decir, puede gestionar

una tasa de transferencia constante para cada dispositivo conectado, ademas de

terminar con la limitacion de 16 dispositivos existente en SCSI.

Ademas, el conector es el mismo que en la interfaz SATA y permite utilizar

estos discos duros, para aplicaciones con menos necesidad de velocidad, ahorrando

Page 28: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 28

Figura 2.10: Especificaciones Tecnicas de SAS

costos. Por lo tanto, los discos SATA pueden ser utilizados por controladoras SAS

pero no a la inversa, una controladora SATA no reconoce discos SAS.

2.3.2. Serial ATA

Es una interfaz de transferencia de datos entre la placa base y algunos dis-

positivos de almacenamiento, como puede ser el disco duro, lectores y regraba-

dores de CD/DVD/BluRay, etc. Esta tecnologıa sustituye al tradicional Parallel

ATA (PATA). SATA proporciona mayores velocidades y mejor aprovechamiento

cuando hay varias unidades. Mayor longitud para el cable de transmision de datos

y capacidad para conectar unidades al instante.

La primera generacion conseguıa transferencias de 150 MB por segundo, tam-

bien conocida por SATA 150 MB/s o Serial Advanced Technology Attachment

(ATA)-150. Luego SATA II, a 300 MB/s, tambien conocida como Serial ATA-300.

Actualmente se comercializan los dispositivos SATA III con tasas de transferen-

cias de hasta 600 MB/s.

Las unidades que soportan la velocidad de 3Gb/s son compatibles con un bus

de 1,5 Gb/s. En el cuadro 2.1 se muestra el calculo de la velocidad real de SATA

I 1.5 Gb/s, SATA II 3 Gb/s y SATA III 6 Gb/s.

Page 29: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 29

SATA I SATA II SATA III

Frecuencia 1500 MHz 3000 MHz 6000 MHzBits/clock 1 1 1Codificacion 8b10b 80 % 80 % 80 %bits/Byte 8 8 8Velocidad real 150 MB/s 300 MB/s 600 MB/s

Cuadro 2.1: Velocidades SATA

2.3.3. Unidades de Estado Solido

Son dispositivos de almacenamiento de datos que usan memorias no volatiles.

En comparacion con los discos duros tradicionales, las unidades de estado solido

son menos susceptibles a golpes, carentes de ruidos y tienen un menor tiempo de

acceso y de latencia. Los SSD hacen uso de la misma interfaz (SATA) que los

discos duros y por tanto son facilmente intercambiables sin tener que recurrir a

adaptadores o tarjetas de expansion para compatibilizarlos con el equipo.

Los dispositivos de estado solido tienen ventajas unicas frente a los discos

duros mecanicos:

Arranque mas rapido.

Mayor velocidad de lectura/escritura.

Baja latencia de lectura y escritura, 100 veces mas rapido que los discos

mecanicos, ya que no tiene seeks ni latencia rotacional.

Menor consumo de energıa y emision de calor, resultado de no tener ele-

mentos mecanicos.

Carencia de ruido. No poseer partes mecanicas —ademas de mejorar la

confiabilidad— los hace completamente inaudibles.

Rendimiento determinıstico: a diferencia de los discos duros mecanicos, el

rendimiento de los SSD es constante y determinıstico en todo el almacena-

miento. Tiempo de busqueda constante.

Los dispositivos de estado solido tienen tambien algunas desventajas:

Como vemos en la figura 2.11 los precios actuales son considerablemente

mas altos en relacion precio/gigabyte para considerarlos parte de un stora-

ge [Cro12].

Page 30: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 30

Menor recuperacion. Despues de un fallo fısico se pierden completamente los

datos pues la celda involucrada es destruida, mientras que en un disco duro

normal que sufre dano mecanico los datos son frecuentemente recuperables

usando ayuda de expertos.

Tienen un numero limitado de escrituras y superado este limite, ya no

permiten mas escrituras. Esto es una limitacion de diseno y se traduce en

una vida util poco clara.

Actualmente menores capacidades de almacenamiento, aunque la tendencia

mejora a futuro.

Tecnologıa Hıbrida de Estado Solido

Es la combinacion de tecnologıas de unidades SSD y Hard Disk Drive (HDD).

Las unidades Solid State Hard Disk (SSHD) fusionan estas tecnologıas, brindando

dispositivos de almacenamiento que son compatibles con los modulos tradiciona-

les HDD y a la vez ofrecen nuevas propuestas al mercado de almacenamiento:

rendimiento similar al de unidades de estado solido y mayor capacidad de alma-

cenamiento.

2.3.4. Comparativa

Si consideramos el costo en dolares por GB, actualmente SSD y SAS tienen

un costo mucho mayor que SATA como se observa en la figura figura 2.11. SSD

cuesta casi 4 veces mas que SAS y 25 veces mas que SATA [Cro12].

Si medimos MB/seg comprobaremos que los discos SAS son un 25 % o 30 %

mas rapidos que los SATA. Si hablamos de Input/Output Operations Per Second

(IOPS),3 un disco SATA, difıcilmente llega al 20 % de lo que ofrece un SAS de

forma sostenida [Wik15e].

Para ciertos usos lo importante puede ser tener discos con mucha transferencia

MB/seg, por ejemplo:

Streaming, Modelado 3D, Backups. Para los usos anteriores, un disco SATA

es un magnıfica eleccion, dado que su costo por MB es menor y una perdida

de rendimiento del 25 % o 30 % con respecto al SAS puede ser justificable

en funcion de la aplicacion.

3Operaciones de entrada/salida por segundo

Page 31: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 31

Figura 2.11: SAS vs SATA vs SSD: Precio por GB en USD

Bases de datos, Virtualizacion, Servidor de Mails. Con aplicaciones y siste-

mas operativos, donde vamos a pedir datos de forma concurrente al disco,

sin duda el disco a seleccionar es SAS. Un rendimiento hasta 5 veces mayor

justifica los costos.

Ademas los discos SAS, disponen de otras caracterısticas como full duplex

interface (half duplex en SATA) permitiendo leer y escribir al mismo tiempo (lo

que aumenta considerablemente el rendimiento), tiempos medios de busqueda

menores y mas longevidad [San12].

Por otro lado, los discos SAS suelen ofrecer hasta 1,2 millones de horas de

tiempo medio entre fallos trabajando las 24 horas del dıa, mientras los SATA

ofrecen alrededor de 1 millon de horas pero asignandoles una carga de alrededor

de 8 horas diarias de trabajo [vir09].

Los SSD, hoy por hoy para el datacenter, tienen como principales inconve-

nientes la durabilidad y el costo, pero en el momento en que se solucionen, es casi

inevitable que empiecen a predominar el mercado de discos de alto rendimiento

y los almacenamientos de datos de las organizaciones.

Page 32: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 32

2.4. Redundant Array of Independent Disks

Es un sistema de almacenamiento de datos que usa multiples unidades de

almacenamiento de datos (discos duros o SSD) entre los que se distribuyen o

replican los datos. Dependiendo de su configuracion, los beneficios de un RAID

respecto a un unico disco son uno o varios de los siguientes:

Mayor integridad.

Mayor tolerancia a fallos.

Mayor throughput (rendimiento).

Mayor capacidad.

Existen dos posibilidades de usar RAID: hardware o software. El sistema ba-

sado en el hardware gestiona el subsistema independientemente de la maquina y

presenta a la maquina un unico disco por conjunto de discos RAID. La opcion por

software implementa los diversos niveles en el codigo del kernel (dispositivo de

bloque). Con las velocidades de los CPUs actuales, el rendimiento aumenta con-

siderablemente con respecto al hardware RAID. El controlador MD [Wik15i] en

el kernel de GNU/Linux es un ejemplo de solucion completamente independiente

del hardware.

Los grupos RAID pueden parecer mas complejos de lo que realmente son.

Esto se debe a que, actualmente, hay aproximadamente 12 tipos o variedades

distintas disponibles en el mercado (y aun son mas las que se han desarrollado).

Sin embargo, para la gran mayorıa de las empresas, solo hay seis niveles realmente

relevantes. Elegir el nivel adecuado dependera del tipo de datos de las aplicaciones,

del nivel de relevancia de esos datos y del numero de usuarios.

2.4.1. Niveles de RAID

RAID 0 es una configuracion conocida como striping, lo que se hace es dis-

tribuir de manera equitativa los datos entre dos discos duros. Dicho de

otra forma, el sistema ira repartiendo los datos entre dos discos duros para

aumentar la velocidad de acceso a los datos. Obviamente, al no existir re-

dundancia, si uno de los discos se dana tendremos que recurrir a una copia

de seguridad.

Page 33: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 33

Figura 2.12: Configuracion RAID 0+1 y RAID 10

RAID 1 es una configuracion que ofrece redundancia y tolerancia a fallos.

Tambien conocida como mirroring, en esta configuracion lo que se hace es

duplicar la informacion en dos discos; es decir, el sistema vera un unico

volumen de almacenamiento que, en realidad, esta formado por dos discos

iguales en los que se escriben los mismos datos. De esta forma, si un disco

se estropea, el sistema seguira funcionando y trabajando con el disco que

aun funciona. Ademas, el rendimiento en lectura tambien aumenta porque,

por ejemplo, es posible leer 2 datos a la vez (uno de cada disco).

RAID 5 es una configuracion conocida como distribucion con paridad, en

esta configuracion se realiza una division por bloques de informacion y se

distribuyen entre los discos que forman el conjunto. Ademas, se genera un

bloque de paridad que, a modo de redundancia, nos permite reconstruir

la informacion de volumen completo si, por ejemplo, uno de los discos se

danase. En este tipo de configuraciones, como mınimo debemos contar con

3 discos duros y, como nos podemos imaginar, solamente se tolera el fallo

en uno de los discos.

RAID 6, conocida como distribucion con doble paridad, es similar al RAID 5

en cuanto a distribucion de los bloques de informacion pero, en lo que respec-

ta a la redundancia, en esta configuracion se generan 2 bloques de paridad

que tambien se distribuyen entre los discos. En este tipo de escenarios, la

configuracion es capaz de soportar hasta 2 fallos de disco en el conjunto o,

por ejemplo, un fallo de disco mientras se esta reconstruyendo el volumen

(tras un fallo anterior), como mınimo necesitaremos 4 discos.

Page 34: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 34

RAID 0+1 es una combinacion de dos configuraciones simultaneas RAID 0

y RAID 1; concretamente, necesitaremos 4 discos duros que se tomaran

por parejas para que cada una de estas forme un RAID 0 (division de la

informacion) y, con las dos parejas, se monte un RAID 1 (un espejo). Dicho

de otra forma, con esta configuracion tendremos un RAID 0 redundado en

espejo.

RAID 10 es parecido a un RAID 0+1 con la excepcion de que los niveles

que lo forman se invierte: es una division de espejos. Por tanto, es una

configuracion de 4 discos en la que montamos un par de espejos y, por

encima, repartimos la informacion entre dichos espejos.

¿Que configuracion debemos usar? La eleccion de una configuracion u otra de-

pendera del tipo de informacion que queramos proteger y, obviamente, el numero

de discos duros que tengamos. Es importante tener en cuenta que cuando vamos

a trabajar con un RAID todos los discos que usemos sean del mismo tamano

porque, si no es ası, terminan normalizandose con el tamano del mas pequeno.

Ademas, utilizar discos fabricados en distintos lotes, minimiza la posibilidad de

perdida de datos ante un desperfecto en uno de los discos (podrıa estar todo el

lote fallado).

2.5. Distributed Replicated Block Device

Es un paquete de software que nos permite crear una especie de RAID 1

entre dos discos/sistemas conectados a traves de la red LAN, sincronizando los

datos entre las diferentes particiones de los dos servidores diferentes, tal como se

muestra en la figura 2.13.

Es decir, un sistema de archivos externo de comun acceso a ambos se sustituye

por una particion local a cada equipo, sincronizadas mediante Distributed Repli-

cated Block Device (DRBD) y montada solo para el equipo que este prestando el

servicio. Este metodo tiene numerosas ventajas:

Es un sistema estable, probado y con una documentacion extensa [LIN15].

Disminuye el tiempo de acceso con respecto a cualquier recurso remoto, ya

sea para escritura o lectura, debido a que los accesos realizan de forma local.

Page 35: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 2. Tecnologıa de Almacenamiento 35

Figura 2.13: Estructura de un sistema con DRBD

Permite el uso de roles (primario y secundario) facilitando que un sistema

configurado con un rol pueda cambiarlo y actuar con otro.

La configuracion de este sistema en concreto, es totalmente transparente al

servicio que lo utilice. Debido a que solo uno de los dos equipos estara co-

mo activo, la disponibilidad de los datos en el otro equipo sera en un solo

sentido, hacia el pasivo. Este equipo no estara esperando los datos del otro,

por lo que no habra bloqueo. Este hecho implica que cualquier posible re-

tardo introducido por la red sera inocuo ya que se producira sobre el equipo

pasivo.

Permite tener dos equipos completamente autonomos en caso de fallo irre-

cuperable de uno de ellos.

Permite una copia de seguridad del sistema. Para ello solo habrıa que parar

y aislar el equipo que no da el servicio y realizar una copia completa de

todo el sistema mientras el otro sigue prestando el servicio.

Page 36: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3

ATA over Ethernet

El proposito de este capıtulo es introducir al lector un protocolo de comunica-

ciones disenado para acceder a dispositivos de almacenamiento por red, compren-

der su funcionamiento, entender su estructura, su historia, ventajas y desventajas,

presentar comparaciones entre protocolos similares, ejemplos de uso, y finalmente

conclusiones.

Los ejemplos se desarrollaran sobre sistemas operativos basados en GNU/Linux.

Se proveera el conocimiento, las herramientas y ejemplos para que el lector pueda

disenar y desarrollar ejemplos funcionales.

Desarrollaremos brevemente los aspectos tecnicos del protocolo, ya que no

es necesario para el proposito del presente capıtulo. Para mayor informacion,

puede consultar la especificacion del protocolo provista por Coraid [Coi11] o la

documentacion oficial [Cor05].

3.1. Introduccion

Hay dos formas de almacenar los datos de forma remota en una red. Se puede

optar por compartir archivos o compartir discos.

Si su objetivo principal es compartir archivos entre varios equipos, es probable

que desee crear la red a nivel de archivo. Es decir, poner los archivos en el servidor

y utilizar un protocolo como NFS o CIFS para acceder a la informacion desde

mas de una computadora. Esto generalmente se llama NAS.

Si lo que quiere es acceder a las unidades de disco —no a los archivos— a traves

de la red, para que los equipos clientes puedan utilizar las unidades como deseen,

necesita una SAN. Mas estrictamente hablando, una red de almacenamiento,

36

Page 37: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 37

preferentemente en una red separada, para evitar la competencia con el trafico

de la red principal.

Compartir un disco es mas simple que el intercambio de archivos ya que las

operaciones no se duplican. Compartiendo archivos, cuando un equipo cliente

escribe un archivo, tiene que reunir los datos en un archivo y escribirlo en el

servidor, el cual —de nuevo— construye un archivo y lo escribe en el disco. Si

compartimos el disco, el equipo cliente hubiera escrito el archivo en una unidad

de disco conectada localmente, excepto que la unidad de disco no esta conectada

a nivel local, esta en la red.

AoE es un protocolo para el intercambio de discos, es decir, para la colocacion

de discos fuera de una computadora y la union de discos y equipos por red.

¿Por que compartir discos? Hay varias razones por las cuales desee utilizar el

uso compartido de discos:

Para permitir a varias computadoras acceder a la misma unidad de disco

(utilizando diferentes particiones o utilizando un sistema de archivos com-

partido).

Para permitir a equipos de backup utilizar el mismo disco, por lo que el

equipo de backup puede ser puesto en accion si la computadora principal

falla.

Para ubicar las unidades de disco separadas de la computadora (en distancia

de metros o kilometros, por seguridad fısica o conveniencia).

Para agregar un sistema de discos de alto rendimiento a una computadora

sin necesidad de abrir el equipo (solo tiene que utilizar el puerto Ethernet

que ya esta allı).

Para anadir mas unidades de disco a una computadora que las que caben

fısicamente en el equipo.

3.1.1. Definicion

“ATA over Ethernet es un protocolo de red desarrollado disenado

para acceder a dispositivos de almacenamiento ATA mediante redes

Ethernet.”

Page 38: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 38

Proporciona la posibilidad de construir redes de almacenamiento de bajo costo

con tecnologıas estandar. No depende de las capas superiores de Ethernet, tales

como IP, UDP, TCP, etc [Tan10]). Esto significa que AoE no es ruteable en LANs

y esta disenado unicamente para SAN.

Es un protocolo simple y totalmente documentado. Cualquier organizacion

puede confeccionar controladores AoE para distintos sistemas operativos. Muchos

de estos controladores son gratuitos. Como alternativa a iSCSI, la especificacion

AoE mide solamente ocho paginas comparado con las 257 paginas de iSCSI.

Figura 3.1: Diferencias entre stack AoE y iSCSI

3.1.2. Funcionamiento Basico

A pesar que AoE es un protocolo simple de red, abre un amplio espectro de

posibilidades para el almacenamiento. Para comprender y evaluar los posibles

escenarios, se deben manejar los siguientes conceptos:

Bloque de almacenamiento

Los datos son escritos al disco y leıdos desde el dispositivo en uno o mas

porciones de longitud fija, llamados bloques de datos. El protocolo de AoE pone

los comandos de control ATA en un nivel inferior o cuadro de datos (o data

Page 39: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 39

frame), permitiendo que una red de Ethernet reemplace al cable que va al disco

duro. Del mismo modo que los bloques de datos pueden ir al disco duro usando

los cables de transmision tradicional, tambien pueden ir al disco con los cables de

red.

Unidades de disco

El objetivo de AoE es manejar un disco duro o algo similar que funcione

como un disco duro. En secciones anteriores de esta tesis1 vimos distintos tipos

de discos duros, cualquiera de ellos es utilizable por esta tecnologıa. Tambien es

posible utilizar sistemas RAID, almacenamientos externos e inclusive sistemas

DRBD, siempre y cuando puedan ser accedidos a nivel de bloque.

Ethernet

Los paquetes de AoE usan la direccion MAC para identificar el origen y

destino del movimiento de los bloques. Las direcciones MAC son identi-

ficadores, que a nivel de Ethernet, son requeridas por cualquier red para

poder trabajar en forma eficiente. Las direcciones MAC solo funcionan en

el interior de un dominio que soporte Ethernet.

Los actuales dispositivos soportan control de flujo de datos (flow control),

que ayuda a minimizar la necesidad de retrasmitir paquete de datos erroneos.

Utiliza chequeos de redundancia cıclica para asegurar que los paquetes que

se han recibido no sean entregados conteniendo errores en destino.

Almacenamiento en red

El uso de Ethernet representa las siguientes ventajas en AoE:

Facilidad para anadir capacidad de almacenamiento.

Cantidad de almacenamiento practicamente ilimitada.

El acceso puede ser controlado creando redes Ad-Hoc.

Respaldo de los datos puede ser mas agil y simple utilizando equipamiento

especıfico conectado a la red SAN.

1Ver capıtulo 2

Page 40: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 40

Los datos pueden ser distribuidos entre varias computadoras en vez de usar

una sola como almacen de datos, mejorando la confiabilidad.

Utilizacion

Para utilizar un disco SAN, el equipo debe formatearlo con un sistema de

archivos. A diferencia de un disco SATA o SCSI, un disco duro SAN puede ser

accedido por varias maquinas. Esta es una fuente de peligro y tambien una opor-

tunidad.

Sistemas de archivos tradicionales (como FAT32 o ext3) estan disenados para

ser accedidos por un unico equipo y causaran un comportamiento impredecible si

son accedidos por varias maquinas. Estos sistemas de archivos pueden ser utili-

zados, AoE proporciona mecanismos para que un servidor AoE pueda protegerse

contra el acceso simultaneo.

Sistemas de archivos de disco compartidos (como Global File System 2 (GFS2)

o Andrew File System (AFS)), permiten a multiples maquinas a utilizar un solo

disco duro de forma segura mediante la coordinacion de acceso simultaneo a ar-

chivos individuales. Estos sistemas de archivos se pueden utilizar para permitir a

multiples computadoras el acceso al mismo servidor AoE, sin un servidor inter-

medio o servicio de red (como NFS o FTP), consiguiendo un mayor rendimiento.

3.1.3. Historia

El protocolo de red fue desarrollado por la companıa Coraid, Inc. Fundada

por Coile Brantley, quien antes creo los productos Cisco PIX Firewall y Cisco

LocalDirector. Coile fundo la companıa en el 2000 luego de renunciar a Cisco y

comenzo el protocolo AoE.

La companıa comenzo a vender la familia de storages EtherDrive en 2004. El

protocolo AoE fue entregado a la comunidad Linux y se ha incluido en el kernel

de GNU/Linux desde el ano 2005, a partir de la version 2.6.11.

La companıa cuenta con mas de 1.800 clientes en varios sectores, entre ellos los

medios de comunicacion, proveedores de alojamiento, telecomunicaciones, salud,

aeroespacial, fabricacion y gobierno. [Wik15c]

Page 41: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 41

3.2. Conceptos

3.2.1. Ethernet

Es un sistema que permite que varias computadoras se comuniquen a traves

de un sistema unico de cables mediante paquetes de datos, en breves rafagas de

datos. El nombre proviene del concepto fısico de eter —ether— que es el material

invisible que alguna vez se penso para llevar las ondas de radio.

Ethernet se puede utilizar con varios tipos de cables, el cableado de par tren-

zado (Cat5, Cat5e y Cat6) es actualmente el tipo mas familiar dentro de las

oficinas.

Por sobre encima de Ethernet existen varias capas de protocolos (formas de

organizacion de la informacion): IP (para asignar direcciones a las maquinas y

el direccionamiento de paquetes), TCP (para la entrega de datos que consta

de varios paquetes) y, mas arriba, SMTP, FTP, HTTP y todos los protocolos

conocidos de Internet.

El modelo de OSI tiene siete capas, comenzando por la “inferior” de la jerar-

quıa (la fısica) y siguiendo hasta la superior (la aplicacion). La figura 3.2 ilustra

la forma en que las capas se apilan.

Figura 3.2: Modelo de Interconexion de Sistemas Abiertos

AoE es un protocolo de capa 2, se ejecuta en la capa de enlace de datos a

diferencia de otros protocolos SAN que se ejecutan en la parte superior de la capa

3 utilizando IP. Ademas de reducir la sobrecarga significativa de procesamiento

Page 42: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 42

TCP/IP, implica que los routers no puede direccionar datos AoE a traves de

redes dispares (como Internet). Los paquetes de AoE solo pueden viajar dentro

de una red Ethernet de area de almacenamiento local (por ejemplo, un conjunto de

computadoras conectadas al mismo switch o en la misma subred LAN o VLAN).

Enrutamiento

Debido a que el protocolo no utiliza direccionamiento IP, los paquetes AoE

no son ruteables –es decir, un router no puede enviarlos a otra red. A falta de

direcciones IP, desde el punto de vista de un router, simplemente no tienen donde

ir (lo hacen a traves de switches que se utilizan dentro de las redes de area local).

La no ruteabilidad es algo bueno porque significa que los paquetes de AoE son

intrınsecamente seguros. No debe preocuparse por que se dispersen en Internet o

por hackers en Internet intentando entrar en sus unidades de disco.

Por supuesto, el acceso remoto a un dispositivo AoE a traves de Internet puede

lograrse a traves de tunneling –se puede utilizar software para convertir paquetes

locales en paquetes ruteables en ambos extremos de un enlace. Los tuneles son

el mecanismo detras de la creacion de redes privadas virtuales (Virtual Private

Network (VPN)), que nos da acceso seguro a los archivos en ubicaciones remotas.

AoE comienza impenetrable y si quiere acceder a traves de Internet, se pueden

hacer arreglos especiales. No va a ser accesible remotamente por accidente.

3.2.2. Advanced Technology Attachment

Es la forma habitual en que las computadoras personales se comunican con

sus unidades de disco. Se origino en la decada de 1980 cuando los fabricantes de

PCs decidieron mover el controlador de la unidad, en la unidad misma, dandole

una interfaz de comunicacion muy simple y rapida en la placa base. Estos se

conocen como unidades Integrated Drive Electronics (IDE) y ATA es el protocolo

utilizado.

ATA sustituye el sistema anterior, donde la CPU conectada a una tarjeta

controladora de disco era conectado a la unidad. En las computadoras persona-

les, ATA ha sustituido en gran medida otros protocolos de disco como SCSI y

Enhanced Small Disk Interface (ESDI).

Hay dos formas fısicas para conectar unidades de disco ATA en motherboards

de PC: PATA y SATA (mas nuevo, mas reciente y con caracterısticas de SCSI).

Page 43: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 43

AoE puede ser visto como una tercera vıa, donde la unidad de disco esta actual-

mente fuera de la computadora, conectada a traves de Ethernet.

3.2.3. ATA sobre Ethernet

Los disco duros SATA (antiguamente PATA) utilizan el protocolo ATA para

ejecutar comandos, tales como leer, escribir y obtener el estado. AoE encapsula

estos comandos dentro de tramas Ethernet y les permite viajar a traves de una red

Ethernet en lugar de un cable SATA o un cable cinta de 40/80 pines. Mediante el

uso de un controlador AoE, un sistema operativo es capaz de acceder a un disco

remoto como si estuviera conectada directamente.

La encapsulacion ATA proporcionada por AoE es simple y de bajo nivel, lo

que permite la traduccion suceda, ya sea dispositivos de alto rendimiento, dentro

de un dispositivo pequeno e incrustado o ambos.

ATA versus Ethernet

¿Ethernet es lo suficientemente rapido para unidades de disco? La respuesta

es sı. Utilizamos todo tipo de sistemas de archivos de red y sistemas de archivos

externos todo el tiempo, muchos de ellos considerablemente mas lentos que AoE.

Para comparar, veamos algunas velocidades de comunicacion:

Disco Tıpico 5400 rpm PATA: 75 MB/s

Disco Tıpico 7200 rpm SATA: 150 MB/s a 600 MB/s

Disco Tıpico 15000 rpm SAS: 300 MB/s s 1500 MB/s

Wireless N: 30 MB/s

USB 2.0: 60 MB/s

USB 3.0: 600 MB/s

IEEE1394 (FireWire): 200 MB/s

Gigabit Ethernet (1000baseT): 125 MB/s

10 Gigabit Ethernet: 1.250 MB/s

Page 44: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 44

Todas estas velocidades son en megabytes por segundo. Se debe tener en

cuenta que Gigabit Ethernet es mas rapido que USB 2.0, comparable a FireWire

y a la velocidad de un disco SATA. La tecnologıa 10 Gigabit Ethernet [Wik15a]

supera USB 3.0 y asemeja velocidades de un disco SAS.

3.3. Protocolo

Esta seccion pretende proporcionar una introduccion al protocolo y ayudar

en la comprension de las caracterısticas del protocolo. En esta tesis, host refiere

al equipo cliente que utiliza las unidades de disco y servidor es el nodo de red

que proporciona un acceso por bloques de disco vıa AoE. Cuando nos referimos

a blades, indicamos un nodo AoE en la red, exportando un disco (o particion)

particular.

El protocolo AoE incluye caracterısticas de personalizacion de usuario y pro-

porciona un medio para el descubrimiento de dispositivos destino y los parame-

tros de ubicacion fısica de dispositivo de almacenamiento. Estas caracterısticas

son especialmente importantes en grandes arreglos de almacenamiento.

El protocolo consiste en mensajes de peticion enviados al servidor AoE y

mensajes de respuesta devueltos al host. En lugar de la emision de comandos

ATA a un disco conectado a nivel local, los comandos estan envueltos en una

trama de Ethernet y se envıan a traves de la red a un servidor remoto. Cada

comando y la respuesta estan contenidos en una sola trama Ethernet.

3.3.1. Paquete de Datos

La figura 3.3 ilustra el contenido tıpico de un paquete de datos AoE. Solo

48 bytes mas los datos. Por el contrario, iSCSI y FC envuelven la unidad de

disco en el conjunto de comandos SCSI, luego envuelven SCSI en un protocolo

de transporte. AoE simplemente proporciona la comunicacion ATA a traves de

la red.

El direccionamiento de red se realiza mediante direcciones MAC, el protocolo

AoE tiene registrado el tipo de Ethernet IEEE 0x88A2. El formato de estos men-

sajes son simples y tienen dos formas: comandos Issue ATA Command junto con

los datos asociados a la transaccion y la funcion Config/Query para ajustar y con-

sultar una pequena cantidad de datos propios del protocolo. Ambos comparten

un formato de cabecera comun que facilita la entrega en la red.

Page 45: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 45

8-byte Ethernet frame preamble

14-byte Ethernet header (tagged 0x88A2)

10-byte AoE header

12-byte ATA command

0 to 1024 bytes of data (mas si la red admite jumbo frames)

4-byte Ethernet frame CRC

Figura 3.3: Paquete de datos AoE

3.3.2. Cabecera Compartida

Mientras que los dos tipos de mensajes —Issue ATA Command y Config/Query—

tienen sus propios campos, ambos comparten un formato comun para los primeros

24 bytes de un mensaje. Esta cabecera comun proporciona suficiente informacion

para enviar mensajes entre hosts y servidores AoE. La cabecera comun tiene

cuatro funciones:

Proporciona una manera de correlacionar las respuestas con las solicitudes.

Proporciona una manera de descubrir la direccion Ethernet de un servidor

de AoE en algun lugar fısico dentro de un rack de blades.

Identifica las peticiones de las respuestas.

Contiene informacion de error.

Para mitigar la complejidad de la utilizacion de direcciones MAC para ges-

tionar los dispositivos de almacenamiento, AoE utiliza una abstraccion aoemajor

/ aoeminor (o shelf / slot) para identificar las unidades de disco o particiones

exportadas hacia los hosts, ademas de la direccion Ethernet. Este sencillo enfo-

que le permite al administrador del sistema utilizar dispositivos AoE basados en

una jerarquıa ordenada (por ejemplo /dev/etherd/e0.1) en lugar de la direccion

MAC.

La figura 3.4 muestra el encabezado de todos los paquetes AoE. En la figura,

el eje horizontal representa bits y el eje vertical representa bytes. Los bytes 0 a 13

son el encabezado de Ethernet estandar. El contenido del campo Arg varıa segun

el comando especificado en el campo Command. Para una explicacion de Ver,

Flags y el campo Error puede consultar la especificacion del protocolo provista

por Coraid [Coi11] o la documentacion oficial [Cor05].

Page 46: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 46

Figura 3.4: Encabezado de paquete AoE

Campo Tag

Para coincidir respuestas con solicitudes y comprobar respuestas que nunca

fueron recibidas, el equipo cliente utiliza el campo Tag. Los servidores AoE copian

el campo Tag de las solicitudes en las respuestas, por lo que el solicitante puede

poner la informacion de correlacion en dicho campo. Cuando se recibe la respues-

ta, una tabla interna de Tags es analizada para encontrar la solicitud asociada.

Rutinas de timeout pueden analizar esta misma tabla en busca de solicitudes que

no han sido respondidas. De esta manera, AoE proporciona toda la informacion

necesaria para un funcionamiento fiable.

Caracterısticas Avanzadas

AoE maneja retransmision de paquetes y cada paquete enviado tiene un re-

conocimiento positivo. Utilizando switches Ethernet modernos que soportan flow

control, se logra cero retransmision de paquetes AoE, aun si el protocolo funciona

en entornos de alta perdida de paquetes donde se puede requerir la retransmision.

Lo mensajes AoE se pueden encolar en los servidores AoE. Esto permite que

los discos se mantengan ocupados: tan pronto terminen una solicitud de disco

pueden comenzar con la siguiente. AoE utiliza best effort delivery de Ethernet y

el software del host es responsable de volver a enviar mensajes de solicitud que

no se ha respondido en un plazo de tiempo razonable.

Page 47: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 47

Mensajes Issue ATA Command

Se utilizan para emitir comandos ATA a un dispositivo ATA conectado a un

servidor de AoE. Arg incluye los registros del dispositivo ATA utilizados para

especificar el comando (por ejemplo: read o write) y los datos asociados.

Puesto que los paquetes AoE no pueden extender frames Ethernet, el tamano

maximo de las transacciones ATA usando AoE es de 1 KB. Esto no afecta ne-

gativamente al tamano de bloque del sistema de archivos, ya que el controlador

AoE divide grandes peticiones del sistema en multiples solicitudes AoE de 1 KB.

Mensajes Config/Query

Se utilizan para administrar y detectar dispositivos AoE. El metodo principal

del cliente para la deteccion de dispositivos es realizar broadcast del comando

“Config/Query” para que todos los dispositivos AoE en la red puedan responder

y ser enumerados. Tambien se pueden utilizar para almacenar hasta 1 KB de

informacion en el dispositivo AoE (no en el disco ATA) para el control de acceso

minucioso.

3.3.3. Controladores

AoE en el kernel de GNU/Linux detecta dispositivos AoE en la red, los registra

en el sistema, traduce solicitudes de lecturas/escrituras en solicitudes AoE de

lectura/escritura, retransmite comandos AoE cuando las respuestas no regresan

en el tiempo y genera una falla en dispositivos al sistema cuando los dispositivos

AoE dejan de responder.

Fuera del nucleo de GNU/Linux, un usuario con privilegios puede interac-

tuar con el controlador para listar los dispositivos conocidos, descubrir nuevos

dispositivos (emitiendo un comando “Config/Query”) o restringir el conjunto de

interfaces validas para el trafico de AoE. Por defecto, todas las interfaces son

validas para el trafico.

La figura 3.5 muestra un conjunto de comandos para cargar el modulo aoe,

descubrir nuevos dispositivos y la lista de los dispositivos detectados. Los co-

mandos aoe-discover y aoe-stat son scripts basados en shell distribuidos con

el controlador actual AoE –a la fecha aoe6-83. Los dispositivos en el sistema

se denominan [e][aoemajor][.][aoeminor], correspondientes a el aoemajor /

aoeminor (o shelf / slot) que el dispositivo AoE declara.

Page 48: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 48

Ejecutando aoe-discover obtenemos un numero de dispositivos AoE, que

posteriormente se pueden acceder desde sus nodos de dispositivos en /dev/etherd/

a traves de los nombres correspondientes. Aunque los discos son remotos, se com-

portan como si estuvieran conectados localmente.

Figura 3.5: Ejecucion del comando aoe-discover

3.4. Soporte

El cuadro 3.1 muestra el soporte AoE en diversos sistemas operativos.

3.4.1. GNU/Linux

El kernel Linux puede funcionar como un AoE target usando una de estas

implementaciones desarrolladas independientemente:

vblade, un demonio de espacio de usuario que es parte del paquete aoetools.

kvblade, un modulo del kernel GNU/Linux.

Page 49: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 49

Sistema Operativo Soporte Drivers Third-party

GNU/Linux Nativo (2.6.11+) CoraidWindows Third-party StarWind SoftwareMac OS X 10.4 and up Third-party 2oFrost TechnologiesMac OS X 10.5 and 10.6 Third-party Small Tree CommunicationsSolaris Third-party CoraidFreeBSD Third-party CoraidOpenBSD NativoVMware Third-party CoraidPlan 9 from Bell Labs Nativo

Cuadro 3.1: Soporte AoE por sistema operativo

ggaoed, un demonio de espacio de usuario que aprovecha las caracterısticas

de rendimiento especıficas de GNU/Linux.

qaoed, un demonio de espacio de usuario multiproceso.

3.4.2. Hardware Comercial

La companıa Coraid ofrece una gran variedad de dispositivos SAN AoE ba-

jo la marca EtherDrive [Wik15d]. Tambien ofrece equipos gateways sin disco,

que anaden funcionalidad de almacenamiento de red mediante protocolos NFS o

Server Message Block (SMB), de uno o mas dispositivos AoE.

En 2007 LayerWalker anuncio la primera solucion por hardware AoE del

mundo en un solo chip llamado miniSAN, preparado para Fast y Gigabit Ether-

nets [Wik15g]. La familia de productos miniSAN ofrece las funciones estandar

de un servidor AoE, ademas de otras funciones de gestion que se dirigen a los

mercados de pequenas y medianas empresas.

Data Fabrics Inc. ofrece exportadores internos y externos AoE por hardware

de bajo costo, ası como tambien dispositivos SAN AoE de escritorio y rackea-

bles [Wik15b].

3.4.3. Ejemplo de Uso

En el ejemplo a desarrollar, vamos a configurar un servidor AoE (target) y

un cliente AoE (initiator), ambos en la distribucion del sistema operativo Centos

Page 50: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 50

6.6.2 Para esto, utilizaremos el controlador y las herramientas provistas por la

companıa Coraid :

http://support.coraid.com/support/linux/

http://aoetools.sourceforge.net/

Luego de compilar el modulo siguiendo las instrucciones de la documentacion

oficial, procedemos a agregarlo en nuestro kernel :

# modprobe aoe

Finalmente, instalamos las herramientas necesarias:

# yum install aoetools vblade

Target

Como espacio de almacenamiento podemos usar volumenes logicos no usados,

archivos de imagen, discos duros (por ej. /dev/sdb), particiones de disco (por ej.

/dev/sdb1) o dispositivos RAID (por ej. /dev/md0). En este ejemplo vamos a

crear un volumen logico de 20GB denominado storage1 en el grupo de volumenes

vg0:

# lvcreate -L 20G -n storage1 vg0

Ahora debemos a exportar el dispositivo de almacenamiento, la configuracion

es muy simple. El cuadro 3.2 indica los parametros.

network device shelf slot file/disk/partition [mac[,mac[,...]]]

Cuadro 3.2: Parametros del comando vbladed

Para nuestro ejemplo:

# vbladed 0 1 eth0 /dev/vg0/storage1

2https://www.centos.org/

Page 51: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 51

Initiator

Ahora ya podemos verificar que dispositivos de almacenamiento AoE estan

disponibles en el cliente:

# aoe-discover

El comando aoe-stat nos deberıa mostrar los dispositivos de almacenamiento

AoE disponibles:

# aoe-stat

e0.1 21.474GB eth0 up

En este momento tenemos un nuevo dispositivo de bloque disponible en el

cliente. Si observamos el directorio /dev/etherd/ podremos apreciar como ha

aparecido un nuevo nodo:

# ls -l /dev/etherd/

brw-rw|- 1 root disk 152, 16 2013-06-05 16:24 e0.1

Para usarlo lo primero que debemos hacer es particionarlo como cualquier

otro disco:

# fdisk /dev/etherd/e0.1

En el ejemplo creamos una sola particion primaria (e0.1p1). Ahora procede-

mos a formatearla, en este caso con el sistema de archivos ext4:

# mkfs.ext4 /dev/etherd/e0.1p1

Finalmente montamos el dispositivo en /mnt:

# mount -t ext4 /dev/etherd/e0.1p1 /mnt

Ahora debemos ser capaces de ver el nuevo dispositivo en la salida de los

comandos mount y df:

# mount

/dev/etherd/e0.1p1 on /mnt type ext4 (rw)

# df -h

/dev/etherd/e0.1p1 20G 172M 19G 1% /mnt

El dispositivo es accesible a la red Ethernet —que ahora tambien es una SAN.

Podemos desmontarlo con el comando umount /mnt y montarlo en otro equipo.

Inclusive formatearlo con un sistema de archivos compartidos como GFS2 o AFS

y montarlo en dos equipos simultaneamente.

Page 52: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 52

3.5. Aplicacion

3.5.1. AoE vs. iSCSI vs. Fibre Channel

FC e iSCSI son dos alternativas a AoE para la comunicacion con unidades

de disco a traves de una red. Ambos de ellos estan basados en SCSI en lugar de

ATA, lo que significa que utilizan un protocolo mas complicado disenado para

una variedad de dispositivos (escaneres, impresoras, etc.) y no solo las unidades

de disco. En consecuencia, se incluye mas sobrecarga en cada paquete de datos y

realiza mas procesamiento.

FC fue desarrollado para la fibra optica, pero tambien se puede utilizar con

cableado Ethernet, ya sea por sı mismo —Fibre Channel over Ethernet (FCoE)—

o con enrutamiento IP –Fibre Channel over IP (FCIP). FCoE es posterior AoE

y a diferencia de este, no pasa a traves de switches de red comunes (requiere

hardware especıfico). FCoE es una adaptacion de una red no Ethernet con entrega

garantida de paquetes, por lo que requiere switches especiales cuando viajan a

traves de Ethernet. Por el contrario, AoE cumple con las practicas habituales de

best-effort delivery, con reintentos automaticos cuando se pierde un paquete de

Ethernet.

iSCSI es SCSI sobre TCP/IP sobre Ethernet. Es decir, el protocolo iSCSI

utiliza Ethernet para transportar comandos SCSI y datos utilizando el enrutable

protocolo TCP/IP. En comparacion con ATA, hay una sobrecarga y procesamien-

to adicional, ya que SCSI, TCP e IP, no es utilizado por ATA.

La figura 3.6 muestra los requisitos tecnologicos de cada protocolo en forma

de pila hasta llegar al comando ATA o SCSI a enviar.

3.5.2. RAID over Ethernet

Para ser compartido a traves AoE, una unidad de disco no tiene que ser un

simple disco ATA, solo tiene que actuar como tal. Por lo tanto, AoE es una

buena manera de compartir sistemas RAID y presentarlos a una computadora

como si fueran unidades de disco simples, delegando todo el trabajo de RAID en

el servidor de discos AoE.

Page 53: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 53

Figura 3.6: Stack AoE vs. iSCSI vs. FC

3.5.3. Conclusion

El protocolo AoE es un protocolo flexible y simple que permite a los discos

ATA conectarse directamente a una red de area local. Es facil de poner en practica,

por lo que los costos de los servidores AoE pueden ser bajos. Debido a eso, puede

haber una gran cantidad de servidores AoE en un solo segmento de red local. El

uso de la red para unir las unidades de disco con equipos clientes, permite una

verdadera red de almacenamiento en lugar de utilizar el costoso FC y sistemas

cerrados con altos costos en los equipos especiales.

El uso de los controladores en el kernel de GNU/Linux y BSD funciona como

lo esperamos y los resultados son alentadores. Mantener el contenido del disco

transparente al servidor AoE permite a los usuarios saber exactamente lo que

esta en el disco y mover datos desde los discos unidos directamente a los equipos

clientes, a los servidores AoE sin necesidad de copiar o reformatear datos. Siempre

se pueden obtener los datos de los blades.

La decision de utilizar tramas Ethernet simples tiene una explicacion. Se con-

sidera el uso de blades de almacenamiento como el almacenamiento local, no

almacenamiento en Internet. Como resultado de ello se utiliza el servicio de enla-

ce de datos de una red de area local para el transporte de los mensajes. No se trata

Page 54: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 3. ATA over Ethernet 54

de hacer el almacenamiento disponible directamente a traves de una interconexion

de redes que ya existen soluciones para este problema. Para un almacenamiento

disponible en interconexion de redes el uso de iSCSI o NFS serıa mas apropiado.

Page 55: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Parte II

Resolucion y Aplicacion

55

Page 56: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 4

La Solucion

Durante este capıtulos analizaremos diferentes soluciones para abordar el pro-

blema de la alta confiabilidad y disponibilidad en almacenamiento de datos. En

la primera parte de la tesis analizamos el escenario actual de la organizacion

y evaluamos las diferentes tecnologıas contemporaneas aplicables. Durante esta

segunda parte compararemos las diferentes opciones de hardware y software y

disenaremos e implementaremos la la mejor solucion acorde a las necesidades de

la organizacion.

Vamos a mantener la estructura de servidores de aplicaciones y almacenamien-

to de datos separados. Un cambio en la estructura del datacenter no esta conside-

rado para esta actualizacion. Ademas, esto nos permitira migrar datos y servicios

progresivamente.

Vamos a considerar todas las alternativas para interconectar los servidores de

aplicaciones con el storage. La actual conexion SCSI es practicamente obsoleta

en comparacion de las tecnologıas que existen. Ademas, siempre esta la opcion

de que el futuro storage comparta algun sistema de archivos por la red con los

servidores de aplicaciones, en vez de conectarse mediante algun medio fısico como

SCSI, SATA o SAS. Mejor aun, comparta los dispositivos de almacenamiento

directamente en la red.

Como se menciono anteriormente, en esta tesis solamente nos enfocaremos en

el almacenamiento de datos. Por supuesto que si nuestras decisiones afectan a los

servidores de aplicaciones (en la forma de conexion o algun otro modo), las vamos

a mencionar oportunamente. En principio vamos a nombrar dos alternativas para

comenzar nuestra tarea.

Podemos hacer una investigacion de mercado, viendo que equipamiento exis-

56

Page 57: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 4. La Solucion 57

te hoy en dıa que satisfaga nuestros requerimientos. Contactar con los pro-

veedores correspondientes, pedir cotizacion y solicitar probar los storages

que mas nos llamaron la atencion. Verificar que tipo de soporte tienen, que

tipo de discos utilizan, la performance de cada uno, forma de administra-

cion, compatibilidad con los servidores de aplicaciones, garantıas, licencias,

etc.

Podemos disenar e implementar una solucion a medida. Como administra-

dores de IT con experiencia, sabemos que esta opcion es totalmente viable.

Existen muchas formas de implementar un almacenamiento de datos con

servidores dedicados y administrados por nosotros mismos.

Las dos opciones tienen beneficios y contras. Durante las siguientes secciones

vamos a ver en detalle cada opcion, para finalmente optar por la mas convenien-

te. Luego de decidir correctamente (o equivocarnos), debemos conectar el nuevo

equipamiento, realizar una parada de planta para migrar los datos del viejo alma-

cenamiento al nuevo y finalmente ponerlo en produccion. Obviamente esta ultima

tarea esta fuera del alcance de esta tesis.

4.1. Soluciones Comerciales

La principal ventaja de adquirir hardware especıfico para armar el almacena-

miento es que nos permite independizarnos del mantenimiento del mismo. Como

administradores de IT, nos ocuparemos de monitorear el estado del dispositivo,

y ante alguna novedad, procedemos a realizar el mantenimiento correspondiente.

Durante el perıodo de garantıa el fabricante sera responsable de los componen-

tes defectuosos (probablemente discos) y procedera al reemplazo de los mismos.

Luego el costo correspondera a la organizacion. Por supuesto esta opcion tiene

sus desventajas:

No exista la opcion de renovar la garantıa, en cuyo caso deberemos hacernos

cargo del mantenimiento.

El proveedor ofrezca renovar la garantıa, pero el costo sea superior y no

justifique renovar la misma, y adquirir otro dispositivo nuevo (y con una

nueva garantıa).

Los costos de soporte sean elevados luego del perıodo de garantıa.

Page 58: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 4. La Solucion 58

No conseguir repuestos especıficos luego de que se discontinue el modelo.

El modelo de storage sea discontinuado y debamos actualizarnos prematu-

ramente.

Ampliar en un futuro el almacenamiento, nos limitarıa a considerar sola-

mente opciones referidas al storage adquirido.

Todas estas desventajas, se pueden resumir en una general: dependencia del

proveedor del almacenamiento. Inclusive existen opciones con costo mensual o

anual: el equipo se entrega en comodato1 y tiene el mantenimiento incluido, en

cuyo caso deberemos aceptar cualquier cambio de costos o polıtica del proveedor.

4.1.1. Opciones de Mercado

En las siguientes secciones vamos a enumerar la opciones2 que hemos consi-

derado viables para nuestra tarea, considerando las distintas tecnologıas de cone-

xion.

NAS: El producto Dell PowerVault NX3000 permite el acceso por red me-

diante los protocolos CIFS, NFS y FTP, se puede considerar para backups

en alguna dependencia de la organizacion. Ademas del dispositivo, debemos

adquirir una licencia de Microsoft Windows Storage Server 2008 Enterprise

Edition, ya que este no se vende sin la misma.

DAS: Para los centros de produccion, donde necesitamos servidores y alma-

cenamientos redundantes podemos utilizar un par de servidores Dell Powe-

rEdge R410 y un almacenamiento Dell PowerVault MD3200 con conexiones

redundantes Dell SAS 6 GB HBA y cables Dell SAS Connector Cable. Con

un costo menor, existe la posibilidad de utilizar un almacenamiento iSC-

SI emphDell PowerVault MD3200i conectado directamente a traves de las

interfaces Gigabit Ethernet.

SAN: Para el datacenter central podemos considerar una arquitectura de

red SAN. Dependiendo la tecnologıa de conexion elegida, tenemos distintas

opciones:

1El comodato es un contrato por el cual una parte entrega a la otra gratuitamente unaespecie para que haga uso de ella, con cargo de restituirla despues de terminado el uso

2Ver apendice A

Page 59: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 4. La Solucion 59

• AoE: Coraid SRX4200 y switches 10 Gigabit Ethernet [Wik15a].

• iSCSI: Hewlett-Packard P4000 o Dell EqualLogic PS6010XV. La red

de almacenamiento puede ser gestionada mediante switches Gigabit

Ethernet optimizados para iSCSI como el Dell PowerConnect 5424.

• FC: Hewlett-Packard StorageWorks EVA4400 o IBM System Storage

DS5020. Para la red de almacenamiento necesitamos hardware que so-

porte la tecnologıa FC como el switch Cisco MDS 9000 y las interfaces

Hewlett-Packard 81Q de 8 Gb.

4.1.2. Testing Dell EqualLogic PS6010XV

Vamos a probar la performance del storage iSCSI entregado a prueba por

companıa Dell. El equipo viene provisto con un conjunto de herramientas desa-

rrolladas para Windows:

Host Integration Tools: software para integrar el dispositivo con equi-

pos y aplicaciones.

Auto-Snapshot Manager: creacion de instantaneas de maquinas virtuales.

SAN HQ: monitoreo de performance y alertas a nivel multi-sitio / multi-

grupo.

Para poder utilizar dichas herramientas, es necesario tener conectividad a

nivel Simple Network Management Protocol (SNMP) y definir una community

string en el dispositivo.

Configuracion

Desde la consola serial —con el usuario grpadmin— pudimos acceder a con-

figurar el storage. Creamos un nuevo grupo llamdo equallogic, le otorgamos el

nombre eq01 y configuramos las 3 interfaces de red: eth0 y eth1 para la SAN y

eth2 para management (le asignamos el IP 192.168.130.50).

Una vez configurada la interfaz eth2 (administrativa) el dispositivo inicia y

se puede ingresar a configurarlo de varias formas (activadas por defecto):

HTTP/HTTPS GUI

SSH/TELNET CLI

Page 60: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 4. La Solucion 60

CONSOLA (con autenticacion)

Procedemos a configurar Network Time Protocol (NTP), zona horaria y demas

parametros vıa HTTP. Las interfaces web (GUIs) estan desarrolladas en Java

por lo que debemos tener instalada la Java Runtime Environment (JRE), version

1.6.0 o superior y la correspondiente extension en el navegador (Internet Explorer,

Firefox o Chrome).

El storage arranca por defecto con los 16 discos (14 en lınea y 2 de repuesto)

y espera la configuracion del almacenamiento que definamos. El target iSCSI por

defecto es iqn.2001-05.com.equallogic.

Entorno de Pruebas

La siguiente tarea es armar los volumenes RAID en el storage, exportarlos,

configurar el multipath, autenticar el cliente iSCSI y realizar las pruebas de ren-

dimiento.

Configuramos un volumen de prueba (400GB sobre los 14 discos y 2 repues-

tos) en RAID 10. El estado es optimal segun la aplicacion web del fabricante.

Como cliente vamos a utilizar un servidor Centos 6.63 con dos interfaces de 1

Gb (192.168.130.100 y 192.168.130.101) dedicadas para la SAN, configuradas en

multipath.

Estado del servidor (utilizando la herramienta eqltune):

Running eqltune:

Dell Equallogic eqltune version 1.0.0

Copyright (c) 2010-2011 Dell, Inc.

Checking your Linux system for optimal iSCSI performance...

Sysctl Tunables Critical Warnings Suggestions Ok

-------------------------------------------------------------------

Network Buffers 0 0 10 0

NIC Settings 3 0 0 0

Scheduler 0 0 1 0

Ethernet Devices

3https://www.centos.org/

Page 61: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 4. La Solucion 61

-------------------------------------------------------------------

bridge0 0 0 0 0

virbr0 0 0 0 0

iSCSI Settings

-------------------------------------------------------------------

iscsid.conf defaults 1 4 1 2

Equallogic Host Tools

-------------------------------------------------------------------

Running system check 0 0 0 2

Run in verbose mode (eqltune -v) for more details and instructions

on how to adjust your settings.

Ahora ya podemos verificar que el dispositivo de almacenamiento iSCSI esta dis-

ponible en el cliente a traves de software iscsid:

# iscsiadm -m discoverydb -t st -p 192.168.130.100 --discover

192.168.130.50:3260,1 iqn.2001-05.com.equallogic

# iscsiadm -m discoverydb -t st -p 192.168.130.101 --discover

192.168.130.50:3260,1 iqn.2001-05.com.equallogic

# iscsiadm -m node --targetname iqn.2001-05.com.equallogic \

--portal 192.168.130.50 --login

Logging in to [iface: default, target: iqn.2001-05.com.equallogic,

portal: 192.168.130.50,3260]

Login to [iface: default, target: iqn.2001-05.com.equallogic,

portal: 192.168.130.50,3260] successful.

Luego de autenticarse en el storage el cliente lo reconoce como /dev/sdc:

scsi15 : iSCSI Initiator over TCP/IP

scsi 15:0:0:0: Direct-Access EQLOGIC 100E-00 5.0 PQ: 0 ANSI: 5

sd 15:0:0:0: Attached scsi generic sg2 type 0

sd 15:0:0:0: [sdc] 838871040 512-byte logical blocks: (429 GB/400 GiB)

Page 62: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 4. La Solucion 62

sd 15:0:0:0: [sdc] Write Protect is off

sd 15:0:0:0: [sdc] Mode Sense: 91 00 00 00

sd 15:0:0:0: [sdc] Write cache: disabled, read cache: enabled

sd 15:0:0:0: [sdc] Attached SCSI disk

Pruebas de Rendimiento

Realizamos las primeras pruebas de sequential I/O en operaciones de lectura

con todos los servicios del cliente iniciados (para comparar resultados contra el

actual —y operativo— almacenamiento de la organizacion) utilizando la herra-

mienta hdparm:

# hdparm -tT /dev/sdc1

/dev/sdc1:

Timing cached reads: 17582 MB in 2.00 seconds = 8799.98 MB/sec

Timing buffered disk reads: 320 MB in 3.01 seconds = 106.39 MB/sec

Repetimos la prueba, esta vez con todos los servicios detenidos para obtener

un resultado exclusivo del almacenamiento:

# hdparm -tT /dev/sdc1

/dev/sdc1:

Timing cached reads: 17544 MB in 2.00 seconds = 8781.10 MB/sec

Timing buffered disk reads: 332 MB in 3.01 seconds = 110.40 MB/sec

Los primeros resultados obtenidos presentan baja performance. Tambien se

realizaron pruebas de random read y seeks por segundo. Las utilidades que se

utilizaron para las pruebas son: bonnie++, iozone, fio, seeker y hdparm.4 y

todas arrojaron similares resultados.

Conclusion

Luego de realizar varias pruebas con el storage, los resultados no han sido

satisfactorios En ningun caso se pudo lograr mas de 120 MB/s en pruebas de

sequential I/O en operaciones de lectura. Los actuales Dell PowerVault 220S

4Ver apendice B

Page 63: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 4. La Solucion 63

(tecnologıa SCSI) que posee la organizacion —todavıa en produccion— logran

191 MB/s de sequential read en un volumen RAID 10 de solo 8 discos.

Cualquier tecnologıa que estemos pensando en adquirir deberıa garantizarnos

superar esas cifras.

4.1.3. Licenciamiento

Una desventaja al adquirir un dispositivo de almacenamiento comercial con

software propietario se presenta al momento de extender las capacidades del mis-

mo: supongamos que queremos agregar un nuevo tipo de protocolo de red, aumen-

tar la cantidad de conexiones simultaneas, o expandir una particion o volumen

de red. Algunos proveedores cotizan en forma independiente estas caracterısticas,

para permitir ajustar el presupuesto para distintas organizaciones.

En nuestro escenario, deberemos adquirir en forma obligatoria la caracterıstica

requerida al proveedor del almacenamiento, sin poder comparar otras opciones

de mercado, que pueden inclusive ser mejores. Ademas, si la organizacion crece

en forma sostenida, tambien lo hara la dependencia con el proveedor.

4.2. Independencia Tecnologica

Adquirir un dispositivo de almacenamiento listo para su utilizacion, con tec-

nologıa DAS por ejemplo, es aconsejable para infraestructuras u organizaciones de

pequena o mediana capacidad de procesamiento o bien para un conjunto de servi-

cios puntuales. Permite en relativamente poco tiempo su puesta en produccion y

el mantenimiento durante la garantıa sera responsabilidad del proveedor. Luego

podremos hacernos cargo del mantenimiento o inclusive podemos reemplazarlo

adquiriendo un modelo mas nuevo.

Sin embargo, para organizaciones grandes una solucion SAN es recomendable.

Una infraestructura creada, administrada y gestionada por nosotros mismos es

garantıa de independencia de proveedores y fabricantes de dispositivos. Esto nos

permite acompanar el crecimiento a largo plazo sin la necesidad de reemplazar

nuevamente el datacenter.

Ademas, si realizamos nuestra tarea utilizando herramientas open source, po-

demos independizarnos totalmente tanto en hardware como en software. Hoy en

dıa, el costo de licenciamiento practicamente iguala los costos del equipamiento

(inclusive lo supera).

Page 64: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 4. La Solucion 64

4.3. Soluciones Ad Hoc

Luego de analizar las tecnologıas y opciones de mercado, nos planteamos la

posibilidad de armar un storage adaptado a nuestras necesidades. Para centros

de produccion y dependencias remotas, la solucion que provee el almacenamiento

Dell PowerVault MD3200 con conexion Dell SAS 6 GB HBA es una excelente

opcion. Sin embargo, para el datacenter central no es suficiente.

Existen almacenamientos comerciales con superior capacidad de procesamien-

to y almacenamiento que son adecuados para la organizacion, sin embargo lue-

go de evaluar la relacion costo / beneficio, decidimos armar el almacenamiento

utilizando una pareja de servidores administrados por nosotros; la arquitectu-

ra elegida fue SAN y la tecnologıa AoE sobre el sistema operativo GNU/Linux,

particularmente la distribucion CentOS.5

Esta configuracion, nos permite flexibilidad en caso de querer ampliar el da-

tacenter. Podemos agregar mas discos, mas equipos o ambos, para conseguir mas

capacidad de almacenamiento, mas potencia o ambos respectivamente.

4.3.1. Equipamiento

El hardware elegido para implementar el storage fueron una pareja de servido-

res Dell PowerEdge R510 conectados vıa interfaces de red de 10 Gbps Broadcom

NetXtreme II 57711 en forma redundante con un par de switches Cisco Catalyst

4900M y transceptores Small Form-factor Pluggable (SFP) Cisco 10GBASE SFP,

usando tecnologıa 10 Gigabit Ethernet.

Cada servidor Dell PowerEdge R510 posee integrada una controladora RAID

Dell PERC H700 con capacidad de 12 discos SAS conectados a 6 Gbps (mas

2 SATA internos para el sistema operativo) y 4 interfaces de red de 10 Gbps

Broadcom NetXtreme II 57711 internas (mas 2 de 1Gb para administracion).

Para los servidores de aplicaciones, se adquirieron cuatro equipos Dell Power

Edge R815, conectados a la SAN vıa placas de 10 Gbps Intel X520-DA2.

Ademas de adquirir los equipos con garantıa por 2 anos, en caso de tener

que realizar mantenimiento o reemplazar algun componente, podemos utilizar

hardware con prestaciones similares.

5https://www.centos.org/

Page 65: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 4. La Solucion 65

Escalabilidad

En caso de querer expandir la capacidad de almacenamiento, disponemos de

varias opciones y distintos presupuestos: desde ampliar la capacidad de los discos

SAS de los servidores de almacenamiento Dell PowerEdge R510, hasta agregar

mas equipos que actuen de servidores AoE a la SAN.

La tecnologıa AoE, combinada con Logical Volume Manager (LVM) [Wik15h]

de GNU/Linux, proporciona potencialmente volumenes de datos que pueden cre-

cer de forma practicamente ilimitada.

4.3.2. Implementacion

En el capıtulo siguiente veremos todas las opciones disponibles para imple-

mentar un storage altamente redundante. Veremos todas las tecnicas necesarias

para poder crear utilizando herramientas open source un almacenamiento en el

cual podamos confiar los datos de una organizacion.

Page 66: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 5

Diseno

Al decidir construir un almacenamiento administrado por nosotros tenemos

que evaluar todos los posibles disenos para su implementacion. Recordemos que

la arquitectura elegida fue SAN y la tecnologıa AoE sobre el sistema operati-

vo GNU/Linux. En este capıtulo veremos distintas opciones para integrar estas

tecnologıas con las diferentes caracterısticas del hardware elegido.

Cada servidor Dell PowerEdge R510 fue adquirido con 12 discos SAS de 500

GB. El cuadro 5.1 muestra las caracterısticas de la controladora integrada Dell

PERC H700.

Modelo PERC H700 IntegradaSoporte de Interfaz 6Gb/s SAS y 3Gb/s SATASoporte PCI PCI-Express 2.0Conectores SAS 2x4 InternosTamano Memoria Cache 512MB, 512MB NV, 1GB NVCache Write Back Si (BBU)Niveles de RAID 0, 1, 5, 6, 10, 50, 60Maximo Soporte de Discos 16Soporte de RAID RAID por Hardware

Cuadro 5.1: Caracterısticas de la controladora RAID Dell PERC H700

En las siguientes secciones vamos a ver distintas configuraciones de los niveles

de RAID para obtener la mejor relacion entre performance y proteccion de datos.

Inclusive vamos a ver configuraciones donde es posible sin utilizar la controladora

integrada.

66

Page 67: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 5. Diseno 67

5.1. Redundancia de Discos: RAID

5.1.1. Striping

Una configuracion RAID 0 o striping nos permitirıa obtener toda la capacidad

de cada almacenamiento (6 TB cada uno, 12 TB en total) con 12 veces mayor

velocidad de lectura y escritura. Cada uno verıa un dispositivo de bloques para

exportar vıa AoE a la SAN.

El problema de esta configuracion es que no presenta tolerancia ante el fa-

llo de algun disco. Ante ese caso, se perderıan todos los datos de uno de los

almacenamientos y deberıamos recurrir a la copia de respaldo.

5.1.2. RAID 50

La configuracion RAID 50 permite el fallo de uno de los discos. Tiene un costo

de perdida de un 8,3 % de capacidad y mejora 11 veces la velocidad de lectura.

Podemos exportar vıa AoE un blade de 5.5 TB desde cada almacenamiento.

La figura 5.1 representa un RAID 50 con 6 discos.

Figura 5.1: Configuracion RAID 50 con 6 discos

5.1.3. RAID 60

La configuracion RAID 60 mejora la redundancia permitiendo el fallo de dos

de los discos. Perdemos 16,6 % de capacidad y mejora 10 veces la velocidad de

lectura. Podemos exportar vıa AoE un blade de 5 TB desde cada almacenamiento.

Page 68: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 5. Diseno 68

5.1.4. RAID 10

Como ya vimos el costo por MB esta disminuyendo. Hoy en dıa el espacio no

es el problema, por lo que necesitamos enfocarnos en el rendimiento.

Con configuracion RAID 10 perdemos el 50 % del almacenamiento, si embargo

mejoramos 12 veces la velocidad de lectura y 6 veces la de escritura. Ademas

soporta el fallo de uno de los discos del almacenamiento. En esta configuracion

podemos exportar vıa AoE un blade de 3 TB desde cada almacenamiento.

Figura 5.2: Comparativa RAID 5 vs RAID 10

Si decidimos que la tolerancia de fallo de un disco es aceptable, esta opcion es

la correcta. RAID 50 tambien permite el fallo de uno de los discos y posee mayor

capacidad de almacenamiento, sin embargo como se observamos en la figura 5.2

RAID 10 tiene un mayor rendimiento en lecturas y escrituras. [Gra07]

5.2. Redundancia de Equipos: DRBD

Hasta ahora hemos considerado escenarios de falla de uno e inclusive dos

discos del mismo equipo. ¿Que sucederıa si falla totalmente un almacenamiento?

Ante esta situacion dejarıamos de prestar la mitad de los servicios asociados al

almacenamiento afectado.

La tecnologıa DRBD permite configurar una especie de RAID 1 entre dos

equipos. En nuestro escenario esto tiene dos ventajas:

Page 69: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 5. Diseno 69

Permite la utilizacion de los dos almacenamientos en forma simultanea.

No necesariamente todos los dispositivos de bloque de un storage deben

ser primarios y los del otro secundarios. Podemos declarar la mitad como

primarios para permitir su utilizacion y la otra mitad secundarios para el

respaldo del otro equipo. Obviamente en el otro almacenamiento se da la

misma configuracion –pero invertida.

Ante la falla de uno de los discos del dispositivo virtual DRBD, el otro in-

mediatamente ocupa su lugar en forma transparente. Si un almacenamiento

fallara completamente tendrıamos una copia en el otro. Simplemente comen-

zamos a exportar vıa AoE los dispositivos de bloque del almacenamiento

fallado desde el que se encuentra operativo. Por supuesto va a tener el doble

procesamiento, pero nos da tiempo a realizar el mantenimiento correspon-

diente.

5.2.1. DRBD over RAID 60

La idea es configurar dos dispositivos RAID 60 (de 6 discos cada uno) en

cada almacenamiento. Luego crear dos dispositivos virtuales DRBD con un RAID

de cada equipo, uno primario en cada uno. Bajo esta configuracion podemos

exportar vıa AoE un blade DRBD (por supuesto el primario) de 2 TB desde cada

almacenamiento. Cada uno mejora 4 veces la velocidad de lectura, soporta el fallo

de 4 discos (2 por RAID 60 mas 2 por estar en configuracion DRBD) y el fallo

de un equipo. Pero el costo es una perdida del 66,6 % del almacenamiento total.

5.2.2. DRBD over RAID 10

Analogamente, sacrificando aun mas espacio de almacenamiento para mejorar

el rendimiento, podemos repetir la configuracion anterior utilizando un RAID 10.

En este escenario podemos exportar un blade DRBD de 1.5 TB de cada equipo,

mejoramos 6 veces la velocidad de lectura y 3 veces la de escritura, soporta el

fallo de dos discos en forma simultanea y el fallo de un equipo. La perdida del

almacenamiento asciende al 75 % del storage.

Page 70: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 5. Diseno 70

5.3. RAID over DRBD vıa AoE

Estamos tratando de busca la optima configuracion de la controladora Dell

PERC H700, sin embargo esta la posibilidad de no utilizarla. En otras palabras,

usarla para gestionar los discos virtuales dentro del sistema operativo pero sin

ningun nivel de RAID. Cada disco SAS sera visto como un dispositivo de bloques,

para obtener un total de 12 discos por almacenamiento.

5.3.1. Striping over DRBD

La idea es muy simple: cada uno de los discos de un almacenamiento sera confi-

gurado como un dispositivo virtual DRBD con un disco del otro almacenamiento.

La mitad estaran declarados como primarios y la otra mitad como secundarios.

Luego se realizara un RAID 0 o striping por software con todos los dispositivos

primarios DRBD (6 en total) de cada equipo. Esta configuracion permite expor-

tar dos blades AoE de 3 TB por almacenamiento, mejora 6 veces la velocidad de

lectura y escritura, soporta el fallo de uno de los discos (replicado por DRBD) y

el fallo de un equipo. Ademas ahorra el costo de adquisicion de la controladora

Dell PERC H700.

5.3.2. Comparativa

El cuadro 5.2 presenta un resumen comparativo de las configuraciones vistas.

RAID DRBD Fallas AoE Lec. Esc. SAN Perdida

0: 12x500GB - 0 2x6TB 12x 12x 12 TB 0 %50: 12x500GB - 1 2x5.5TB 11x - 11 TB 8,3 %60: 12x500GB - 2 2x5TB 10x - 10 TB 16,6 %10: 12x500GB - 1 2x3TB 12x 6x 6 TB 50 %2x60: 6x500GB 2 4+equipo 2x2TB 4x - 4 TB 66,6 %2x10: 6x500GB 2 2+equipo 2x1.5TB 6x 3x 3 TB 75 %2x0: 6x500GB 12 1+equipo 2x3TB 6x 6x 6 TB 50 %

Cuadro 5.2: Comparativa de Configuraciones de Almacenamientos

Page 71: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 5. Diseno 71

5.4. Automatizacion: Clustering PaceMaker

En todas las configuraciones vistas hemos exportado un gran blade AoE por

almacenamiento, permitiendo que los equipos de la SAN lo utilicen como deseen.

Si utilizamos LVM [Wik15h] podrıamos declarar cada almacenamiento de blo-

ques a exportar como un Physical Volume (PV), utilizarlo para crear respectivos

Volume Group (VG) y generar un Logical Volume (LV) por servicio a prestar (la

mitad en cada VG). Cada uno de los LV serıa exportado vıa AoE a la SAN.

Figura 5.3: Configuracion RAID 0 sobre DRBD

La figura 5.3 muestra la configuracion Striping over DRBD y la utilizacion de

LVM en la pareja de servidores Dell PowerEdge R510. Si fuera necesario remover

el almacenamiento san1 de la SAN (para realizarle mantenimiento por ejemplo)

deberıamos:

1. Detener los servicios asociados al VG vg1 en el cluster de aplicaciones.

2. Detener la exportacion AoE de los dispositivos de bloque LV del VG vg1

en san1.

3. Desactivar el VG vg1 en san1.

4. Detener el RAID 0 md100 correspondiente al PV del VG vg1 en san1.

Page 72: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 5. Diseno 72

5. Invertir las configuraciones primaria / secundaria de los dispositivos virtua-

les DRBD miembros del RAID 0 md100.

6. Iniciar el RAID 0 md100 correspondiente al PV del VG vg1 en san2.

7. Activar el VG vg1 en san2.

8. Exportar vıa AoE los dispositivos de bloque LV del VG vg1 desde san2.

9. Iniciar los servicios asociados al VG vg1 en el cluster de aplicaciones.

Utilizando el software de alta disponibilidad para administrar recursos Pa-

cemaker 1 estas tareas pueden ser ejecutadas de manera automatica. Luego de

configurar los recursos [Lab15] los pasos para realizar la tarea anterior se reducen

a:

1. Detener los servicios asociados al VG vg1 en el cluster de aplicaciones.

2. En cualquiera de los dos almacenamientos ejecutar:

# crm resource move vg1 san2

3. Iniciar los servicios asociados al VG vg1 en el cluster de aplicaciones.

Esto inclusive puede ser ejecutado sin los pasos 1 y 3. Los servicios asociados

en cluster de aplicaciones notaran una demora, pero si son lo suficientemente

robustos continuaran su ejecucion sin problemas. De hecho, es la accion que au-

tomaticamente realizarıa Pacemaker si un almacenamiento falla completamente.

1http://clusterlabs.org/pacemaker.html

Page 73: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 6

Conclusiones

A lo largo del desarrollo de la presente tesis hemos abordado distintas opciones

para actualizar el almacenamiento de datos de una organizacion con un gran

volumen de informacion considerando la alta confiabilidad y disponibilidad del

mismo.

Comenzamos mostrando su actual infraestructura de datos, presentamos las

tecnologıas contemporaneas aplicables, evaluamos las diferencias entre arquitectu-

ras de almacenamiento y tipos de almacenamientos, los distintos tipos de conexion

a almacenamientos y diferentes tecnicas para permitir redundancia de informa-

cion por software y hardware. Comparamos la performance de distintas soluciones

comerciales, disenamos soluciones especıficas y combinamos diferentes propuestas

para obtener la mejor solucion acorde a las necesidades de la organizacion.

Durante el proceso notamos la fuerte la dependencia de la informacion en

las organizaciones. Aprendimos a diferenciar la capacidad de almacenamiento y

procesamiento del problema de gestion de grandes volumenes de informacion, a

anticipar posibles problemas para minimizar el impacto de los mismos y a evaluar

los escenarios asociados ante distintos problemas con el datacenter.

Luego de comparar distintos dispositivos comerciales demostramos que las op-

ciones mas costosas no necesariamente son las mejores soluciones (ante el mismo

presupuesto). Una solucion disenada a medida se adapto mejor ante las necesi-

dades de alta confiabilidad y disponibilidad de la organizacion. Esto nos permi-

tio conseguir la mejor relacion entre performance y redundancia. Es cierto que

ante determinados escenarios es conveniente la utilizacion de almacenamientos

comerciales, o una combinacion de ambos.

La idea fue siempre utilizar la solucion mas adecuada para un determinado

73

Page 74: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Capıtulo 6. Conclusiones 74

problema, priorizar las soluciones simples y resolver los problemas de manera

incremental. El diseno e implementacion de una infraestructura creada, adminis-

trada y gestionada por nosotros mismos fue garantıa de independencia de provee-

dores y fabricantes de dispositivos. Esto nos permite acompanar el crecimiento a

largo plazo de la organizacion. Ademas implementamos el datacenter utilizando

herramientas open source, lo que nos permitio independizarnos totalmente tanto

en hardware como en software. Hoy en dıa, el costo de licenciamiento practica-

mente iguala los costos del equipamiento (inclusive lo supera). La combinacion de

estas dos decisiones nos permitio obtener una caracterıstica deseada por cualquier

organizacion: independencia tecnologica.

Page 75: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Parte III

Apendices

75

Page 76: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Apendice A

Equipamiento

Dell PowerEdge 6650

www.dell.com/support/home/us/en/19/product-support/product/poweredge-

XEO6650

Dell PowerVault 220S

http://www.dell.com/support/home/us/en/19/product-support/product/

powervault-220S

Dell PERC 4/DC

http://www.dell.com/support/home/us/en/19/product-support/product/

dell-perc-4-dc

Dell PowerVault NX3000

http://www.dell.com/us/business/p/powervault-nx3000/pd

Dell PowerEdge R410

http://www.dell.com/us/business/p/poweredge-r410/pd

Dell SAS 6 GB HBA

http://accessories.us.dell.com/sna/productdetail.aspx?c=us&l=en&s=

dhs&cs=19&sku=342-0910

76

Page 77: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Apendice A. Equipamiento 77

Dell PowerVault MD3200

http://www.dell.com/support/home/us/en/19/product-support/product/

powervault-md3200

Dell SAS Connector Cable

http://accessories.euro.dell.com/sna/productdetail.aspx?c=uk&l=

en&s=bsd&cs=ukbsdt1&sku=470-11675

http://accessories.euro.dell.com/sna/productdetail.aspx?c=uk&l=

en&s=dhs&cs=ukdhs1&sku=470-11676

http://accessories.euro.dell.com/sna/productdetail.aspx?c=uk&l=

en&s=dhs&cs=ukdhs1&sku=470-11677

Dell PowerVault MD3200i

http://www.dell.com/support/home/us/en/19/product-support/product/

powervault-md3200i

Coraid SRX4200

http://www.coraid.com/products/srx4200_3.5_sas_sata_etherdrive_storage_

appliance

Hewlett-Packard P4000

http://h10010.www1.hp.com/wwpc/us/en/sm/WF25a/12169-304616-3930449-

3930449-3930449-4118659.html

Dell EqualLogic PS6010XV

http://www.dell.com/us/en/enterprise/storage/equallogic-ps6010xv/

pd.aspx?refid=equallogic-ps6010xv&cs=555&s=biz

Dell PowerConnect 5424

http://www.dell.com/us/business/p/powerconnect-5424/pd

Page 78: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Apendice A. Equipamiento 78

Hewlett-Packard StorageWorks EVA4400

http://h10010.www1.hp.com/wwpc/us/en/sm/WF25a/12169-304616-304648-

304648-304648-3664763.html

IBM System Storage DS5020

http://www-03.ibm.com/systems/in/storage/disk/ds5020/

Cisco MDS 9000

http://www.cisco.com/c/en/us/products/interfaces-modules/mds-9000-

24-port-8-gbps-fibre-channel-switching-module/index.html

Hewlett-Packard 81Q

http://www8.hp.com/us/en/products/adapters/product-detail.html?oid=

3662828

Dell Power Edge R815

http://www.dell.com/us/business/p/poweredge-r815/pd

Intel X520-DA2

http://ark.intel.com/es/products/39776/Intel-Ethernet-Converged-

Network-Adapter-X520-DA2

Cisco Catalyst 4900M

http://www.cisco.com/c/en/us/products/switches/catalyst-4900m-switch

Cisco 10GBASE SFP

http://www.cisco.com/c/en/us/products/collateral/interfaces-modules/

transceiver-modules/data_sheet_c78-455693.html

Dell PowerEdge R510

http://www.dell.com/us/business/p/poweredge-r510/pd

Page 79: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Apendice A. Equipamiento 79

Dell PERC H700

http://www.dell.com/support/home/us/en/04/Drivers/DriversDetails?

driverId=W7X7H

Broadcom NetXtreme II 57711

http://euro.dell.com/uk/en/corp/networking/nic-broadcom-57711-standard/

pd.aspx?refid=nic-broadcom-57711-standard&s=corp

Page 80: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Apendice B

Herramientas de Analisis de

Prestaciones en Discos

Existen multitud de herramientas para evaluar las prestaciones de los diferen-

tes tipos de almacenamiento y sus sistemas de archivos. En esta tesis nos vamos

a basar principalmente en herramientas bajo GNU/Linux, ya que es el sistema

sobre el que trabajamos.

Con estas aplicaciones vamos a poder medir el rendimiento o alcance de un de-

terminado sistema de archivos (ext4, Oracle Cluster File System 2 (OCFS2), Glo-

bal File System (GFS), etc) o una clase concreta de acceso a datos (NFS, iSCSI,

DRBD, etc), obteniendo informacion como la velocidad de lectura/escritura, la-

tencias, etc.

cp

Comando utilizado para copiar archivos desde un origen a un destino. La

siguiente orden medira el tiempo empleado en escribir un determinado archivo de

X × Y bytes en disco.

# dd if=/dev/zero of=file bs=X count=Y && time cp file /mnt/tmp

hdparm

Es una herramienta que sirve para manipular la configuracion de las unidades

de disco ademas de medir el rendimiento de las mismas. El objetivo es optimizar

el tiempo de acceso o la velocidad de transferencia.

Sintaxis: hdparm [opciones] /dev/[disco]

80

Page 81: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Apendice B. Herramientas de Analisis de Prestaciones en Discos 81

De aproximadamente unos cuarenta parametros disponibles, siete son poten-

cialmente peligrosos y pueden ocasionar una corrupcion masiva del sistema de

archivos. Las opciones para evaluar rendimiento de lectura secuencial son -t (sin

utilizar cache) y -T (utilizando la cache del sistema operativo).

dd

Permite la copia de datos bit a bit independientemente del sistema de ar-

chivos origen y destino. Como informacion de salida ofrece la velocidad de lectu-

ra/escritura con la que se ha realizado la operacion, ası como el tiempo empleado.

El formato que utilizaremos para el comando dd sera el siguiente:

Lectura de X × Y bytes desde el disco /dev/sdx al dispositivo /dev/null.

# dd if=/dev/sdx of=/dev/null bs=X count=Y

Escritura de X × Y bytes desde el dispositivo origen /dev/zero al archivo

/tmp/output.

# dd if=/dev/zero of=/tmp/output bs=X count=Y

El dispositivo /dev/null descarta toda la informacion volcada en el de forma

instantanea. De esta forma, al aplicar el primer comando el tiempo de computo

se invertira exclusivamente en la lectura de datos.

El dispositivo /dev/zero es un dispositivo especial que cuando se lee de el

proporciona caracteres NULL, es decir, su tiempo de lectura es practicamente

nulo. De esta forma, al aplicar el segundo comando el tiempo de computo se

invertira exclusivamente en la escritura de datos.

Una forma habitual de uso es leer y escribir un archivo superior a la memoria

RAM total (por ejemplo 5GB en caso de disponer de 4GB de memoria RAM).

Realizando esta operacion varias veces, tanto en lectura (R) como en escritura

(W) variando los valores de X e Y de tal forma que su multiplicacion de siempre

el mismo tamano de archivo, podremos obtener una media que se aproxime mas

a la realidad.

Page 82: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Apendice B. Herramientas de Analisis de Prestaciones en Discos 82

iozone

Es una herramienta de benchmark destinada a comprobar el rendimiento de un

sistema de archivos. La aplicacion genera y mide una gran cantidad de operaciones

sobre archivos.

A continuacion vamos a exponer las opciones mas usadas de este comando de

cara a medir el rendimiento de un sistema de archivos:

-a: modo automatico completo.

-b excel file: genera un archivo en formato Excel con los resultados

obtenidos (formato binario).

-c: incluye en los resultados los tiempos empleados para cerrar los archivos.

-f filename: especifica el archivo temporal que se empleara para los casos

de pruebas.

-g size: tamano maximo del archivo (Ej. -g 2G, igual o superior al tamano

de la memoria RAM) para el modo auto (-a).

-i test: especifica el tipo de caso de prueba a utilizar (0: escritura/re-

escritura, 1: lectura/re-lectura, 2: lectura/escritura aleatoria, ...).

-r size: tamano fijo del registro utilizado para hacer las transferencias.

-s size: tamano fijo del archivo utilizado para hacer las transferencias.

-z: esta opcion utilizada junto con el parametro -a, fuerza a emplear ar-

chivos pequenos durante las pruebas.

-R: genera un informe Excel.

Las distintas definiciones de los casos de pruebas son las siguientes:

Escritura: mide el rendimiento de escritura secuencial en un nuevo archivo.

Re-escritura: mide el rendimiento de escritura secuencial sobre un archivo

que ya existe.

Lectura: mide el rendimiento de lectura secuencial sobre un archivo exis-

tente.

Page 83: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Apendice B. Herramientas de Analisis de Prestaciones en Discos 83

Re-lectura: mide el rendimiento de lectura secuencial sobre un archivo que

ha sido recientemente leıdo.

Escritura aleatoria: mide el rendimiento de escritura aleatoria en un nue-

vo archivo.

Lectura aleatoria: mide el rendimiento de lectura aleatoria sobre un ar-

chivo ya existente.

Fescritura: mide el rendimiento de escritura usando la funcion de librerıa

fwrite()

Fre-escritura: mide el rendimiento de escritura usando la funcion de li-

brerıa fwrite() sobre un archivo que ya existe.

Flectura: mide el rendimiento de lectura usando la funcion de librerıa

fread()

Fre-lectura: mide el rendimiento de lectura usando la funcion de librerıa

fread() sobre un archivo que ya existe.

Una forma habitual de uso puede ser la siguiente:

# iozone -Razc -i 0 -i 1 -g 5G -b archivo.xls

La orden anterior ejecuta un casos de pruebas de lectura/escritura secuencial

sobre el dispositivo que corresponda al directorio en el que estemos situados,

variando los tamanos de los archivos empleados desde 64KB a 5GB, utilizando

buffers de transferencia comprendidos entre 4KB y 16MB. Como resultado final

se generara un archivo Excel a partir del cual podremos crear las correspondientes

graficas.

Esto ultimo es lo que se conoce como barrido de un determinado espectro de

almacenamiento y tiene como principal objetivo el de poder generar una grafica

de superficie que determine el comportamiento del sistema ante variaciones de los

registros y archivos empleados.

En esta clase de pruebas es conveniente utilizar un tamano de archivo maxi-

mo (parametro -g) superior a la memoria RAM disponible. De esta forma se

podra obtener el comportamiento cuando utiliza la memoria cache del procesa-

dor (tamano del archivo inferior a la cache del procesador), cuando emplea la

Page 84: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Apendice B. Herramientas de Analisis de Prestaciones en Discos 84

memoria RAM (tamano del archivo comprendido entre la cache del procesador

y la cantidad total de memoria RAM) o cuando hace uso directamente de las

operaciones de entrada/salida a disco (tamano del archivo superior a la memoria

RAM).

Otra forma habitual de empleo esta destinada a medir el impacto de diferente

numero de procesos sobre dicho sistema de archivos. Por ejemplo, la orden si-

guiente hara que varios procesos (desde 1 a 50) vayan realizando operaciones de

lectura/escritura secuencial de un archivo de 4MB, utilizando para ello registros

de 64KB.

# iozone -Rc -r 64 -s 4MB -l 1 -u 50 -i 0 -i 1 -b archivo.xls

El ejemplo anterior se suele utilizar para obtener el comportamiento de multi-

ples procesos del sistema manejando archivos pequenos. Para completar las prue-

bas de IOzone es conveniente repetir este caso de prueba pero utilizando archivos

mas grandes (y aumentando a su vez el tamano de los registros).

# iozone -Rc -r 1024 -s 512MB -l 1 -u 12 -i 0 -i 1 -b archivo.xls

bonnie++

Permite la creacion de distintos casos de prueba de lectura, escritura y borrado

de archivos de diversos tamanos, etc. Tiene diversos parametros que pueden ser

empleados, pero la forma en la que lo utilizaremos para medir el rendimiento de

un sistema de archivos sera la siguiente:

# bonnie++ -d /tmp [-n number:max:min:directories] [-s size] -u 0

A traves de la opcion -d se especifica el directorio a utilizar durante el trans-

curso de las pruebas. El parametro number es el numero de archivos que seran

creados multiplicado por 1024, el cual vendra precedido de la opcion -n. Si se

especifican los valores max y min, los archivos seran creados con un tamano

aleatorio comprendido entre esas dos cotas (bytes). Si de declara el parametro

directories, los archivos seran distribuidos uniformemente a traves de una es-

tructura de directorios con una profundidad maxima marcada por el parametro.

Con la opcion -s se indica a traves del valor size, el tamano del archivo que

sera utilizado para las pruebas de lectura y escritura. Este tamano debe ser como

Page 85: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Apendice B. Herramientas de Analisis de Prestaciones en Discos 85

mınimo el doble de la memoria RAM. Con la opcion -u 0 se indica a Bonnie++

que ejecute las pruebas como usuario con privilegios de administrador.

Los resultados mostrados ofrecen velocidades de escritura secuencial (Sequen-

tial Output) y lectura secuencial (Sequential Input). Tambien ofrecen valores so-

bre la creacion secuencial (Sequential Create) y aleatoria (Random Create) de

archivos, ası como de borrado secuencial (Sequential Delete) y aleatorio (Random

Delete) de archivos.

Bonnie++ nos suministra una herramienta que permite generar un archivo en

formato HTML (bon csv2html) a partir de los resultados obtenidos. Para ello

deberemos ejecutar la siguiente secuencia de ordenes:

# echo "ultima_lınea_de_datos" bon_csv2html > archivo.html

Una forma habitual de uso puede ser la siguiente:

# bonnie++ -n 128 -s 7544 -x 1 -u 0 -d /mnt/tmp/

La orden anterior ejecuta una sola vez (-x 1), un caso de prueba de lectura

y escritura de un archivo de 7,5GB, ası como la tarea de creacion y borrado de

131072 archivos (128x1024) de 0 bytes.

Page 86: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Apendice C

Acronimos

AFS Andrew File System

AoE ATA over Ethernet

ATA Advanced Technology Attachment

CIFS Common Internet File System

CIOs Chief Information Officers

DAS Directly Attached Storage

DRBD Distributed Replicated Block Device

ESDI Enhanced Small Disk Interface

FAT32 File Allocation Table

FC Fibre Channel

FCIP Fibre Channel over IP

FCoE Fibre Channel over Ethernet

FCP Fibre Channel Protocol

FTP File Transfer Protocol

GFS Global File System

GFS2 Global File System 2

86

Page 87: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Apendice C. Acronimos 87

HDD Hard Disk Drive

IDE Integrated Drive Electronics

IOPS Input/Output Operations Per Second

IP Internet Protocol

iSCSI Internet Small Computer Interface

IT Information Technology

JRE Java Runtime Environment

LUN Logical Unit Number

LV Logical Volume

LVM Logical Volume Manager

NAS Network Attached Storage

NFS Network File System

NTP Network Time Protocol

OCFS2 Oracle Cluster File System 2

OSI Open System Interconnection

PATA Parallel ATA

PV Physical Volume

RAID Redundant Array of Independent Disks

SAN Storage Area Network

SAS Serial Attached SCSI

SATA Serial Advanced Technology Attachment

SCSI Small Computer Interface

SFP Small Form-factor Pluggable

Page 88: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Apendice C. Acronimos 88

SMB Server Message Block

SNMP Simple Network Management Protocol

SSD Solid State Drive

SSHD Solid State Hard Disk

TCP Transmission Control Protocol

UDP User Datagram Protocol

VG Volume Group

VPN Virtual Private Network

Page 89: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Bibliografıa

[Coi11] Brantley Coile. AoE (ATA over Ethernet). http://support.coraid.

com/documents/AoEr11.pdf, 2011.

[Cor05] Coraid. The ATA over Ethernet Tools. http://support.coraid.com/

support/linux/, 2005.

[Cro12] Colin Cronin. SSD vs HDD: Choosing the right tool for the

job. http://www.icc-usa.com/insights/ssd-vs-hdd-choosing-

the-right-tool-for-the-job/, 2012.

[Gra07] Bill Graziano. RAID 10 vs. RAID 5 Performance. http:

//weblogs.sqlteam.com/billg/archive/2007/06/18/RAID-10-

vs.-RAID-5-Performance.aspx, 2007.

[Knu84] Donald E. Knuth. The TEXbook. Addison-Wesley, 1984.

[Lab15] Cluster Labs. A Scalable High Availability Cluster Resource Manager.

http://clusterlabs.org/quickstart-redhat.html, 2015.

[LIN15] LINBIT. Software Development for High Availability Clusters. http:

//drbd.linbit.com/, 2015.

[San12] SanDisk. iSCSI. kb.sandisk.com/app/answers/detail/a_id/

10510/~/differences-between-sas-and-sata, 2012.

[Tan07] Andrew S. Tanenbaum. Modern Operating Systems. Pearson Educa-

tion, 2007.

[Tan10] Andrew S. Tanenbaum. Computer Networks. Pearson Education, 2010.

[Til14] Monica Tilves. El coste millonario de los tiempos de inac-

tividad. http://www.siliconweek.es/e-enterprise/el-coste-

millonario-de-los-tiempos-de-inactividad-70826, 2014.

89

Page 90: Alta Confiabilidad y Disponibilidad en Almacenamiento de Datos

Bibliografıa 90

[vir09] virtualdennis. SAS vs. SATA Differences, Technology and Cost.

http://blog.lewan.com/2009/09/14/sas-vs-sata-differences-

technology-and-cost/, 2009.

[Wee14] Redaccion Silicon Week. El 64 % de las empresas ha su-

frido perdidas de datos y tiempos de inactividad en 2014.

http://www.siliconweek.es/data-storage/el-64-de-las-

empresas-ha-sufrido-perdidas-de-datos-y-tiempos-de-

inactividad-en-2014-70885, 2014.

[Wik15a] Wikipedia. 10 Gigabit Ethernet. http://en.wikipedia.org/wiki/

10_Gigabit_Ethernet, 2015.

[Wik15b] Wikipedia. ATA over Ethernet. http://en.wikipedia.org/wiki/

ATA_over_Ethernet, 2015.

[Wik15c] Wikipedia. Coraid, Inc. http://en.wikipedia.org/wiki/Coraid,

_Inc., 2015.

[Wik15d] Wikipedia. EtherDrive. http://en.wikipedia.org/wiki/

EtherDrive, 2015.

[Wik15e] Wikipedia. IOPS. http://en.wikipedia.org/wiki/IOPS, 2015.

[Wik15f] Wikipedia. iSCSI. http://en.wikipedia.org/wiki/ISCSI, 2015.

[Wik15g] Wikipedia. LayerWalker. http://en.wikipedia.org/wiki/

LayerWalker, 2015.

[Wik15h] Wikipedia. Logical Volume Manager. http://en.wikipedia.org/

wiki/Logical_Volume_Manager_%28Linux%29, 2015.

[Wik15i] Wikipedia. Mdadm. http://en.wikipedia.org/wiki/Mdadm, 2015.