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 

#weight
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


alt text1
  • 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

alt text1
  • 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


alt text1

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





  1. En el primer periodo se encuentra recibiendo información.
  2. En el segundo lee y escribe
  3. 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