Estado Openstack
9 de mayo de 2014
Tabla
- Benchmarking
- dd
- iozone
- Cambios de OpenStack
- Migración desde havana a icehouse
- Migración de neutron
- Revisión de procesos
- Chequeos de funcionalidad de los usuarios
- LBaaS
- Tareas para próxima semana
Benchmarking
Estructura
-
Gluster:
- Distribuido y replicado, con replicación nivel 3
- 6 bricks: se utilizo dos bricks por computador para llegar a un múltiplo de dos
- Ceph:
- Se añadio los 3 nodos a ceph y utilizo la configuración por defecto
CEPH
# devices
# devices
device 0 osd.0
device 1 osd.1
device 2 osd.2
root default {
id -1 # do not change unnecessarily
# weight 0.070
alg straw
hash 0 # rjenkins1
item c5 weight 0.030
item c2 weight 0.030
item c3 weight 0.010
} Gluster
Distribuido y replicado, con replicación nivel 3 y distribuido
Volume Name: cindervol1
Type: Distributed-Replicate
Volume ID: a06a22f2-8aa5-4a63-8922-414e11ccf3fd
Status: Started
Number of Bricks: 2 x 3 = 6
Transport-type: tcp
Bricks:
Brick1: c5:/cinder-brick1/sdb
Brick2: c3:/cinder-brick1/sdb
Brick3: c2:/cinder-brick1/sdb
Brick4: c5:/cinder-brick2/sdb
Brick5: c3:/cinder-brick2/sdb
Brick6: c2:/cinder-brick2/sdb Forma de escritura y lectura - Gluster

-
Lectura: trae los cambios desde solo un nodo donde la data se encuentra.
-
Escritura: es enviado a los nodos de los clientes directamente.
Forma de escritura - CEPH

-
La data es dividida en objetos, cada objetos tiene bloques, y los bloques son distribuidos.
-
Para la escritura es necesario escribir en el primer OSD y luego se replica a otro OSD
-
Se lee de todos los nodos al mismo tiempo
Tests
- Simple dd
- iozone
Testing - dd
Tres imágenes en paralelos
./all.sh "dd if=/dev/zero of=gluster-test/gluster bs=1G count=1"
./all.sh "dd if=/dev/zero of=ceph-test/ceph bs=1G count=1"
./all.sh "dd if=/dev/zero of=gluster-test/gluster bs=1G count=1"
root@c5:~# 1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 184.559 s, 5.8 MB/s
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 387.49 s, 2.8 MB/s
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 460.413 s, 2.3 MB/s
./all.sh "dd if=/dev/zero of=ceph-test/ceph bs=1G count=1"
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 479.482 s, 2.2 MB/s
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 483.764 s, 2.2 MB/s
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 513.093 s, 2.1 MB/s
Testing dd

Testing dd

Observaciones
- Ceph: La data se divide en objetos (bloques), estos objetos son escritos en el Node A y luego se pasa desde A->B, B->C.
-
Al existir tres tareas en pararelo, gluster utiliza semaforos. Primero toma la imagen 1 la escribe en el disco A. Cuando A termina, B comienza a escribir la imagen 2 y además recibir la imagen 1, observa el gráfico

-
En el primer periodo se encuentra recibiendo información.
- En el segundo lee y escribe
- Lee
iozone
Iozone test
- Las pruebas se realizaron en un volumen atachado a la instancia
- Para ello se configuró cinder para permitir crear volumenes en gluster y ceph al mismo tiempo.
- La instancia utilizada fue Ubuntu 12.04 LTS
- Flavor:
- 5 GB de disco efímero
- 4 GB ram
- 1 CPU
- 15 GB de disco atachado
Iozone test
Preparación de las maquinas
ssh -i ~/.ssh/cloud.key -o StrictHostKeyChecking=no ${VM} -l ubuntu "sudo dd if=/dev/zero of=/dev/vdb bs=1M count=$BLOCKS ; sync
ssh ${VM} "mkfs -t ext4 /dev/vdb"
ssh ${VM} "mkdir /mnt/test"
ssh ${VM} 'echo "/dev/vdb /mnt/test ext4 defaults" >> /etc/fstab; mount -a && mount
iozone - test
Recolección de datos
ssh vm${i} "pkill vmstat ; vmstat -n ${INTERVAL} | sed -e 's/^[\t]*//' -e '3d'" > ${RESULT_DIR}/vmstat_vm${i}.log &
ssh vm${i} "pkill iostat ; iostat -xdm | grep Device ; iostat -xdm ${INTERVAL} ${VM_DEV} | awk '/${VM_DEV}/{i++; if (i>1) print}'" > ${RESULT_DIR}/iostat_vm${i}.log & ssh vm${i} "iozone -w -c -C -e -i ${2} -+n -r ${3} -s ${4} -t ${VM_COUNT} -+u -F /mnt/test/tmp" | tee ${RESULT_DIR}/${IOZ_RESULT}.txt Los scripts son funcionales y se encuentra en el repositorio del proyecto.
Resultados iozone
| 1 VM Read (kB/s) | 1 VM Write (kB/s) | 2 VM Read (kB/s) | 2 VM Write (kB/s) | |
|---|---|---|---|---|
| Gluster | 73712.89 | 55650.09 | sin ram | sin ram |
| CEPH | 93034.62 | 91937.97 | sin ram | sin ram |
| 2 VM Read (kB/s) | 2 VM Write (kB/s) | |
|---|---|---|
| Gluster | 181654 | 96410 |
| CEPH | 223824 | 176650 |
Cambios en OpenStack
Migración a IceHouse
OpenStack 2014.1 (Icehouse): Es la ultima versión lanzada durante el mes de abril.
Cambios interesantes:
- El plugin OVS fue cambiado a ML2.
- Cambiar el tipo de un volumen.
- Trove
- Heat:
- Hot template, Heat engine scaling.
Migración de ml2
-
Realizada (Mas info)
- Luego del cambio, Neutron se encuentra operativo.
Estado Icehouse
- [ok] Cinder (volume)
-
Backend gluster
- Backend ceph
- [ok] Swift
- [ok] glance
- Compatibilidad con swift
- [ok] dashboard
- Ingreso de usuarios
- [ok] neutron
- Migrado a ml2
- Usuarios normales pueden crear sus redes
- (Duda: conectar la red externa con la red virtual local)
- LBaaS
- [desactivado] live-migration se desarmo por los testing. (falta script, se encuentra documentado)
Usuarios normales
- Se creó un proyecto llamado clínica
- Dos usuarios con permisos para poder trabajar
- Tareas probadas y funcionando:
- Creación de redes, instancias, imágenes, objetos y volúmenes (gluster y ceph)
- Revisar por vnc y ssh keys.
- Los hosts son visibles en la red, puede asignarse ip pública y se encuentra ok
Dashboard
- Cambio al template de ubuntu
- Permite con mayor facilidad personalización del tema [link]
LBaaS
- Se encuentra configurado, sin documentación ni scripts.
DEMO
Tareas próxima semana.
- Crear script de gluster.
- Pruebas de scripts:
- La idea es hacer pruebas de los scripts de nodos y controladores para la instalación
(Discusión)
deck
By sirspock
deck
- 220

