30
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS Realizado por: Giancarlo Guilá Reina Configuración de un Raid anidado por software- en Linux En este tutorial veremos cómo configurar un Raid anidado por software sobre Linux, específicamente en Ubuntu 10.10. El nivel de raid anidado que configuraremos será Raid 1+0 (Raid 10). ¿Qué es Raid 10? La matriz Raid 10 utiliza cuatro unidades de disco duro para crear una combinación de niveles Raid 0 y 1, al formar una matriz Raid 0 a partir de dos matrices Raid 1. Debido a que todos los datos de la matriz Raid 0 son duplicados, la capacidad de la matriz Raid 10 es el tamaño de la matriz Raid 0. Por ejemplo, cuatro unidades de disco duro de 400 GB en una matriz Raid 10 aparecen como una unidad de disco duro individual de 800 GB ante el sistema operativo. El beneficio principal de Raid 10 es que combina los beneficios del desempeño de Raid 0 y la tolerancia a fallos de Raid 1. Proporciona una buena fiabilidad a los datos en caso de una sola falla en la unidad de disco. Si falla una de las unidades de disco duro, todos los datos de la otra mitad de la duplicación se encuentran disponibles inmediatamente en el otro disco sin tener impacto en la integridad de los datos. En caso de que se produzca un fallo de disco, el sistema informático permanece en funcionamiento total para garantizar la máxima productividad. La tolerancia a fallos de los datos se puede restaurar al reemplazar la unidad dañada. El rendimiento de una matriz Raid 10 es superior al de una sola unidad debido a que los datos se pueden leer desde varios discos simultáneamente. En comparación con un volumen Raid 0 de dos discos, el desempeño de lectura de Raid 10 es superior ya que los datos se pueden leer desde cualquier mitad de la duplicación. Sin embargo, el rendimiento de escritura es ligeramente inferior debido a que se comprueba que los datos se escriban en su totalidad en la matriz. Ventaja: Combina el desempeño de lectura de Raid 0 con la tolerancia a fallos de Raid 1. Tolerancia a fallos: Excelente, la duplicación de disco significa que todos los datos de un disco se duplican en otro.

Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Realizado por: Giancarlo Guilá Reina

Configuración de un Raid anidado –por software- en Linux

En este tutorial veremos cómo configurar un Raid anidado por software sobre

Linux, específicamente en Ubuntu 10.10.

El nivel de raid anidado que configuraremos será Raid 1+0 (Raid 10).

¿Qué es Raid 10?

La matriz Raid 10 utiliza cuatro unidades de disco duro para crear una

combinación de niveles Raid 0 y 1, al formar una matriz Raid 0 a partir de dos

matrices Raid 1.

Debido a que todos los datos de la matriz Raid 0 son duplicados, la capacidad

de la matriz Raid 10 es el tamaño de la matriz Raid 0. Por ejemplo, cuatro

unidades de disco duro de 400 GB en una matriz Raid 10 aparecen como una

unidad de disco duro individual de 800 GB ante el sistema operativo.

El beneficio principal de Raid 10 es que combina los beneficios del desempeño de Raid 0 y la tolerancia a fallos de Raid 1. Proporciona una buena fiabilidad a los datos en caso de una sola falla en la unidad de disco. Si falla una de las unidades de disco duro, todos los datos de la otra mitad de la duplicación se encuentran disponibles inmediatamente en el otro disco sin tener impacto en la integridad de los datos. En caso de que se produzca un fallo de disco, el sistema informático permanece en funcionamiento total para garantizar la máxima productividad. La tolerancia a fallos de los datos se puede restaurar al reemplazar la unidad dañada.

El rendimiento de una matriz Raid 10 es superior al de una sola unidad debido a que los datos se pueden leer desde varios discos simultáneamente. En comparación con un volumen Raid 0 de dos discos, el desempeño de lectura de Raid 10 es superior ya que los datos se pueden leer desde cualquier mitad de la duplicación. Sin embargo, el rendimiento de escritura es ligeramente inferior debido a que se comprueba que los datos se escriban en su totalidad en la matriz.

Ventaja: Combina el desempeño de lectura de Raid 0 con la tolerancia a fallos de Raid 1.

Tolerancia a fallos: Excelente, la duplicación de disco significa que todos los datos de un disco se duplican en otro.

Page 2: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

La estructura de un Raid 10, para un arreglo de 4 discos es la siguiente:

Cabe mencionar que, para formar un raid 10, se necesita como mínimo 4

discos, ya que para crear cada Raid 1, se necesita como mínimo 2 discos. El

tamaño de Raid 10 por lo tanto va desde 4 discos, hasta los que se deseen

configurar.

Empezando la configuración

Para fines de explicación, hare todas las configuraciones en una maquina

virtual (Utilizando Oracle Virtual Box), a la cual le agregare 4 discos virtuales,

cada uno de 8.00 GB (Únicamente para fines explicativos, ya que el Raid

puede trabajar con la cantidad que se desee).

Lo primero que haremos es, bootear la maquina desde el Live cd de Ubuntu, y

seleccionamos la opción: “Probar sin instalar Ubuntu” (Try ubuntu without

installing). Y Esperamos a que acceda al sistema.

Page 3: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Una vez dentro del sistema, abrimos una terminal, y escribimos los siguientes

comandos:

sudo su (para tener permisos de superusuario)

fdisk –l (para ver los discos que detecta nuestra maquina)

Page 4: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

El comando fdisk –l debería de mostrarnos, todos los discos que detecta (en

nuestro caso 4) y debería de indicarnos que ninguno de ellos tiene particiones

creadas.

Page 5: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Page 6: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Una vez hemos verificado que la maquina detecta nuestros discos,

necesitamos crear las tablas de particiones para cada uno de ellos. Para ello

utilizaremos el programa cfdisk, el cual es un programa para crear y administrar

particiones.

El comando a utilizar para configurar las particiones de cada disco es el

siguiente:

cfdisk /dev/[nombre del disco a particionar]

Empezamos con el primer disco:

cfdisk /dev/sda

Para este disco, necesitamos crear 3 particiones, las 3 primarias, la primera

dejamos el tipo tal como aparece en la configuración, para la segunda partición,

la creamos y luego vamos al menú [Type] y seleccionamos la opción FD, la

cual es “Linux Raid Autodetect”. Y para la tercera partición, la creamos y de

nuevo vamos al menú [Type], pero ahora seleccionamos la opción 82, la cual

es “Linux swap /solaris”.

El tamaño de las particiones puede ser más grande que el que trabajamos

aquí, eso no es de importancia, sin embargo, la partición “Linux Raid

Autodetect” en cada disco, debe de ser del mismo tamaño en cada uno de los

discos, ya que esta es con la que trabajara el arreglo de discos.

Luego, de haber realizado los cambios, seleccionamos la opción [write], a cual

nos preguntara que si estamos seguros de escribir la nueva tabla de

particiones en el disco, le damos que si, luego seleccionamos la opción [Quit], y

continuamos.

Para el disco sda, quedaría de la siguiente manera:

Page 7: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Page 8: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Page 9: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Ya que configuramos la tabla de particiones para el disco 1 (sda), lo hacemos

ahora para los discos 2, 3, 4 y si tenemos mas, pues para esos tambien.

Para estos discos es diferente, que para el primero, ya que para estos solo

necesitamos crear 2 particiones, la de intercambio –swap- y la de tipo “Linux

Raid autodetect”.

Explicare, como se hace para el disco 2 (sdb), pero estos pasos se repiten para

todos los discos que tengamos aparte del primero.

Page 10: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Antes que todo, abrimos el programa para editar particiones cfdisk, con el

comando cfdisk /dev/sdb.

Necesitamos crear 2 particiones primarias, a una le colocamos tipo “Linux Raid

Autodetect”, que como ya explicamos, se especifica seleccionando la opción

[Type], y luego escogiendo la opción FD. Para la segunda partición, le

colocamos tipo “Linux swap /solaris”, la cual se especifica seleccionando la

opción [Type], y luego escogiendo la opción 82.

Una vez creadas las particiones, seleccionamos la opción [write], y le

indicamos que si queremos escribir las tablas de particiones en el disco, luego

seleccionamos la opción [Quit], y continuamos el proceso para los demás

discos.

Para el disco sdb, quedaria de la siguiente manera:

Page 11: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Page 12: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Una vez que hayamos hecho los pasos anteriores, para todos los discos que

queremos configurar, verificamos lo que hemos hecho con el comando:

fdisk -l

Nos deberia de salir algo como lo siguiente:

Page 13: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Ya que hemos verificado que las particiones estan bien creadas, instalamos el

paquete mdadm, el cual es un programa que permite administrar software Raid.

Lo hacemos con el siguiente comando:

apt-get install mdadm

Luego de ingresar ese comando, apareceran unas configuraciones, y seguido

de ello, se nos preguntara si deseamos continuar, seleccionamos que si, y

esperamos.

Nos aparecera una ventana donde debemos de elegir cierta configuracion,

seleccionamos “ok” y luego seleccionamos la opcion “No configuration”, y

esperamos a que termine la instalacion del paquete.

Page 14: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Page 15: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Despues de instalar el paquete de mdadm, ingresamos el siguiente comando

en consola, este es el que crea el raid, utilizando la herramienta que acabamos

de instalar:

mdadm -v --create /dev/md0 --level=raid10 --raid-devices=4 /dev/sda2

/dev/sdb1 /dev/sdc1 /dev/sdd1

Page 16: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Luego ingresamos los siguientes comandos, estos nos sirven para crear el

sistema de archivos en el arreglo, y para agregar un alias para el Raid, ya que

la instalacion de ubuntu no reconoce dispositivos que comiencen con md.

mkfs.xfs /dev/md0 ln /dev/md0 /dev/sde

Page 17: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Ya que hemos ingresado los comandos anteriores, procedemos a instalar

ubuntu, como normalmente lo hacemos, pero nos detenemos en la parte donde

hay que especificar las particiones, ya que ahi hay que realizar algunos

cambios.

Page 18: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Page 19: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Cuando lleguemos a la parte de la instalacion en donde nos pide que

especifiquemos las particiones, seleccionamos la opcion “Specify partitions

manually (advanced)”, para que nosotros las especifiquemos manualmente.

Al darle clic en siguiente, -si hemos hecho todo bien- nos deberia de aparecer

las particiones de la siguiente manera:

Page 20: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Hay que realizar algunos cambios aquí, los cuales se describen a continuacion:

La particion /dev/sda1, le colocamos en tipo: ext3, y en punto de montaje

“/boot”.

Luego especificamos las particiones que creamos para swap, las cuales en

nuestro caso son: /dev/sda3, /dev/sdb2, /dev/sdc2, /dev/sdd2.

La ultima particion que nos aparece -/dev/sde- debemos de colocarle en tipo:

xfs, y en punto de montaje: /.

Una vez realizados estos cambios le damos clic en continuar. Nota: La unica

particion que debe de tener marcada la opcion formatear es /dev/sda1.

Nos aparecera un mensaje de advertencia indicandonos que hay algunas

particiones que no se han marcado para que se formateen, simplemente le

damos clic en continuar.

A continuacion se muestran los pasos descritos anteriormente:

Page 21: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Page 22: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Luego de haber configurado las particiones, continuamos con la instalacion de

ubuntu normalmente.

Cuando haya terminado la instalacion de ubuntu, se nos preguntara si

deseamos reiniciar, o si deseamos seguir probando el sistema, seleccionamos

que deseamos seguir probando. No vayas a reiniciar el equipo!, aun faltan

algunas configuraciones para que funcione el raid.

Abrimos de nuevo una terminal, y escribimos los siguientes comandos:

mkdir /raid mount /dev/md0 /raid mount /dev/sda1 /raid/boot mount --bind /dev /raid/dev mount -t devpts devpts /raid/dev/pts mount -t proc proc /raid/proc mount -t sysfs sysfs /raid/sys chroot /raid apt-get install mdadm

Page 23: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Debemos de instalar nuevamente el paquete mdadm, cuando hagamos esto

nos preguntara nuevamente la configuracion que se desea utilizar, hacemos los

mismos pasos que se hicieron cuando lo instalamos la primera vez, como se

explico anteriormente.

Despues de hacer eso, reiniciamos la pc, y el raid esta listo para ser usado.

A continuacion se muestran los pasos descritos:

Page 24: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Si hemos hecho todo bien, el raid está listo para ser usado, y una vez

reiniciemos la pc, este estará funcionando correctamente.

A continuación mostramos algunos comandos, que nos ayudaran a monitorear

el estado del raid, y para administrarlo.

Estado actual de los discos y unidades Raid

cat /proc/mdstat

Mas detalles sobre las unidades Raid

mdadm –query /dev/md0

Page 25: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

mdadm –detail /dev/md0

Mas detalles de los discos

mdadm –query /dev/sdb1

Page 26: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

mdadm –examine /dev/sdb1

Establecer un disco como faulty/failed:

mdadm –fail /dev/md0 /dev/sdb1

Page 27: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Quitar un disco fallido de un Raid

Añadir un disco a la Raid

Page 28: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Además de los comandos mostrados anteriormente para administrar y

monitorear el raid, ubuntu trae una herramienta para hacerlo gráficamente, para

acceder a ella, vamos al menú Sistem>Administration>Disk Utility

Esta herramienta, en el menú: Multi-Disk Devices, nos permite ver algunas

configuraciones del raid, así como repararlo, pararlo, editarlo entre otras.

A continuación se muestran unas imágenes de esta herramienta:

Page 29: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Una manera de probar nuestro raid, es desconectar uno de los discos que se

encuentran en este, como estamos trabajando en una maquina virtual,

simplemente eliminamos la conexión de la maquina con alguno de los discos, e

iniciamos el sistema, deberia de aparecernos algo como esto:

Nos indica que uno de los discos por los que se compone el raid no se

encuentra, por lo que nos pregunta si queremos iniciar el sistema de todas

formas, seleccionamos que si.

Page 30: Configuración de un Raid anidado por software- en Linux ... · Luego de ingresar ese comando, apareceran unas configuraciones, y seguido de ello, se nos preguntara si deseamos continuar,

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

El sistema debería de iniciar correctamente, y como sabemos que falta un

disco, podemos ir a ver el estado del raid, y como nos daremos cuenta, nos

indica que falta un disco, nos indica en el estado del raid: DEGRADED.

Si queremos regresar el raid, a su estado normal, debemos de agregar un

nuevo disco, con los comandos que se explicaron en este tutorial.

Hemos probado que nuestra configuración del raid 10, ha sido correcta y que

está trabajando bien.

Realizado por: Giancarlo Guilá Reina

Universidad de San Carlos de Guatemala

Escuela de Ciencias y Sistemas