alta confiabilidad y disponibilidad en almacenamiento de datos
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
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
Dedicada a mi amigo Fernando
2
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
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
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
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
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
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
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
Parte I
Fundamentos y Tecnologıas
10
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
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
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
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
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 %).
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
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
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
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:
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.
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
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
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
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
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
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.
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
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.
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].
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
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.
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.
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.
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.
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.
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
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.”
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
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
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]
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
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).
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
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.
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].
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.
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.
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.
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
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/
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.
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.
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
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.
Parte II
Resolucion y Aplicacion
55
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
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.
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
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
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/
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)
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
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).
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/
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.
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
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.
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:
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.
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
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.
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
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
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.
Parte III
Apendices
75
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
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
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
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
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
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.
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.
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
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
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.
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
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
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
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
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.